RUN: /usr/share/launchpad-buildd/slavebin/slave-prep Forking launchpad-buildd slave process... Kernel version: Linux bos01-ppc64el-003 4.4.0-101-generic #124-Ubuntu SMP Fri Nov 10 18:29:11 UTC 2017 ppc64le Buildd toolchain package versions: launchpad-buildd_157 python-lpbuildd_157 sbuild_0.67.0-2ubuntu7.1 bzr-builder_0.7.3+bzr174~ppa13~ubuntu14.10.1 bzr_2.7.0-2ubuntu3.1 git-build-recipe_0.3.4~git201611291343.dcee459~ubuntu16.04.1 git_1:2.7.4-0ubuntu1.3 dpkg-dev_1.18.4ubuntu1.3 python-debian_0.1.27ubuntu2. Syncing the system clock with the buildd NTP service... 15 Jan 16:42:06 ntpdate[1767]: adjust time server 10.211.37.1 offset 0.086470 sec RUN: /usr/share/launchpad-buildd/slavebin/in-target unpack-chroot --backend=chroot --series=bionic --arch=ppc64el PACKAGEBUILD-14112022 /home/buildd/filecache-default/64ab4a3b1843816d631a3747c16f42fa2d8de59d Creating target for build PACKAGEBUILD-14112022 RUN: /usr/share/launchpad-buildd/slavebin/in-target mount-chroot --backend=chroot --series=bionic --arch=ppc64el PACKAGEBUILD-14112022 Starting target for build PACKAGEBUILD-14112022 RUN: /usr/share/launchpad-buildd/slavebin/in-target override-sources-list --backend=chroot --series=bionic --arch=ppc64el PACKAGEBUILD-14112022 'deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic main' 'deb http://ppa.launchpad.net/ubuntu-toolchain-r/volatile/ubuntu bionic main' 'deb http://ftpmaster.internal/ubuntu bionic main restricted universe multiverse' 'deb http://ftpmaster.internal/ubuntu bionic-security main restricted universe multiverse' 'deb http://ftpmaster.internal/ubuntu bionic-updates main restricted universe multiverse' Overriding sources.list in build-PACKAGEBUILD-14112022 RUN: /usr/share/launchpad-buildd/slavebin/in-target add-trusted-keys --backend=chroot --series=bionic --arch=ppc64el PACKAGEBUILD-14112022 Adding trusted keys to build-PACKAGEBUILD-14112022 Warning: apt-key output should not be parsed (stdout is not a terminal) OK Warning: apt-key output should not be parsed (stdout is not a terminal) /etc/apt/trusted.gpg -------------------- pub rsa1024 2009-10-22 [SC] 60C3 1780 3A41 BA51 845E 371A 1E93 77A2 BA9E F27F uid [ unknown] Launchpad Toolchain builds /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-archive.gpg ------------------------------------------------------ pub rsa4096 2012-05-11 [SC] 790B C727 7767 219C 42C8 6F93 3B4F E6AC C0B2 1F32 uid [ unknown] Ubuntu Archive Automatic Signing Key (2012) /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg ------------------------------------------------------ pub rsa4096 2012-05-11 [SC] 8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092 uid [ unknown] Ubuntu CD Image Automatic Signing Key (2012) RUN: /usr/share/launchpad-buildd/slavebin/in-target update-debian-chroot --backend=chroot --series=bionic --arch=ppc64el PACKAGEBUILD-14112022 Updating target for build PACKAGEBUILD-14112022 Get:1 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic InRelease [15.4 kB] Get:2 http://ftpmaster.internal/ubuntu bionic InRelease [235 kB] Get:3 http://ppa.launchpad.net/ubuntu-toolchain-r/volatile/ubuntu bionic InRelease [15.4 kB] Get:4 http://ftpmaster.internal/ubuntu bionic-security InRelease [65.4 kB] Get:5 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main ppc64el Packages [13.7 kB] Get:6 http://ftpmaster.internal/ubuntu bionic-updates InRelease [65.4 kB] Get:7 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main Translation-en [9132 B] Get:8 http://ftpmaster.internal/ubuntu bionic/main ppc64el Packages [973 kB] Get:9 http://ppa.launchpad.net/ubuntu-toolchain-r/volatile/ubuntu bionic/main ppc64el Packages [3300 B] Get:10 http://ftpmaster.internal/ubuntu bionic/main Translation-en [518 kB] Get:11 http://ppa.launchpad.net/ubuntu-toolchain-r/volatile/ubuntu bionic/main Translation-en [4552 B] Get:12 http://ftpmaster.internal/ubuntu bionic/restricted Translation-en [2384 B] Get:13 http://ftpmaster.internal/ubuntu bionic/universe ppc64el Packages [8114 kB] Get:14 http://ftpmaster.internal/ubuntu bionic/universe Translation-en [4941 kB] Get:15 http://ftpmaster.internal/ubuntu bionic/multiverse ppc64el Packages [133 kB] Get:16 http://ftpmaster.internal/ubuntu bionic/multiverse Translation-en [109 kB] Fetched 15.2 MB in 3s (4696 kB/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... Calculating upgrade... The following packages were automatically installed and are no longer required: g++-7 libasn1-8-heimdal libcurl3-gnutls libgssapi-krb5-2 libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhx509-5-heimdal libidn2-0 libk5crypto3 libkeyutils1 libkrb5-26-heimdal libkrb5-3 libkrb5support0 libldap-2.4-2 libldap-common libnghttp2-14 libpsl5 libroken18-heimdal librtmp1 libsasl2-2 libsasl2-modules-db libstdc++-7-dev libunistring0 libwind0-heimdal Use 'sudo apt autoremove' to remove them. The following NEW packages will be installed: cpp-8 g++-8 gcc-8 gcc-8-base libasan5 libgcc-8-dev liblsan0 libnghttp2-14 libquadmath0 libstdc++-8-dev libtsan0 libubsan1 The following packages will be upgraded: adduser apt apt-transport-https base-files base-passwd binutils binutils-common binutils-powerpc64le-linux-gnu bsdutils build-essential coreutils cpp cpp-7 debconf debianutils dpkg dpkg-dev e2fslibs e2fsprogs fdisk findutils g++ g++-7 gcc gcc-7 gcc-7-base gnupg gnupg-agent gpgv init init-system-helpers libapparmor1 libapt-pkg5.0 libasan4 libasn1-8-heimdal libassuan0 libatomic1 libbinutils libblkid1 libc-bin libc-dev-bin libc6 libc6-dev libcap-ng0 libcap2 libcc1-0 libcomerr2 libcurl3-gnutls libdpkg-perl libfdisk1 libgcc-7-dev libgcc1 libgcrypt20 libgomp1 libgpg-error0 libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhogweed4 libhx509-5-heimdal libidn11 libidn2-0 libip4tc0 libitm1 libkeyutils1 libkrb5-26-heimdal liblockfile-bin liblockfile1 libmount1 libnettle6 libnpth0 libp11-kit0 libpcre3 libperl5.26 libpng16-16 libpsl5 libroken18-heimdal libseccomp2 libselinux1 libsemanage-common libsemanage1 libsmartcols1 libsqlite3-0 libss2 libssl1.0.0 libstdc++-7-dev libstdc++6 libsystemd0 libtasn1-6 libubsan0 libudev1 libuuid1 libwind0-heimdal linux-libc-dev lsb-base mount multiarch-support openssl optipng perl perl-base perl-modules-5.26 pinentry-curses sensible-utils systemd systemd-sysv sysvinit-utils tzdata util-linux 110 upgraded, 12 newly installed, 0 to remove and 0 not upgraded. Need to get 161 MB of archives. After this operation, 462 MB of additional disk space will be used. Get:1 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main ppc64el gcc-8-base ppc64el 8-20180110-1ubuntu1 [17.9 kB] Get:2 http://ftpmaster.internal/ubuntu bionic/main ppc64el perl-modules-5.26 all 5.26.1-3 [2761 kB] Get:3 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main ppc64el libgcc1 ppc64el 1:8-20180110-1ubuntu1 [29.5 kB] Get:4 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main ppc64el libstdc++6 ppc64el 8-20180110-1ubuntu1 [439 kB] Get:5 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main ppc64el libgomp1 ppc64el 8-20180110-1ubuntu1 [70.1 kB] Get:6 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main ppc64el libitm1 ppc64el 8-20180110-1ubuntu1 [29.5 kB] Get:7 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main ppc64el libcc1-0 ppc64el 8-20180110-1ubuntu1 [39.0 kB] Get:8 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main ppc64el libatomic1 ppc64el 8-20180110-1ubuntu1 [8464 B] Get:9 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main ppc64el liblsan0 ppc64el 8-20180110-1ubuntu1 [141 kB] Get:10 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main ppc64el libtsan0 ppc64el 8-20180110-1ubuntu1 [291 kB] Get:11 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main ppc64el cpp-8 ppc64el 8-20180110-1ubuntu1 [31.9 MB] Get:12 http://ftpmaster.internal/ubuntu bionic/main ppc64el libperl5.26 ppc64el 5.26.1-3 [3399 kB] Get:13 http://ftpmaster.internal/ubuntu bionic/main ppc64el perl ppc64el 5.26.1-3 [201 kB] Get:14 http://ftpmaster.internal/ubuntu bionic/main ppc64el perl-base ppc64el 5.26.1-3 [1304 kB] Get:15 http://ftpmaster.internal/ubuntu bionic/main ppc64el libc6-dev ppc64el 2.26-0ubuntu2 [2458 kB] Get:16 http://ftpmaster.internal/ubuntu bionic/main ppc64el libc-dev-bin ppc64el 2.26-0ubuntu2 [65.4 kB] Get:17 http://ftpmaster.internal/ubuntu bionic/main ppc64el linux-libc-dev ppc64el 4.13.0-25.29 [956 kB] Get:18 http://ftpmaster.internal/ubuntu bionic/main ppc64el libc6 ppc64el 2.26-0ubuntu2 [2619 kB] Get:19 http://ftpmaster.internal/ubuntu bionic/main ppc64el init-system-helpers all 1.51 [37.3 kB] Get:20 http://ftpmaster.internal/ubuntu bionic/main ppc64el base-files ppc64el 10ubuntu1 [55.9 kB] Get:21 http://ftpmaster.internal/ubuntu bionic/main ppc64el bsdutils ppc64el 1:2.30.2-0.1ubuntu1 [61.8 kB] Get:22 http://ftpmaster.internal/ubuntu bionic/main ppc64el coreutils ppc64el 8.26-3ubuntu4 [1251 kB] Get:23 http://ftpmaster.internal/ubuntu bionic/main ppc64el debianutils ppc64el 4.8.4 [85.8 kB] Get:24 http://ftpmaster.internal/ubuntu bionic/main ppc64el dpkg ppc64el 1.19.0.4ubuntu1 [1149 kB] Get:25 http://ftpmaster.internal/ubuntu bionic/main ppc64el e2fslibs ppc64el 1.43.8-1ubuntu1 [173 kB] Get:26 http://ftpmaster.internal/ubuntu bionic/main ppc64el e2fsprogs ppc64el 1.43.8-1ubuntu1 [512 kB] Get:27 http://ftpmaster.internal/ubuntu bionic/main ppc64el findutils ppc64el 4.6.0+git+20170828-2 [314 kB] Get:28 http://ftpmaster.internal/ubuntu bionic/main ppc64el libuuid1 ppc64el 2.30.2-0.1ubuntu1 [15.5 kB] Get:29 http://ftpmaster.internal/ubuntu bionic/main ppc64el libblkid1 ppc64el 2.30.2-0.1ubuntu1 [128 kB] Get:30 http://ftpmaster.internal/ubuntu bionic/main ppc64el libsmartcols1 ppc64el 2.30.2-0.1ubuntu1 [84.7 kB] Get:31 http://ftpmaster.internal/ubuntu bionic/main ppc64el libfdisk1 ppc64el 2.30.2-0.1ubuntu1 [160 kB] Get:32 http://ftpmaster.internal/ubuntu bionic/main ppc64el libpcre3 ppc64el 2:8.39-8 [224 kB] Get:33 http://ftpmaster.internal/ubuntu bionic/main ppc64el libselinux1 ppc64el 2.7-2 [78.6 kB] Get:34 http://ftpmaster.internal/ubuntu bionic/main ppc64el libmount1 ppc64el 2.30.2-0.1ubuntu1 [139 kB] Get:35 http://ftpmaster.internal/ubuntu bionic/main ppc64el fdisk ppc64el 2.30.2-0.1ubuntu1 [108 kB] Get:36 http://ftpmaster.internal/ubuntu bionic/main ppc64el util-linux ppc64el 2.30.2-0.1ubuntu1 [881 kB] Get:37 http://ftpmaster.internal/ubuntu bionic/main ppc64el base-passwd ppc64el 3.5.44 [50.1 kB] Get:38 http://ftpmaster.internal/ubuntu bionic/main ppc64el libc-bin ppc64el 2.26-0ubuntu2 [573 kB] Get:39 http://ftpmaster.internal/ubuntu bionic/main ppc64el sysvinit-utils ppc64el 2.88dsf-59.10ubuntu1 [20.6 kB] Get:40 http://ftpmaster.internal/ubuntu bionic/main ppc64el libudev1 ppc64el 235-3ubuntu3 [60.9 kB] Get:41 http://ftpmaster.internal/ubuntu bionic/main ppc64el libapt-pkg5.0 ppc64el 1.6~alpha5 [878 kB] Get:42 http://ftpmaster.internal/ubuntu bionic/main ppc64el debconf all 1.5.65 [124 kB] Get:43 http://ftpmaster.internal/ubuntu bionic/main ppc64el adduser all 3.116ubuntu1 [163 kB] Get:44 http://ftpmaster.internal/ubuntu bionic/main ppc64el libgpg-error0 ppc64el 1.27-5 [42.1 kB] Get:45 http://ftpmaster.internal/ubuntu bionic/main ppc64el libgcrypt20 ppc64el 1.8.1-4 [448 kB] Get:46 http://ftpmaster.internal/ubuntu bionic/main ppc64el gpgv ppc64el 2.1.15-1ubuntu8 [218 kB] Get:47 http://ftpmaster.internal/ubuntu bionic/main ppc64el libseccomp2 ppc64el 2.3.1-2.1ubuntu3 [47.2 kB] Get:48 http://ftpmaster.internal/ubuntu bionic/main ppc64el apt ppc64el 1.6~alpha5 [1191 kB] Get:49 http://ftpmaster.internal/ubuntu bionic/main ppc64el libapparmor1 ppc64el 2.11.0-2ubuntu18 [29.9 kB] Get:50 http://ftpmaster.internal/ubuntu bionic/main ppc64el libcap2 ppc64el 1:2.25-1.2 [13.5 kB] Get:51 http://ftpmaster.internal/ubuntu bionic/main ppc64el libidn11 ppc64el 1.33-2.1 [46.4 kB] Get:52 http://ftpmaster.internal/ubuntu bionic/main ppc64el libip4tc0 ppc64el 1.6.1-2ubuntu2 [23.6 kB] Get:53 http://ftpmaster.internal/ubuntu bionic/main ppc64el mount ppc64el 2.30.2-0.1ubuntu1 [111 kB] Get:54 http://ftpmaster.internal/ubuntu bionic/main ppc64el systemd ppc64el 235-3ubuntu3 [2961 kB] Get:55 http://ftpmaster.internal/ubuntu bionic/main ppc64el libsystemd0 ppc64el 235-3ubuntu3 [213 kB] Get:56 http://ftpmaster.internal/ubuntu bionic/main ppc64el init ppc64el 1.51 [5868 B] Get:57 http://ftpmaster.internal/ubuntu bionic/main ppc64el systemd-sysv ppc64el 235-3ubuntu3 [13.1 kB] Get:58 http://ftpmaster.internal/ubuntu bionic/main ppc64el libcap-ng0 ppc64el 0.7.7-3.1 [11.6 kB] Get:59 http://ftpmaster.internal/ubuntu bionic/main ppc64el libcomerr2 ppc64el 1.43.8-1ubuntu1 [11.4 kB] Get:60 http://ftpmaster.internal/ubuntu bionic/main ppc64el libsemanage-common all 2.7-2 [6916 B] Get:61 http://ftpmaster.internal/ubuntu bionic/main ppc64el libsemanage1 ppc64el 2.7-2 [85.4 kB] Get:62 http://ftpmaster.internal/ubuntu bionic/main ppc64el libss2 ppc64el 1.43.8-1ubuntu1 [11.4 kB] Get:63 http://ftpmaster.internal/ubuntu bionic/main ppc64el libnettle6 ppc64el 3.3-2 [120 kB] Get:64 http://ftpmaster.internal/ubuntu bionic/main ppc64el libhogweed4 ppc64el 3.3-2 [134 kB] Get:65 http://ftpmaster.internal/ubuntu bionic/main ppc64el libp11-kit0 ppc64el 0.23.9-2 [167 kB] Get:66 http://ftpmaster.internal/ubuntu bionic/main ppc64el libtasn1-6 ppc64el 4.12-3 [39.8 kB] Get:67 http://ftpmaster.internal/ubuntu bionic/main ppc64el g++-7 ppc64el 7.2.0-18ubuntu2 [7106 kB] Get:68 http://ftpmaster.internal/ubuntu bionic/main ppc64el gcc-7 ppc64el 7.2.0-18ubuntu2 [6903 kB] Get:69 http://ftpmaster.internal/ubuntu bionic/main ppc64el cpp-7 ppc64el 7.2.0-18ubuntu2 [6260 kB] Get:70 http://ftpmaster.internal/ubuntu bionic/main ppc64el libbinutils ppc64el 2.29.1-12ubuntu1 [457 kB] Get:71 http://ftpmaster.internal/ubuntu bionic/main ppc64el binutils ppc64el 2.29.1-12ubuntu1 [3404 B] Get:72 http://ftpmaster.internal/ubuntu bionic/main ppc64el binutils-common ppc64el 2.29.1-12ubuntu1 [190 kB] Get:73 http://ftpmaster.internal/ubuntu bionic/main ppc64el binutils-powerpc64le-linux-gnu ppc64el 2.29.1-12ubuntu1 [1969 kB] Get:74 http://ftpmaster.internal/ubuntu bionic/main ppc64el libasan4 ppc64el 7.2.0-18ubuntu2 [367 kB] Get:75 http://ftpmaster.internal/ubuntu bionic/main ppc64el libubsan0 ppc64el 7.2.0-18ubuntu2 [136 kB] Get:76 http://ftpmaster.internal/ubuntu bionic/main ppc64el libstdc++-7-dev ppc64el 7.2.0-18ubuntu2 [1524 kB] Get:77 http://ftpmaster.internal/ubuntu bionic/main ppc64el libgcc-7-dev ppc64el 7.2.0-18ubuntu2 [986 kB] Get:78 http://ftpmaster.internal/ubuntu bionic/main ppc64el gcc-7-base ppc64el 7.2.0-18ubuntu2 [19.0 kB] Get:79 http://ftpmaster.internal/ubuntu bionic/main ppc64el lsb-base all 9.20170808ubuntu1 [12.5 kB] Get:80 http://ftpmaster.internal/ubuntu bionic/main ppc64el sensible-utils all 0.0.11 [14.8 kB] Get:81 http://ftpmaster.internal/ubuntu bionic/main ppc64el libassuan0 ppc64el 2.5.1-1 [33.9 kB] Get:82 http://ftpmaster.internal/ubuntu bionic/main ppc64el pinentry-curses ppc64el 1.0.0-3 [37.5 kB] Get:83 http://ftpmaster.internal/ubuntu bionic/main ppc64el libnpth0 ppc64el 1.5-3 [7780 B] Get:84 http://ftpmaster.internal/ubuntu bionic/main ppc64el gnupg ppc64el 2.1.15-1ubuntu8 [847 kB] Get:85 http://ftpmaster.internal/ubuntu bionic/main ppc64el gnupg-agent ppc64el 2.1.15-1ubuntu8 [291 kB] Get:86 http://ftpmaster.internal/ubuntu bionic/main ppc64el libsqlite3-0 ppc64el 3.21.0-1 [464 kB] Get:87 http://ftpmaster.internal/ubuntu bionic/main ppc64el libroken18-heimdal ppc64el 7.5.0+dfsg-1 [42.2 kB] Get:88 http://ftpmaster.internal/ubuntu bionic/main ppc64el libasn1-8-heimdal ppc64el 7.5.0+dfsg-1 [140 kB] Get:89 http://ftpmaster.internal/ubuntu bionic/main ppc64el libheimbase1-heimdal ppc64el 7.5.0+dfsg-1 [30.5 kB] Get:90 http://ftpmaster.internal/ubuntu bionic/main ppc64el libhcrypto4-heimdal ppc64el 7.5.0+dfsg-1 [100 kB] Get:91 http://ftpmaster.internal/ubuntu bionic/main ppc64el libwind0-heimdal ppc64el 7.5.0+dfsg-1 [48.0 kB] Get:92 http://ftpmaster.internal/ubuntu bionic/main ppc64el libhx509-5-heimdal ppc64el 7.5.0+dfsg-1 [108 kB] Get:93 http://ftpmaster.internal/ubuntu bionic/main ppc64el libkrb5-26-heimdal ppc64el 7.5.0+dfsg-1 [216 kB] Get:94 http://ftpmaster.internal/ubuntu bionic/main ppc64el libheimntlm0-heimdal ppc64el 7.5.0+dfsg-1 [16.4 kB] Get:95 http://ftpmaster.internal/ubuntu bionic/main ppc64el libgssapi3-heimdal ppc64el 7.5.0+dfsg-1 [92.6 kB] Get:96 http://ftpmaster.internal/ubuntu bionic/main ppc64el libssl1.0.0 ppc64el 1.0.2g-1ubuntu14 [880 kB] Get:97 http://ftpmaster.internal/ubuntu bionic/main ppc64el multiarch-support ppc64el 2.26-0ubuntu2 [6832 B] Get:98 http://ftpmaster.internal/ubuntu bionic/main ppc64el openssl ppc64el 1.0.2g-1ubuntu14 [520 kB] Get:99 http://ftpmaster.internal/ubuntu bionic/main ppc64el tzdata all 2017c-1 [188 kB] Get:100 http://ftpmaster.internal/ubuntu bionic/main ppc64el libidn2-0 ppc64el 2.0.4-1 [95.7 kB] Get:101 http://ftpmaster.internal/ubuntu bionic/main ppc64el libkeyutils1 ppc64el 1.5.9-9.2ubuntu1 [9736 B] Get:102 http://ftpmaster.internal/ubuntu bionic/main ppc64el libpng16-16 ppc64el 1.6.34-1 [200 kB] Get:103 http://ftpmaster.internal/ubuntu bionic/universe ppc64el apt-transport-https all 1.6~alpha5 [1692 B] Get:104 http://ftpmaster.internal/ubuntu bionic/main ppc64el dpkg-dev all 1.19.0.4ubuntu1 [607 kB] Get:105 http://ftpmaster.internal/ubuntu bionic/main ppc64el libdpkg-perl all 1.19.0.4ubuntu1 [211 kB] Get:106 http://ftpmaster.internal/ubuntu bionic/main ppc64el build-essential ppc64el 12.4ubuntu1 [4754 B] Get:107 http://ftpmaster.internal/ubuntu bionic/main ppc64el libnghttp2-14 ppc64el 1.29.0-1 [84.6 kB] Get:108 http://ftpmaster.internal/ubuntu bionic/main ppc64el libpsl5 ppc64el 0.19.1-4 [43.0 kB] Get:109 http://ftpmaster.internal/ubuntu bionic/main ppc64el libcurl3-gnutls ppc64el 7.57.0-1ubuntu1 [215 kB] Get:110 http://ftpmaster.internal/ubuntu bionic/main ppc64el liblockfile-bin ppc64el 1.14-1.1 [12.0 kB] Get:111 http://ftpmaster.internal/ubuntu bionic/main ppc64el liblockfile1 ppc64el 1.14-1.1 [6988 B] Get:112 http://ftpmaster.internal/ubuntu bionic/main ppc64el optipng ppc64el 0.7.6-1.1 [86.8 kB] Get:113 http://ppa.launchpad.net/ubuntu-toolchain-r/volatile/ubuntu bionic/main ppc64el cpp ppc64el 4:8-20121108-1ubuntu0.2 [42.2 kB] Get:114 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main ppc64el libasan5 ppc64el 8-20180110-1ubuntu1 [384 kB] Get:115 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main ppc64el libubsan1 ppc64el 8-20180110-1ubuntu1 [130 kB] Get:116 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main ppc64el libquadmath0 ppc64el 8-20180110-1ubuntu1 [130 kB] Get:117 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main ppc64el libgcc-8-dev ppc64el 8-20180110-1ubuntu1 [1170 kB] Get:118 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main ppc64el gcc-8 ppc64el 8-20180110-1ubuntu1 [31.6 MB] Get:119 http://ppa.launchpad.net/ubuntu-toolchain-r/volatile/ubuntu bionic/main ppc64el gcc ppc64el 4:8-20121108-1ubuntu0.2 [5168 B] Get:120 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main ppc64el libstdc++-8-dev ppc64el 8-20180110-1ubuntu1 [1567 kB] Get:121 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main ppc64el g++-8 ppc64el 8-20180110-1ubuntu1 [34.4 MB] Get:122 http://ppa.launchpad.net/ubuntu-toolchain-r/volatile/ubuntu bionic/main ppc64el g++ ppc64el 4:8-20121108-1ubuntu0.2 [1528 B] debconf: delaying package configuration, since apt-utils is not installed Fetched 161 MB in 8s (18.8 MB/s) (Reading database ... 12537 files and directories currently installed.) Preparing to unpack .../perl_5.26.1-3_ppc64el.deb ... Unpacking perl (5.26.1-3) over (5.26.0-8ubuntu1) ... Preparing to unpack .../perl-modules-5.26_5.26.1-3_all.deb ... Unpacking perl-modules-5.26 (5.26.1-3) over (5.26.0-8ubuntu1) ... Preparing to unpack .../libperl5.26_5.26.1-3_ppc64el.deb ... Unpacking libperl5.26:ppc64el (5.26.1-3) over (5.26.0-8ubuntu1) ... Preparing to unpack .../perl-base_5.26.1-3_ppc64el.deb ... Unpacking perl-base (5.26.1-3) over (5.26.0-8ubuntu1) ... Setting up perl-base (5.26.1-3) ... (Reading database ... 12537 files and directories currently installed.) Preparing to unpack .../libc6-dev_2.26-0ubuntu2_ppc64el.deb ... Unpacking libc6-dev:ppc64el (2.26-0ubuntu2) over (2.26-0ubuntu1) ... Preparing to unpack .../libc-dev-bin_2.26-0ubuntu2_ppc64el.deb ... Unpacking libc-dev-bin (2.26-0ubuntu2) over (2.26-0ubuntu1) ... Preparing to unpack .../linux-libc-dev_4.13.0-25.29_ppc64el.deb ... Unpacking linux-libc-dev:ppc64el (4.13.0-25.29) over (4.13.0-11.12) ... Selecting previously unselected package gcc-8-base:ppc64el. Preparing to unpack .../gcc-8-base_8-20180110-1ubuntu1_ppc64el.deb ... Unpacking gcc-8-base:ppc64el (8-20180110-1ubuntu1) ... Setting up gcc-8-base:ppc64el (8-20180110-1ubuntu1) ... (Reading database ... 12544 files and directories currently installed.) Preparing to unpack .../libgcc1_1%3a8-20180110-1ubuntu1_ppc64el.deb ... Unpacking libgcc1:ppc64el (1:8-20180110-1ubuntu1) over (1:7.2.0-6ubuntu1) ... Setting up libgcc1:ppc64el (1:8-20180110-1ubuntu1) ... (Reading database ... 12544 files and directories currently installed.) Preparing to unpack .../libc6_2.26-0ubuntu2_ppc64el.deb ... Unpacking libc6:ppc64el (2.26-0ubuntu2) over (2.26-0ubuntu1) ... Setting up libc6:ppc64el (2.26-0ubuntu2) ... (Reading database ... 12544 files and directories currently installed.) Preparing to unpack .../init-system-helpers_1.51_all.deb ... Unpacking init-system-helpers (1.51) over (1.49ubuntu1) ... Setting up init-system-helpers (1.51) ... (Reading database ... 12544 files and directories currently installed.) Preparing to unpack .../base-files_10ubuntu1_ppc64el.deb ... Unpacking base-files (10ubuntu1) over (9.6ubuntu101) ... Setting up base-files (10ubuntu1) ... Installing new version of config file /etc/debian_version ... Installing new version of config file /etc/issue ... Installing new version of config file /etc/issue.net ... Installing new version of config file /etc/lsb-release ... (Reading database ... 12544 files and directories currently installed.) Preparing to unpack .../bsdutils_1%3a2.30.2-0.1ubuntu1_ppc64el.deb ... Unpacking bsdutils (1:2.30.2-0.1ubuntu1) over (1:2.30.1-0ubuntu4) ... Setting up bsdutils (1:2.30.2-0.1ubuntu1) ... (Reading database ... 12544 files and directories currently installed.) Preparing to unpack .../coreutils_8.26-3ubuntu4_ppc64el.deb ... Unpacking coreutils (8.26-3ubuntu4) over (8.26-3ubuntu3) ... Setting up coreutils (8.26-3ubuntu4) ... (Reading database ... 12544 files and directories currently installed.) Preparing to unpack .../debianutils_4.8.4_ppc64el.deb ... Unpacking debianutils (4.8.4) over (4.8.2) ... Setting up debianutils (4.8.4) ... (Reading database ... 12544 files and directories currently installed.) Preparing to unpack .../dpkg_1.19.0.4ubuntu1_ppc64el.deb ... Unpacking dpkg (1.19.0.4ubuntu1) over (1.18.24ubuntu1) ... Setting up dpkg (1.19.0.4ubuntu1) ... Installing new version of config file /etc/alternatives/README ... Installing new version of config file /etc/cron.daily/dpkg ... Installing new version of config file /etc/logrotate.d/dpkg ... (Reading database ... 12546 files and directories currently installed.) Preparing to unpack .../e2fslibs_1.43.8-1ubuntu1_ppc64el.deb ... Unpacking e2fslibs:ppc64el (1.43.8-1ubuntu1) over (1.43.5-1) ... Setting up e2fslibs:ppc64el (1.43.8-1ubuntu1) ... (Reading database ... 12546 files and directories currently installed.) Preparing to unpack .../e2fsprogs_1.43.8-1ubuntu1_ppc64el.deb ... Unpacking e2fsprogs (1.43.8-1ubuntu1) over (1.43.5-1) ... Setting up e2fsprogs (1.43.8-1ubuntu1) ... Installing new version of config file /etc/mke2fs.conf ... (Reading database ... 12546 files and directories currently installed.) Preparing to unpack .../findutils_4.6.0+git+20170828-2_ppc64el.deb ... Unpacking findutils (4.6.0+git+20170828-2) over (4.6.0+git+20170729-2) ... Setting up findutils (4.6.0+git+20170828-2) ... (Reading database ... 12546 files and directories currently installed.) Preparing to unpack .../libuuid1_2.30.2-0.1ubuntu1_ppc64el.deb ... Unpacking libuuid1:ppc64el (2.30.2-0.1ubuntu1) over (2.30.1-0ubuntu4) ... Setting up libuuid1:ppc64el (2.30.2-0.1ubuntu1) ... (Reading database ... 12546 files and directories currently installed.) Preparing to unpack .../libblkid1_2.30.2-0.1ubuntu1_ppc64el.deb ... Unpacking libblkid1:ppc64el (2.30.2-0.1ubuntu1) over (2.30.1-0ubuntu4) ... Setting up libblkid1:ppc64el (2.30.2-0.1ubuntu1) ... (Reading database ... 12546 files and directories currently installed.) Preparing to unpack .../libsmartcols1_2.30.2-0.1ubuntu1_ppc64el.deb ... Unpacking libsmartcols1:ppc64el (2.30.2-0.1ubuntu1) over (2.30.1-0ubuntu4) ... Setting up libsmartcols1:ppc64el (2.30.2-0.1ubuntu1) ... (Reading database ... 12546 files and directories currently installed.) Preparing to unpack .../libfdisk1_2.30.2-0.1ubuntu1_ppc64el.deb ... Unpacking libfdisk1:ppc64el (2.30.2-0.1ubuntu1) over (2.30.1-0ubuntu4) ... Setting up libfdisk1:ppc64el (2.30.2-0.1ubuntu1) ... (Reading database ... 12546 files and directories currently installed.) Preparing to unpack .../libpcre3_2%3a8.39-8_ppc64el.deb ... Unpacking libpcre3:ppc64el (2:8.39-8) over (2:8.39-4) ... Setting up libpcre3:ppc64el (2:8.39-8) ... (Reading database ... 12546 files and directories currently installed.) Preparing to unpack .../libselinux1_2.7-2_ppc64el.deb ... Unpacking libselinux1:ppc64el (2.7-2) over (2.7-1) ... Setting up libselinux1:ppc64el (2.7-2) ... (Reading database ... 12546 files and directories currently installed.) Preparing to unpack .../libmount1_2.30.2-0.1ubuntu1_ppc64el.deb ... Unpacking libmount1:ppc64el (2.30.2-0.1ubuntu1) over (2.30.1-0ubuntu4) ... Setting up libmount1:ppc64el (2.30.2-0.1ubuntu1) ... (Reading database ... 12546 files and directories currently installed.) Preparing to unpack .../fdisk_2.30.2-0.1ubuntu1_ppc64el.deb ... Unpacking fdisk (2.30.2-0.1ubuntu1) over (2.30.1-0ubuntu4) ... Setting up fdisk (2.30.2-0.1ubuntu1) ... (Reading database ... 12546 files and directories currently installed.) Preparing to unpack .../util-linux_2.30.2-0.1ubuntu1_ppc64el.deb ... Unpacking util-linux (2.30.2-0.1ubuntu1) over (2.30.1-0ubuntu4) ... Setting up util-linux (2.30.2-0.1ubuntu1) ... (Reading database ... 12547 files and directories currently installed.) Preparing to unpack .../base-passwd_3.5.44_ppc64el.deb ... Unpacking base-passwd (3.5.44) over (3.5.43) ... Setting up base-passwd (3.5.44) ... (Reading database ... 12547 files and directories currently installed.) Preparing to unpack .../libc-bin_2.26-0ubuntu2_ppc64el.deb ... Unpacking libc-bin (2.26-0ubuntu2) over (2.26-0ubuntu1) ... Setting up libc-bin (2.26-0ubuntu2) ... (Reading database ... 12547 files and directories currently installed.) Preparing to unpack .../sysvinit-utils_2.88dsf-59.10ubuntu1_ppc64el.deb ... Unpacking sysvinit-utils (2.88dsf-59.10ubuntu1) over (2.88dsf-59.8git1) ... Setting up sysvinit-utils (2.88dsf-59.10ubuntu1) ... (Reading database ... 12547 files and directories currently installed.) Preparing to unpack .../libstdc++6_8-20180110-1ubuntu1_ppc64el.deb ... Unpacking libstdc++6:ppc64el (8-20180110-1ubuntu1) over (7.2.0-6ubuntu1) ... Setting up libstdc++6:ppc64el (8-20180110-1ubuntu1) ... (Reading database ... 12547 files and directories currently installed.) Preparing to unpack .../libudev1_235-3ubuntu3_ppc64el.deb ... Unpacking libudev1:ppc64el (235-3ubuntu3) over (234-2ubuntu10) ... Setting up libudev1:ppc64el (235-3ubuntu3) ... (Reading database ... 12547 files and directories currently installed.) Preparing to unpack .../libapt-pkg5.0_1.6~alpha5_ppc64el.deb ... Unpacking libapt-pkg5.0:ppc64el (1.6~alpha5) over (1.5~rc4) ... Setting up libapt-pkg5.0:ppc64el (1.6~alpha5) ... (Reading database ... 12547 files and directories currently installed.) Preparing to unpack .../debconf_1.5.65_all.deb ... Unpacking debconf (1.5.65) over (1.5.63) ... Setting up debconf (1.5.65) ... (Reading database ... 12541 files and directories currently installed.) Preparing to unpack .../adduser_3.116ubuntu1_all.deb ... Unpacking adduser (3.116ubuntu1) over (3.113+nmu3ubuntu5) ... Setting up adduser (3.116ubuntu1) ... (Reading database ... 12539 files and directories currently installed.) Preparing to unpack .../libgpg-error0_1.27-5_ppc64el.deb ... Unpacking libgpg-error0:ppc64el (1.27-5) over (1.27-3) ... Setting up libgpg-error0:ppc64el (1.27-5) ... (Reading database ... 12539 files and directories currently installed.) Preparing to unpack .../libgcrypt20_1.8.1-4_ppc64el.deb ... Unpacking libgcrypt20:ppc64el (1.8.1-4) over (1.7.8-2ubuntu1) ... Setting up libgcrypt20:ppc64el (1.8.1-4) ... (Reading database ... 12539 files and directories currently installed.) Preparing to unpack .../gpgv_2.1.15-1ubuntu8_ppc64el.deb ... Unpacking gpgv (2.1.15-1ubuntu8) over (2.1.15-1ubuntu7) ... Setting up gpgv (2.1.15-1ubuntu8) ... (Reading database ... 12539 files and directories currently installed.) Preparing to unpack .../libseccomp2_2.3.1-2.1ubuntu3_ppc64el.deb ... Unpacking libseccomp2:ppc64el (2.3.1-2.1ubuntu3) over (2.3.1-2.1ubuntu2) ... Setting up libseccomp2:ppc64el (2.3.1-2.1ubuntu3) ... (Reading database ... 12539 files and directories currently installed.) Preparing to unpack .../apt_1.6~alpha5_ppc64el.deb ... Unpacking apt (1.6~alpha5) over (1.5~rc4) ... Setting up apt (1.6~alpha5) ... (Reading database ... 12535 files and directories currently installed.) Preparing to unpack .../libapparmor1_2.11.0-2ubuntu18_ppc64el.deb ... Unpacking libapparmor1:ppc64el (2.11.0-2ubuntu18) over (2.11.0-2ubuntu17) ... Preparing to unpack .../libcap2_1%3a2.25-1.2_ppc64el.deb ... Unpacking libcap2:ppc64el (1:2.25-1.2) over (1:2.25-1) ... Preparing to unpack .../libidn11_1.33-2.1_ppc64el.deb ... Unpacking libidn11:ppc64el (1.33-2.1) over (1.33-2) ... Setting up libidn11:ppc64el (1.33-2.1) ... (Reading database ... 12535 files and directories currently installed.) Preparing to unpack .../libip4tc0_1.6.1-2ubuntu2_ppc64el.deb ... Unpacking libip4tc0:ppc64el (1.6.1-2ubuntu2) over (1.6.1-2ubuntu1) ... Preparing to unpack .../mount_2.30.2-0.1ubuntu1_ppc64el.deb ... Unpacking mount (2.30.2-0.1ubuntu1) over (2.30.1-0ubuntu4) ... Preparing to unpack .../systemd_235-3ubuntu3_ppc64el.deb ... Unpacking systemd (235-3ubuntu3) over (234-2ubuntu10) ... Preparing to unpack .../libsystemd0_235-3ubuntu3_ppc64el.deb ... Unpacking libsystemd0:ppc64el (235-3ubuntu3) over (234-2ubuntu10) ... Setting up libsystemd0:ppc64el (235-3ubuntu3) ... (Reading database ... 12541 files and directories currently installed.) Preparing to unpack .../archives/init_1.51_ppc64el.deb ... Unpacking init (1.51) over (1.49ubuntu1) ... Setting up libapparmor1:ppc64el (2.11.0-2ubuntu18) ... Setting up libcap2:ppc64el (1:2.25-1.2) ... Setting up libip4tc0:ppc64el (1.6.1-2ubuntu2) ... Setting up mount (2.30.2-0.1ubuntu1) ... Setting up systemd (235-3ubuntu3) ... Installing new version of config file /etc/systemd/journald.conf ... Installing new version of config file /etc/systemd/system.conf ... Removing empty /etc/rc.local Removed /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service. Removing user `systemd-bus-proxy' ... Warning: group `systemd-bus-proxy' has no more members. Done. (Reading database ... 12541 files and directories currently installed.) Preparing to unpack .../systemd-sysv_235-3ubuntu3_ppc64el.deb ... Unpacking systemd-sysv (235-3ubuntu3) over (234-2ubuntu10) ... Preparing to unpack .../libcap-ng0_0.7.7-3.1_ppc64el.deb ... Unpacking libcap-ng0:ppc64el (0.7.7-3.1) over (0.7.7-3build1) ... Setting up libcap-ng0:ppc64el (0.7.7-3.1) ... (Reading database ... 12541 files and directories currently installed.) Preparing to unpack .../libcomerr2_1.43.8-1ubuntu1_ppc64el.deb ... Unpacking libcomerr2:ppc64el (1.43.8-1ubuntu1) over (1.43.5-1) ... Setting up libcomerr2:ppc64el (1.43.8-1ubuntu1) ... (Reading database ... 12541 files and directories currently installed.) Preparing to unpack .../libsemanage-common_2.7-2_all.deb ... Unpacking libsemanage-common (2.7-2) over (2.7-1) ... Setting up libsemanage-common (2.7-2) ... (Reading database ... 12541 files and directories currently installed.) Preparing to unpack .../libsemanage1_2.7-2_ppc64el.deb ... Unpacking libsemanage1:ppc64el (2.7-2) over (2.7-1) ... Setting up libsemanage1:ppc64el (2.7-2) ... (Reading database ... 12541 files and directories currently installed.) Preparing to unpack .../libss2_1.43.8-1ubuntu1_ppc64el.deb ... Unpacking libss2:ppc64el (1.43.8-1ubuntu1) over (1.43.5-1) ... Setting up libss2:ppc64el (1.43.8-1ubuntu1) ... (Reading database ... 12541 files and directories currently installed.) Preparing to unpack .../libnettle6_3.3-2_ppc64el.deb ... Unpacking libnettle6:ppc64el (3.3-2) over (3.3-1) ... Setting up libnettle6:ppc64el (3.3-2) ... (Reading database ... 12541 files and directories currently installed.) Preparing to unpack .../libhogweed4_3.3-2_ppc64el.deb ... Unpacking libhogweed4:ppc64el (3.3-2) over (3.3-1) ... Setting up libhogweed4:ppc64el (3.3-2) ... (Reading database ... 12541 files and directories currently installed.) Preparing to unpack .../libp11-kit0_0.23.9-2_ppc64el.deb ... Unpacking libp11-kit0:ppc64el (0.23.9-2) over (0.23.7-3) ... Setting up libp11-kit0:ppc64el (0.23.9-2) ... (Reading database ... 12541 files and directories currently installed.) Preparing to unpack .../libtasn1-6_4.12-3_ppc64el.deb ... Unpacking libtasn1-6:ppc64el (4.12-3) over (4.12-2.1) ... Setting up libtasn1-6:ppc64el (4.12-3) ... (Reading database ... 12541 files and directories currently installed.) Preparing to unpack .../00-libgomp1_8-20180110-1ubuntu1_ppc64el.deb ... Unpacking libgomp1:ppc64el (8-20180110-1ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../01-libitm1_8-20180110-1ubuntu1_ppc64el.deb ... Unpacking libitm1:ppc64el (8-20180110-1ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../02-g++-7_7.2.0-18ubuntu2_ppc64el.deb ... Unpacking g++-7 (7.2.0-18ubuntu2) over (7.2.0-6ubuntu1) ... Preparing to unpack .../03-gcc-7_7.2.0-18ubuntu2_ppc64el.deb ... Unpacking gcc-7 (7.2.0-18ubuntu2) over (7.2.0-6ubuntu1) ... Preparing to unpack .../04-cpp-7_7.2.0-18ubuntu2_ppc64el.deb ... Unpacking cpp-7 (7.2.0-18ubuntu2) over (7.2.0-6ubuntu1) ... Preparing to unpack .../05-libcc1-0_8-20180110-1ubuntu1_ppc64el.deb ... Unpacking libcc1-0:ppc64el (8-20180110-1ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../06-libbinutils_2.29.1-12ubuntu1_ppc64el.deb ... Unpacking libbinutils:ppc64el (2.29.1-12ubuntu1) over (2.29.1-1ubuntu1) ... Preparing to unpack .../07-binutils_2.29.1-12ubuntu1_ppc64el.deb ... Unpacking binutils (2.29.1-12ubuntu1) over (2.29.1-1ubuntu1) ... Preparing to unpack .../08-binutils-common_2.29.1-12ubuntu1_ppc64el.deb ... Unpacking binutils-common:ppc64el (2.29.1-12ubuntu1) over (2.29.1-1ubuntu1) ... Preparing to unpack .../09-binutils-powerpc64le-linux-gnu_2.29.1-12ubuntu1_ppc64el.deb ... Unpacking binutils-powerpc64le-linux-gnu (2.29.1-12ubuntu1) over (2.29.1-1ubuntu1) ... Preparing to unpack .../10-libatomic1_8-20180110-1ubuntu1_ppc64el.deb ... Unpacking libatomic1:ppc64el (8-20180110-1ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../11-libasan4_7.2.0-18ubuntu2_ppc64el.deb ... Unpacking libasan4:ppc64el (7.2.0-18ubuntu2) over (7.2.0-6ubuntu1) ... Selecting previously unselected package liblsan0:ppc64el. Preparing to unpack .../12-liblsan0_8-20180110-1ubuntu1_ppc64el.deb ... Unpacking liblsan0:ppc64el (8-20180110-1ubuntu1) ... Selecting previously unselected package libtsan0:ppc64el. Preparing to unpack .../13-libtsan0_8-20180110-1ubuntu1_ppc64el.deb ... Unpacking libtsan0:ppc64el (8-20180110-1ubuntu1) ... Preparing to unpack .../14-libubsan0_7.2.0-18ubuntu2_ppc64el.deb ... Unpacking libubsan0:ppc64el (7.2.0-18ubuntu2) over (7.2.0-6ubuntu1) ... Preparing to unpack .../15-libstdc++-7-dev_7.2.0-18ubuntu2_ppc64el.deb ... Unpacking libstdc++-7-dev:ppc64el (7.2.0-18ubuntu2) over (7.2.0-6ubuntu1) ... Preparing to unpack .../16-libgcc-7-dev_7.2.0-18ubuntu2_ppc64el.deb ... Unpacking libgcc-7-dev:ppc64el (7.2.0-18ubuntu2) over (7.2.0-6ubuntu1) ... Preparing to unpack .../17-gcc-7-base_7.2.0-18ubuntu2_ppc64el.deb ... Unpacking gcc-7-base:ppc64el (7.2.0-18ubuntu2) over (7.2.0-6ubuntu1) ... Preparing to unpack .../18-lsb-base_9.20170808ubuntu1_all.deb ... Unpacking lsb-base (9.20170808ubuntu1) over (9.20160110ubuntu5) ... Preparing to unpack .../19-sensible-utils_0.0.11_all.deb ... Unpacking sensible-utils (0.0.11) over (0.0.10) ... Preparing to unpack .../20-libassuan0_2.5.1-1_ppc64el.deb ... Unpacking libassuan0:ppc64el (2.5.1-1) over (2.4.3-3) ... Preparing to unpack .../21-pinentry-curses_1.0.0-3_ppc64el.deb ... Unpacking pinentry-curses (1.0.0-3) over (1.0.0-2) ... Preparing to unpack .../22-libnpth0_1.5-3_ppc64el.deb ... Unpacking libnpth0:ppc64el (1.5-3) over (1.5-2) ... Preparing to unpack .../23-gnupg_2.1.15-1ubuntu8_ppc64el.deb ... Unpacking gnupg (2.1.15-1ubuntu8) over (2.1.15-1ubuntu7) ... Preparing to unpack .../24-gnupg-agent_2.1.15-1ubuntu8_ppc64el.deb ... Unpacking gnupg-agent (2.1.15-1ubuntu8) over (2.1.15-1ubuntu7) ... Preparing to unpack .../25-libsqlite3-0_3.21.0-1_ppc64el.deb ... Unpacking libsqlite3-0:ppc64el (3.21.0-1) over (3.19.3-3) ... Preparing to unpack .../26-libroken18-heimdal_7.5.0+dfsg-1_ppc64el.deb ... Unpacking libroken18-heimdal:ppc64el (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../27-libasn1-8-heimdal_7.5.0+dfsg-1_ppc64el.deb ... Unpacking libasn1-8-heimdal:ppc64el (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../28-libheimbase1-heimdal_7.5.0+dfsg-1_ppc64el.deb ... Unpacking libheimbase1-heimdal:ppc64el (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../29-libhcrypto4-heimdal_7.5.0+dfsg-1_ppc64el.deb ... Unpacking libhcrypto4-heimdal:ppc64el (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../30-libwind0-heimdal_7.5.0+dfsg-1_ppc64el.deb ... Unpacking libwind0-heimdal:ppc64el (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../31-libhx509-5-heimdal_7.5.0+dfsg-1_ppc64el.deb ... Unpacking libhx509-5-heimdal:ppc64el (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../32-libkrb5-26-heimdal_7.5.0+dfsg-1_ppc64el.deb ... Unpacking libkrb5-26-heimdal:ppc64el (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../33-libheimntlm0-heimdal_7.5.0+dfsg-1_ppc64el.deb ... Unpacking libheimntlm0-heimdal:ppc64el (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../34-libgssapi3-heimdal_7.5.0+dfsg-1_ppc64el.deb ... Unpacking libgssapi3-heimdal:ppc64el (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../35-libssl1.0.0_1.0.2g-1ubuntu14_ppc64el.deb ... Unpacking libssl1.0.0:ppc64el (1.0.2g-1ubuntu14) over (1.0.2g-1ubuntu13) ... Preparing to unpack .../36-multiarch-support_2.26-0ubuntu2_ppc64el.deb ... Unpacking multiarch-support (2.26-0ubuntu2) over (2.26-0ubuntu1) ... Preparing to unpack .../37-openssl_1.0.2g-1ubuntu14_ppc64el.deb ... Unpacking openssl (1.0.2g-1ubuntu14) over (1.0.2g-1ubuntu13) ... Preparing to unpack .../38-tzdata_2017c-1_all.deb ... Unpacking tzdata (2017c-1) over (2017b-2) ... Preparing to unpack .../39-libidn2-0_2.0.4-1_ppc64el.deb ... Unpacking libidn2-0:ppc64el (2.0.4-1) over (2.0.2-5) ... Preparing to unpack .../40-libkeyutils1_1.5.9-9.2ubuntu1_ppc64el.deb ... Unpacking libkeyutils1:ppc64el (1.5.9-9.2ubuntu1) over (1.5.9-9ubuntu1) ... Preparing to unpack .../41-libpng16-16_1.6.34-1_ppc64el.deb ... Unpacking libpng16-16:ppc64el (1.6.34-1) over (1.6.32-2) ... Preparing to unpack .../42-apt-transport-https_1.6~alpha5_all.deb ... Unpacking apt-transport-https (1.6~alpha5) over (1.5~rc4) ... Selecting previously unselected package cpp-8. Preparing to unpack .../43-cpp-8_8-20180110-1ubuntu1_ppc64el.deb ... Unpacking cpp-8 (8-20180110-1ubuntu1) ... Preparing to unpack .../44-cpp_4%3a8-20121108-1ubuntu0.2_ppc64el.deb ... Unpacking cpp (4:8-20121108-1ubuntu0.2) over (4:7.2.0-1ubuntu1) ... Selecting previously unselected package libasan5:ppc64el. Preparing to unpack .../45-libasan5_8-20180110-1ubuntu1_ppc64el.deb ... Unpacking libasan5:ppc64el (8-20180110-1ubuntu1) ... Selecting previously unselected package libubsan1:ppc64el. Preparing to unpack .../46-libubsan1_8-20180110-1ubuntu1_ppc64el.deb ... Unpacking libubsan1:ppc64el (8-20180110-1ubuntu1) ... Selecting previously unselected package libquadmath0:ppc64el. Preparing to unpack .../47-libquadmath0_8-20180110-1ubuntu1_ppc64el.deb ... Unpacking libquadmath0:ppc64el (8-20180110-1ubuntu1) ... Selecting previously unselected package libgcc-8-dev:ppc64el. Preparing to unpack .../48-libgcc-8-dev_8-20180110-1ubuntu1_ppc64el.deb ... Unpacking libgcc-8-dev:ppc64el (8-20180110-1ubuntu1) ... Selecting previously unselected package gcc-8. Preparing to unpack .../49-gcc-8_8-20180110-1ubuntu1_ppc64el.deb ... Unpacking gcc-8 (8-20180110-1ubuntu1) ... Preparing to unpack .../50-gcc_4%3a8-20121108-1ubuntu0.2_ppc64el.deb ... Unpacking gcc (4:8-20121108-1ubuntu0.2) over (4:7.2.0-1ubuntu1) ... Selecting previously unselected package libstdc++-8-dev:ppc64el. Preparing to unpack .../51-libstdc++-8-dev_8-20180110-1ubuntu1_ppc64el.deb ... Unpacking libstdc++-8-dev:ppc64el (8-20180110-1ubuntu1) ... Selecting previously unselected package g++-8. Preparing to unpack .../52-g++-8_8-20180110-1ubuntu1_ppc64el.deb ... Unpacking g++-8 (8-20180110-1ubuntu1) ... Preparing to unpack .../53-g++_4%3a8-20121108-1ubuntu0.2_ppc64el.deb ... Unpacking g++ (4:8-20121108-1ubuntu0.2) over (4:7.2.0-1ubuntu1) ... Preparing to unpack .../54-dpkg-dev_1.19.0.4ubuntu1_all.deb ... Unpacking dpkg-dev (1.19.0.4ubuntu1) over (1.18.24ubuntu1) ... Preparing to unpack .../55-libdpkg-perl_1.19.0.4ubuntu1_all.deb ... Unpacking libdpkg-perl (1.19.0.4ubuntu1) over (1.18.24ubuntu1) ... Preparing to unpack .../56-build-essential_12.4ubuntu1_ppc64el.deb ... Unpacking build-essential (12.4ubuntu1) over (12.1ubuntu2) ... Selecting previously unselected package libnghttp2-14:ppc64el. Preparing to unpack .../57-libnghttp2-14_1.29.0-1_ppc64el.deb ... Unpacking libnghttp2-14:ppc64el (1.29.0-1) ... Preparing to unpack .../58-libpsl5_0.19.1-4_ppc64el.deb ... Unpacking libpsl5:ppc64el (0.19.1-4) over (0.18.0-2) ... Preparing to unpack .../59-libcurl3-gnutls_7.57.0-1ubuntu1_ppc64el.deb ... Unpacking libcurl3-gnutls:ppc64el (7.57.0-1ubuntu1) over (7.55.1-1ubuntu1) ... Preparing to unpack .../60-liblockfile-bin_1.14-1.1_ppc64el.deb ... Unpacking liblockfile-bin (1.14-1.1) over (1.14-1) ... Preparing to unpack .../61-liblockfile1_1.14-1.1_ppc64el.deb ... Unpacking liblockfile1:ppc64el (1.14-1.1) over (1.14-1) ... Preparing to unpack .../62-optipng_0.7.6-1.1_ppc64el.deb ... Unpacking optipng (0.7.6-1.1) over (0.7.6-1build1) ... Setting up libquadmath0:ppc64el (8-20180110-1ubuntu1) ... Setting up libnpth0:ppc64el (1.5-3) ... Setting up cpp-8 (8-20180110-1ubuntu1) ... Setting up libgomp1:ppc64el (8-20180110-1ubuntu1) ... Setting up libatomic1:ppc64el (8-20180110-1ubuntu1) ... Setting up cpp (4:8-20121108-1ubuntu0.2) ... Setting up liblockfile-bin (1.14-1.1) ... Setting up libcc1-0:ppc64el (8-20180110-1ubuntu1) ... Setting up apt-transport-https (1.6~alpha5) ... Setting up libidn2-0:ppc64el (2.0.4-1) ... Setting up libssl1.0.0:ppc64el (1.0.2g-1ubuntu14) ... Setting up libnghttp2-14:ppc64el (1.29.0-1) ... Setting up libpng16-16:ppc64el (1.6.34-1) ... Setting up libpsl5:ppc64el (0.19.1-4) ... Setting up multiarch-support (2.26-0ubuntu2) ... Setting up tzdata (2017c-1) ... Current default time zone: 'Etc/UTC' Local time is now: Mon Jan 15 16:42:49 UTC 2018. Universal Time is now: Mon Jan 15 16:42:49 UTC 2018. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up systemd-sysv (235-3ubuntu3) ... Setting up libtsan0:ppc64el (8-20180110-1ubuntu1) ... Setting up liblockfile1:ppc64el (1.14-1.1) ... Setting up linux-libc-dev:ppc64el (4.13.0-25.29) ... Setting up libroken18-heimdal:ppc64el (7.5.0+dfsg-1) ... Setting up perl-modules-5.26 (5.26.1-3) ... Setting up optipng (0.7.6-1.1) ... Setting up lsb-base (9.20170808ubuntu1) ... Setting up liblsan0:ppc64el (8-20180110-1ubuntu1) ... Setting up gcc-7-base:ppc64el (7.2.0-18ubuntu2) ... Setting up binutils-common:ppc64el (2.29.1-12ubuntu1) ... Setting up sensible-utils (0.0.11) ... Processing triggers for libc-bin (2.26-0ubuntu2) ... Setting up libperl5.26:ppc64el (5.26.1-3) ... Setting up libheimbase1-heimdal:ppc64el (7.5.0+dfsg-1) ... Setting up openssl (1.0.2g-1ubuntu14) ... Setting up libsqlite3-0:ppc64el (3.21.0-1) ... Setting up libc-dev-bin (2.26-0ubuntu2) ... Setting up libkeyutils1:ppc64el (1.5.9-9.2ubuntu1) ... Setting up libc6-dev:ppc64el (2.26-0ubuntu2) ... Setting up libasan5:ppc64el (8-20180110-1ubuntu1) ... Setting up libassuan0:ppc64el (2.5.1-1) ... Setting up libitm1:ppc64el (8-20180110-1ubuntu1) ... Setting up libubsan1:ppc64el (8-20180110-1ubuntu1) ... Setting up libwind0-heimdal:ppc64el (7.5.0+dfsg-1) ... Setting up libasan4:ppc64el (7.2.0-18ubuntu2) ... Setting up libbinutils:ppc64el (2.29.1-12ubuntu1) ... Setting up libcurl3-gnutls:ppc64el (7.57.0-1ubuntu1) ... Setting up init (1.51) ... Setting up libasn1-8-heimdal:ppc64el (7.5.0+dfsg-1) ... Setting up libubsan0:ppc64el (7.2.0-18ubuntu2) ... Setting up binutils-powerpc64le-linux-gnu (2.29.1-12ubuntu1) ... Setting up libhcrypto4-heimdal:ppc64el (7.5.0+dfsg-1) ... Setting up libhx509-5-heimdal:ppc64el (7.5.0+dfsg-1) ... Setting up libgcc-7-dev:ppc64el (7.2.0-18ubuntu2) ... Setting up cpp-7 (7.2.0-18ubuntu2) ... Setting up libstdc++-7-dev:ppc64el (7.2.0-18ubuntu2) ... Setting up perl (5.26.1-3) ... Setting up pinentry-curses (1.0.0-3) ... Setting up libgcc-8-dev:ppc64el (8-20180110-1ubuntu1) ... Setting up binutils (2.29.1-12ubuntu1) ... Setting up libkrb5-26-heimdal:ppc64el (7.5.0+dfsg-1) ... Setting up gnupg-agent (2.1.15-1ubuntu8) ... Setting up libheimntlm0-heimdal:ppc64el (7.5.0+dfsg-1) ... Setting up libstdc++-8-dev:ppc64el (8-20180110-1ubuntu1) ... Setting up gcc-7 (7.2.0-18ubuntu2) ... Setting up g++-7 (7.2.0-18ubuntu2) ... Setting up gnupg (2.1.15-1ubuntu8) ... Setting up libdpkg-perl (1.19.0.4ubuntu1) ... Setting up gcc-8 (8-20180110-1ubuntu1) ... Setting up g++-8 (8-20180110-1ubuntu1) ... Setting up dpkg-dev (1.19.0.4ubuntu1) ... Setting up libgssapi3-heimdal:ppc64el (7.5.0+dfsg-1) ... Setting up gcc (4:8-20121108-1ubuntu0.2) ... Setting up g++ (4:8-20121108-1ubuntu0.2) ... Setting up build-essential (12.4ubuntu1) ... Processing triggers for libc-bin (2.26-0ubuntu2) ... RUN: /usr/share/launchpad-buildd/slavebin/sbuild-package PACKAGEBUILD-14112022 ppc64el bionic -c chroot:build-PACKAGEBUILD-14112022 --arch=ppc64el --dist=bionic --nolog kdevelop-php_5.2.1-1ubuntu2.dsc Initiating build PACKAGEBUILD-14112022 with 4 jobs across 4 processor cores. Kernel reported to sbuild: 4.4.0-101-generic #124-Ubuntu SMP Fri Nov 10 18:29:11 UTC 2017 ppc64le sbuild (Debian sbuild) 0.67.0 (26 Dec 2015) on bos01-ppc64el-003.buildd +==============================================================================+ | kdevelop-php 5.2.1-1ubuntu2 (ppc64el) 15 Jan 2018 16:42 | +==============================================================================+ Package: kdevelop-php Version: 5.2.1-1ubuntu2 Source Version: 5.2.1-1ubuntu2 Distribution: bionic Machine Architecture: ppc64el Host Architecture: ppc64el Build Architecture: ppc64el I: NOTICE: Log filtering will replace 'build/kdevelop-php-lLZ_DR/kdevelop-php-5.2.1' with '<>' I: NOTICE: Log filtering will replace 'build/kdevelop-php-lLZ_DR' with '<>' I: NOTICE: Log filtering will replace 'home/buildd/build-PACKAGEBUILD-14112022/chroot-autobuild' with '<>' +------------------------------------------------------------------------------+ | Fetch source files | +------------------------------------------------------------------------------+ Local sources ------------- kdevelop-php_5.2.1-1ubuntu2.dsc exists in .; copying to chroot Check architectures ------------------- Check dependencies ------------------ Merged Build-Depends: build-essential, fakeroot Filtered Build-Depends: build-essential, fakeroot dpkg-deb: building package 'sbuild-build-depends-core-dummy' in '/<>/resolver-kWkkoK/apt_archive/sbuild-build-depends-core-dummy.deb'. Ign:1 copy:/<>/resolver-kWkkoK/apt_archive ./ InRelease Get:2 copy:/<>/resolver-kWkkoK/apt_archive ./ Release [2119 B] Ign:3 copy:/<>/resolver-kWkkoK/apt_archive ./ Release.gpg Get:4 copy:/<>/resolver-kWkkoK/apt_archive ./ Sources [214 B] Get:5 copy:/<>/resolver-kWkkoK/apt_archive ./ Packages [526 B] Fetched 2859 B in 0s (158 kB/s) Reading package lists... Reading package lists... +------------------------------------------------------------------------------+ | Install core build dependencies (apt-based resolver) | +------------------------------------------------------------------------------+ Installing build dependencies Reading package lists... Building dependency tree... Reading state information... The following packages were automatically installed and are no longer required: g++-7 libasn1-8-heimdal libcurl3-gnutls libgssapi-krb5-2 libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhx509-5-heimdal libidn2-0 libk5crypto3 libkeyutils1 libkrb5-26-heimdal libkrb5-3 libkrb5support0 libldap-2.4-2 libldap-common libnghttp2-14 libpsl5 libroken18-heimdal librtmp1 libsasl2-2 libsasl2-modules-db libstdc++-7-dev libunistring0 libwind0-heimdal Use 'apt autoremove' to remove them. The following NEW packages will be installed: sbuild-build-depends-core-dummy 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 856 B of archives. After this operation, 0 B of additional disk space will be used. Get:1 copy:/<>/resolver-kWkkoK/apt_archive ./ sbuild-build-depends-core-dummy 0.invalid.0 [856 B] debconf: delaying package configuration, since apt-utils is not installed Fetched 856 B in 0s (0 B/s) Selecting previously unselected package sbuild-build-depends-core-dummy. (Reading database ... 13530 files and directories currently installed.) Preparing to unpack .../sbuild-build-depends-core-dummy_0.invalid.0_ppc64el.deb ... Unpacking sbuild-build-depends-core-dummy (0.invalid.0) ... Setting up sbuild-build-depends-core-dummy (0.invalid.0) ... Merged Build-Depends: cmake (>= 3.0), debhelper (>= 9), extra-cmake-modules (>= 5.15.0), qtbase5-dev (>= 5.5.0), libkf5archive-dev (>= 5.15.0), libkf5i18n-dev (>= 5.15.0), libkf5itemmodels-dev (>= 5.15.0), libkf5kcmutils-dev (>= 5.15.0), libkf5texteditor-dev (>= 5.15.0), libkf5threadweaver-dev (>= 5.15.0), kdevelop-dev (>= 4:5.2.1), kdevelop-pg-qt (>= 2.0), pkg-kde-tools (>= 0.15.16) Filtered Build-Depends: cmake (>= 3.0), debhelper (>= 9), extra-cmake-modules (>= 5.15.0), qtbase5-dev (>= 5.5.0), libkf5archive-dev (>= 5.15.0), libkf5i18n-dev (>= 5.15.0), libkf5itemmodels-dev (>= 5.15.0), libkf5kcmutils-dev (>= 5.15.0), libkf5texteditor-dev (>= 5.15.0), libkf5threadweaver-dev (>= 5.15.0), kdevelop-dev (>= 4:5.2.1), kdevelop-pg-qt (>= 2.0), pkg-kde-tools (>= 0.15.16) dpkg-deb: building package 'sbuild-build-depends-kdevelop-php-dummy' in '/<>/resolver-jlyy87/apt_archive/sbuild-build-depends-kdevelop-php-dummy.deb'. Ign:1 copy:/<>/resolver-jlyy87/apt_archive ./ InRelease Get:2 copy:/<>/resolver-jlyy87/apt_archive ./ Release [2119 B] Ign:3 copy:/<>/resolver-jlyy87/apt_archive ./ Release.gpg Get:4 copy:/<>/resolver-jlyy87/apt_archive ./ Sources [335 B] Get:5 copy:/<>/resolver-jlyy87/apt_archive ./ Packages [656 B] Fetched 3110 B in 0s (168 kB/s) Reading package lists... Reading package lists... +------------------------------------------------------------------------------+ | Install kdevelop-php build dependencies (apt-based resolver) | +------------------------------------------------------------------------------+ Installing build dependencies Reading package lists... Building dependency tree... Reading state information... The following packages were automatically installed and are no longer required: g++-7 libstdc++-7-dev Use 'apt autoremove' to remove them. The following additional packages will be installed: autoconf automake autopoint autotools-dev bsdmainutils cmake cmake-data dbus debhelper dh-autoreconf dh-python dh-strip-nondeterminism diffstat extra-cmake-modules file fontconfig fontconfig-config fonts-dejavu-core gettext gettext-base groff-base intltool-debian iso-codes kdevelop-dev kdevelop-pg-qt kdevelop52-libs kinit kio kio-dev kpackagetool5 ktexteditor-data liba52-0.7.4 libaa1 libapt-pkg-perl libarchive-zip-perl libarchive13 libaribb24-0 libasound2 libasound2-data libass9 libasyncns0 libavahi-client3 libavahi-common-data libavahi-common3 libavc1394-0 libavcodec57 libavformat57 libavutil55 libbasicusageenvironment1 libbluray2 libboost-filesystem1.65.1 libboost-system1.65.1 libbsd0 libcaca0 libcairo2 libcap2-bin libcapnp-0.6.1 libcddb2 libcgi-pm-perl libchromaprint1 libclass-accessor-perl libclone-perl libcroco3 libcups2 libcurl3 libdatrie1 libdbus-1-3 libdbusmenu-qt5 libdc1394-22 libdca0 libdigest-hmac-perl libdouble-conversion1 libdrm-amdgpu1 libdrm-common libdrm-dev libdrm-nouveau2 libdrm-radeon1 libdrm2 libdvbpsi10 libdvdnav4 libdvdread4 libebml4v5 libedit2 libeditorconfig0 libegl1-mesa libegl1-mesa-dev libelf1 libemail-valid-perl libevdev2 libexpat1 libexporter-tiny-perl libfaad2 libfam0 libfile-basedir-perl libfile-stripnondeterminism-perl libflac8 libfontconfig1 libfreetype6 libfribidi0 libgbm1 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgit2-26 libgl1-mesa-dev libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgles2-mesa libgles2-mesa-dev libglib2.0-0 libglu1-mesa libglu1-mesa-dev libgme0 libgpgme11 libgpgmepp6 libgpm2 libgrantlee-templates5 libgrantlee-textdocument5 libgrantlee5-dev libgraphite2-3 libgroupsock8 libgsm1 libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 libgudev-1.0-0 libharfbuzz0b libhtml-parser-perl libhtml-tagset-perl libhttp-parser2.7.1 libhyphen0 libice6 libicu-le-hb0 libicu60 libinput-bin libinput10 libio-pty-perl libio-socket-inet6-perl libio-socket-ssl-perl libio-string-perl libipc-run-perl libipc-system-simple-perl libjbig0 libjpeg-turbo8 libjpeg8 libjs-underscore libjsoncpp1 libkate1 libkf5archive-dev libkf5archive5 libkf5attica-dev libkf5attica5 libkf5auth-bin-dev libkf5auth-data libkf5auth-dev libkf5auth5 libkf5bookmarks-data libkf5bookmarks-dev libkf5bookmarks5 libkf5codecs-data libkf5codecs-dev libkf5codecs5 libkf5completion-data libkf5completion-dev libkf5completion5 libkf5config-bin libkf5config-bin-dev libkf5config-data libkf5config-dev libkf5configcore5 libkf5configgui5 libkf5configwidgets-data libkf5configwidgets-dev libkf5configwidgets5 libkf5coreaddons-bin-dev libkf5coreaddons-data libkf5coreaddons-dev libkf5coreaddons5 libkf5crash5 libkf5dbusaddons-data libkf5dbusaddons-dev libkf5dbusaddons5 libkf5declarative-data libkf5declarative5 libkf5doctools5 libkf5globalaccel-data libkf5globalaccel-dev libkf5globalaccel5 libkf5globalaccelprivate5 libkf5guiaddons-dev libkf5guiaddons5 libkf5i18n-data libkf5i18n-dev libkf5i18n5 libkf5iconthemes-data libkf5iconthemes-dev libkf5iconthemes5 libkf5itemmodels-dev libkf5itemmodels5 libkf5itemviews-data libkf5itemviews-dev libkf5itemviews5 libkf5jobwidgets-data libkf5jobwidgets-dev libkf5jobwidgets5 libkf5kcmutils-data libkf5kcmutils-dev libkf5kcmutils5 libkf5kio-dev libkf5kiocore5 libkf5kiofilewidgets5 libkf5kiogui5 libkf5kiontlm5 libkf5kiowidgets5 libkf5newstuff-data libkf5newstuff-dev libkf5newstuff5 libkf5newstuffcore5 libkf5notifications-data libkf5notifications-dev libkf5notifications5 libkf5notifyconfig-data libkf5notifyconfig-dev libkf5notifyconfig5 libkf5package-data libkf5package5 libkf5parts-data libkf5parts-dev libkf5parts5 libkf5quickaddons5 libkf5service-bin libkf5service-data libkf5service-dev libkf5service5 libkf5solid-dev libkf5solid5 libkf5solid5-data libkf5sonnet-dev libkf5sonnet-dev-bin libkf5sonnet5-data libkf5sonnetcore5 libkf5sonnetui5 libkf5syntaxhighlighting-data libkf5syntaxhighlighting5 libkf5texteditor-dev libkf5texteditor5 libkf5texteditor5-libjs-underscore libkf5textwidgets-data libkf5textwidgets-dev libkf5textwidgets5 libkf5threadweaver-dev libkf5threadweaver5 libkf5wallet-bin libkf5wallet-data libkf5wallet5 libkf5widgetsaddons-data libkf5widgetsaddons-dev libkf5widgetsaddons5 libkf5windowsystem-data libkf5windowsystem-dev libkf5windowsystem5 libkf5xmlgui-bin libkf5xmlgui-data libkf5xmlgui-dev libkf5xmlgui5 libkwalletbackend5-5 liblirc-client0 liblist-moreutils-perl liblivemedia58 libllvm5.0 liblocale-gettext-perl liblua5.2-0 liblzo2-2 libmad0 libmagic-mgc libmagic1 libmailtools-perl libmatroska6v5 libmicrodns0 libmirclient9 libmircommon7 libmircore1 libmirprotobuf3 libmp3lame0 libmpcdec6 libmpdec2 libmpeg2-4 libmpg123-0 libmtdev1 libmtp-common libmtp9 libnet-dns-perl libnet-domain-tld-perl libnet-ip-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnfs8 libnuma1 libogg0 libopenjp2-7 libopenmpt-modplug1 libopenmpt0 libopus0 liborc-0.4-0 libpam-systemd libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libparse-debianchangelog-perl libphonon4qt5-4 libpipeline1 libpixman-1-0 libpolkit-agent-1-0 libpolkit-gobject-1-0 libpolkit-qt5-1-1 libpostproc54 libprotobuf-lite10 libpthread-stubs0-dev libpulse-mainloop-glib0 libpulse0 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib libpython3-stdlib libpython3.6-minimal libpython3.6-stdlib libqt5concurrent5 libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5positioning5 libqt5printsupport5 libqt5qml5 libqt5quick5 libqt5quickparticles5 libqt5quicktest5 libqt5quickwidgets5 libqt5script5 libqt5scripttools5 libqt5sensors5 libqt5sql5 libqt5svg5 libqt5test5 libqt5webchannel5 libqt5webkit5 libqt5widgets5 libqt5x11extras5 libqt5xml5 libraw1394-11 libresid-builder0c2a librhash0 librsvg2-2 libsamplerate0 libsdl-image1.2 libsdl1.2debian libsecret-1-0 libsecret-common libsensors4 libshine3 libshout3 libsidplay2 libsigsegv2 libsm6 libsnappy1v5 libsndfile1 libsndio6.1 libsocket6-perl libsoxr0 libspeex1 libspeexdsp1 libssh-gcrypt-4 libssh2-1 libsub-name-perl libswresample2 libswscale4 libtag1v5 libtag1v5-vanilla libtext-levenshtein-perl libthai-data libthai0 libtheora0 libtiff5 libtimedate-perl libtool libtwolame0 libupnp6 liburi-perl libusageenvironment3 libusb-1.0-0 libuv1 libva-drm2 libva-wayland2 libva-x11-2 libva2 libvdpau1 libvlc5 libvlccore9 libvorbis0a libvorbisenc2 libvorbisfile3 libvpx4 libwacom-common libwacom2 libwavpack1 libwayland-bin libwayland-client0 libwayland-cursor0 libwayland-dev libwayland-egl1-mesa libwayland-server0 libwebp6 libwebpmux3 libwrap0 libx11-6 libx11-data libx11-dev libx11-xcb-dev libx11-xcb1 libx264-148 libx265-146 libxau-dev libxau6 libxcb-dri2-0 libxcb-dri2-0-dev libxcb-dri3-0 libxcb-dri3-dev libxcb-glx0 libxcb-glx0-dev libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-present-dev libxcb-present0 libxcb-randr0 libxcb-randr0-dev libxcb-render-util0 libxcb-render0 libxcb-render0-dev libxcb-shape0 libxcb-shape0-dev libxcb-shm0 libxcb-sync-dev libxcb-sync1 libxcb-util1 libxcb-xfixes0 libxcb-xfixes0-dev libxcb-xinerama0 libxcb-xkb1 libxcb-xv0 libxcb1 libxcb1-dev libxdamage-dev libxdamage1 libxdmcp-dev libxdmcp6 libxext-dev libxext6 libxfixes-dev libxfixes3 libxi6 libxkbcommon-x11-0 libxkbcommon0 libxml-libxml-perl libxml-namespacesupport-perl libxml-sax-base-perl libxml-sax-perl libxml-simple-perl libxml2 libxrender1 libxshmfence-dev libxshmfence1 libxslt1.1 libxvidcore4 libxxf86vm-dev libxxf86vm1 libyaml-libyaml-perl libzvbi-common libzvbi0 lintian m4 man-db mesa-common-dev mime-support netbase patchutils perl-openssl-defaults phonon4qt5 phonon4qt5-backend-vlc pkg-kde-tools po-debconf python python-minimal python2.7 python2.7-minimal python3 python3-distutils python3-minimal python3.6 python3.6-2to3 python3.6-minimal qt5-qmake qt5-qmake-bin qt5-qmltooling-plugins qtbase5-dev qtbase5-dev-tools qtchooser qtdeclarative5-dev qtscript5-dev shared-mime-info t1utils ucf vlc-data vlc-plugin-base vlc-plugin-video-output x11-common x11proto-core-dev x11proto-damage-dev x11proto-dri2-dev x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev x11proto-xf86vidmode-dev xkb-data xorg-sgml-doctools xtrans-dev Suggested packages: autoconf-archive gnu-standards autoconf-doc wamerican | wordlist whois vacation ninja-build default-dbus-session-bus | dbus-session-bus dh-make dwz gettext-doc libasprintf-dev libgettextpo-dev groff isoquery lrzip libasound2-plugins alsa-utils libbluray-bdj cups-common libdvdcss2 fam gpgsm gpm libvisual-0.4-plugins gstreamer1.0-tools libdata-dump-perl lirc opus-tools libhtml-template-perl pulseaudio qt5-image-formats-plugins qtwayland5 libraw1394-doc librsvg2-bin lm-sensors sndiod speex libtool-doc gfortran | fortran95-compiler gcj-jdk libwww-perl libxcb-doc libxext-doc binutils-multiarch libtext-template-perl m4-doc less www-browser apparmor phonon4qt5-backend-gstreamer cdbs libmail-box-perl python-doc python-tk python2.7-doc binfmt-support python3-doc python3-tk python3-venv python3.6-venv python3.6-doc default-libmysqlclient-dev firebird-dev libpq-dev libsqlite3-dev unixodbc-dev Recommended packages: curl | wget | lynx libaacs0 libpam-cap libcgi-fast-perl libarchive-cpio-perl libgdk-pixbuf2.0-bin libtxc-dxtn-s2tc | libtxc-dxtn-s2tc0 | libtxc-dxtn0 libglib2.0-data xdg-user-dirs gstreamer1.0-plugins-base libhttp-message-perl javascript-common libjs-jquery libkf5dbusaddons-bin kpackagelauncherqml libkf5globalaccel-bin libkf5iconthemes-bin qml-module-org-kde-newstuff libkf5parts-plugins media-player-info sonnet-plugins ktexteditor-katepart kwayland-integration qtwayland5 libmtp-runtime udev libauthen-sasl-perl qttranslations5-l10n qt5-gtk-platformtheme geoclue-2.0 libqt5sql5-sqlite | libqt5sql5-mysql | libqt5sql5-odbc | libqt5sql5-psql | libqt5sql5-tds | libqt5sql5-ibase librsvg2-common libltdl-dev va-driver-all | va-driver vdpau-driver-all | vdpau-driver libvlc-bin libproxy-tools libwacom-bin libx11-doc libxml-sax-expat-perl libperlio-gzip-perl libwww-perl libmail-sendmail-perl libqt5opengl5-dev xdg-utils The following packages will be REMOVED: pkg-create-dbgsym* The following NEW packages will be installed: autoconf automake autopoint autotools-dev bsdmainutils cmake cmake-data dbus debhelper dh-autoreconf dh-python dh-strip-nondeterminism diffstat extra-cmake-modules file fontconfig fontconfig-config fonts-dejavu-core gettext gettext-base groff-base intltool-debian iso-codes kdevelop-dev kdevelop-pg-qt kdevelop52-libs kinit kio kio-dev kpackagetool5 ktexteditor-data liba52-0.7.4 libaa1 libapt-pkg-perl libarchive-zip-perl libarchive13 libaribb24-0 libasound2 libasound2-data libass9 libasyncns0 libavahi-client3 libavahi-common-data libavahi-common3 libavc1394-0 libavcodec57 libavformat57 libavutil55 libbasicusageenvironment1 libbluray2 libboost-filesystem1.65.1 libboost-system1.65.1 libbsd0 libcaca0 libcairo2 libcap2-bin libcapnp-0.6.1 libcddb2 libcgi-pm-perl libchromaprint1 libclass-accessor-perl libclone-perl libcroco3 libcups2 libcurl3 libdatrie1 libdbus-1-3 libdbusmenu-qt5 libdc1394-22 libdca0 libdigest-hmac-perl libdouble-conversion1 libdrm-amdgpu1 libdrm-common libdrm-dev libdrm-nouveau2 libdrm-radeon1 libdrm2 libdvbpsi10 libdvdnav4 libdvdread4 libebml4v5 libedit2 libeditorconfig0 libegl1-mesa libegl1-mesa-dev libelf1 libemail-valid-perl libevdev2 libexpat1 libexporter-tiny-perl libfaad2 libfam0 libfile-basedir-perl libfile-stripnondeterminism-perl libflac8 libfontconfig1 libfreetype6 libfribidi0 libgbm1 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgit2-26 libgl1-mesa-dev libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgles2-mesa libgles2-mesa-dev libglib2.0-0 libglu1-mesa libglu1-mesa-dev libgme0 libgpgme11 libgpgmepp6 libgpm2 libgrantlee-templates5 libgrantlee-textdocument5 libgrantlee5-dev libgraphite2-3 libgroupsock8 libgsm1 libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 libgudev-1.0-0 libharfbuzz0b libhtml-parser-perl libhtml-tagset-perl libhttp-parser2.7.1 libhyphen0 libice6 libicu-le-hb0 libicu60 libinput-bin libinput10 libio-pty-perl libio-socket-inet6-perl libio-socket-ssl-perl libio-string-perl libipc-run-perl libipc-system-simple-perl libjbig0 libjpeg-turbo8 libjpeg8 libjs-underscore libjsoncpp1 libkate1 libkf5archive-dev libkf5archive5 libkf5attica-dev libkf5attica5 libkf5auth-bin-dev libkf5auth-data libkf5auth-dev libkf5auth5 libkf5bookmarks-data libkf5bookmarks-dev libkf5bookmarks5 libkf5codecs-data libkf5codecs-dev libkf5codecs5 libkf5completion-data libkf5completion-dev libkf5completion5 libkf5config-bin libkf5config-bin-dev libkf5config-data libkf5config-dev libkf5configcore5 libkf5configgui5 libkf5configwidgets-data libkf5configwidgets-dev libkf5configwidgets5 libkf5coreaddons-bin-dev libkf5coreaddons-data libkf5coreaddons-dev libkf5coreaddons5 libkf5crash5 libkf5dbusaddons-data libkf5dbusaddons-dev libkf5dbusaddons5 libkf5declarative-data libkf5declarative5 libkf5doctools5 libkf5globalaccel-data libkf5globalaccel-dev libkf5globalaccel5 libkf5globalaccelprivate5 libkf5guiaddons-dev libkf5guiaddons5 libkf5i18n-data libkf5i18n-dev libkf5i18n5 libkf5iconthemes-data libkf5iconthemes-dev libkf5iconthemes5 libkf5itemmodels-dev libkf5itemmodels5 libkf5itemviews-data libkf5itemviews-dev libkf5itemviews5 libkf5jobwidgets-data libkf5jobwidgets-dev libkf5jobwidgets5 libkf5kcmutils-data libkf5kcmutils-dev libkf5kcmutils5 libkf5kio-dev libkf5kiocore5 libkf5kiofilewidgets5 libkf5kiogui5 libkf5kiontlm5 libkf5kiowidgets5 libkf5newstuff-data libkf5newstuff-dev libkf5newstuff5 libkf5newstuffcore5 libkf5notifications-data libkf5notifications-dev libkf5notifications5 libkf5notifyconfig-data libkf5notifyconfig-dev libkf5notifyconfig5 libkf5package-data libkf5package5 libkf5parts-data libkf5parts-dev libkf5parts5 libkf5quickaddons5 libkf5service-bin libkf5service-data libkf5service-dev libkf5service5 libkf5solid-dev libkf5solid5 libkf5solid5-data libkf5sonnet-dev libkf5sonnet-dev-bin libkf5sonnet5-data libkf5sonnetcore5 libkf5sonnetui5 libkf5syntaxhighlighting-data libkf5syntaxhighlighting5 libkf5texteditor-dev libkf5texteditor5 libkf5texteditor5-libjs-underscore libkf5textwidgets-data libkf5textwidgets-dev libkf5textwidgets5 libkf5threadweaver-dev libkf5threadweaver5 libkf5wallet-bin libkf5wallet-data libkf5wallet5 libkf5widgetsaddons-data libkf5widgetsaddons-dev libkf5widgetsaddons5 libkf5windowsystem-data libkf5windowsystem-dev libkf5windowsystem5 libkf5xmlgui-bin libkf5xmlgui-data libkf5xmlgui-dev libkf5xmlgui5 libkwalletbackend5-5 liblirc-client0 liblist-moreutils-perl liblivemedia58 libllvm5.0 liblocale-gettext-perl liblua5.2-0 liblzo2-2 libmad0 libmagic-mgc libmagic1 libmailtools-perl libmatroska6v5 libmicrodns0 libmirclient9 libmircommon7 libmircore1 libmirprotobuf3 libmp3lame0 libmpcdec6 libmpdec2 libmpeg2-4 libmpg123-0 libmtdev1 libmtp-common libmtp9 libnet-dns-perl libnet-domain-tld-perl libnet-ip-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnfs8 libnuma1 libogg0 libopenjp2-7 libopenmpt-modplug1 libopenmpt0 libopus0 liborc-0.4-0 libpam-systemd libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libparse-debianchangelog-perl libphonon4qt5-4 libpipeline1 libpixman-1-0 libpolkit-agent-1-0 libpolkit-gobject-1-0 libpolkit-qt5-1-1 libpostproc54 libprotobuf-lite10 libpthread-stubs0-dev libpulse-mainloop-glib0 libpulse0 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib libpython3-stdlib libpython3.6-minimal libpython3.6-stdlib libqt5concurrent5 libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5positioning5 libqt5printsupport5 libqt5qml5 libqt5quick5 libqt5quickparticles5 libqt5quicktest5 libqt5quickwidgets5 libqt5script5 libqt5scripttools5 libqt5sensors5 libqt5sql5 libqt5svg5 libqt5test5 libqt5webchannel5 libqt5webkit5 libqt5widgets5 libqt5x11extras5 libqt5xml5 libraw1394-11 libresid-builder0c2a librhash0 librsvg2-2 libsamplerate0 libsdl-image1.2 libsdl1.2debian libsecret-1-0 libsecret-common libsensors4 libshine3 libshout3 libsidplay2 libsigsegv2 libsm6 libsnappy1v5 libsndfile1 libsndio6.1 libsocket6-perl libsoxr0 libspeex1 libspeexdsp1 libssh-gcrypt-4 libssh2-1 libsub-name-perl libswresample2 libswscale4 libtag1v5 libtag1v5-vanilla libtext-levenshtein-perl libthai-data libthai0 libtheora0 libtiff5 libtimedate-perl libtool libtwolame0 libupnp6 liburi-perl libusageenvironment3 libusb-1.0-0 libuv1 libva-drm2 libva-wayland2 libva-x11-2 libva2 libvdpau1 libvlc5 libvlccore9 libvorbis0a libvorbisenc2 libvorbisfile3 libvpx4 libwacom-common libwacom2 libwavpack1 libwayland-bin libwayland-client0 libwayland-cursor0 libwayland-dev libwayland-egl1-mesa libwayland-server0 libwebp6 libwebpmux3 libwrap0 libx11-6 libx11-data libx11-dev libx11-xcb-dev libx11-xcb1 libx264-148 libx265-146 libxau-dev libxau6 libxcb-dri2-0 libxcb-dri2-0-dev libxcb-dri3-0 libxcb-dri3-dev libxcb-glx0 libxcb-glx0-dev libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-present-dev libxcb-present0 libxcb-randr0 libxcb-randr0-dev libxcb-render-util0 libxcb-render0 libxcb-render0-dev libxcb-shape0 libxcb-shape0-dev libxcb-shm0 libxcb-sync-dev libxcb-sync1 libxcb-util1 libxcb-xfixes0 libxcb-xfixes0-dev libxcb-xinerama0 libxcb-xkb1 libxcb-xv0 libxcb1 libxcb1-dev libxdamage-dev libxdamage1 libxdmcp-dev libxdmcp6 libxext-dev libxext6 libxfixes-dev libxfixes3 libxi6 libxkbcommon-x11-0 libxkbcommon0 libxml-libxml-perl libxml-namespacesupport-perl libxml-sax-base-perl libxml-sax-perl libxml-simple-perl libxml2 libxrender1 libxshmfence-dev libxshmfence1 libxslt1.1 libxvidcore4 libxxf86vm-dev libxxf86vm1 libyaml-libyaml-perl libzvbi-common libzvbi0 lintian m4 man-db mesa-common-dev mime-support netbase patchutils perl-openssl-defaults phonon4qt5 phonon4qt5-backend-vlc pkg-kde-tools po-debconf python python-minimal python2.7 python2.7-minimal python3 python3-distutils python3-minimal python3.6 python3.6-2to3 python3.6-minimal qt5-qmake qt5-qmake-bin qt5-qmltooling-plugins qtbase5-dev qtbase5-dev-tools qtchooser qtdeclarative5-dev qtscript5-dev sbuild-build-depends-kdevelop-php-dummy shared-mime-info t1utils ucf vlc-data vlc-plugin-base vlc-plugin-video-output x11-common x11proto-core-dev x11proto-damage-dev x11proto-dri2-dev x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev x11proto-xf86vidmode-dev xkb-data xorg-sgml-doctools xtrans-dev 0 upgraded, 528 newly installed, 1 to remove and 0 not upgraded. Need to get 140 MB of archives. After this operation, 814 MB of additional disk space will be used. Get:1 copy:/<>/resolver-jlyy87/apt_archive ./ sbuild-build-depends-kdevelop-php-dummy 0.invalid.0 [988 B] Get:2 http://ftpmaster.internal/ubuntu bionic/main ppc64el liblocale-gettext-perl ppc64el 1.07-3build2 [16.5 kB] Get:3 http://ftpmaster.internal/ubuntu bionic/main ppc64el libpython3.6-minimal ppc64el 3.6.4-2 [532 kB] Get:4 http://ftpmaster.internal/ubuntu bionic/main ppc64el libexpat1 ppc64el 2.2.5-3 [89.5 kB] Get:5 http://ftpmaster.internal/ubuntu bionic/main ppc64el python3.6-minimal ppc64el 3.6.4-2 [1533 kB] Get:6 http://ftpmaster.internal/ubuntu bionic/main ppc64el python3-minimal ppc64el 3.6.3-0ubuntu2 [23.3 kB] Get:7 http://ftpmaster.internal/ubuntu bionic/main ppc64el mime-support all 3.60ubuntu1 [30.1 kB] Get:8 http://ftpmaster.internal/ubuntu bionic/main ppc64el libmpdec2 ppc64el 2.4.2-1 [82.6 kB] Get:9 http://ftpmaster.internal/ubuntu bionic/main ppc64el libpython3.6-stdlib ppc64el 3.6.4-2 [1663 kB] Get:10 http://ftpmaster.internal/ubuntu bionic/main ppc64el python3.6-2to3 all 3.6.4-2 [13.9 kB] Get:11 http://ftpmaster.internal/ubuntu bionic/main ppc64el python3-distutils all 3.6.4~rc1-6 [145 kB] Get:12 http://ftpmaster.internal/ubuntu bionic/main ppc64el python3.6 ppc64el 3.6.4-2 [181 kB] Get:13 http://ftpmaster.internal/ubuntu bionic/main ppc64el libpython3-stdlib ppc64el 3.6.3-0ubuntu2 [6822 B] Get:14 http://ftpmaster.internal/ubuntu bionic/main ppc64el dh-python all 2.20170125 [83.7 kB] Get:15 http://ftpmaster.internal/ubuntu bionic/main ppc64el python3 ppc64el 3.6.3-0ubuntu2 [8712 B] Get:16 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxau6 ppc64el 1:1.0.8-1 [7460 B] Get:17 http://ftpmaster.internal/ubuntu bionic/main ppc64el libbsd0 ppc64el 0.8.6-3 [50.0 kB] Get:18 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxdmcp6 ppc64el 1:1.1.2-3 [11.0 kB] Get:19 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb1 ppc64el 1.12-1ubuntu1 [43.9 kB] Get:20 http://ftpmaster.internal/ubuntu bionic/main ppc64el libx11-data all 2:1.6.4-3 [114 kB] Get:21 http://ftpmaster.internal/ubuntu bionic/main ppc64el libx11-6 ppc64el 2:1.6.4-3 [566 kB] Get:22 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxext6 ppc64el 2:1.3.3-1 [30.7 kB] Get:23 http://ftpmaster.internal/ubuntu bionic/main ppc64el groff-base ppc64el 1.22.3-9 [1361 kB] Get:24 http://ftpmaster.internal/ubuntu bionic/main ppc64el bsdmainutils ppc64el 9.0.14ubuntu1 [183 kB] Get:25 http://ftpmaster.internal/ubuntu bionic/main ppc64el libpipeline1 ppc64el 1.5.0-1 [24.7 kB] Get:26 http://ftpmaster.internal/ubuntu bionic/main ppc64el man-db ppc64el 2.7.6.1-4 [913 kB] Get:27 http://ftpmaster.internal/ubuntu bionic/main ppc64el cmake-data all 3.9.5-1 [1268 kB] Get:28 http://ftpmaster.internal/ubuntu bionic/main ppc64el liblzo2-2 ppc64el 2.08-1.2 [67.2 kB] Get:29 http://ftpmaster.internal/ubuntu bionic/main ppc64el libfreetype6 ppc64el 2.8-0.2ubuntu2 [385 kB] Get:30 http://ftpmaster.internal/ubuntu bionic/main ppc64el libglib2.0-0 ppc64el 2.54.1-1ubuntu1 [1160 kB] Get:31 http://ftpmaster.internal/ubuntu bionic/main ppc64el libgraphite2-3 ppc64el 1.3.10-8 [67.0 kB] Get:32 http://ftpmaster.internal/ubuntu bionic/main ppc64el libharfbuzz0b ppc64el 1.7.2-1 [237 kB] Get:33 http://ftpmaster.internal/ubuntu bionic/main ppc64el libicu-le-hb0 ppc64el 1.0.3+git161113-4 [17.7 kB] Get:34 http://ftpmaster.internal/ubuntu bionic/main ppc64el libicu60 ppc64el 60.2-1ubuntu1 [8363 kB] Get:35 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxml2 ppc64el 2.9.4+dfsg1-5.2ubuntu1 [621 kB] Get:36 http://ftpmaster.internal/ubuntu bionic/main ppc64el libarchive13 ppc64el 3.2.2-3.1 [352 kB] Get:37 http://ftpmaster.internal/ubuntu bionic/main ppc64el libcurl3 ppc64el 7.57.0-1ubuntu1 [214 kB] Get:38 http://ftpmaster.internal/ubuntu bionic/main ppc64el libjsoncpp1 ppc64el 1.7.4-3 [79.0 kB] Get:39 http://ftpmaster.internal/ubuntu bionic/main ppc64el librhash0 ppc64el 1.3.4-3 [81.1 kB] Get:40 http://ftpmaster.internal/ubuntu bionic/main ppc64el libuv1 ppc64el 1.18.0-3 [63.6 kB] Get:41 http://ftpmaster.internal/ubuntu bionic/main ppc64el cmake ppc64el 3.9.5-1 [3520 kB] Get:42 http://ftpmaster.internal/ubuntu bionic/main ppc64el ucf all 3.0036 [52.9 kB] Get:43 http://ftpmaster.internal/ubuntu bionic/main ppc64el fonts-dejavu-core all 2.37-1 [1041 kB] Get:44 http://ftpmaster.internal/ubuntu bionic/main ppc64el fontconfig-config all 2.12.6-0ubuntu1 [55.5 kB] Get:45 http://ftpmaster.internal/ubuntu bionic/main ppc64el libfontconfig1 ppc64el 2.12.6-0ubuntu1 [166 kB] Get:46 http://ftpmaster.internal/ubuntu bionic/main ppc64el fontconfig ppc64el 2.12.6-0ubuntu1 [169 kB] Get:47 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libeditorconfig0 ppc64el 0.12.1-1 [12.7 kB] Get:48 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libgsm1 ppc64el 1.0.13-4 [25.1 kB] Get:49 http://ftpmaster.internal/ubuntu bionic/main ppc64el libjpeg-turbo8 ppc64el 1.5.2-0ubuntu5 [146 kB] Get:50 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libmad0 ppc64el 0.15.1b-8ubuntu1 [62.3 kB] Get:51 http://ftpmaster.internal/ubuntu bionic/main ppc64el libmtdev1 ppc64el 1.1.5-1ubuntu2 [15.3 kB] Get:52 http://ftpmaster.internal/ubuntu bionic/main ppc64el libmtp-common all 1.1.13-1 [43.6 kB] Get:53 http://ftpmaster.internal/ubuntu bionic/main ppc64el libusb-1.0-0 ppc64el 2:1.0.21-2 [41.9 kB] Get:54 http://ftpmaster.internal/ubuntu bionic/main ppc64el libmtp9 ppc64el 1.1.13-1 [157 kB] Get:55 http://ftpmaster.internal/ubuntu bionic/main ppc64el libogg0 ppc64el 1.3.2-1 [17.1 kB] Get:56 http://ftpmaster.internal/ubuntu bionic/main ppc64el libdouble-conversion1 ppc64el 2.0.1-4ubuntu1 [34.2 kB] Get:57 http://ftpmaster.internal/ubuntu bionic/main ppc64el libqt5core5a ppc64el 5.9.3+dfsg-0ubuntu1 [2088 kB] Get:58 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libqt5script5 ppc64el 5.9.3+dfsg-0ubuntu1 [614 kB] Get:59 http://ftpmaster.internal/ubuntu bionic/main ppc64el libdrm-common all 2.4.89-1 [4940 B] Get:60 http://ftpmaster.internal/ubuntu bionic/main ppc64el libdrm2 ppc64el 2.4.89-1 [33.5 kB] Get:61 http://ftpmaster.internal/ubuntu bionic/main ppc64el libwayland-client0 ppc64el 1.14.0-1 [22.6 kB] Get:62 http://ftpmaster.internal/ubuntu bionic/main ppc64el libwayland-server0 ppc64el 1.14.0-1 [28.6 kB] Get:63 http://ftpmaster.internal/ubuntu bionic/main ppc64el libgbm1 ppc64el 17.2.4-0ubuntu2 [28.3 kB] Get:64 http://ftpmaster.internal/ubuntu bionic/main ppc64el libboost-system1.65.1 ppc64el 1.65.1+dfsg-0ubuntu4 [11.1 kB] Get:65 http://ftpmaster.internal/ubuntu bionic/main ppc64el libcapnp-0.6.1 ppc64el 0.6.1-1 [682 kB] Get:66 http://ftpmaster.internal/ubuntu bionic/main ppc64el libboost-filesystem1.65.1 ppc64el 1.65.1+dfsg-0ubuntu4 [42.6 kB] Get:67 http://ftpmaster.internal/ubuntu bionic/main ppc64el libmircore1 ppc64el 0.29.0-0ubuntu1 [34.5 kB] Get:68 http://ftpmaster.internal/ubuntu bionic/main ppc64el libmircommon7 ppc64el 0.29.0-0ubuntu1 [79.4 kB] Get:69 http://ftpmaster.internal/ubuntu bionic/main ppc64el libprotobuf-lite10 ppc64el 3.0.0-9ubuntu5 [106 kB] Get:70 http://ftpmaster.internal/ubuntu bionic/main ppc64el libmirprotobuf3 ppc64el 0.29.0-0ubuntu1 [141 kB] Get:71 http://ftpmaster.internal/ubuntu bionic/main ppc64el xkb-data all 2.19-1.1ubuntu1 [312 kB] Get:72 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxkbcommon0 ppc64el 0.8.0-1 [118 kB] Get:73 http://ftpmaster.internal/ubuntu bionic/main ppc64el libmirclient9 ppc64el 0.29.0-0ubuntu1 [211 kB] Get:74 http://ftpmaster.internal/ubuntu bionic/main ppc64el libx11-xcb1 ppc64el 2:1.6.4-3 [9832 B] Get:75 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-dri2-0 ppc64el 1.12-1ubuntu1 [6600 B] Get:76 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-dri3-0 ppc64el 1.12-1ubuntu1 [5134 B] Get:77 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-present0 ppc64el 1.12-1ubuntu1 [5420 B] Get:78 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-sync1 ppc64el 1.12-1ubuntu1 [8320 B] Get:79 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-xfixes0 ppc64el 1.12-1ubuntu1 [8622 B] Get:80 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxshmfence1 ppc64el 1.2-1 [5170 B] Get:81 http://ftpmaster.internal/ubuntu bionic/main ppc64el libdrm-amdgpu1 ppc64el 2.4.89-1 [20.4 kB] Get:82 http://ftpmaster.internal/ubuntu bionic/main ppc64el libdrm-nouveau2 ppc64el 2.4.89-1 [18.2 kB] Get:83 http://ftpmaster.internal/ubuntu bionic/main ppc64el libdrm-radeon1 ppc64el 2.4.89-1 [26.1 kB] Get:84 http://ftpmaster.internal/ubuntu bionic/main ppc64el libelf1 ppc64el 0.170-0.2 [46.8 kB] Get:85 http://ftpmaster.internal/ubuntu bionic/main ppc64el libglapi-mesa ppc64el 17.2.4-0ubuntu2 [23.5 kB] Get:86 http://ftpmaster.internal/ubuntu bionic/main ppc64el libedit2 ppc64el 3.1-20170329-1 [79.6 kB] Get:87 http://ftpmaster.internal/ubuntu bionic/main ppc64el libllvm5.0 ppc64el 1:5.0.1-2 [12.8 MB] Get:88 http://ftpmaster.internal/ubuntu bionic/main ppc64el libsensors4 ppc64el 1:3.4.0-4 [28.6 kB] Get:89 http://ftpmaster.internal/ubuntu bionic/main ppc64el libgl1-mesa-dri ppc64el 17.2.4-0ubuntu2 [5885 kB] Get:90 http://ftpmaster.internal/ubuntu bionic/main ppc64el libegl1-mesa ppc64el 17.2.4-0ubuntu2 [96.1 kB] Get:91 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-glx0 ppc64el 1.12-1ubuntu1 [19.7 kB] Get:92 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxdamage1 ppc64el 1:1.1.4-3 [7056 B] Get:93 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxfixes3 ppc64el 1:5.0.3-1 [10.6 kB] Get:94 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxxf86vm1 ppc64el 1:1.1.4-1 [10.7 kB] Get:95 http://ftpmaster.internal/ubuntu bionic/main ppc64el libgl1-mesa-glx ppc64el 17.2.4-0ubuntu2 [139 kB] Get:96 http://ftpmaster.internal/ubuntu bionic/main ppc64el x11-common all 1:7.7+19ubuntu3 [22.0 kB] Get:97 http://ftpmaster.internal/ubuntu bionic/main ppc64el libice6 ppc64el 2:1.0.9-2 [38.0 kB] Get:98 http://ftpmaster.internal/ubuntu bionic/main ppc64el libevdev2 ppc64el 1.5.7+dfsg-1 [27.6 kB] Get:99 http://ftpmaster.internal/ubuntu bionic/main ppc64el libgudev-1.0-0 ppc64el 1:232-1 [11.8 kB] Get:100 http://ftpmaster.internal/ubuntu bionic/main ppc64el libwacom-common all 0.26-1 [34.7 kB] Get:101 http://ftpmaster.internal/ubuntu bionic/main ppc64el libwacom2 ppc64el 0.26-1 [19.9 kB] Get:102 http://ftpmaster.internal/ubuntu bionic/main ppc64el libinput-bin ppc64el 1.9.4-2 [11.2 kB] Get:103 http://ftpmaster.internal/ubuntu bionic/main ppc64el libinput10 ppc64el 1.9.4-2 [90.9 kB] Get:104 http://ftpmaster.internal/ubuntu bionic/main ppc64el libjpeg8 ppc64el 8c-2ubuntu8 [2146 B] Get:105 http://ftpmaster.internal/ubuntu bionic/main ppc64el libdbus-1-3 ppc64el 1.12.2-1ubuntu1 [183 kB] Get:106 http://ftpmaster.internal/ubuntu bionic/main ppc64el libqt5dbus5 ppc64el 5.9.3+dfsg-0ubuntu1 [181 kB] Get:107 http://ftpmaster.internal/ubuntu bionic/main ppc64el libqt5network5 ppc64el 5.9.3+dfsg-0ubuntu1 [581 kB] Get:108 http://ftpmaster.internal/ubuntu bionic/main ppc64el libsm6 ppc64el 2:1.2.2-1 [15.1 kB] Get:109 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-icccm4 ppc64el 0.4.1-1ubuntu1 [10.0 kB] Get:110 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-shm0 ppc64el 1.12-1ubuntu1 [5494 B] Get:111 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-util1 ppc64el 0.4.0-0ubuntu3 [11.0 kB] Get:112 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-image0 ppc64el 0.4.0-1build1 [12.4 kB] Get:113 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-keysyms1 ppc64el 0.4.0-1 [8308 B] Get:114 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-randr0 ppc64el 1.12-1ubuntu1 [14.5 kB] Get:115 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-render0 ppc64el 1.12-1ubuntu1 [13.4 kB] Get:116 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-render-util0 ppc64el 0.3.9-1 [9720 B] Get:117 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-shape0 ppc64el 1.12-1ubuntu1 [5756 B] Get:118 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-xinerama0 ppc64el 1.12-1ubuntu1 [5218 B] Get:119 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-xkb1 ppc64el 1.12-1ubuntu1 [27.7 kB] Get:120 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxi6 ppc64el 2:1.7.9-1 [29.0 kB] Get:121 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxkbcommon-x11-0 ppc64el 0.8.0-1 [13.9 kB] Get:122 http://ftpmaster.internal/ubuntu bionic/main ppc64el libqt5gui5 ppc64el 5.9.3+dfsg-0ubuntu1 [2383 kB] Get:123 http://ftpmaster.internal/ubuntu bionic/main ppc64el libqt5widgets5 ppc64el 5.9.3+dfsg-0ubuntu1 [2072 kB] Get:124 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libqt5scripttools5 ppc64el 5.9.3+dfsg-0ubuntu1 [230 kB] Get:125 http://ftpmaster.internal/ubuntu bionic/main ppc64el libqt5svg5 ppc64el 5.9.3-0ubuntu1 [124 kB] Get:126 http://ftpmaster.internal/ubuntu bionic/main ppc64el libcap2-bin ppc64el 1:2.25-1.2 [21.5 kB] Get:127 http://ftpmaster.internal/ubuntu bionic/main ppc64el libgstreamer1.0-0 ppc64el 1.12.4-1 [759 kB] Get:128 http://ftpmaster.internal/ubuntu bionic/main ppc64el liborc-0.4-0 ppc64el 1:0.4.28-1 [161 kB] Get:129 http://ftpmaster.internal/ubuntu bionic/main ppc64el iso-codes all 3.77-1 [2345 kB] Get:130 http://ftpmaster.internal/ubuntu bionic/main ppc64el libgstreamer-plugins-base1.0-0 ppc64el 1.12.4-1 [690 kB] Get:131 http://ftpmaster.internal/ubuntu bionic/main ppc64el libhyphen0 ppc64el 2.8.8-5 [27.1 kB] Get:132 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libqt5positioning5 ppc64el 5.9.3+dfsg-0ubuntu1 [121 kB] Get:133 http://ftpmaster.internal/ubuntu bionic/main ppc64el libavahi-common-data ppc64el 0.7-3ubuntu1 [22.7 kB] Get:134 http://ftpmaster.internal/ubuntu bionic/main ppc64el libavahi-common3 ppc64el 0.7-3ubuntu1 [20.6 kB] Get:135 http://ftpmaster.internal/ubuntu bionic/main ppc64el libavahi-client3 ppc64el 0.7-3ubuntu1 [25.5 kB] Get:136 http://ftpmaster.internal/ubuntu bionic/main ppc64el libcups2 ppc64el 2.2.6-4 [241 kB] Get:137 http://ftpmaster.internal/ubuntu bionic/main ppc64el libqt5printsupport5 ppc64el 5.9.3+dfsg-0ubuntu1 [169 kB] Get:138 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libqt5qml5 ppc64el 5.9.3-0ubuntu1 [1072 kB] Get:139 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libqt5quick5 ppc64el 5.9.3-0ubuntu1 [1086 kB] Get:140 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libqt5sensors5 ppc64el 5.9.3-0ubuntu1 [104 kB] Get:141 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libqt5webchannel5 ppc64el 5.9.3-0ubuntu1 [45.8 kB] Get:142 http://ftpmaster.internal/ubuntu bionic/main ppc64el libwebp6 ppc64el 0.6.0-4 [223 kB] Get:143 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxslt1.1 ppc64el 1.1.29-5 [157 kB] Get:144 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libqt5webkit5 ppc64el 5.212.0~alpha2-5build4 [10.6 MB] Get:145 http://ftpmaster.internal/ubuntu bionic/main ppc64el libpython2.7-minimal ppc64el 2.7.14-4 [338 kB] Get:146 http://ftpmaster.internal/ubuntu bionic/main ppc64el python2.7-minimal ppc64el 2.7.14-4 [1443 kB] Get:147 http://ftpmaster.internal/ubuntu bionic/main ppc64el python-minimal ppc64el 2.7.14-2ubuntu1 [28.1 kB] Get:148 http://ftpmaster.internal/ubuntu bionic/main ppc64el libpython2.7-stdlib ppc64el 2.7.14-4 [2008 kB] Get:149 http://ftpmaster.internal/ubuntu bionic/main ppc64el python2.7 ppc64el 2.7.14-4 [233 kB] Get:150 http://ftpmaster.internal/ubuntu bionic/main ppc64el libpython-stdlib ppc64el 2.7.14-2ubuntu1 [7576 B] Get:151 http://ftpmaster.internal/ubuntu bionic/main ppc64el python ppc64el 2.7.14-2ubuntu1 [140 kB] Get:152 http://ftpmaster.internal/ubuntu bionic/main ppc64el xorg-sgml-doctools all 1:1.11-1 [12.9 kB] Get:153 http://ftpmaster.internal/ubuntu bionic/main ppc64el x11proto-core-dev all 7.0.31-1 [700 kB] Get:154 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxau-dev ppc64el 1:1.0.8-1 [9358 B] Get:155 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxdmcp-dev ppc64el 1:1.1.2-3 [26.1 kB] Get:156 http://ftpmaster.internal/ubuntu bionic/main ppc64el x11proto-input-dev all 2.3.2-1 [118 kB] Get:157 http://ftpmaster.internal/ubuntu bionic/main ppc64el x11proto-kb-dev all 1.0.7-1 [226 kB] Get:158 http://ftpmaster.internal/ubuntu bionic/main ppc64el xtrans-dev all 1.3.5-1 [70.5 kB] Get:159 http://ftpmaster.internal/ubuntu bionic/main ppc64el libpthread-stubs0-dev ppc64el 0.3-4 [3894 B] Get:160 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb1-dev ppc64el 1.12-1ubuntu1 [83.4 kB] Get:161 http://ftpmaster.internal/ubuntu bionic/main ppc64el libx11-dev ppc64el 2:1.6.4-3 [651 kB] Get:162 http://ftpmaster.internal/ubuntu bionic/main ppc64el libdrm-dev ppc64el 2.4.89-1 [190 kB] Get:163 http://ftpmaster.internal/ubuntu bionic/main ppc64el mesa-common-dev ppc64el 17.2.4-0ubuntu2 [513 kB] Get:164 http://ftpmaster.internal/ubuntu bionic/main ppc64el libx11-xcb-dev ppc64el 2:1.6.4-3 [9598 B] Get:165 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-dri3-dev ppc64el 1.12-1ubuntu1 [5688 B] Get:166 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-render0-dev ppc64el 1.12-1ubuntu1 [18.4 kB] Get:167 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-randr0-dev ppc64el 1.12-1ubuntu1 [19.0 kB] Get:168 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-shape0-dev ppc64el 1.12-1ubuntu1 [6986 B] Get:169 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-xfixes0-dev ppc64el 1.12-1ubuntu1 [11.3 kB] Get:170 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-sync-dev ppc64el 1.12-1ubuntu1 [10.8 kB] Get:171 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-present-dev ppc64el 1.12-1ubuntu1 [6784 B] Get:172 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxshmfence-dev ppc64el 1.2-1 [3706 B] Get:173 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-dri2-0-dev ppc64el 1.12-1ubuntu1 [8280 B] Get:174 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-glx0-dev ppc64el 1.12-1ubuntu1 [26.7 kB] Get:175 http://ftpmaster.internal/ubuntu bionic/main ppc64el x11proto-xext-dev all 7.3.0-1 [212 kB] Get:176 http://ftpmaster.internal/ubuntu bionic/main ppc64el x11proto-fixes-dev all 1:5.0-2ubuntu2 [14.2 kB] Get:177 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxfixes-dev ppc64el 1:5.0.3-1 [11.1 kB] Get:178 http://ftpmaster.internal/ubuntu bionic/main ppc64el x11proto-damage-dev all 1:1.2.1-2 [8286 B] Get:179 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxdamage-dev ppc64el 1:1.1.4-3 [5984 B] Get:180 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxext-dev ppc64el 2:1.3.3-1 [86.5 kB] Get:181 http://ftpmaster.internal/ubuntu bionic/main ppc64el x11proto-xf86vidmode-dev all 2.3.1-2 [6116 B] Get:182 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxxf86vm-dev ppc64el 1:1.1.4-1 [14.0 kB] Get:183 http://ftpmaster.internal/ubuntu bionic/main ppc64el x11proto-dri2-dev all 2.8-2 [12.6 kB] Get:184 http://ftpmaster.internal/ubuntu bionic/main ppc64el x11proto-gl-dev all 1.4.17-1 [17.9 kB] Get:185 http://ftpmaster.internal/ubuntu bionic/main ppc64el libgl1-mesa-dev ppc64el 17.2.4-0ubuntu2 [4512 B] Get:186 http://ftpmaster.internal/ubuntu bionic/main ppc64el libgles2-mesa ppc64el 17.2.4-0ubuntu2 [13.8 kB] Get:187 http://ftpmaster.internal/ubuntu bionic/main ppc64el libwayland-egl1-mesa ppc64el 17.2.4-0ubuntu2 [6064 B] Get:188 http://ftpmaster.internal/ubuntu bionic/main ppc64el libwayland-cursor0 ppc64el 1.14.0-1 [11.2 kB] Get:189 http://ftpmaster.internal/ubuntu bionic/main ppc64el libwayland-bin ppc64el 1.14.0-1 [23.7 kB] Get:190 http://ftpmaster.internal/ubuntu bionic/main ppc64el libwayland-dev ppc64el 1.14.0-1 [103 kB] Get:191 http://ftpmaster.internal/ubuntu bionic/main ppc64el libegl1-mesa-dev ppc64el 17.2.4-0ubuntu2 [19.9 kB] Get:192 http://ftpmaster.internal/ubuntu bionic/main ppc64el libgles2-mesa-dev ppc64el 17.2.4-0ubuntu2 [40.4 kB] Get:193 http://ftpmaster.internal/ubuntu bionic/main ppc64el libglu1-mesa ppc64el 9.0.0-2.1build1 [225 kB] Get:194 http://ftpmaster.internal/ubuntu bionic/main ppc64el libglu1-mesa-dev ppc64el 9.0.0-2.1build1 [270 kB] Get:195 http://ftpmaster.internal/ubuntu bionic/main ppc64el libqt5concurrent5 ppc64el 5.9.3+dfsg-0ubuntu1 [30.6 kB] Get:196 http://ftpmaster.internal/ubuntu bionic/main ppc64el libqt5sql5 ppc64el 5.9.3+dfsg-0ubuntu1 [107 kB] Get:197 http://ftpmaster.internal/ubuntu bionic/main ppc64el libqt5test5 ppc64el 5.9.3+dfsg-0ubuntu1 [105 kB] Get:198 http://ftpmaster.internal/ubuntu bionic/main ppc64el libqt5xml5 ppc64el 5.9.3+dfsg-0ubuntu1 [93.4 kB] Get:199 http://ftpmaster.internal/ubuntu bionic/main ppc64el qt5-qmake-bin ppc64el 5.9.3+dfsg-0ubuntu1 [931 kB] Get:200 http://ftpmaster.internal/ubuntu bionic/main ppc64el qtchooser ppc64el 64-ga1b6736-5 [29.0 kB] Get:201 http://ftpmaster.internal/ubuntu bionic/main ppc64el qt5-qmake ppc64el 5.9.3+dfsg-0ubuntu1 [179 kB] Get:202 http://ftpmaster.internal/ubuntu bionic/main ppc64el qtbase5-dev-tools ppc64el 5.9.3+dfsg-0ubuntu1 [718 kB] Get:203 http://ftpmaster.internal/ubuntu bionic/main ppc64el qtbase5-dev ppc64el 5.9.3+dfsg-0ubuntu1 [939 kB] Get:204 http://ftpmaster.internal/ubuntu bionic/universe ppc64el qtscript5-dev ppc64el 5.9.3+dfsg-0ubuntu1 [18.5 kB] Get:205 http://ftpmaster.internal/ubuntu bionic/main ppc64el libjbig0 ppc64el 2.1-3.1 [26.4 kB] Get:206 http://ftpmaster.internal/ubuntu bionic/main ppc64el dbus ppc64el 1.12.2-1ubuntu1 [158 kB] Get:207 http://ftpmaster.internal/ubuntu bionic/main ppc64el libmagic-mgc ppc64el 1:5.32-1 [184 kB] Get:208 http://ftpmaster.internal/ubuntu bionic/main ppc64el libmagic1 ppc64el 1:5.32-1 [76.6 kB] Get:209 http://ftpmaster.internal/ubuntu bionic/main ppc64el file ppc64el 1:5.32-1 [22.7 kB] Get:210 http://ftpmaster.internal/ubuntu bionic/main ppc64el libfribidi0 ppc64el 0.19.7-2 [24.9 kB] Get:211 http://ftpmaster.internal/ubuntu bionic/main ppc64el libpam-systemd ppc64el 235-3ubuntu3 [110 kB] Get:212 http://ftpmaster.internal/ubuntu bionic/main ppc64el netbase all 5.4 [12.7 kB] Get:213 http://ftpmaster.internal/ubuntu bionic/main ppc64el shared-mime-info ppc64el 1.9-2 [431 kB] Get:214 http://ftpmaster.internal/ubuntu bionic/main ppc64el gettext-base ppc64el 0.19.8.1-4ubuntu2 [49.7 kB] Get:215 http://ftpmaster.internal/ubuntu bionic/main ppc64el libnuma1 ppc64el 2.0.11-2.1 [22.3 kB] Get:216 http://ftpmaster.internal/ubuntu bionic/main ppc64el libpolkit-gobject-1-0 ppc64el 0.105-18 [32.6 kB] Get:217 http://ftpmaster.internal/ubuntu bionic/main ppc64el libsigsegv2 ppc64el 2.11-1 [13.3 kB] Get:218 http://ftpmaster.internal/ubuntu bionic/main ppc64el m4 ppc64el 1.4.18-1 [202 kB] Get:219 http://ftpmaster.internal/ubuntu bionic/main ppc64el autoconf all 2.69-11 [322 kB] Get:220 http://ftpmaster.internal/ubuntu bionic/main ppc64el autotools-dev all 20171216.1 [39.7 kB] Get:221 http://ftpmaster.internal/ubuntu bionic/main ppc64el automake all 1:1.15.1-3ubuntu1 [509 kB] Get:222 http://ftpmaster.internal/ubuntu bionic/main ppc64el autopoint all 0.19.8.1-4ubuntu2 [412 kB] Get:223 http://ftpmaster.internal/ubuntu bionic/main ppc64el libtool all 2.4.6-2 [194 kB] Get:224 http://ftpmaster.internal/ubuntu bionic/main ppc64el dh-autoreconf all 15 [15.8 kB] Get:225 http://ftpmaster.internal/ubuntu bionic/main ppc64el libarchive-zip-perl all 1.60-1 [83.9 kB] Get:226 http://ftpmaster.internal/ubuntu bionic/main ppc64el libfile-stripnondeterminism-perl all 0.040-1 [13.9 kB] Get:227 http://ftpmaster.internal/ubuntu bionic/main ppc64el libtimedate-perl all 2.3000-2 [37.5 kB] Get:228 http://ftpmaster.internal/ubuntu bionic/main ppc64el dh-strip-nondeterminism all 0.040-1 [5196 B] Get:229 http://ftpmaster.internal/ubuntu bionic/main ppc64el libcroco3 ppc64el 0.6.12-2 [82.5 kB] Get:230 http://ftpmaster.internal/ubuntu bionic/main ppc64el gettext ppc64el 0.19.8.1-4ubuntu2 [1147 kB] Get:231 http://ftpmaster.internal/ubuntu bionic/main ppc64el intltool-debian all 0.35.0+20060710.4 [24.9 kB] Get:232 http://ftpmaster.internal/ubuntu bionic/main ppc64el po-debconf all 1.0.20 [232 kB] Get:233 http://ftpmaster.internal/ubuntu bionic/main ppc64el debhelper all 11ubuntu1 [887 kB] Get:234 http://ftpmaster.internal/ubuntu bionic/main ppc64el diffstat ppc64el 1.61-1build1 [25.0 kB] Get:235 http://ftpmaster.internal/ubuntu bionic/universe ppc64el extra-cmake-modules ppc64el 5.41.0-0ubuntu1 [283 kB] Get:236 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5config-data all 5.41.0-0ubuntu1 [66.0 kB] Get:237 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5configcore5 ppc64el 5.41.0-0ubuntu1 [114 kB] Get:238 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5coreaddons-data all 5.41.0-0ubuntu1 [78.9 kB] Get:239 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libfam0 ppc64el 2.7.0-17.2 [18.2 kB] Get:240 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5coreaddons5 ppc64el 5.41.0-0ubuntu1 [218 kB] Get:241 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5windowsystem-data all 5.41.0-0ubuntu1 [8396 B] Get:242 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libqt5x11extras5 ppc64el 5.9.3-0ubuntu1 [8676 B] Get:243 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5windowsystem5 ppc64el 5.41.0-0ubuntu1 [134 kB] Get:244 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5crash5 ppc64el 5.41.0-0ubuntu1 [14.3 kB] Get:245 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5i18n-data all 5.41.0-0ubuntu1 [1038 kB] Get:246 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5i18n5 ppc64el 5.41.0-0ubuntu1 [107 kB] Get:247 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5dbusaddons-data all 5.41.0-0ubuntu1 [13.8 kB] Get:248 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5dbusaddons5 ppc64el 5.41.0-0ubuntu1 [26.5 kB] Get:249 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5service-data all 5.41.0-0ubuntu2 [61.2 kB] Get:250 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5service5 ppc64el 5.41.0-0ubuntu2 [210 kB] Get:251 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5service-bin ppc64el 5.41.0-0ubuntu2 [27.4 kB] Get:252 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5kiocore5 ppc64el 5.41.0-0ubuntu1 [449 kB] Get:253 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5completion-data all 5.41.0-0ubuntu1 [13.2 kB] Get:254 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5configgui5 ppc64el 5.41.0-0ubuntu1 [41.5 kB] Get:255 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5widgetsaddons-data all 5.41.0-0ubuntu1 [1006 kB] Get:256 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5widgetsaddons5 ppc64el 5.41.0-0ubuntu1 [369 kB] Get:257 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5completion5 ppc64el 5.41.0-0ubuntu1 [76.9 kB] Get:258 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5configwidgets-data all 5.41.0-0ubuntu1 [201 kB] Get:259 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5auth-data all 5.41.0-0ubuntu1 [19.5 kB] Get:260 http://ftpmaster.internal/ubuntu bionic/main ppc64el libpolkit-agent-1-0 ppc64el 0.105-18 [14.1 kB] Get:261 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libpolkit-qt5-1-1 ppc64el 0.112.0-5 [55.0 kB] Get:262 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5auth5 ppc64el 5.41.0-0ubuntu1 [51.0 kB] Get:263 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5codecs-data all 5.41.0-0ubuntu1 [40.1 kB] Get:264 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5codecs5 ppc64el 5.41.0-0ubuntu1 [94.7 kB] Get:265 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5guiaddons5 ppc64el 5.41.0-0ubuntu1 [39.7 kB] Get:266 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5configwidgets5 ppc64el 5.41.0-0ubuntu1 [120 kB] Get:267 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5iconthemes-data all 5.41.0-0ubuntu1 [28.2 kB] Get:268 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5archive5 ppc64el 5.41.0-0ubuntu1 [82.8 kB] Get:269 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5itemviews-data all 5.41.0-0ubuntu1 [9804 B] Get:270 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5itemviews5 ppc64el 5.41.0-0ubuntu1 [77.8 kB] Get:271 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5iconthemes5 ppc64el 5.41.0-0ubuntu1 [85.7 kB] Get:272 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5jobwidgets-data all 5.41.0-0ubuntu1 [27.8 kB] Get:273 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5jobwidgets5 ppc64el 5.41.0-0ubuntu1 [53.5 kB] Get:274 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5kiowidgets5 ppc64el 5.41.0-0ubuntu1 [376 kB] Get:275 http://ftpmaster.internal/ubuntu bionic/universe ppc64el kinit ppc64el 5.41.0-0ubuntu1 [129 kB] Get:276 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5doctools5 ppc64el 5.41.0-0ubuntu1 [15.5 kB] Get:277 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5kiontlm5 ppc64el 5.41.0-0ubuntu1 [20.0 kB] Get:278 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5notifications-data all 5.41.0-0ubuntu1 [13.0 kB] Get:279 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libdbusmenu-qt5 ppc64el 0.9.3+16.04.20160218-0ubuntu1 [65.2 kB] Get:280 http://ftpmaster.internal/ubuntu bionic/main ppc64el libasyncns0 ppc64el 0.8-6 [11.8 kB] Get:281 http://ftpmaster.internal/ubuntu bionic/main ppc64el libflac8 ppc64el 1.3.2-1 [189 kB] Get:282 http://ftpmaster.internal/ubuntu bionic/main ppc64el libvorbis0a ppc64el 1.3.5-4.1 [113 kB] Get:283 http://ftpmaster.internal/ubuntu bionic/main ppc64el libvorbisenc2 ppc64el 1.3.5-4.1 [78.5 kB] Get:284 http://ftpmaster.internal/ubuntu bionic/main ppc64el libsndfile1 ppc64el 1.0.28-4 [215 kB] Get:285 http://ftpmaster.internal/ubuntu bionic/main ppc64el libwrap0 ppc64el 7.6.q-27 [48.2 kB] Get:286 http://ftpmaster.internal/ubuntu bionic/main ppc64el libpulse0 ppc64el 1:11.1-1ubuntu2 [249 kB] Get:287 http://ftpmaster.internal/ubuntu bionic/main ppc64el libpulse-mainloop-glib0 ppc64el 1:11.1-1ubuntu2 [22.2 kB] Get:288 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libphonon4qt5-4 ppc64el 4:4.9.1-3 [152 kB] Get:289 http://ftpmaster.internal/ubuntu bionic/universe ppc64el vlc-data all 3.0.0~rc4-1ubuntu1 [406 kB] Get:290 http://ftpmaster.internal/ubuntu bionic/universe ppc64el liba52-0.7.4 ppc64el 0.7.4-19 [31.9 kB] Get:291 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libaribb24-0 ppc64el 1.0.3-1 [29.4 kB] Get:292 http://ftpmaster.internal/ubuntu bionic/main ppc64el libasound2-data all 1.1.3-5 [36.1 kB] Get:293 http://ftpmaster.internal/ubuntu bionic/main ppc64el libasound2 ppc64el 1.1.3-5 [336 kB] Get:294 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libass9 ppc64el 1:0.14.0-1 [110 kB] Get:295 http://ftpmaster.internal/ubuntu bionic/main ppc64el libraw1394-11 ppc64el 2.1.2-1 [31.1 kB] Get:296 http://ftpmaster.internal/ubuntu bionic/main ppc64el libavc1394-0 ppc64el 0.5.4-4 [15.8 kB] Get:297 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libva2 ppc64el 2.0.0-2 [44.8 kB] Get:298 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libva-drm2 ppc64el 2.0.0-2 [6984 B] Get:299 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libva-x11-2 ppc64el 2.0.0-2 [12.1 kB] Get:300 http://ftpmaster.internal/ubuntu bionic/main ppc64el libvdpau1 ppc64el 1.1.1-3ubuntu1 [25.9 kB] Get:301 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libavutil55 ppc64el 7:3.4.1-1 [203 kB] Get:302 http://ftpmaster.internal/ubuntu bionic/main ppc64el libpixman-1-0 ppc64el 0.34.0-2 [268 kB] Get:303 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxrender1 ppc64el 1:0.9.10-1 [17.6 kB] Get:304 http://ftpmaster.internal/ubuntu bionic/main ppc64el libcairo2 ppc64el 1.15.8-3 [670 kB] Get:305 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libmp3lame0 ppc64el 3.100-2 [179 kB] Get:306 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libopenjp2-7 ppc64el 2.3.0-1 [169 kB] Get:307 http://ftpmaster.internal/ubuntu bionic/main ppc64el libopus0 ppc64el 1.1.2-1ubuntu1 [224 kB] Get:308 http://ftpmaster.internal/ubuntu bionic/main ppc64el libtiff5 ppc64el 4.0.9-3 [166 kB] Get:309 http://ftpmaster.internal/ubuntu bionic/main ppc64el libgdk-pixbuf2.0-common all 2.36.11-1 [4260 B] Get:310 http://ftpmaster.internal/ubuntu bionic/main ppc64el libgdk-pixbuf2.0-0 ppc64el 2.36.11-1 [195 kB] Get:311 http://ftpmaster.internal/ubuntu bionic/main ppc64el libthai-data all 0.1.27-1 [133 kB] Get:312 http://ftpmaster.internal/ubuntu bionic/main ppc64el libdatrie1 ppc64el 0.2.10-6 [17.6 kB] Get:313 http://ftpmaster.internal/ubuntu bionic/main ppc64el libthai0 ppc64el 0.1.27-1 [17.9 kB] Get:314 http://ftpmaster.internal/ubuntu bionic/main ppc64el libpango-1.0-0 ppc64el 1.40.14-1 [162 kB] Get:315 http://ftpmaster.internal/ubuntu bionic/main ppc64el libpangoft2-1.0-0 ppc64el 1.40.14-1 [34.5 kB] Get:316 http://ftpmaster.internal/ubuntu bionic/main ppc64el libpangocairo-1.0-0 ppc64el 1.40.14-1 [21.1 kB] Get:317 http://ftpmaster.internal/ubuntu bionic/main ppc64el librsvg2-2 ppc64el 2.40.18-2 [116 kB] Get:318 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libshine3 ppc64el 3.1.1-1 [26.2 kB] Get:319 http://ftpmaster.internal/ubuntu bionic/main ppc64el libsnappy1v5 ppc64el 1.1.7-1 [17.1 kB] Get:320 http://ftpmaster.internal/ubuntu bionic/main ppc64el libspeex1 ppc64el 1.2~rc1.2-1ubuntu1 [50.5 kB] Get:321 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libsoxr0 ppc64el 0.1.2-3 [71.9 kB] Get:322 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libswresample2 ppc64el 7:3.4.1-1 [48.6 kB] Get:323 http://ftpmaster.internal/ubuntu bionic/main ppc64el libtheora0 ppc64el 1.1.1+dfsg.1-14 [203 kB] Get:324 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libtwolame0 ppc64el 0.3.13-3 [56.9 kB] Get:325 http://ftpmaster.internal/ubuntu bionic/main ppc64el libvpx4 ppc64el 1.6.1-3 [690 kB] Get:326 http://ftpmaster.internal/ubuntu bionic/main ppc64el libwavpack1 ppc64el 5.1.0-2 [82.0 kB] Get:327 http://ftpmaster.internal/ubuntu bionic/main ppc64el libwebpmux3 ppc64el 0.6.0-4 [21.1 kB] Get:328 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libx264-148 ppc64el 2:0.148.2795+gitaaa9aa8-1 [600 kB] Get:329 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libx265-146 ppc64el 2.6-3 [1439 kB] Get:330 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libxvidcore4 ppc64el 2:1.3.4-1 [263 kB] Get:331 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libzvbi-common all 0.2.35-13 [32.1 kB] Get:332 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libzvbi0 ppc64el 0.2.35-13 [252 kB] Get:333 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libavcodec57 ppc64el 7:3.4.1-1 [4631 kB] Get:334 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libbluray2 ppc64el 1:1.0.2-1 [131 kB] Get:335 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libchromaprint1 ppc64el 1.4.2-1 [46.4 kB] Get:336 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libgme0 ppc64el 0.6.2-1 [181 kB] Get:337 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libmpg123-0 ppc64el 1.25.8-1 [138 kB] Get:338 http://ftpmaster.internal/ubuntu bionic/main ppc64el libvorbisfile3 ppc64el 1.3.5-4.1 [18.3 kB] Get:339 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libopenmpt0 ppc64el 0.3.4-1 [683 kB] Get:340 http://ftpmaster.internal/ubuntu bionic/main ppc64el libssh-gcrypt-4 ppc64el 0.8.0~20170825.94fa1e38-1 [193 kB] Get:341 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libavformat57 ppc64el 7:3.4.1-1 [961 kB] Get:342 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libbasicusageenvironment1 ppc64el 2017.09.12-1ubuntu1 [18.3 kB] Get:343 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libcddb2 ppc64el 1.3.2-5fakesync1 [32.0 kB] Get:344 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libdc1394-22 ppc64el 2.2.5-1 [125 kB] Get:345 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libdca0 ppc64el 0.0.5-10 [99.9 kB] Get:346 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libdvbpsi10 ppc64el 1.3.1-2 [45.4 kB] Get:347 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libdvdread4 ppc64el 5.0.3-2 [49.6 kB] Get:348 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libdvdnav4 ppc64el 5.0.3-3 [37.2 kB] Get:349 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libebml4v5 ppc64el 1.3.5-2 [51.3 kB] Get:350 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libfaad2 ppc64el 2.8.8-1 [196 kB] Get:351 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libgroupsock8 ppc64el 2017.09.12-1ubuntu1 [23.6 kB] Get:352 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkate1 ppc64el 0.4.1-7build1 [43.6 kB] Get:353 http://ftpmaster.internal/ubuntu bionic/main ppc64el liblirc-client0 ppc64el 0.10.0-2 [22.7 kB] Get:354 http://ftpmaster.internal/ubuntu bionic/universe ppc64el liblivemedia58 ppc64el 2017.09.12-1ubuntu1 [349 kB] Get:355 http://ftpmaster.internal/ubuntu bionic/main ppc64el liblua5.2-0 ppc64el 5.2.4-1.1build1 [126 kB] Get:356 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libmatroska6v5 ppc64el 1.4.8-1.1 [131 kB] Get:357 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libmicrodns0 ppc64el 0.0.8-1 [12.0 kB] Get:358 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libmpcdec6 ppc64el 2:0.1~r495-1 [37.6 kB] Get:359 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libmpeg2-4 ppc64el 0.5.1-8 [62.1 kB] Get:360 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libnfs8 ppc64el 1.11.0-2 [59.6 kB] Get:361 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libopenmpt-modplug1 ppc64el 0.3.4-1 [21.0 kB] Get:362 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libpostproc54 ppc64el 7:3.4.1-1 [65.1 kB] Get:363 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libresid-builder0c2a ppc64el 2.1.1-15ubuntu1 [32.5 kB] Get:364 http://ftpmaster.internal/ubuntu bionic/main ppc64el libsamplerate0 ppc64el 0.1.9-1 [936 kB] Get:365 http://ftpmaster.internal/ubuntu bionic/main ppc64el libcaca0 ppc64el 0.99.beta19-2build2~gcc5.2 [199 kB] Get:366 http://ftpmaster.internal/ubuntu bionic/main ppc64el libsdl1.2debian ppc64el 1.2.15+dfsg2-0.1 [223 kB] Get:367 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libsdl-image1.2 ppc64el 1.2.12-7 [34.0 kB] Get:368 http://ftpmaster.internal/ubuntu bionic/main ppc64el libsecret-common all 0.18.5-3.1ubuntu2 [4232 B] Get:369 http://ftpmaster.internal/ubuntu bionic/main ppc64el libsecret-1-0 ppc64el 0.18.5-3.1ubuntu2 [83.8 kB] Get:370 http://ftpmaster.internal/ubuntu bionic/main ppc64el libshout3 ppc64el 2.4.1-2 [43.5 kB] Get:371 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libsidplay2 ppc64el 2.1.1-15ubuntu1 [90.5 kB] Get:372 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libsndio6.1 ppc64el 1.1.0-3 [23.5 kB] Get:373 http://ftpmaster.internal/ubuntu bionic/main ppc64el libspeexdsp1 ppc64el 1.2~rc1.2-1ubuntu1 [39.8 kB] Get:374 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libssh2-1 ppc64el 1.8.0-1 [71.0 kB] Get:375 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libswscale4 ppc64el 7:3.4.1-1 [136 kB] Get:376 http://ftpmaster.internal/ubuntu bionic/main ppc64el libtag1v5-vanilla ppc64el 1.11.1+dfsg.1-0.2build2 [306 kB] Get:377 http://ftpmaster.internal/ubuntu bionic/main ppc64el libtag1v5 ppc64el 1.11.1+dfsg.1-0.2build2 [10.9 kB] Get:378 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libupnp6 ppc64el 1:1.6.24-4 [127 kB] Get:379 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libusageenvironment3 ppc64el 2017.09.12-1ubuntu1 [7296 B] Get:380 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libvlccore9 ppc64el 3.0.0~rc4-1ubuntu1 [468 kB] Get:381 http://ftpmaster.internal/ubuntu bionic/universe ppc64el vlc-plugin-base ppc64el 3.0.0~rc4-1ubuntu1 [3070 kB] Get:382 http://ftpmaster.internal/ubuntu bionic/main ppc64el libgpm2 ppc64el 1.20.4-6.2 [14.4 kB] Get:383 http://ftpmaster.internal/ubuntu bionic/main ppc64el libaa1 ppc64el 1.4p5-44build1 [49.5 kB] Get:384 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libva-wayland2 ppc64el 2.0.0-2 [8868 B] Get:385 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxcb-xv0 ppc64el 1.12-1ubuntu1 [8666 B] Get:386 http://ftpmaster.internal/ubuntu bionic/universe ppc64el vlc-plugin-video-output ppc64el 3.0.0~rc4-1ubuntu1 [153 kB] Get:387 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libvlc5 ppc64el 3.0.0~rc4-1ubuntu1 [72.4 kB] Get:388 http://ftpmaster.internal/ubuntu bionic/universe ppc64el phonon4qt5-backend-vlc ppc64el 0.9.1-2 [98.9 kB] Get:389 http://ftpmaster.internal/ubuntu bionic/universe ppc64el phonon4qt5 ppc64el 4:4.9.1-3 [4748 B] Get:390 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5notifications5 ppc64el 5.41.0-0ubuntu1 [113 kB] Get:391 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5solid5-data all 5.41.0-0ubuntu1 [91.8 kB] Get:392 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5solid5 ppc64el 5.41.0-0ubuntu1 [229 kB] Get:393 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5textwidgets-data all 5.41.0-0ubuntu1 [173 kB] Get:394 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5sonnet5-data all 5.41.0-0ubuntu1 [77.9 kB] Get:395 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5sonnetcore5 ppc64el 5.41.0-0ubuntu1 [58.0 kB] Get:396 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5sonnetui5 ppc64el 5.41.0-0ubuntu1 [45.2 kB] Get:397 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5textwidgets5 ppc64el 5.41.0-0ubuntu1 [78.5 kB] Get:398 http://ftpmaster.internal/ubuntu bionic/main ppc64el libgpgme11 ppc64el 1.8.0-3ubuntu5 [102 kB] Get:399 http://ftpmaster.internal/ubuntu bionic/main ppc64el libgpgmepp6 ppc64el 1.8.0-3ubuntu5 [94.3 kB] Get:400 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5wallet-data all 5.41.0-0ubuntu1 [187 kB] Get:401 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkwalletbackend5-5 ppc64el 5.41.0-0ubuntu1 [53.7 kB] Get:402 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5wallet5 ppc64el 5.41.0-0ubuntu1 [36.9 kB] Get:403 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5wallet-bin ppc64el 5.41.0-0ubuntu1 [128 kB] Get:404 http://ftpmaster.internal/ubuntu bionic/universe ppc64el kio ppc64el 5.41.0-0ubuntu1 [2981 kB] Get:405 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libgrantlee-templates5 ppc64el 5.1.0-2 [255 kB] Get:406 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5itemmodels5 ppc64el 5.41.0-0ubuntu1 [93.5 kB] Get:407 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5kcmutils-data all 5.41.0-0ubuntu1 [168 kB] Get:408 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5package-data all 5.41.0-0ubuntu1 [64.6 kB] Get:409 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5package5 ppc64el 5.41.0-0ubuntu1 [57.1 kB] Get:410 http://ftpmaster.internal/ubuntu bionic/universe ppc64el kpackagetool5 ppc64el 5.41.0-0ubuntu1 [61.6 kB] Get:411 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5declarative-data all 5.41.0-0ubuntu2 [48.6 kB] Get:412 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5declarative5 ppc64el 5.41.0-0ubuntu2 [27.9 kB] Get:413 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5quickaddons5 ppc64el 5.41.0-0ubuntu2 [25.8 kB] Get:414 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5xmlgui-bin ppc64el 5.41.0-0ubuntu1 [16.3 kB] Get:415 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5xmlgui-data all 5.41.0-0ubuntu1 [367 kB] Get:416 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5attica5 ppc64el 5.41.0-0ubuntu1 [134 kB] Get:417 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5globalaccel-data all 5.41.0-0ubuntu1 [19.9 kB] Get:418 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5globalaccel5 ppc64el 5.41.0-0ubuntu1 [45.3 kB] Get:419 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5xmlgui5 ppc64el 5.41.0-0ubuntu1 [315 kB] Get:420 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libqt5quickwidgets5 ppc64el 5.9.3-0ubuntu1 [35.2 kB] Get:421 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5kcmutils5 ppc64el 5.41.0-0ubuntu1 [92.8 kB] Get:422 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5bookmarks-data all 5.41.0-0ubuntu1 [43.0 kB] Get:423 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5bookmarks5 ppc64el 5.41.0-0ubuntu1 [87.7 kB] Get:424 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5kiofilewidgets5 ppc64el 5.41.0-0ubuntu1 [250 kB] Get:425 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5newstuff-data all 5.41.0-0ubuntu1 [245 kB] Get:426 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5newstuffcore5 ppc64el 5.41.0-0ubuntu1 [134 kB] Get:427 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5newstuff5 ppc64el 5.41.0-0ubuntu1 [131 kB] Get:428 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5notifyconfig-data all 5.41.0-0ubuntu1 [45.3 kB] Get:429 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5notifyconfig5 ppc64el 5.41.0-0ubuntu1 [27.4 kB] Get:430 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5parts-data all 5.41.0-0ubuntu1 [85.1 kB] Get:431 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5parts5 ppc64el 5.41.0-0ubuntu1 [111 kB] Get:432 http://ftpmaster.internal/ubuntu bionic/universe ppc64el ktexteditor-data all 5.41.0-0ubuntu2 [1160 kB] Get:433 http://ftpmaster.internal/ubuntu bionic/main ppc64el libjs-underscore all 1.8.3~dfsg-1 [59.9 kB] Get:434 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5texteditor5-libjs-underscore ppc64el 5.41.0-0ubuntu2 [8840 B] Get:435 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libhttp-parser2.7.1 ppc64el 2.7.1-2 [21.1 kB] Get:436 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libgit2-26 ppc64el 0.26.0+dfsg.1-1.1build1 [359 kB] Get:437 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5syntaxhighlighting-data all 5.41.0-0ubuntu1 [42.1 kB] Get:438 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5syntaxhighlighting5 ppc64el 5.41.0-0ubuntu1 [1150 kB] Get:439 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5texteditor5 ppc64el 5.41.0-0ubuntu2 [1164 kB] Get:440 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5threadweaver5 ppc64el 5.41.0-0ubuntu1 [57.7 kB] Get:441 http://ftpmaster.internal/ubuntu bionic/universe ppc64el kdevelop52-libs ppc64el 4:5.2.1-1ubuntu1 [1672 kB] Get:442 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libqt5quickparticles5 ppc64el 5.9.3-0ubuntu1 [158 kB] Get:443 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libqt5quicktest5 ppc64el 5.9.3-0ubuntu1 [57.6 kB] Get:444 http://ftpmaster.internal/ubuntu bionic/universe ppc64el qt5-qmltooling-plugins ppc64el 5.9.3-0ubuntu1 [147 kB] Get:445 http://ftpmaster.internal/ubuntu bionic/universe ppc64el qtdeclarative5-dev ppc64el 5.9.3-0ubuntu1 [348 kB] Get:446 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5archive-dev ppc64el 5.41.0-0ubuntu1 [16.6 kB] Get:447 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5config-bin ppc64el 5.41.0-0ubuntu1 [31.6 kB] Get:448 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5config-bin-dev ppc64el 5.41.0-0ubuntu1 [47.6 kB] Get:449 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5config-dev ppc64el 5.41.0-0ubuntu1 [35.2 kB] Get:450 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5coreaddons-bin-dev ppc64el 5.41.0-0ubuntu1 [39.7 kB] Get:451 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5coreaddons-dev ppc64el 5.41.0-0ubuntu1 [63.0 kB] Get:452 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5guiaddons-dev ppc64el 5.41.0-0ubuntu1 [16.3 kB] Get:453 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5i18n-dev ppc64el 5.41.0-0ubuntu1 [22.8 kB] Get:454 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5auth-bin-dev ppc64el 5.41.0-0ubuntu1 [24.0 kB] Get:455 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5auth-dev ppc64el 5.41.0-0ubuntu1 [21.0 kB] Get:456 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5codecs-dev ppc64el 5.41.0-0ubuntu1 [18.2 kB] Get:457 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5widgetsaddons-dev ppc64el 5.41.0-0ubuntu1 [76.7 kB] Get:458 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5configwidgets-dev ppc64el 5.41.0-0ubuntu1 [34.4 kB] Get:459 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5itemviews-dev ppc64el 5.41.0-0ubuntu1 [17.4 kB] Get:460 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5iconthemes-dev ppc64el 5.41.0-0ubuntu1 [16.8 kB] Get:461 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5jobwidgets-dev ppc64el 5.41.0-0ubuntu1 [10.5 kB] Get:462 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5dbusaddons-dev ppc64el 5.41.0-0ubuntu1 [11.1 kB] Get:463 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5service-dev ppc64el 5.41.0-0ubuntu2 [31.6 kB] Get:464 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5attica-dev ppc64el 5.41.0-0ubuntu1 [23.9 kB] Get:465 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5globalaccelprivate5 ppc64el 5.41.0-0ubuntu1 [48.7 kB] Get:466 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5globalaccel-dev ppc64el 5.41.0-0ubuntu1 [12.4 kB] Get:467 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5completion-dev ppc64el 5.41.0-0ubuntu1 [26.8 kB] Get:468 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5sonnet-dev-bin ppc64el 5.41.0-0ubuntu1 [16.8 kB] Get:469 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5sonnet-dev ppc64el 5.41.0-0ubuntu1 [14.7 kB] Get:470 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5windowsystem-dev ppc64el 5.41.0-0ubuntu1 [41.1 kB] Get:471 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5textwidgets-dev ppc64el 5.41.0-0ubuntu1 [21.8 kB] Get:472 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5xmlgui-dev ppc64el 5.41.0-0ubuntu1 [42.1 kB] Get:473 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5kcmutils-dev ppc64el 5.41.0-0ubuntu1 [16.6 kB] Get:474 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5bookmarks-dev ppc64el 5.41.0-0ubuntu1 [18.0 kB] Get:475 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5kiogui5 ppc64el 5.41.0-0ubuntu1 [18.9 kB] Get:476 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5solid-dev ppc64el 5.41.0-0ubuntu1 [20.5 kB] Get:477 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5kio-dev ppc64el 5.41.0-0ubuntu1 [162 kB] Get:478 http://ftpmaster.internal/ubuntu bionic/universe ppc64el kio-dev ppc64el 5.41.0-0ubuntu1 [7352 B] Get:479 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5newstuff-dev ppc64el 5.41.0-0ubuntu1 [34.5 kB] Get:480 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5notifications-dev ppc64el 5.41.0-0ubuntu1 [21.8 kB] Get:481 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5notifyconfig-dev ppc64el 5.41.0-0ubuntu1 [6716 B] Get:482 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5parts-dev ppc64el 5.41.0-0ubuntu1 [39.6 kB] Get:483 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5texteditor-dev ppc64el 5.41.0-0ubuntu2 [66.0 kB] Get:484 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5threadweaver-dev ppc64el 5.41.0-0ubuntu1 [22.3 kB] Get:485 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libgrantlee-textdocument5 ppc64el 5.1.0-2 [46.1 kB] Get:486 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libgrantlee5-dev ppc64el 5.1.0-2 [31.8 kB] Get:487 http://ftpmaster.internal/ubuntu bionic/universe ppc64el kdevelop-dev ppc64el 4:5.2.1-1ubuntu1 [293 kB] Get:488 http://ftpmaster.internal/ubuntu bionic/universe ppc64el kdevelop-pg-qt ppc64el 2.1.0-1 [517 kB] Get:489 http://ftpmaster.internal/ubuntu bionic/main ppc64el libapt-pkg-perl ppc64el 0.1.33build1 [71.6 kB] Get:490 http://ftpmaster.internal/ubuntu bionic/main ppc64el libhtml-tagset-perl all 3.20-3 [12.1 kB] Get:491 http://ftpmaster.internal/ubuntu bionic/main ppc64el liburi-perl all 1.72-2 [76.6 kB] Get:492 http://ftpmaster.internal/ubuntu bionic/main ppc64el libhtml-parser-perl ppc64el 3.72-3build1 [90.9 kB] Get:493 http://ftpmaster.internal/ubuntu bionic/main ppc64el libcgi-pm-perl all 4.38-1 [185 kB] Get:494 http://ftpmaster.internal/ubuntu bionic/main ppc64el libsub-name-perl ppc64el 0.21-1build1 [11.7 kB] Get:495 http://ftpmaster.internal/ubuntu bionic/main ppc64el libclass-accessor-perl all 0.51-1 [21.2 kB] Get:496 http://ftpmaster.internal/ubuntu bionic/main ppc64el libclone-perl ppc64el 0.39-1 [10.5 kB] Get:497 http://ftpmaster.internal/ubuntu bionic/main ppc64el libdigest-hmac-perl all 1.03+dfsg-1 [12.1 kB] Get:498 http://ftpmaster.internal/ubuntu bionic/main ppc64el perl-openssl-defaults ppc64el 3 [6816 B] Get:499 http://ftpmaster.internal/ubuntu bionic/main ppc64el libnet-ssleay-perl ppc64el 1.82-1 [263 kB] Get:500 http://ftpmaster.internal/ubuntu bionic/main ppc64el libio-socket-ssl-perl all 2.052-1 [168 kB] Get:501 http://ftpmaster.internal/ubuntu bionic/main ppc64el libnet-smtp-ssl-perl all 1.04-1 [5948 B] Get:502 http://ftpmaster.internal/ubuntu bionic/main ppc64el libmailtools-perl all 2.18-1 [74.0 kB] Get:503 http://ftpmaster.internal/ubuntu bionic/main ppc64el libsocket6-perl ppc64el 0.27-1build2 [22.5 kB] Get:504 http://ftpmaster.internal/ubuntu bionic/main ppc64el libio-socket-inet6-perl all 2.72-2 [13.8 kB] Get:505 http://ftpmaster.internal/ubuntu bionic/main ppc64el libnet-ip-perl all 1.26-1 [31.5 kB] Get:506 http://ftpmaster.internal/ubuntu bionic/main ppc64el libnet-dns-perl all 1.10-2 [335 kB] Get:507 http://ftpmaster.internal/ubuntu bionic/main ppc64el libnet-domain-tld-perl all 1.75-1 [29.1 kB] Get:508 http://ftpmaster.internal/ubuntu bionic/main ppc64el libemail-valid-perl all 1.202-1 [16.3 kB] Get:509 http://ftpmaster.internal/ubuntu bionic/main ppc64el libexporter-tiny-perl all 1.000000-2 [34.6 kB] Get:510 http://ftpmaster.internal/ubuntu bionic/main ppc64el libipc-system-simple-perl all 1.25-3 [22.8 kB] Get:511 http://ftpmaster.internal/ubuntu bionic/main ppc64el libfile-basedir-perl all 0.07-1 [16.9 kB] Get:512 http://ftpmaster.internal/ubuntu bionic/main ppc64el libio-pty-perl ppc64el 1:1.08-1.1build4 [29.7 kB] Get:513 http://ftpmaster.internal/ubuntu bionic/main ppc64el libio-string-perl all 1.08-3 [11.1 kB] Get:514 http://ftpmaster.internal/ubuntu bionic/main ppc64el libipc-run-perl all 0.96-1 [89.9 kB] Get:515 http://ftpmaster.internal/ubuntu bionic/universe ppc64el libkf5itemmodels-dev ppc64el 5.41.0-0ubuntu1 [16.1 kB] Get:516 http://ftpmaster.internal/ubuntu bionic/main ppc64el liblist-moreutils-perl ppc64el 0.416-1build3 [53.8 kB] Get:517 http://ftpmaster.internal/ubuntu bionic/main ppc64el libparse-debianchangelog-perl all 1.2.0-12 [49.5 kB] Get:518 http://ftpmaster.internal/ubuntu bionic/main ppc64el libtext-levenshtein-perl all 0.13-1 [9612 B] Get:519 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxml-namespacesupport-perl all 1.12-1 [13.2 kB] Get:520 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxml-sax-base-perl all 1.09-1 [18.8 kB] Get:521 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxml-sax-perl all 0.99+dfsg-2ubuntu1 [64.6 kB] Get:522 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxml-libxml-perl ppc64el 2.0128+dfsg-5 [305 kB] Get:523 http://ftpmaster.internal/ubuntu bionic/main ppc64el libxml-simple-perl all 2.24-1 [63.6 kB] Get:524 http://ftpmaster.internal/ubuntu bionic/main ppc64el libyaml-libyaml-perl ppc64el 0.63-2build1 [62.4 kB] Get:525 http://ftpmaster.internal/ubuntu bionic/main ppc64el patchutils ppc64el 0.3.4-2 [71.1 kB] Get:526 http://ftpmaster.internal/ubuntu bionic/main ppc64el t1utils ppc64el 1.41-2 [61.8 kB] Get:527 http://ftpmaster.internal/ubuntu bionic/main ppc64el lintian all 2.5.62 [824 kB] Get:528 http://ftpmaster.internal/ubuntu bionic/universe ppc64el pkg-kde-tools all 0.15.28ubuntu1 [95.6 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 140 MB in 7s (19.5 MB/s) (Reading database ... 13530 files and directories currently installed.) Removing pkg-create-dbgsym (0.73) ... Selecting previously unselected package liblocale-gettext-perl. (Reading database ... 13521 files and directories currently installed.) Preparing to unpack .../00-liblocale-gettext-perl_1.07-3build2_ppc64el.deb ... Unpacking liblocale-gettext-perl (1.07-3build2) ... Selecting previously unselected package libpython3.6-minimal:ppc64el. Preparing to unpack .../01-libpython3.6-minimal_3.6.4-2_ppc64el.deb ... Unpacking libpython3.6-minimal:ppc64el (3.6.4-2) ... Selecting previously unselected package libexpat1:ppc64el. Preparing to unpack .../02-libexpat1_2.2.5-3_ppc64el.deb ... Unpacking libexpat1:ppc64el (2.2.5-3) ... Selecting previously unselected package python3.6-minimal. Preparing to unpack .../03-python3.6-minimal_3.6.4-2_ppc64el.deb ... Unpacking python3.6-minimal (3.6.4-2) ... Selecting previously unselected package python3-minimal. Preparing to unpack .../04-python3-minimal_3.6.3-0ubuntu2_ppc64el.deb ... Unpacking python3-minimal (3.6.3-0ubuntu2) ... Selecting previously unselected package mime-support. Preparing to unpack .../05-mime-support_3.60ubuntu1_all.deb ... Unpacking mime-support (3.60ubuntu1) ... Selecting previously unselected package libmpdec2:ppc64el. Preparing to unpack .../06-libmpdec2_2.4.2-1_ppc64el.deb ... Unpacking libmpdec2:ppc64el (2.4.2-1) ... Selecting previously unselected package libpython3.6-stdlib:ppc64el. Preparing to unpack .../07-libpython3.6-stdlib_3.6.4-2_ppc64el.deb ... Unpacking libpython3.6-stdlib:ppc64el (3.6.4-2) ... Selecting previously unselected package python3.6-2to3. Preparing to unpack .../08-python3.6-2to3_3.6.4-2_all.deb ... Unpacking python3.6-2to3 (3.6.4-2) ... Selecting previously unselected package python3-distutils. Preparing to unpack .../09-python3-distutils_3.6.4~rc1-6_all.deb ... Unpacking python3-distutils (3.6.4~rc1-6) ... Selecting previously unselected package python3.6. Preparing to unpack .../10-python3.6_3.6.4-2_ppc64el.deb ... Unpacking python3.6 (3.6.4-2) ... Selecting previously unselected package libpython3-stdlib:ppc64el. Preparing to unpack .../11-libpython3-stdlib_3.6.3-0ubuntu2_ppc64el.deb ... Unpacking libpython3-stdlib:ppc64el (3.6.3-0ubuntu2) ... Selecting previously unselected package dh-python. Preparing to unpack .../12-dh-python_2.20170125_all.deb ... Unpacking dh-python (2.20170125) ... Setting up libpython3.6-minimal:ppc64el (3.6.4-2) ... Setting up libexpat1:ppc64el (2.2.5-3) ... Setting up python3.6-minimal (3.6.4-2) ... Setting up python3-minimal (3.6.3-0ubuntu2) ... Selecting previously unselected package python3. (Reading database ... 14378 files and directories currently installed.) Preparing to unpack .../000-python3_3.6.3-0ubuntu2_ppc64el.deb ... Unpacking python3 (3.6.3-0ubuntu2) ... Selecting previously unselected package libxau6:ppc64el. Preparing to unpack .../001-libxau6_1%3a1.0.8-1_ppc64el.deb ... Unpacking libxau6:ppc64el (1:1.0.8-1) ... Selecting previously unselected package libbsd0:ppc64el. Preparing to unpack .../002-libbsd0_0.8.6-3_ppc64el.deb ... Unpacking libbsd0:ppc64el (0.8.6-3) ... Selecting previously unselected package libxdmcp6:ppc64el. Preparing to unpack .../003-libxdmcp6_1%3a1.1.2-3_ppc64el.deb ... Unpacking libxdmcp6:ppc64el (1:1.1.2-3) ... Selecting previously unselected package libxcb1:ppc64el. Preparing to unpack .../004-libxcb1_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb1:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libx11-data. Preparing to unpack .../005-libx11-data_2%3a1.6.4-3_all.deb ... Unpacking libx11-data (2:1.6.4-3) ... Selecting previously unselected package libx11-6:ppc64el. Preparing to unpack .../006-libx11-6_2%3a1.6.4-3_ppc64el.deb ... Unpacking libx11-6:ppc64el (2:1.6.4-3) ... Selecting previously unselected package libxext6:ppc64el. Preparing to unpack .../007-libxext6_2%3a1.3.3-1_ppc64el.deb ... Unpacking libxext6:ppc64el (2:1.3.3-1) ... Selecting previously unselected package groff-base. Preparing to unpack .../008-groff-base_1.22.3-9_ppc64el.deb ... Unpacking groff-base (1.22.3-9) ... Selecting previously unselected package bsdmainutils. Preparing to unpack .../009-bsdmainutils_9.0.14ubuntu1_ppc64el.deb ... Unpacking bsdmainutils (9.0.14ubuntu1) ... Selecting previously unselected package libpipeline1:ppc64el. Preparing to unpack .../010-libpipeline1_1.5.0-1_ppc64el.deb ... Unpacking libpipeline1:ppc64el (1.5.0-1) ... Selecting previously unselected package man-db. Preparing to unpack .../011-man-db_2.7.6.1-4_ppc64el.deb ... Unpacking man-db (2.7.6.1-4) ... Selecting previously unselected package cmake-data. Preparing to unpack .../012-cmake-data_3.9.5-1_all.deb ... Unpacking cmake-data (3.9.5-1) ... Selecting previously unselected package liblzo2-2:ppc64el. Preparing to unpack .../013-liblzo2-2_2.08-1.2_ppc64el.deb ... Unpacking liblzo2-2:ppc64el (2.08-1.2) ... Selecting previously unselected package libfreetype6:ppc64el. Preparing to unpack .../014-libfreetype6_2.8-0.2ubuntu2_ppc64el.deb ... Unpacking libfreetype6:ppc64el (2.8-0.2ubuntu2) ... Selecting previously unselected package libglib2.0-0:ppc64el. Preparing to unpack .../015-libglib2.0-0_2.54.1-1ubuntu1_ppc64el.deb ... Unpacking libglib2.0-0:ppc64el (2.54.1-1ubuntu1) ... Selecting previously unselected package libgraphite2-3:ppc64el. Preparing to unpack .../016-libgraphite2-3_1.3.10-8_ppc64el.deb ... Unpacking libgraphite2-3:ppc64el (1.3.10-8) ... Selecting previously unselected package libharfbuzz0b:ppc64el. Preparing to unpack .../017-libharfbuzz0b_1.7.2-1_ppc64el.deb ... Unpacking libharfbuzz0b:ppc64el (1.7.2-1) ... Selecting previously unselected package libicu-le-hb0:ppc64el. Preparing to unpack .../018-libicu-le-hb0_1.0.3+git161113-4_ppc64el.deb ... Unpacking libicu-le-hb0:ppc64el (1.0.3+git161113-4) ... Selecting previously unselected package libicu60:ppc64el. Preparing to unpack .../019-libicu60_60.2-1ubuntu1_ppc64el.deb ... Unpacking libicu60:ppc64el (60.2-1ubuntu1) ... Selecting previously unselected package libxml2:ppc64el. Preparing to unpack .../020-libxml2_2.9.4+dfsg1-5.2ubuntu1_ppc64el.deb ... Unpacking libxml2:ppc64el (2.9.4+dfsg1-5.2ubuntu1) ... Selecting previously unselected package libarchive13:ppc64el. Preparing to unpack .../021-libarchive13_3.2.2-3.1_ppc64el.deb ... Unpacking libarchive13:ppc64el (3.2.2-3.1) ... Selecting previously unselected package libcurl3:ppc64el. Preparing to unpack .../022-libcurl3_7.57.0-1ubuntu1_ppc64el.deb ... Unpacking libcurl3:ppc64el (7.57.0-1ubuntu1) ... Selecting previously unselected package libjsoncpp1:ppc64el. Preparing to unpack .../023-libjsoncpp1_1.7.4-3_ppc64el.deb ... Unpacking libjsoncpp1:ppc64el (1.7.4-3) ... Selecting previously unselected package librhash0. Preparing to unpack .../024-librhash0_1.3.4-3_ppc64el.deb ... Unpacking librhash0 (1.3.4-3) ... Selecting previously unselected package libuv1:ppc64el. Preparing to unpack .../025-libuv1_1.18.0-3_ppc64el.deb ... Unpacking libuv1:ppc64el (1.18.0-3) ... Selecting previously unselected package cmake. Preparing to unpack .../026-cmake_3.9.5-1_ppc64el.deb ... Unpacking cmake (3.9.5-1) ... Selecting previously unselected package ucf. Preparing to unpack .../027-ucf_3.0036_all.deb ... Moving old data out of the way Unpacking ucf (3.0036) ... Selecting previously unselected package fonts-dejavu-core. Preparing to unpack .../028-fonts-dejavu-core_2.37-1_all.deb ... Unpacking fonts-dejavu-core (2.37-1) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../029-fontconfig-config_2.12.6-0ubuntu1_all.deb ... Unpacking fontconfig-config (2.12.6-0ubuntu1) ... Selecting previously unselected package libfontconfig1:ppc64el. Preparing to unpack .../030-libfontconfig1_2.12.6-0ubuntu1_ppc64el.deb ... Unpacking libfontconfig1:ppc64el (2.12.6-0ubuntu1) ... Selecting previously unselected package fontconfig. Preparing to unpack .../031-fontconfig_2.12.6-0ubuntu1_ppc64el.deb ... Unpacking fontconfig (2.12.6-0ubuntu1) ... Selecting previously unselected package libeditorconfig0:ppc64el. Preparing to unpack .../032-libeditorconfig0_0.12.1-1_ppc64el.deb ... Unpacking libeditorconfig0:ppc64el (0.12.1-1) ... Selecting previously unselected package libgsm1:ppc64el. Preparing to unpack .../033-libgsm1_1.0.13-4_ppc64el.deb ... Unpacking libgsm1:ppc64el (1.0.13-4) ... Selecting previously unselected package libjpeg-turbo8:ppc64el. Preparing to unpack .../034-libjpeg-turbo8_1.5.2-0ubuntu5_ppc64el.deb ... Unpacking libjpeg-turbo8:ppc64el (1.5.2-0ubuntu5) ... Selecting previously unselected package libmad0:ppc64el. Preparing to unpack .../035-libmad0_0.15.1b-8ubuntu1_ppc64el.deb ... Unpacking libmad0:ppc64el (0.15.1b-8ubuntu1) ... Selecting previously unselected package libmtdev1:ppc64el. Preparing to unpack .../036-libmtdev1_1.1.5-1ubuntu2_ppc64el.deb ... Unpacking libmtdev1:ppc64el (1.1.5-1ubuntu2) ... Selecting previously unselected package libmtp-common. Preparing to unpack .../037-libmtp-common_1.1.13-1_all.deb ... Unpacking libmtp-common (1.1.13-1) ... Selecting previously unselected package libusb-1.0-0:ppc64el. Preparing to unpack .../038-libusb-1.0-0_2%3a1.0.21-2_ppc64el.deb ... Unpacking libusb-1.0-0:ppc64el (2:1.0.21-2) ... Selecting previously unselected package libmtp9:ppc64el. Preparing to unpack .../039-libmtp9_1.1.13-1_ppc64el.deb ... Unpacking libmtp9:ppc64el (1.1.13-1) ... Selecting previously unselected package libogg0:ppc64el. Preparing to unpack .../040-libogg0_1.3.2-1_ppc64el.deb ... Unpacking libogg0:ppc64el (1.3.2-1) ... Selecting previously unselected package libdouble-conversion1:ppc64el. Preparing to unpack .../041-libdouble-conversion1_2.0.1-4ubuntu1_ppc64el.deb ... Unpacking libdouble-conversion1:ppc64el (2.0.1-4ubuntu1) ... Selecting previously unselected package libqt5core5a:ppc64el. Preparing to unpack .../042-libqt5core5a_5.9.3+dfsg-0ubuntu1_ppc64el.deb ... Unpacking libqt5core5a:ppc64el (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libqt5script5:ppc64el. Preparing to unpack .../043-libqt5script5_5.9.3+dfsg-0ubuntu1_ppc64el.deb ... Unpacking libqt5script5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libdrm-common. Preparing to unpack .../044-libdrm-common_2.4.89-1_all.deb ... Unpacking libdrm-common (2.4.89-1) ... Selecting previously unselected package libdrm2:ppc64el. Preparing to unpack .../045-libdrm2_2.4.89-1_ppc64el.deb ... Unpacking libdrm2:ppc64el (2.4.89-1) ... Selecting previously unselected package libwayland-client0:ppc64el. Preparing to unpack .../046-libwayland-client0_1.14.0-1_ppc64el.deb ... Unpacking libwayland-client0:ppc64el (1.14.0-1) ... Selecting previously unselected package libwayland-server0:ppc64el. Preparing to unpack .../047-libwayland-server0_1.14.0-1_ppc64el.deb ... Unpacking libwayland-server0:ppc64el (1.14.0-1) ... Selecting previously unselected package libgbm1:ppc64el. Preparing to unpack .../048-libgbm1_17.2.4-0ubuntu2_ppc64el.deb ... Unpacking libgbm1:ppc64el (17.2.4-0ubuntu2) ... Selecting previously unselected package libboost-system1.65.1:ppc64el. Preparing to unpack .../049-libboost-system1.65.1_1.65.1+dfsg-0ubuntu4_ppc64el.deb ... Unpacking libboost-system1.65.1:ppc64el (1.65.1+dfsg-0ubuntu4) ... Selecting previously unselected package libcapnp-0.6.1. Preparing to unpack .../050-libcapnp-0.6.1_0.6.1-1_ppc64el.deb ... Unpacking libcapnp-0.6.1 (0.6.1-1) ... Selecting previously unselected package libboost-filesystem1.65.1:ppc64el. Preparing to unpack .../051-libboost-filesystem1.65.1_1.65.1+dfsg-0ubuntu4_ppc64el.deb ... Unpacking libboost-filesystem1.65.1:ppc64el (1.65.1+dfsg-0ubuntu4) ... Selecting previously unselected package libmircore1:ppc64el. Preparing to unpack .../052-libmircore1_0.29.0-0ubuntu1_ppc64el.deb ... Unpacking libmircore1:ppc64el (0.29.0-0ubuntu1) ... Selecting previously unselected package libmircommon7:ppc64el. Preparing to unpack .../053-libmircommon7_0.29.0-0ubuntu1_ppc64el.deb ... Unpacking libmircommon7:ppc64el (0.29.0-0ubuntu1) ... Selecting previously unselected package libprotobuf-lite10:ppc64el. Preparing to unpack .../054-libprotobuf-lite10_3.0.0-9ubuntu5_ppc64el.deb ... Unpacking libprotobuf-lite10:ppc64el (3.0.0-9ubuntu5) ... Selecting previously unselected package libmirprotobuf3:ppc64el. Preparing to unpack .../055-libmirprotobuf3_0.29.0-0ubuntu1_ppc64el.deb ... Unpacking libmirprotobuf3:ppc64el (0.29.0-0ubuntu1) ... Selecting previously unselected package xkb-data. Preparing to unpack .../056-xkb-data_2.19-1.1ubuntu1_all.deb ... Unpacking xkb-data (2.19-1.1ubuntu1) ... Selecting previously unselected package libxkbcommon0:ppc64el. Preparing to unpack .../057-libxkbcommon0_0.8.0-1_ppc64el.deb ... Unpacking libxkbcommon0:ppc64el (0.8.0-1) ... Selecting previously unselected package libmirclient9:ppc64el. Preparing to unpack .../058-libmirclient9_0.29.0-0ubuntu1_ppc64el.deb ... Unpacking libmirclient9:ppc64el (0.29.0-0ubuntu1) ... Selecting previously unselected package libx11-xcb1:ppc64el. Preparing to unpack .../059-libx11-xcb1_2%3a1.6.4-3_ppc64el.deb ... Unpacking libx11-xcb1:ppc64el (2:1.6.4-3) ... Selecting previously unselected package libxcb-dri2-0:ppc64el. Preparing to unpack .../060-libxcb-dri2-0_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-dri2-0:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-dri3-0:ppc64el. Preparing to unpack .../061-libxcb-dri3-0_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-dri3-0:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-present0:ppc64el. Preparing to unpack .../062-libxcb-present0_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-present0:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-sync1:ppc64el. Preparing to unpack .../063-libxcb-sync1_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-sync1:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-xfixes0:ppc64el. Preparing to unpack .../064-libxcb-xfixes0_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-xfixes0:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libxshmfence1:ppc64el. Preparing to unpack .../065-libxshmfence1_1.2-1_ppc64el.deb ... Unpacking libxshmfence1:ppc64el (1.2-1) ... Selecting previously unselected package libdrm-amdgpu1:ppc64el. Preparing to unpack .../066-libdrm-amdgpu1_2.4.89-1_ppc64el.deb ... Unpacking libdrm-amdgpu1:ppc64el (2.4.89-1) ... Selecting previously unselected package libdrm-nouveau2:ppc64el. Preparing to unpack .../067-libdrm-nouveau2_2.4.89-1_ppc64el.deb ... Unpacking libdrm-nouveau2:ppc64el (2.4.89-1) ... Selecting previously unselected package libdrm-radeon1:ppc64el. Preparing to unpack .../068-libdrm-radeon1_2.4.89-1_ppc64el.deb ... Unpacking libdrm-radeon1:ppc64el (2.4.89-1) ... Selecting previously unselected package libelf1:ppc64el. Preparing to unpack .../069-libelf1_0.170-0.2_ppc64el.deb ... Unpacking libelf1:ppc64el (0.170-0.2) ... Selecting previously unselected package libglapi-mesa:ppc64el. Preparing to unpack .../070-libglapi-mesa_17.2.4-0ubuntu2_ppc64el.deb ... Unpacking libglapi-mesa:ppc64el (17.2.4-0ubuntu2) ... Selecting previously unselected package libedit2:ppc64el. Preparing to unpack .../071-libedit2_3.1-20170329-1_ppc64el.deb ... Unpacking libedit2:ppc64el (3.1-20170329-1) ... Selecting previously unselected package libllvm5.0:ppc64el. Preparing to unpack .../072-libllvm5.0_1%3a5.0.1-2_ppc64el.deb ... Unpacking libllvm5.0:ppc64el (1:5.0.1-2) ... Selecting previously unselected package libsensors4:ppc64el. Preparing to unpack .../073-libsensors4_1%3a3.4.0-4_ppc64el.deb ... Unpacking libsensors4:ppc64el (1:3.4.0-4) ... Selecting previously unselected package libgl1-mesa-dri:ppc64el. Preparing to unpack .../074-libgl1-mesa-dri_17.2.4-0ubuntu2_ppc64el.deb ... Unpacking libgl1-mesa-dri:ppc64el (17.2.4-0ubuntu2) ... Selecting previously unselected package libegl1-mesa:ppc64el. Preparing to unpack .../075-libegl1-mesa_17.2.4-0ubuntu2_ppc64el.deb ... Unpacking libegl1-mesa:ppc64el (17.2.4-0ubuntu2) ... Selecting previously unselected package libxcb-glx0:ppc64el. Preparing to unpack .../076-libxcb-glx0_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-glx0:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libxdamage1:ppc64el. Preparing to unpack .../077-libxdamage1_1%3a1.1.4-3_ppc64el.deb ... Unpacking libxdamage1:ppc64el (1:1.1.4-3) ... Selecting previously unselected package libxfixes3:ppc64el. Preparing to unpack .../078-libxfixes3_1%3a5.0.3-1_ppc64el.deb ... Unpacking libxfixes3:ppc64el (1:5.0.3-1) ... Selecting previously unselected package libxxf86vm1:ppc64el. Preparing to unpack .../079-libxxf86vm1_1%3a1.1.4-1_ppc64el.deb ... Unpacking libxxf86vm1:ppc64el (1:1.1.4-1) ... Selecting previously unselected package libgl1-mesa-glx:ppc64el. Preparing to unpack .../080-libgl1-mesa-glx_17.2.4-0ubuntu2_ppc64el.deb ... Unpacking libgl1-mesa-glx:ppc64el (17.2.4-0ubuntu2) ... Selecting previously unselected package x11-common. Preparing to unpack .../081-x11-common_1%3a7.7+19ubuntu3_all.deb ... Unpacking x11-common (1:7.7+19ubuntu3) ... Selecting previously unselected package libice6:ppc64el. Preparing to unpack .../082-libice6_2%3a1.0.9-2_ppc64el.deb ... Unpacking libice6:ppc64el (2:1.0.9-2) ... Selecting previously unselected package libevdev2:ppc64el. Preparing to unpack .../083-libevdev2_1.5.7+dfsg-1_ppc64el.deb ... Unpacking libevdev2:ppc64el (1.5.7+dfsg-1) ... Selecting previously unselected package libgudev-1.0-0:ppc64el. Preparing to unpack .../084-libgudev-1.0-0_1%3a232-1_ppc64el.deb ... Unpacking libgudev-1.0-0:ppc64el (1:232-1) ... Selecting previously unselected package libwacom-common. Preparing to unpack .../085-libwacom-common_0.26-1_all.deb ... Unpacking libwacom-common (0.26-1) ... Selecting previously unselected package libwacom2:ppc64el. Preparing to unpack .../086-libwacom2_0.26-1_ppc64el.deb ... Unpacking libwacom2:ppc64el (0.26-1) ... Selecting previously unselected package libinput-bin. Preparing to unpack .../087-libinput-bin_1.9.4-2_ppc64el.deb ... Unpacking libinput-bin (1.9.4-2) ... Selecting previously unselected package libinput10:ppc64el. Preparing to unpack .../088-libinput10_1.9.4-2_ppc64el.deb ... Unpacking libinput10:ppc64el (1.9.4-2) ... Selecting previously unselected package libjpeg8:ppc64el. Preparing to unpack .../089-libjpeg8_8c-2ubuntu8_ppc64el.deb ... Unpacking libjpeg8:ppc64el (8c-2ubuntu8) ... Selecting previously unselected package libdbus-1-3:ppc64el. Preparing to unpack .../090-libdbus-1-3_1.12.2-1ubuntu1_ppc64el.deb ... Unpacking libdbus-1-3:ppc64el (1.12.2-1ubuntu1) ... Selecting previously unselected package libqt5dbus5:ppc64el. Preparing to unpack .../091-libqt5dbus5_5.9.3+dfsg-0ubuntu1_ppc64el.deb ... Unpacking libqt5dbus5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libqt5network5:ppc64el. Preparing to unpack .../092-libqt5network5_5.9.3+dfsg-0ubuntu1_ppc64el.deb ... Unpacking libqt5network5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libsm6:ppc64el. Preparing to unpack .../093-libsm6_2%3a1.2.2-1_ppc64el.deb ... Unpacking libsm6:ppc64el (2:1.2.2-1) ... Selecting previously unselected package libxcb-icccm4:ppc64el. Preparing to unpack .../094-libxcb-icccm4_0.4.1-1ubuntu1_ppc64el.deb ... Unpacking libxcb-icccm4:ppc64el (0.4.1-1ubuntu1) ... Selecting previously unselected package libxcb-shm0:ppc64el. Preparing to unpack .../095-libxcb-shm0_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-shm0:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-util1:ppc64el. Preparing to unpack .../096-libxcb-util1_0.4.0-0ubuntu3_ppc64el.deb ... Unpacking libxcb-util1:ppc64el (0.4.0-0ubuntu3) ... Selecting previously unselected package libxcb-image0:ppc64el. Preparing to unpack .../097-libxcb-image0_0.4.0-1build1_ppc64el.deb ... Unpacking libxcb-image0:ppc64el (0.4.0-1build1) ... Selecting previously unselected package libxcb-keysyms1:ppc64el. Preparing to unpack .../098-libxcb-keysyms1_0.4.0-1_ppc64el.deb ... Unpacking libxcb-keysyms1:ppc64el (0.4.0-1) ... Selecting previously unselected package libxcb-randr0:ppc64el. Preparing to unpack .../099-libxcb-randr0_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-randr0:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-render0:ppc64el. Preparing to unpack .../100-libxcb-render0_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-render0:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-render-util0:ppc64el. Preparing to unpack .../101-libxcb-render-util0_0.3.9-1_ppc64el.deb ... Unpacking libxcb-render-util0:ppc64el (0.3.9-1) ... Selecting previously unselected package libxcb-shape0:ppc64el. Preparing to unpack .../102-libxcb-shape0_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-shape0:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-xinerama0:ppc64el. Preparing to unpack .../103-libxcb-xinerama0_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-xinerama0:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-xkb1:ppc64el. Preparing to unpack .../104-libxcb-xkb1_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-xkb1:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libxi6:ppc64el. Preparing to unpack .../105-libxi6_2%3a1.7.9-1_ppc64el.deb ... Unpacking libxi6:ppc64el (2:1.7.9-1) ... Selecting previously unselected package libxkbcommon-x11-0:ppc64el. Preparing to unpack .../106-libxkbcommon-x11-0_0.8.0-1_ppc64el.deb ... Unpacking libxkbcommon-x11-0:ppc64el (0.8.0-1) ... Selecting previously unselected package libqt5gui5:ppc64el. Preparing to unpack .../107-libqt5gui5_5.9.3+dfsg-0ubuntu1_ppc64el.deb ... Unpacking libqt5gui5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libqt5widgets5:ppc64el. Preparing to unpack .../108-libqt5widgets5_5.9.3+dfsg-0ubuntu1_ppc64el.deb ... Unpacking libqt5widgets5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libqt5scripttools5:ppc64el. Preparing to unpack .../109-libqt5scripttools5_5.9.3+dfsg-0ubuntu1_ppc64el.deb ... Unpacking libqt5scripttools5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libqt5svg5:ppc64el. Preparing to unpack .../110-libqt5svg5_5.9.3-0ubuntu1_ppc64el.deb ... Unpacking libqt5svg5:ppc64el (5.9.3-0ubuntu1) ... Selecting previously unselected package libcap2-bin. Preparing to unpack .../111-libcap2-bin_1%3a2.25-1.2_ppc64el.deb ... Unpacking libcap2-bin (1:2.25-1.2) ... Selecting previously unselected package libgstreamer1.0-0:ppc64el. Preparing to unpack .../112-libgstreamer1.0-0_1.12.4-1_ppc64el.deb ... Unpacking libgstreamer1.0-0:ppc64el (1.12.4-1) ... Selecting previously unselected package liborc-0.4-0:ppc64el. Preparing to unpack .../113-liborc-0.4-0_1%3a0.4.28-1_ppc64el.deb ... Unpacking liborc-0.4-0:ppc64el (1:0.4.28-1) ... Selecting previously unselected package iso-codes. Preparing to unpack .../114-iso-codes_3.77-1_all.deb ... Unpacking iso-codes (3.77-1) ... Selecting previously unselected package libgstreamer-plugins-base1.0-0:ppc64el. Preparing to unpack .../115-libgstreamer-plugins-base1.0-0_1.12.4-1_ppc64el.deb ... Unpacking libgstreamer-plugins-base1.0-0:ppc64el (1.12.4-1) ... Selecting previously unselected package libhyphen0:ppc64el. Preparing to unpack .../116-libhyphen0_2.8.8-5_ppc64el.deb ... Unpacking libhyphen0:ppc64el (2.8.8-5) ... Selecting previously unselected package libqt5positioning5:ppc64el. Preparing to unpack .../117-libqt5positioning5_5.9.3+dfsg-0ubuntu1_ppc64el.deb ... Unpacking libqt5positioning5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libavahi-common-data:ppc64el. Preparing to unpack .../118-libavahi-common-data_0.7-3ubuntu1_ppc64el.deb ... Unpacking libavahi-common-data:ppc64el (0.7-3ubuntu1) ... Selecting previously unselected package libavahi-common3:ppc64el. Preparing to unpack .../119-libavahi-common3_0.7-3ubuntu1_ppc64el.deb ... Unpacking libavahi-common3:ppc64el (0.7-3ubuntu1) ... Selecting previously unselected package libavahi-client3:ppc64el. Preparing to unpack .../120-libavahi-client3_0.7-3ubuntu1_ppc64el.deb ... Unpacking libavahi-client3:ppc64el (0.7-3ubuntu1) ... Selecting previously unselected package libcups2:ppc64el. Preparing to unpack .../121-libcups2_2.2.6-4_ppc64el.deb ... Unpacking libcups2:ppc64el (2.2.6-4) ... Selecting previously unselected package libqt5printsupport5:ppc64el. Preparing to unpack .../122-libqt5printsupport5_5.9.3+dfsg-0ubuntu1_ppc64el.deb ... Unpacking libqt5printsupport5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libqt5qml5:ppc64el. Preparing to unpack .../123-libqt5qml5_5.9.3-0ubuntu1_ppc64el.deb ... Unpacking libqt5qml5:ppc64el (5.9.3-0ubuntu1) ... Selecting previously unselected package libqt5quick5:ppc64el. Preparing to unpack .../124-libqt5quick5_5.9.3-0ubuntu1_ppc64el.deb ... Unpacking libqt5quick5:ppc64el (5.9.3-0ubuntu1) ... Selecting previously unselected package libqt5sensors5:ppc64el. Preparing to unpack .../125-libqt5sensors5_5.9.3-0ubuntu1_ppc64el.deb ... Unpacking libqt5sensors5:ppc64el (5.9.3-0ubuntu1) ... Selecting previously unselected package libqt5webchannel5:ppc64el. Preparing to unpack .../126-libqt5webchannel5_5.9.3-0ubuntu1_ppc64el.deb ... Unpacking libqt5webchannel5:ppc64el (5.9.3-0ubuntu1) ... Selecting previously unselected package libwebp6:ppc64el. Preparing to unpack .../127-libwebp6_0.6.0-4_ppc64el.deb ... Unpacking libwebp6:ppc64el (0.6.0-4) ... Selecting previously unselected package libxslt1.1:ppc64el. Preparing to unpack .../128-libxslt1.1_1.1.29-5_ppc64el.deb ... Unpacking libxslt1.1:ppc64el (1.1.29-5) ... Selecting previously unselected package libqt5webkit5:ppc64el. Preparing to unpack .../129-libqt5webkit5_5.212.0~alpha2-5build4_ppc64el.deb ... Unpacking libqt5webkit5:ppc64el (5.212.0~alpha2-5build4) ... Selecting previously unselected package libpython2.7-minimal:ppc64el. Preparing to unpack .../130-libpython2.7-minimal_2.7.14-4_ppc64el.deb ... Unpacking libpython2.7-minimal:ppc64el (2.7.14-4) ... Selecting previously unselected package python2.7-minimal. Preparing to unpack .../131-python2.7-minimal_2.7.14-4_ppc64el.deb ... Unpacking python2.7-minimal (2.7.14-4) ... Selecting previously unselected package python-minimal. Preparing to unpack .../132-python-minimal_2.7.14-2ubuntu1_ppc64el.deb ... Unpacking python-minimal (2.7.14-2ubuntu1) ... Selecting previously unselected package libpython2.7-stdlib:ppc64el. Preparing to unpack .../133-libpython2.7-stdlib_2.7.14-4_ppc64el.deb ... Unpacking libpython2.7-stdlib:ppc64el (2.7.14-4) ... Selecting previously unselected package python2.7. Preparing to unpack .../134-python2.7_2.7.14-4_ppc64el.deb ... Unpacking python2.7 (2.7.14-4) ... Selecting previously unselected package libpython-stdlib:ppc64el. Preparing to unpack .../135-libpython-stdlib_2.7.14-2ubuntu1_ppc64el.deb ... Unpacking libpython-stdlib:ppc64el (2.7.14-2ubuntu1) ... Setting up libpython2.7-minimal:ppc64el (2.7.14-4) ... Setting up python2.7-minimal (2.7.14-4) ... Setting up python-minimal (2.7.14-2ubuntu1) ... Selecting previously unselected package python. (Reading database ... 20835 files and directories currently installed.) Preparing to unpack .../000-python_2.7.14-2ubuntu1_ppc64el.deb ... Unpacking python (2.7.14-2ubuntu1) ... Selecting previously unselected package xorg-sgml-doctools. Preparing to unpack .../001-xorg-sgml-doctools_1%3a1.11-1_all.deb ... Unpacking xorg-sgml-doctools (1:1.11-1) ... Selecting previously unselected package x11proto-core-dev. Preparing to unpack .../002-x11proto-core-dev_7.0.31-1_all.deb ... Unpacking x11proto-core-dev (7.0.31-1) ... Selecting previously unselected package libxau-dev:ppc64el. Preparing to unpack .../003-libxau-dev_1%3a1.0.8-1_ppc64el.deb ... Unpacking libxau-dev:ppc64el (1:1.0.8-1) ... Selecting previously unselected package libxdmcp-dev:ppc64el. Preparing to unpack .../004-libxdmcp-dev_1%3a1.1.2-3_ppc64el.deb ... Unpacking libxdmcp-dev:ppc64el (1:1.1.2-3) ... Selecting previously unselected package x11proto-input-dev. Preparing to unpack .../005-x11proto-input-dev_2.3.2-1_all.deb ... Unpacking x11proto-input-dev (2.3.2-1) ... Selecting previously unselected package x11proto-kb-dev. Preparing to unpack .../006-x11proto-kb-dev_1.0.7-1_all.deb ... Unpacking x11proto-kb-dev (1.0.7-1) ... Selecting previously unselected package xtrans-dev. Preparing to unpack .../007-xtrans-dev_1.3.5-1_all.deb ... Unpacking xtrans-dev (1.3.5-1) ... Selecting previously unselected package libpthread-stubs0-dev:ppc64el. Preparing to unpack .../008-libpthread-stubs0-dev_0.3-4_ppc64el.deb ... Unpacking libpthread-stubs0-dev:ppc64el (0.3-4) ... Selecting previously unselected package libxcb1-dev:ppc64el. Preparing to unpack .../009-libxcb1-dev_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb1-dev:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libx11-dev:ppc64el. Preparing to unpack .../010-libx11-dev_2%3a1.6.4-3_ppc64el.deb ... Unpacking libx11-dev:ppc64el (2:1.6.4-3) ... Selecting previously unselected package libdrm-dev:ppc64el. Preparing to unpack .../011-libdrm-dev_2.4.89-1_ppc64el.deb ... Unpacking libdrm-dev:ppc64el (2.4.89-1) ... Selecting previously unselected package mesa-common-dev:ppc64el. Preparing to unpack .../012-mesa-common-dev_17.2.4-0ubuntu2_ppc64el.deb ... Unpacking mesa-common-dev:ppc64el (17.2.4-0ubuntu2) ... Selecting previously unselected package libx11-xcb-dev:ppc64el. Preparing to unpack .../013-libx11-xcb-dev_2%3a1.6.4-3_ppc64el.deb ... Unpacking libx11-xcb-dev:ppc64el (2:1.6.4-3) ... Selecting previously unselected package libxcb-dri3-dev:ppc64el. Preparing to unpack .../014-libxcb-dri3-dev_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-dri3-dev:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-render0-dev:ppc64el. Preparing to unpack .../015-libxcb-render0-dev_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-render0-dev:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-randr0-dev:ppc64el. Preparing to unpack .../016-libxcb-randr0-dev_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-randr0-dev:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-shape0-dev:ppc64el. Preparing to unpack .../017-libxcb-shape0-dev_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-shape0-dev:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-xfixes0-dev:ppc64el. Preparing to unpack .../018-libxcb-xfixes0-dev_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-xfixes0-dev:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-sync-dev:ppc64el. Preparing to unpack .../019-libxcb-sync-dev_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-sync-dev:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-present-dev:ppc64el. Preparing to unpack .../020-libxcb-present-dev_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-present-dev:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libxshmfence-dev:ppc64el. Preparing to unpack .../021-libxshmfence-dev_1.2-1_ppc64el.deb ... Unpacking libxshmfence-dev:ppc64el (1.2-1) ... Selecting previously unselected package libxcb-dri2-0-dev:ppc64el. Preparing to unpack .../022-libxcb-dri2-0-dev_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-dri2-0-dev:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-glx0-dev:ppc64el. Preparing to unpack .../023-libxcb-glx0-dev_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-glx0-dev:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package x11proto-xext-dev. Preparing to unpack .../024-x11proto-xext-dev_7.3.0-1_all.deb ... Unpacking x11proto-xext-dev (7.3.0-1) ... Selecting previously unselected package x11proto-fixes-dev. Preparing to unpack .../025-x11proto-fixes-dev_1%3a5.0-2ubuntu2_all.deb ... Unpacking x11proto-fixes-dev (1:5.0-2ubuntu2) ... Selecting previously unselected package libxfixes-dev:ppc64el. Preparing to unpack .../026-libxfixes-dev_1%3a5.0.3-1_ppc64el.deb ... Unpacking libxfixes-dev:ppc64el (1:5.0.3-1) ... Selecting previously unselected package x11proto-damage-dev. Preparing to unpack .../027-x11proto-damage-dev_1%3a1.2.1-2_all.deb ... Unpacking x11proto-damage-dev (1:1.2.1-2) ... Selecting previously unselected package libxdamage-dev:ppc64el. Preparing to unpack .../028-libxdamage-dev_1%3a1.1.4-3_ppc64el.deb ... Unpacking libxdamage-dev:ppc64el (1:1.1.4-3) ... Selecting previously unselected package libxext-dev:ppc64el. Preparing to unpack .../029-libxext-dev_2%3a1.3.3-1_ppc64el.deb ... Unpacking libxext-dev:ppc64el (2:1.3.3-1) ... Selecting previously unselected package x11proto-xf86vidmode-dev. Preparing to unpack .../030-x11proto-xf86vidmode-dev_2.3.1-2_all.deb ... Unpacking x11proto-xf86vidmode-dev (2.3.1-2) ... Selecting previously unselected package libxxf86vm-dev:ppc64el. Preparing to unpack .../031-libxxf86vm-dev_1%3a1.1.4-1_ppc64el.deb ... Unpacking libxxf86vm-dev:ppc64el (1:1.1.4-1) ... Selecting previously unselected package x11proto-dri2-dev. Preparing to unpack .../032-x11proto-dri2-dev_2.8-2_all.deb ... Unpacking x11proto-dri2-dev (2.8-2) ... Selecting previously unselected package x11proto-gl-dev. Preparing to unpack .../033-x11proto-gl-dev_1.4.17-1_all.deb ... Unpacking x11proto-gl-dev (1.4.17-1) ... Selecting previously unselected package libgl1-mesa-dev:ppc64el. Preparing to unpack .../034-libgl1-mesa-dev_17.2.4-0ubuntu2_ppc64el.deb ... Unpacking libgl1-mesa-dev:ppc64el (17.2.4-0ubuntu2) ... Selecting previously unselected package libgles2-mesa:ppc64el. Preparing to unpack .../035-libgles2-mesa_17.2.4-0ubuntu2_ppc64el.deb ... Unpacking libgles2-mesa:ppc64el (17.2.4-0ubuntu2) ... Selecting previously unselected package libwayland-egl1-mesa:ppc64el. Preparing to unpack .../036-libwayland-egl1-mesa_17.2.4-0ubuntu2_ppc64el.deb ... Unpacking libwayland-egl1-mesa:ppc64el (17.2.4-0ubuntu2) ... Selecting previously unselected package libwayland-cursor0:ppc64el. Preparing to unpack .../037-libwayland-cursor0_1.14.0-1_ppc64el.deb ... Unpacking libwayland-cursor0:ppc64el (1.14.0-1) ... Selecting previously unselected package libwayland-bin. Preparing to unpack .../038-libwayland-bin_1.14.0-1_ppc64el.deb ... Unpacking libwayland-bin (1.14.0-1) ... Selecting previously unselected package libwayland-dev:ppc64el. Preparing to unpack .../039-libwayland-dev_1.14.0-1_ppc64el.deb ... Unpacking libwayland-dev:ppc64el (1.14.0-1) ... Selecting previously unselected package libegl1-mesa-dev:ppc64el. Preparing to unpack .../040-libegl1-mesa-dev_17.2.4-0ubuntu2_ppc64el.deb ... Unpacking libegl1-mesa-dev:ppc64el (17.2.4-0ubuntu2) ... Selecting previously unselected package libgles2-mesa-dev:ppc64el. Preparing to unpack .../041-libgles2-mesa-dev_17.2.4-0ubuntu2_ppc64el.deb ... Unpacking libgles2-mesa-dev:ppc64el (17.2.4-0ubuntu2) ... Selecting previously unselected package libglu1-mesa:ppc64el. Preparing to unpack .../042-libglu1-mesa_9.0.0-2.1build1_ppc64el.deb ... Unpacking libglu1-mesa:ppc64el (9.0.0-2.1build1) ... Selecting previously unselected package libglu1-mesa-dev:ppc64el. Preparing to unpack .../043-libglu1-mesa-dev_9.0.0-2.1build1_ppc64el.deb ... Unpacking libglu1-mesa-dev:ppc64el (9.0.0-2.1build1) ... Selecting previously unselected package libqt5concurrent5:ppc64el. Preparing to unpack .../044-libqt5concurrent5_5.9.3+dfsg-0ubuntu1_ppc64el.deb ... Unpacking libqt5concurrent5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libqt5sql5:ppc64el. Preparing to unpack .../045-libqt5sql5_5.9.3+dfsg-0ubuntu1_ppc64el.deb ... Unpacking libqt5sql5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libqt5test5:ppc64el. Preparing to unpack .../046-libqt5test5_5.9.3+dfsg-0ubuntu1_ppc64el.deb ... Unpacking libqt5test5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libqt5xml5:ppc64el. Preparing to unpack .../047-libqt5xml5_5.9.3+dfsg-0ubuntu1_ppc64el.deb ... Unpacking libqt5xml5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package qt5-qmake-bin. Preparing to unpack .../048-qt5-qmake-bin_5.9.3+dfsg-0ubuntu1_ppc64el.deb ... Unpacking qt5-qmake-bin (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package qtchooser. Preparing to unpack .../049-qtchooser_64-ga1b6736-5_ppc64el.deb ... Unpacking qtchooser (64-ga1b6736-5) ... Selecting previously unselected package qt5-qmake:ppc64el. Preparing to unpack .../050-qt5-qmake_5.9.3+dfsg-0ubuntu1_ppc64el.deb ... Unpacking qt5-qmake:ppc64el (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package qtbase5-dev-tools. Preparing to unpack .../051-qtbase5-dev-tools_5.9.3+dfsg-0ubuntu1_ppc64el.deb ... Unpacking qtbase5-dev-tools (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package qtbase5-dev:ppc64el. Preparing to unpack .../052-qtbase5-dev_5.9.3+dfsg-0ubuntu1_ppc64el.deb ... Unpacking qtbase5-dev:ppc64el (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package qtscript5-dev:ppc64el. Preparing to unpack .../053-qtscript5-dev_5.9.3+dfsg-0ubuntu1_ppc64el.deb ... Unpacking qtscript5-dev:ppc64el (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libjbig0:ppc64el. Preparing to unpack .../054-libjbig0_2.1-3.1_ppc64el.deb ... Unpacking libjbig0:ppc64el (2.1-3.1) ... Selecting previously unselected package dbus. Preparing to unpack .../055-dbus_1.12.2-1ubuntu1_ppc64el.deb ... Unpacking dbus (1.12.2-1ubuntu1) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../056-libmagic-mgc_1%3a5.32-1_ppc64el.deb ... Unpacking libmagic-mgc (1:5.32-1) ... Selecting previously unselected package libmagic1:ppc64el. Preparing to unpack .../057-libmagic1_1%3a5.32-1_ppc64el.deb ... Unpacking libmagic1:ppc64el (1:5.32-1) ... Selecting previously unselected package file. Preparing to unpack .../058-file_1%3a5.32-1_ppc64el.deb ... Unpacking file (1:5.32-1) ... Selecting previously unselected package libfribidi0:ppc64el. Preparing to unpack .../059-libfribidi0_0.19.7-2_ppc64el.deb ... Unpacking libfribidi0:ppc64el (0.19.7-2) ... Selecting previously unselected package libpam-systemd:ppc64el. Preparing to unpack .../060-libpam-systemd_235-3ubuntu3_ppc64el.deb ... Unpacking libpam-systemd:ppc64el (235-3ubuntu3) ... Selecting previously unselected package netbase. Preparing to unpack .../061-netbase_5.4_all.deb ... Unpacking netbase (5.4) ... Selecting previously unselected package shared-mime-info. Preparing to unpack .../062-shared-mime-info_1.9-2_ppc64el.deb ... Unpacking shared-mime-info (1.9-2) ... Selecting previously unselected package gettext-base. Preparing to unpack .../063-gettext-base_0.19.8.1-4ubuntu2_ppc64el.deb ... Unpacking gettext-base (0.19.8.1-4ubuntu2) ... Selecting previously unselected package libnuma1:ppc64el. Preparing to unpack .../064-libnuma1_2.0.11-2.1_ppc64el.deb ... Unpacking libnuma1:ppc64el (2.0.11-2.1) ... Selecting previously unselected package libpolkit-gobject-1-0:ppc64el. Preparing to unpack .../065-libpolkit-gobject-1-0_0.105-18_ppc64el.deb ... Unpacking libpolkit-gobject-1-0:ppc64el (0.105-18) ... Selecting previously unselected package libsigsegv2:ppc64el. Preparing to unpack .../066-libsigsegv2_2.11-1_ppc64el.deb ... Unpacking libsigsegv2:ppc64el (2.11-1) ... Selecting previously unselected package m4. Preparing to unpack .../067-m4_1.4.18-1_ppc64el.deb ... Unpacking m4 (1.4.18-1) ... Selecting previously unselected package autoconf. Preparing to unpack .../068-autoconf_2.69-11_all.deb ... Unpacking autoconf (2.69-11) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../069-autotools-dev_20171216.1_all.deb ... Unpacking autotools-dev (20171216.1) ... Selecting previously unselected package automake. Preparing to unpack .../070-automake_1%3a1.15.1-3ubuntu1_all.deb ... Unpacking automake (1:1.15.1-3ubuntu1) ... Selecting previously unselected package autopoint. Preparing to unpack .../071-autopoint_0.19.8.1-4ubuntu2_all.deb ... Unpacking autopoint (0.19.8.1-4ubuntu2) ... Selecting previously unselected package libtool. Preparing to unpack .../072-libtool_2.4.6-2_all.deb ... Unpacking libtool (2.4.6-2) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../073-dh-autoreconf_15_all.deb ... Unpacking dh-autoreconf (15) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../074-libarchive-zip-perl_1.60-1_all.deb ... Unpacking libarchive-zip-perl (1.60-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../075-libfile-stripnondeterminism-perl_0.040-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (0.040-1) ... Selecting previously unselected package libtimedate-perl. Preparing to unpack .../076-libtimedate-perl_2.3000-2_all.deb ... Unpacking libtimedate-perl (2.3000-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../077-dh-strip-nondeterminism_0.040-1_all.deb ... Unpacking dh-strip-nondeterminism (0.040-1) ... Selecting previously unselected package libcroco3:ppc64el. Preparing to unpack .../078-libcroco3_0.6.12-2_ppc64el.deb ... Unpacking libcroco3:ppc64el (0.6.12-2) ... Selecting previously unselected package gettext. Preparing to unpack .../079-gettext_0.19.8.1-4ubuntu2_ppc64el.deb ... Unpacking gettext (0.19.8.1-4ubuntu2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../080-intltool-debian_0.35.0+20060710.4_all.deb ... Unpacking intltool-debian (0.35.0+20060710.4) ... Selecting previously unselected package po-debconf. Preparing to unpack .../081-po-debconf_1.0.20_all.deb ... Unpacking po-debconf (1.0.20) ... Selecting previously unselected package debhelper. Preparing to unpack .../082-debhelper_11ubuntu1_all.deb ... Unpacking debhelper (11ubuntu1) ... Selecting previously unselected package diffstat. Preparing to unpack .../083-diffstat_1.61-1build1_ppc64el.deb ... Unpacking diffstat (1.61-1build1) ... Selecting previously unselected package extra-cmake-modules. Preparing to unpack .../084-extra-cmake-modules_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking extra-cmake-modules (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5config-data. Preparing to unpack .../085-libkf5config-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5config-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5configcore5:ppc64el. Preparing to unpack .../086-libkf5configcore5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5configcore5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5coreaddons-data. Preparing to unpack .../087-libkf5coreaddons-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5coreaddons-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libfam0:ppc64el. Preparing to unpack .../088-libfam0_2.7.0-17.2_ppc64el.deb ... Unpacking libfam0:ppc64el (2.7.0-17.2) ... Selecting previously unselected package libkf5coreaddons5:ppc64el. Preparing to unpack .../089-libkf5coreaddons5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5coreaddons5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5windowsystem-data. Preparing to unpack .../090-libkf5windowsystem-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5windowsystem-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libqt5x11extras5:ppc64el. Preparing to unpack .../091-libqt5x11extras5_5.9.3-0ubuntu1_ppc64el.deb ... Unpacking libqt5x11extras5:ppc64el (5.9.3-0ubuntu1) ... Selecting previously unselected package libkf5windowsystem5:ppc64el. Preparing to unpack .../092-libkf5windowsystem5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5windowsystem5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5crash5:ppc64el. Preparing to unpack .../093-libkf5crash5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5crash5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5i18n-data. Preparing to unpack .../094-libkf5i18n-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5i18n-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5i18n5:ppc64el. Preparing to unpack .../095-libkf5i18n5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5i18n5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5dbusaddons-data. Preparing to unpack .../096-libkf5dbusaddons-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5dbusaddons-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5dbusaddons5:ppc64el. Preparing to unpack .../097-libkf5dbusaddons5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5dbusaddons5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5service-data. Preparing to unpack .../098-libkf5service-data_5.41.0-0ubuntu2_all.deb ... Unpacking libkf5service-data (5.41.0-0ubuntu2) ... Selecting previously unselected package libkf5service5:ppc64el. Preparing to unpack .../099-libkf5service5_5.41.0-0ubuntu2_ppc64el.deb ... Unpacking libkf5service5:ppc64el (5.41.0-0ubuntu2) ... Selecting previously unselected package libkf5service-bin. Preparing to unpack .../100-libkf5service-bin_5.41.0-0ubuntu2_ppc64el.deb ... Unpacking libkf5service-bin (5.41.0-0ubuntu2) ... Selecting previously unselected package libkf5kiocore5:ppc64el. Preparing to unpack .../101-libkf5kiocore5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5kiocore5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5completion-data. Preparing to unpack .../102-libkf5completion-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5completion-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5configgui5:ppc64el. Preparing to unpack .../103-libkf5configgui5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5configgui5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5widgetsaddons-data. Preparing to unpack .../104-libkf5widgetsaddons-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5widgetsaddons-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5widgetsaddons5:ppc64el. Preparing to unpack .../105-libkf5widgetsaddons5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5widgetsaddons5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5completion5:ppc64el. Preparing to unpack .../106-libkf5completion5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5completion5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5configwidgets-data. Preparing to unpack .../107-libkf5configwidgets-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5configwidgets-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5auth-data. Preparing to unpack .../108-libkf5auth-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5auth-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libpolkit-agent-1-0:ppc64el. Preparing to unpack .../109-libpolkit-agent-1-0_0.105-18_ppc64el.deb ... Unpacking libpolkit-agent-1-0:ppc64el (0.105-18) ... Selecting previously unselected package libpolkit-qt5-1-1:ppc64el. Preparing to unpack .../110-libpolkit-qt5-1-1_0.112.0-5_ppc64el.deb ... Unpacking libpolkit-qt5-1-1:ppc64el (0.112.0-5) ... Selecting previously unselected package libkf5auth5:ppc64el. Preparing to unpack .../111-libkf5auth5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5auth5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5codecs-data. Preparing to unpack .../112-libkf5codecs-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5codecs-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5codecs5:ppc64el. Preparing to unpack .../113-libkf5codecs5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5codecs5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5guiaddons5:ppc64el. Preparing to unpack .../114-libkf5guiaddons5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5guiaddons5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5configwidgets5:ppc64el. Preparing to unpack .../115-libkf5configwidgets5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5configwidgets5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5iconthemes-data. Preparing to unpack .../116-libkf5iconthemes-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5iconthemes-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5archive5:ppc64el. Preparing to unpack .../117-libkf5archive5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5archive5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5itemviews-data. Preparing to unpack .../118-libkf5itemviews-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5itemviews-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5itemviews5:ppc64el. Preparing to unpack .../119-libkf5itemviews5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5itemviews5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5iconthemes5:ppc64el. Preparing to unpack .../120-libkf5iconthemes5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5iconthemes5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5jobwidgets-data. Preparing to unpack .../121-libkf5jobwidgets-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5jobwidgets-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5jobwidgets5:ppc64el. Preparing to unpack .../122-libkf5jobwidgets5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5jobwidgets5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5kiowidgets5:ppc64el. Preparing to unpack .../123-libkf5kiowidgets5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5kiowidgets5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package kinit. Preparing to unpack .../124-kinit_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking kinit (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5doctools5:ppc64el. Preparing to unpack .../125-libkf5doctools5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5doctools5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5kiontlm5:ppc64el. Preparing to unpack .../126-libkf5kiontlm5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5kiontlm5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5notifications-data. Preparing to unpack .../127-libkf5notifications-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5notifications-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libdbusmenu-qt5:ppc64el. Preparing to unpack .../128-libdbusmenu-qt5_0.9.3+16.04.20160218-0ubuntu1_ppc64el.deb ... Unpacking libdbusmenu-qt5:ppc64el (0.9.3+16.04.20160218-0ubuntu1) ... Selecting previously unselected package libasyncns0:ppc64el. Preparing to unpack .../129-libasyncns0_0.8-6_ppc64el.deb ... Unpacking libasyncns0:ppc64el (0.8-6) ... Selecting previously unselected package libflac8:ppc64el. Preparing to unpack .../130-libflac8_1.3.2-1_ppc64el.deb ... Unpacking libflac8:ppc64el (1.3.2-1) ... Selecting previously unselected package libvorbis0a:ppc64el. Preparing to unpack .../131-libvorbis0a_1.3.5-4.1_ppc64el.deb ... Unpacking libvorbis0a:ppc64el (1.3.5-4.1) ... Selecting previously unselected package libvorbisenc2:ppc64el. Preparing to unpack .../132-libvorbisenc2_1.3.5-4.1_ppc64el.deb ... Unpacking libvorbisenc2:ppc64el (1.3.5-4.1) ... Selecting previously unselected package libsndfile1:ppc64el. Preparing to unpack .../133-libsndfile1_1.0.28-4_ppc64el.deb ... Unpacking libsndfile1:ppc64el (1.0.28-4) ... Selecting previously unselected package libwrap0:ppc64el. Preparing to unpack .../134-libwrap0_7.6.q-27_ppc64el.deb ... Unpacking libwrap0:ppc64el (7.6.q-27) ... Selecting previously unselected package libpulse0:ppc64el. Preparing to unpack .../135-libpulse0_1%3a11.1-1ubuntu2_ppc64el.deb ... Unpacking libpulse0:ppc64el (1:11.1-1ubuntu2) ... Selecting previously unselected package libpulse-mainloop-glib0:ppc64el. Preparing to unpack .../136-libpulse-mainloop-glib0_1%3a11.1-1ubuntu2_ppc64el.deb ... Unpacking libpulse-mainloop-glib0:ppc64el (1:11.1-1ubuntu2) ... Selecting previously unselected package libphonon4qt5-4:ppc64el. Preparing to unpack .../137-libphonon4qt5-4_4%3a4.9.1-3_ppc64el.deb ... Unpacking libphonon4qt5-4:ppc64el (4:4.9.1-3) ... Selecting previously unselected package vlc-data. Preparing to unpack .../138-vlc-data_3.0.0~rc4-1ubuntu1_all.deb ... Unpacking vlc-data (3.0.0~rc4-1ubuntu1) ... Selecting previously unselected package liba52-0.7.4:ppc64el. Preparing to unpack .../139-liba52-0.7.4_0.7.4-19_ppc64el.deb ... Unpacking liba52-0.7.4:ppc64el (0.7.4-19) ... Selecting previously unselected package libaribb24-0:ppc64el. Preparing to unpack .../140-libaribb24-0_1.0.3-1_ppc64el.deb ... Unpacking libaribb24-0:ppc64el (1.0.3-1) ... Selecting previously unselected package libasound2-data. Preparing to unpack .../141-libasound2-data_1.1.3-5_all.deb ... Unpacking libasound2-data (1.1.3-5) ... Selecting previously unselected package libasound2:ppc64el. Preparing to unpack .../142-libasound2_1.1.3-5_ppc64el.deb ... Unpacking libasound2:ppc64el (1.1.3-5) ... Selecting previously unselected package libass9:ppc64el. Preparing to unpack .../143-libass9_1%3a0.14.0-1_ppc64el.deb ... Unpacking libass9:ppc64el (1:0.14.0-1) ... Selecting previously unselected package libraw1394-11:ppc64el. Preparing to unpack .../144-libraw1394-11_2.1.2-1_ppc64el.deb ... Unpacking libraw1394-11:ppc64el (2.1.2-1) ... Selecting previously unselected package libavc1394-0:ppc64el. Preparing to unpack .../145-libavc1394-0_0.5.4-4_ppc64el.deb ... Unpacking libavc1394-0:ppc64el (0.5.4-4) ... Selecting previously unselected package libva2:ppc64el. Preparing to unpack .../146-libva2_2.0.0-2_ppc64el.deb ... Unpacking libva2:ppc64el (2.0.0-2) ... Selecting previously unselected package libva-drm2:ppc64el. Preparing to unpack .../147-libva-drm2_2.0.0-2_ppc64el.deb ... Unpacking libva-drm2:ppc64el (2.0.0-2) ... Selecting previously unselected package libva-x11-2:ppc64el. Preparing to unpack .../148-libva-x11-2_2.0.0-2_ppc64el.deb ... Unpacking libva-x11-2:ppc64el (2.0.0-2) ... Selecting previously unselected package libvdpau1:ppc64el. Preparing to unpack .../149-libvdpau1_1.1.1-3ubuntu1_ppc64el.deb ... Unpacking libvdpau1:ppc64el (1.1.1-3ubuntu1) ... Selecting previously unselected package libavutil55:ppc64el. Preparing to unpack .../150-libavutil55_7%3a3.4.1-1_ppc64el.deb ... Unpacking libavutil55:ppc64el (7:3.4.1-1) ... Selecting previously unselected package libpixman-1-0:ppc64el. Preparing to unpack .../151-libpixman-1-0_0.34.0-2_ppc64el.deb ... Unpacking libpixman-1-0:ppc64el (0.34.0-2) ... Selecting previously unselected package libxrender1:ppc64el. Preparing to unpack .../152-libxrender1_1%3a0.9.10-1_ppc64el.deb ... Unpacking libxrender1:ppc64el (1:0.9.10-1) ... Selecting previously unselected package libcairo2:ppc64el. Preparing to unpack .../153-libcairo2_1.15.8-3_ppc64el.deb ... Unpacking libcairo2:ppc64el (1.15.8-3) ... Selecting previously unselected package libmp3lame0:ppc64el. Preparing to unpack .../154-libmp3lame0_3.100-2_ppc64el.deb ... Unpacking libmp3lame0:ppc64el (3.100-2) ... Selecting previously unselected package libopenjp2-7:ppc64el. Preparing to unpack .../155-libopenjp2-7_2.3.0-1_ppc64el.deb ... Unpacking libopenjp2-7:ppc64el (2.3.0-1) ... Selecting previously unselected package libopus0:ppc64el. Preparing to unpack .../156-libopus0_1.1.2-1ubuntu1_ppc64el.deb ... Unpacking libopus0:ppc64el (1.1.2-1ubuntu1) ... Selecting previously unselected package libtiff5:ppc64el. Preparing to unpack .../157-libtiff5_4.0.9-3_ppc64el.deb ... Unpacking libtiff5:ppc64el (4.0.9-3) ... Selecting previously unselected package libgdk-pixbuf2.0-common. Preparing to unpack .../158-libgdk-pixbuf2.0-common_2.36.11-1_all.deb ... Unpacking libgdk-pixbuf2.0-common (2.36.11-1) ... Selecting previously unselected package libgdk-pixbuf2.0-0:ppc64el. Preparing to unpack .../159-libgdk-pixbuf2.0-0_2.36.11-1_ppc64el.deb ... Unpacking libgdk-pixbuf2.0-0:ppc64el (2.36.11-1) ... Selecting previously unselected package libthai-data. Preparing to unpack .../160-libthai-data_0.1.27-1_all.deb ... Unpacking libthai-data (0.1.27-1) ... Selecting previously unselected package libdatrie1:ppc64el. Preparing to unpack .../161-libdatrie1_0.2.10-6_ppc64el.deb ... Unpacking libdatrie1:ppc64el (0.2.10-6) ... Selecting previously unselected package libthai0:ppc64el. Preparing to unpack .../162-libthai0_0.1.27-1_ppc64el.deb ... Unpacking libthai0:ppc64el (0.1.27-1) ... Selecting previously unselected package libpango-1.0-0:ppc64el. Preparing to unpack .../163-libpango-1.0-0_1.40.14-1_ppc64el.deb ... Unpacking libpango-1.0-0:ppc64el (1.40.14-1) ... Selecting previously unselected package libpangoft2-1.0-0:ppc64el. Preparing to unpack .../164-libpangoft2-1.0-0_1.40.14-1_ppc64el.deb ... Unpacking libpangoft2-1.0-0:ppc64el (1.40.14-1) ... Selecting previously unselected package libpangocairo-1.0-0:ppc64el. Preparing to unpack .../165-libpangocairo-1.0-0_1.40.14-1_ppc64el.deb ... Unpacking libpangocairo-1.0-0:ppc64el (1.40.14-1) ... Selecting previously unselected package librsvg2-2:ppc64el. Preparing to unpack .../166-librsvg2-2_2.40.18-2_ppc64el.deb ... Unpacking librsvg2-2:ppc64el (2.40.18-2) ... Selecting previously unselected package libshine3:ppc64el. Preparing to unpack .../167-libshine3_3.1.1-1_ppc64el.deb ... Unpacking libshine3:ppc64el (3.1.1-1) ... Selecting previously unselected package libsnappy1v5:ppc64el. Preparing to unpack .../168-libsnappy1v5_1.1.7-1_ppc64el.deb ... Unpacking libsnappy1v5:ppc64el (1.1.7-1) ... Selecting previously unselected package libspeex1:ppc64el. Preparing to unpack .../169-libspeex1_1.2~rc1.2-1ubuntu1_ppc64el.deb ... Unpacking libspeex1:ppc64el (1.2~rc1.2-1ubuntu1) ... Selecting previously unselected package libsoxr0:ppc64el. Preparing to unpack .../170-libsoxr0_0.1.2-3_ppc64el.deb ... Unpacking libsoxr0:ppc64el (0.1.2-3) ... Selecting previously unselected package libswresample2:ppc64el. Preparing to unpack .../171-libswresample2_7%3a3.4.1-1_ppc64el.deb ... Unpacking libswresample2:ppc64el (7:3.4.1-1) ... Selecting previously unselected package libtheora0:ppc64el. Preparing to unpack .../172-libtheora0_1.1.1+dfsg.1-14_ppc64el.deb ... Unpacking libtheora0:ppc64el (1.1.1+dfsg.1-14) ... Selecting previously unselected package libtwolame0:ppc64el. Preparing to unpack .../173-libtwolame0_0.3.13-3_ppc64el.deb ... Unpacking libtwolame0:ppc64el (0.3.13-3) ... Selecting previously unselected package libvpx4:ppc64el. Preparing to unpack .../174-libvpx4_1.6.1-3_ppc64el.deb ... Unpacking libvpx4:ppc64el (1.6.1-3) ... Selecting previously unselected package libwavpack1:ppc64el. Preparing to unpack .../175-libwavpack1_5.1.0-2_ppc64el.deb ... Unpacking libwavpack1:ppc64el (5.1.0-2) ... Selecting previously unselected package libwebpmux3:ppc64el. Preparing to unpack .../176-libwebpmux3_0.6.0-4_ppc64el.deb ... Unpacking libwebpmux3:ppc64el (0.6.0-4) ... Selecting previously unselected package libx264-148:ppc64el. Preparing to unpack .../177-libx264-148_2%3a0.148.2795+gitaaa9aa8-1_ppc64el.deb ... Unpacking libx264-148:ppc64el (2:0.148.2795+gitaaa9aa8-1) ... Selecting previously unselected package libx265-146:ppc64el. Preparing to unpack .../178-libx265-146_2.6-3_ppc64el.deb ... Unpacking libx265-146:ppc64el (2.6-3) ... Selecting previously unselected package libxvidcore4:ppc64el. Preparing to unpack .../179-libxvidcore4_2%3a1.3.4-1_ppc64el.deb ... Unpacking libxvidcore4:ppc64el (2:1.3.4-1) ... Selecting previously unselected package libzvbi-common. Preparing to unpack .../180-libzvbi-common_0.2.35-13_all.deb ... Unpacking libzvbi-common (0.2.35-13) ... Selecting previously unselected package libzvbi0:ppc64el. Preparing to unpack .../181-libzvbi0_0.2.35-13_ppc64el.deb ... Unpacking libzvbi0:ppc64el (0.2.35-13) ... Selecting previously unselected package libavcodec57:ppc64el. Preparing to unpack .../182-libavcodec57_7%3a3.4.1-1_ppc64el.deb ... Unpacking libavcodec57:ppc64el (7:3.4.1-1) ... Selecting previously unselected package libbluray2:ppc64el. Preparing to unpack .../183-libbluray2_1%3a1.0.2-1_ppc64el.deb ... Unpacking libbluray2:ppc64el (1:1.0.2-1) ... Selecting previously unselected package libchromaprint1:ppc64el. Preparing to unpack .../184-libchromaprint1_1.4.2-1_ppc64el.deb ... Unpacking libchromaprint1:ppc64el (1.4.2-1) ... Selecting previously unselected package libgme0:ppc64el. Preparing to unpack .../185-libgme0_0.6.2-1_ppc64el.deb ... Unpacking libgme0:ppc64el (0.6.2-1) ... Selecting previously unselected package libmpg123-0:ppc64el. Preparing to unpack .../186-libmpg123-0_1.25.8-1_ppc64el.deb ... Unpacking libmpg123-0:ppc64el (1.25.8-1) ... Selecting previously unselected package libvorbisfile3:ppc64el. Preparing to unpack .../187-libvorbisfile3_1.3.5-4.1_ppc64el.deb ... Unpacking libvorbisfile3:ppc64el (1.3.5-4.1) ... Selecting previously unselected package libopenmpt0:ppc64el. Preparing to unpack .../188-libopenmpt0_0.3.4-1_ppc64el.deb ... Unpacking libopenmpt0:ppc64el (0.3.4-1) ... Selecting previously unselected package libssh-gcrypt-4:ppc64el. Preparing to unpack .../189-libssh-gcrypt-4_0.8.0~20170825.94fa1e38-1_ppc64el.deb ... Unpacking libssh-gcrypt-4:ppc64el (0.8.0~20170825.94fa1e38-1) ... Selecting previously unselected package libavformat57:ppc64el. Preparing to unpack .../190-libavformat57_7%3a3.4.1-1_ppc64el.deb ... Unpacking libavformat57:ppc64el (7:3.4.1-1) ... Selecting previously unselected package libbasicusageenvironment1:ppc64el. Preparing to unpack .../191-libbasicusageenvironment1_2017.09.12-1ubuntu1_ppc64el.deb ... Unpacking libbasicusageenvironment1:ppc64el (2017.09.12-1ubuntu1) ... Selecting previously unselected package libcddb2. Preparing to unpack .../192-libcddb2_1.3.2-5fakesync1_ppc64el.deb ... Unpacking libcddb2 (1.3.2-5fakesync1) ... Selecting previously unselected package libdc1394-22:ppc64el. Preparing to unpack .../193-libdc1394-22_2.2.5-1_ppc64el.deb ... Unpacking libdc1394-22:ppc64el (2.2.5-1) ... Selecting previously unselected package libdca0:ppc64el. Preparing to unpack .../194-libdca0_0.0.5-10_ppc64el.deb ... Unpacking libdca0:ppc64el (0.0.5-10) ... Selecting previously unselected package libdvbpsi10:ppc64el. Preparing to unpack .../195-libdvbpsi10_1.3.1-2_ppc64el.deb ... Unpacking libdvbpsi10:ppc64el (1.3.1-2) ... Selecting previously unselected package libdvdread4:ppc64el. Preparing to unpack .../196-libdvdread4_5.0.3-2_ppc64el.deb ... Unpacking libdvdread4:ppc64el (5.0.3-2) ... Selecting previously unselected package libdvdnav4:ppc64el. Preparing to unpack .../197-libdvdnav4_5.0.3-3_ppc64el.deb ... Unpacking libdvdnav4:ppc64el (5.0.3-3) ... Selecting previously unselected package libebml4v5:ppc64el. Preparing to unpack .../198-libebml4v5_1.3.5-2_ppc64el.deb ... Unpacking libebml4v5:ppc64el (1.3.5-2) ... Selecting previously unselected package libfaad2:ppc64el. Preparing to unpack .../199-libfaad2_2.8.8-1_ppc64el.deb ... Unpacking libfaad2:ppc64el (2.8.8-1) ... Selecting previously unselected package libgroupsock8:ppc64el. Preparing to unpack .../200-libgroupsock8_2017.09.12-1ubuntu1_ppc64el.deb ... Unpacking libgroupsock8:ppc64el (2017.09.12-1ubuntu1) ... Selecting previously unselected package libkate1:ppc64el. Preparing to unpack .../201-libkate1_0.4.1-7build1_ppc64el.deb ... Unpacking libkate1:ppc64el (0.4.1-7build1) ... Selecting previously unselected package liblirc-client0:ppc64el. Preparing to unpack .../202-liblirc-client0_0.10.0-2_ppc64el.deb ... Unpacking liblirc-client0:ppc64el (0.10.0-2) ... Selecting previously unselected package liblivemedia58:ppc64el. Preparing to unpack .../203-liblivemedia58_2017.09.12-1ubuntu1_ppc64el.deb ... Unpacking liblivemedia58:ppc64el (2017.09.12-1ubuntu1) ... Selecting previously unselected package liblua5.2-0:ppc64el. Preparing to unpack .../204-liblua5.2-0_5.2.4-1.1build1_ppc64el.deb ... Unpacking liblua5.2-0:ppc64el (5.2.4-1.1build1) ... Selecting previously unselected package libmatroska6v5:ppc64el. Preparing to unpack .../205-libmatroska6v5_1.4.8-1.1_ppc64el.deb ... Unpacking libmatroska6v5:ppc64el (1.4.8-1.1) ... Selecting previously unselected package libmicrodns0:ppc64el. Preparing to unpack .../206-libmicrodns0_0.0.8-1_ppc64el.deb ... Unpacking libmicrodns0:ppc64el (0.0.8-1) ... Selecting previously unselected package libmpcdec6:ppc64el. Preparing to unpack .../207-libmpcdec6_2%3a0.1~r495-1_ppc64el.deb ... Unpacking libmpcdec6:ppc64el (2:0.1~r495-1) ... Selecting previously unselected package libmpeg2-4:ppc64el. Preparing to unpack .../208-libmpeg2-4_0.5.1-8_ppc64el.deb ... Unpacking libmpeg2-4:ppc64el (0.5.1-8) ... Selecting previously unselected package libnfs8:ppc64el. Preparing to unpack .../209-libnfs8_1.11.0-2_ppc64el.deb ... Unpacking libnfs8:ppc64el (1.11.0-2) ... Selecting previously unselected package libopenmpt-modplug1:ppc64el. Preparing to unpack .../210-libopenmpt-modplug1_0.3.4-1_ppc64el.deb ... Unpacking libopenmpt-modplug1:ppc64el (0.3.4-1) ... Selecting previously unselected package libpostproc54:ppc64el. Preparing to unpack .../211-libpostproc54_7%3a3.4.1-1_ppc64el.deb ... Unpacking libpostproc54:ppc64el (7:3.4.1-1) ... Selecting previously unselected package libresid-builder0c2a. Preparing to unpack .../212-libresid-builder0c2a_2.1.1-15ubuntu1_ppc64el.deb ... Unpacking libresid-builder0c2a (2.1.1-15ubuntu1) ... Selecting previously unselected package libsamplerate0:ppc64el. Preparing to unpack .../213-libsamplerate0_0.1.9-1_ppc64el.deb ... Unpacking libsamplerate0:ppc64el (0.1.9-1) ... Selecting previously unselected package libcaca0:ppc64el. Preparing to unpack .../214-libcaca0_0.99.beta19-2build2~gcc5.2_ppc64el.deb ... Unpacking libcaca0:ppc64el (0.99.beta19-2build2~gcc5.2) ... Selecting previously unselected package libsdl1.2debian:ppc64el. Preparing to unpack .../215-libsdl1.2debian_1.2.15+dfsg2-0.1_ppc64el.deb ... Unpacking libsdl1.2debian:ppc64el (1.2.15+dfsg2-0.1) ... Selecting previously unselected package libsdl-image1.2:ppc64el. Preparing to unpack .../216-libsdl-image1.2_1.2.12-7_ppc64el.deb ... Unpacking libsdl-image1.2:ppc64el (1.2.12-7) ... Selecting previously unselected package libsecret-common. Preparing to unpack .../217-libsecret-common_0.18.5-3.1ubuntu2_all.deb ... Unpacking libsecret-common (0.18.5-3.1ubuntu2) ... Selecting previously unselected package libsecret-1-0:ppc64el. Preparing to unpack .../218-libsecret-1-0_0.18.5-3.1ubuntu2_ppc64el.deb ... Unpacking libsecret-1-0:ppc64el (0.18.5-3.1ubuntu2) ... Selecting previously unselected package libshout3:ppc64el. Preparing to unpack .../219-libshout3_2.4.1-2_ppc64el.deb ... Unpacking libshout3:ppc64el (2.4.1-2) ... Selecting previously unselected package libsidplay2. Preparing to unpack .../220-libsidplay2_2.1.1-15ubuntu1_ppc64el.deb ... Unpacking libsidplay2 (2.1.1-15ubuntu1) ... Selecting previously unselected package libsndio6.1:ppc64el. Preparing to unpack .../221-libsndio6.1_1.1.0-3_ppc64el.deb ... Unpacking libsndio6.1:ppc64el (1.1.0-3) ... Selecting previously unselected package libspeexdsp1:ppc64el. Preparing to unpack .../222-libspeexdsp1_1.2~rc1.2-1ubuntu1_ppc64el.deb ... Unpacking libspeexdsp1:ppc64el (1.2~rc1.2-1ubuntu1) ... Selecting previously unselected package libssh2-1:ppc64el. Preparing to unpack .../223-libssh2-1_1.8.0-1_ppc64el.deb ... Unpacking libssh2-1:ppc64el (1.8.0-1) ... Selecting previously unselected package libswscale4:ppc64el. Preparing to unpack .../224-libswscale4_7%3a3.4.1-1_ppc64el.deb ... Unpacking libswscale4:ppc64el (7:3.4.1-1) ... Selecting previously unselected package libtag1v5-vanilla:ppc64el. Preparing to unpack .../225-libtag1v5-vanilla_1.11.1+dfsg.1-0.2build2_ppc64el.deb ... Unpacking libtag1v5-vanilla:ppc64el (1.11.1+dfsg.1-0.2build2) ... Selecting previously unselected package libtag1v5:ppc64el. Preparing to unpack .../226-libtag1v5_1.11.1+dfsg.1-0.2build2_ppc64el.deb ... Unpacking libtag1v5:ppc64el (1.11.1+dfsg.1-0.2build2) ... Selecting previously unselected package libupnp6:ppc64el. Preparing to unpack .../227-libupnp6_1%3a1.6.24-4_ppc64el.deb ... Unpacking libupnp6:ppc64el (1:1.6.24-4) ... Selecting previously unselected package libusageenvironment3:ppc64el. Preparing to unpack .../228-libusageenvironment3_2017.09.12-1ubuntu1_ppc64el.deb ... Unpacking libusageenvironment3:ppc64el (2017.09.12-1ubuntu1) ... Selecting previously unselected package libvlccore9:ppc64el. Preparing to unpack .../229-libvlccore9_3.0.0~rc4-1ubuntu1_ppc64el.deb ... Unpacking libvlccore9:ppc64el (3.0.0~rc4-1ubuntu1) ... Selecting previously unselected package vlc-plugin-base:ppc64el. Preparing to unpack .../230-vlc-plugin-base_3.0.0~rc4-1ubuntu1_ppc64el.deb ... Unpacking vlc-plugin-base:ppc64el (3.0.0~rc4-1ubuntu1) ... Selecting previously unselected package libgpm2:ppc64el. Preparing to unpack .../231-libgpm2_1.20.4-6.2_ppc64el.deb ... Unpacking libgpm2:ppc64el (1.20.4-6.2) ... Selecting previously unselected package libaa1:ppc64el. Preparing to unpack .../232-libaa1_1.4p5-44build1_ppc64el.deb ... Unpacking libaa1:ppc64el (1.4p5-44build1) ... Selecting previously unselected package libva-wayland2:ppc64el. Preparing to unpack .../233-libva-wayland2_2.0.0-2_ppc64el.deb ... Unpacking libva-wayland2:ppc64el (2.0.0-2) ... Selecting previously unselected package libxcb-xv0:ppc64el. Preparing to unpack .../234-libxcb-xv0_1.12-1ubuntu1_ppc64el.deb ... Unpacking libxcb-xv0:ppc64el (1.12-1ubuntu1) ... Selecting previously unselected package vlc-plugin-video-output:ppc64el. Preparing to unpack .../235-vlc-plugin-video-output_3.0.0~rc4-1ubuntu1_ppc64el.deb ... Unpacking vlc-plugin-video-output:ppc64el (3.0.0~rc4-1ubuntu1) ... Selecting previously unselected package libvlc5:ppc64el. Preparing to unpack .../236-libvlc5_3.0.0~rc4-1ubuntu1_ppc64el.deb ... Unpacking libvlc5:ppc64el (3.0.0~rc4-1ubuntu1) ... Selecting previously unselected package phonon4qt5-backend-vlc:ppc64el. Preparing to unpack .../237-phonon4qt5-backend-vlc_0.9.1-2_ppc64el.deb ... Unpacking phonon4qt5-backend-vlc:ppc64el (0.9.1-2) ... Selecting previously unselected package phonon4qt5:ppc64el. Preparing to unpack .../238-phonon4qt5_4%3a4.9.1-3_ppc64el.deb ... Unpacking phonon4qt5:ppc64el (4:4.9.1-3) ... Selecting previously unselected package libkf5notifications5:ppc64el. Preparing to unpack .../239-libkf5notifications5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5notifications5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5solid5-data. Preparing to unpack .../240-libkf5solid5-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5solid5-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5solid5:ppc64el. Preparing to unpack .../241-libkf5solid5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5solid5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5textwidgets-data. Preparing to unpack .../242-libkf5textwidgets-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5textwidgets-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5sonnet5-data. Preparing to unpack .../243-libkf5sonnet5-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5sonnet5-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5sonnetcore5:ppc64el. Preparing to unpack .../244-libkf5sonnetcore5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5sonnetcore5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5sonnetui5:ppc64el. Preparing to unpack .../245-libkf5sonnetui5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5sonnetui5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5textwidgets5:ppc64el. Preparing to unpack .../246-libkf5textwidgets5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5textwidgets5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libgpgme11:ppc64el. Preparing to unpack .../247-libgpgme11_1.8.0-3ubuntu5_ppc64el.deb ... Unpacking libgpgme11:ppc64el (1.8.0-3ubuntu5) ... Selecting previously unselected package libgpgmepp6:ppc64el. Preparing to unpack .../248-libgpgmepp6_1.8.0-3ubuntu5_ppc64el.deb ... Unpacking libgpgmepp6:ppc64el (1.8.0-3ubuntu5) ... Selecting previously unselected package libkf5wallet-data. Preparing to unpack .../249-libkf5wallet-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5wallet-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkwalletbackend5-5:ppc64el. Preparing to unpack .../250-libkwalletbackend5-5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkwalletbackend5-5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5wallet5:ppc64el. Preparing to unpack .../251-libkf5wallet5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5wallet5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5wallet-bin. Preparing to unpack .../252-libkf5wallet-bin_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5wallet-bin (5.41.0-0ubuntu1) ... Selecting previously unselected package kio. Preparing to unpack .../253-kio_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking kio (5.41.0-0ubuntu1) ... Selecting previously unselected package libgrantlee-templates5. Preparing to unpack .../254-libgrantlee-templates5_5.1.0-2_ppc64el.deb ... Unpacking libgrantlee-templates5 (5.1.0-2) ... Selecting previously unselected package libkf5itemmodels5:ppc64el. Preparing to unpack .../255-libkf5itemmodels5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5itemmodels5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5kcmutils-data. Preparing to unpack .../256-libkf5kcmutils-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5kcmutils-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5package-data. Preparing to unpack .../257-libkf5package-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5package-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5package5:ppc64el. Preparing to unpack .../258-libkf5package5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5package5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package kpackagetool5. Preparing to unpack .../259-kpackagetool5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking kpackagetool5 (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5declarative-data. Preparing to unpack .../260-libkf5declarative-data_5.41.0-0ubuntu2_all.deb ... Unpacking libkf5declarative-data (5.41.0-0ubuntu2) ... Selecting previously unselected package libkf5declarative5:ppc64el. Preparing to unpack .../261-libkf5declarative5_5.41.0-0ubuntu2_ppc64el.deb ... Unpacking libkf5declarative5:ppc64el (5.41.0-0ubuntu2) ... Selecting previously unselected package libkf5quickaddons5:ppc64el. Preparing to unpack .../262-libkf5quickaddons5_5.41.0-0ubuntu2_ppc64el.deb ... Unpacking libkf5quickaddons5:ppc64el (5.41.0-0ubuntu2) ... Selecting previously unselected package libkf5xmlgui-bin. Preparing to unpack .../263-libkf5xmlgui-bin_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5xmlgui-bin (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5xmlgui-data. Preparing to unpack .../264-libkf5xmlgui-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5xmlgui-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5attica5:ppc64el. Preparing to unpack .../265-libkf5attica5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5attica5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5globalaccel-data. Preparing to unpack .../266-libkf5globalaccel-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5globalaccel-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5globalaccel5:ppc64el. Preparing to unpack .../267-libkf5globalaccel5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5globalaccel5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5xmlgui5:ppc64el. Preparing to unpack .../268-libkf5xmlgui5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5xmlgui5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libqt5quickwidgets5:ppc64el. Preparing to unpack .../269-libqt5quickwidgets5_5.9.3-0ubuntu1_ppc64el.deb ... Unpacking libqt5quickwidgets5:ppc64el (5.9.3-0ubuntu1) ... Selecting previously unselected package libkf5kcmutils5:ppc64el. Preparing to unpack .../270-libkf5kcmutils5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5kcmutils5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5bookmarks-data. Preparing to unpack .../271-libkf5bookmarks-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5bookmarks-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5bookmarks5:ppc64el. Preparing to unpack .../272-libkf5bookmarks5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5bookmarks5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5kiofilewidgets5:ppc64el. Preparing to unpack .../273-libkf5kiofilewidgets5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5kiofilewidgets5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5newstuff-data. Preparing to unpack .../274-libkf5newstuff-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5newstuff-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5newstuffcore5:ppc64el. Preparing to unpack .../275-libkf5newstuffcore5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5newstuffcore5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5newstuff5:ppc64el. Preparing to unpack .../276-libkf5newstuff5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5newstuff5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5notifyconfig-data. Preparing to unpack .../277-libkf5notifyconfig-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5notifyconfig-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5notifyconfig5:ppc64el. Preparing to unpack .../278-libkf5notifyconfig5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5notifyconfig5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5parts-data. Preparing to unpack .../279-libkf5parts-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5parts-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5parts5:ppc64el. Preparing to unpack .../280-libkf5parts5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5parts5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package ktexteditor-data. Preparing to unpack .../281-ktexteditor-data_5.41.0-0ubuntu2_all.deb ... Unpacking ktexteditor-data (5.41.0-0ubuntu2) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../282-libjs-underscore_1.8.3~dfsg-1_all.deb ... Unpacking libjs-underscore (1.8.3~dfsg-1) ... Selecting previously unselected package libkf5texteditor5-libjs-underscore. Preparing to unpack .../283-libkf5texteditor5-libjs-underscore_5.41.0-0ubuntu2_ppc64el.deb ... Unpacking libkf5texteditor5-libjs-underscore (5.41.0-0ubuntu2) ... Selecting previously unselected package libhttp-parser2.7.1:ppc64el. Preparing to unpack .../284-libhttp-parser2.7.1_2.7.1-2_ppc64el.deb ... Unpacking libhttp-parser2.7.1:ppc64el (2.7.1-2) ... Selecting previously unselected package libgit2-26:ppc64el. Preparing to unpack .../285-libgit2-26_0.26.0+dfsg.1-1.1build1_ppc64el.deb ... Unpacking libgit2-26:ppc64el (0.26.0+dfsg.1-1.1build1) ... Selecting previously unselected package libkf5syntaxhighlighting-data. Preparing to unpack .../286-libkf5syntaxhighlighting-data_5.41.0-0ubuntu1_all.deb ... Unpacking libkf5syntaxhighlighting-data (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5syntaxhighlighting5. Preparing to unpack .../287-libkf5syntaxhighlighting5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5syntaxhighlighting5 (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5texteditor5:ppc64el. Preparing to unpack .../288-libkf5texteditor5_5.41.0-0ubuntu2_ppc64el.deb ... Unpacking libkf5texteditor5:ppc64el (5.41.0-0ubuntu2) ... Selecting previously unselected package libkf5threadweaver5:ppc64el. Preparing to unpack .../289-libkf5threadweaver5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5threadweaver5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package kdevelop52-libs. Preparing to unpack .../290-kdevelop52-libs_4%3a5.2.1-1ubuntu1_ppc64el.deb ... Unpacking kdevelop52-libs (4:5.2.1-1ubuntu1) ... Selecting previously unselected package libqt5quickparticles5:ppc64el. Preparing to unpack .../291-libqt5quickparticles5_5.9.3-0ubuntu1_ppc64el.deb ... Unpacking libqt5quickparticles5:ppc64el (5.9.3-0ubuntu1) ... Selecting previously unselected package libqt5quicktest5:ppc64el. Preparing to unpack .../292-libqt5quicktest5_5.9.3-0ubuntu1_ppc64el.deb ... Unpacking libqt5quicktest5:ppc64el (5.9.3-0ubuntu1) ... Selecting previously unselected package qt5-qmltooling-plugins:ppc64el. Preparing to unpack .../293-qt5-qmltooling-plugins_5.9.3-0ubuntu1_ppc64el.deb ... Unpacking qt5-qmltooling-plugins:ppc64el (5.9.3-0ubuntu1) ... Selecting previously unselected package qtdeclarative5-dev:ppc64el. Preparing to unpack .../294-qtdeclarative5-dev_5.9.3-0ubuntu1_ppc64el.deb ... Unpacking qtdeclarative5-dev:ppc64el (5.9.3-0ubuntu1) ... Selecting previously unselected package libkf5archive-dev. Preparing to unpack .../295-libkf5archive-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5archive-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5config-bin. Preparing to unpack .../296-libkf5config-bin_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5config-bin (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5config-bin-dev:ppc64el. Preparing to unpack .../297-libkf5config-bin-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5config-bin-dev:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5config-dev:ppc64el. Preparing to unpack .../298-libkf5config-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5config-dev:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5coreaddons-bin-dev. Preparing to unpack .../299-libkf5coreaddons-bin-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5coreaddons-bin-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5coreaddons-dev:ppc64el. Preparing to unpack .../300-libkf5coreaddons-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5coreaddons-dev:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5guiaddons-dev. Preparing to unpack .../301-libkf5guiaddons-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5guiaddons-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5i18n-dev. Preparing to unpack .../302-libkf5i18n-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5i18n-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5auth-bin-dev:ppc64el. Preparing to unpack .../303-libkf5auth-bin-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5auth-bin-dev:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5auth-dev:ppc64el. Preparing to unpack .../304-libkf5auth-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5auth-dev:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5codecs-dev. Preparing to unpack .../305-libkf5codecs-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5codecs-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5widgetsaddons-dev. Preparing to unpack .../306-libkf5widgetsaddons-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5widgetsaddons-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5configwidgets-dev. Preparing to unpack .../307-libkf5configwidgets-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5configwidgets-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5itemviews-dev. Preparing to unpack .../308-libkf5itemviews-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5itemviews-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5iconthemes-dev. Preparing to unpack .../309-libkf5iconthemes-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5iconthemes-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5jobwidgets-dev. Preparing to unpack .../310-libkf5jobwidgets-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5jobwidgets-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5dbusaddons-dev. Preparing to unpack .../311-libkf5dbusaddons-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5dbusaddons-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5service-dev. Preparing to unpack .../312-libkf5service-dev_5.41.0-0ubuntu2_ppc64el.deb ... Unpacking libkf5service-dev (5.41.0-0ubuntu2) ... Selecting previously unselected package libkf5attica-dev. Preparing to unpack .../313-libkf5attica-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5attica-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5globalaccelprivate5:ppc64el. Preparing to unpack .../314-libkf5globalaccelprivate5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5globalaccelprivate5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5globalaccel-dev. Preparing to unpack .../315-libkf5globalaccel-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5globalaccel-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5completion-dev. Preparing to unpack .../316-libkf5completion-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5completion-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5sonnet-dev-bin. Preparing to unpack .../317-libkf5sonnet-dev-bin_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5sonnet-dev-bin (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5sonnet-dev. Preparing to unpack .../318-libkf5sonnet-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5sonnet-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5windowsystem-dev. Preparing to unpack .../319-libkf5windowsystem-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5windowsystem-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5textwidgets-dev. Preparing to unpack .../320-libkf5textwidgets-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5textwidgets-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5xmlgui-dev. Preparing to unpack .../321-libkf5xmlgui-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5xmlgui-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5kcmutils-dev. Preparing to unpack .../322-libkf5kcmutils-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5kcmutils-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5bookmarks-dev. Preparing to unpack .../323-libkf5bookmarks-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5bookmarks-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5kiogui5:ppc64el. Preparing to unpack .../324-libkf5kiogui5_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5kiogui5:ppc64el (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5solid-dev. Preparing to unpack .../325-libkf5solid-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5solid-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5kio-dev. Preparing to unpack .../326-libkf5kio-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5kio-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package kio-dev. Preparing to unpack .../327-kio-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking kio-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5newstuff-dev. Preparing to unpack .../328-libkf5newstuff-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5newstuff-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5notifications-dev. Preparing to unpack .../329-libkf5notifications-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5notifications-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5notifyconfig-dev. Preparing to unpack .../330-libkf5notifyconfig-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5notifyconfig-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5parts-dev. Preparing to unpack .../331-libkf5parts-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5parts-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libkf5texteditor-dev. Preparing to unpack .../332-libkf5texteditor-dev_5.41.0-0ubuntu2_ppc64el.deb ... Unpacking libkf5texteditor-dev (5.41.0-0ubuntu2) ... Selecting previously unselected package libkf5threadweaver-dev. Preparing to unpack .../333-libkf5threadweaver-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5threadweaver-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package libgrantlee-textdocument5. Preparing to unpack .../334-libgrantlee-textdocument5_5.1.0-2_ppc64el.deb ... Unpacking libgrantlee-textdocument5 (5.1.0-2) ... Selecting previously unselected package libgrantlee5-dev. Preparing to unpack .../335-libgrantlee5-dev_5.1.0-2_ppc64el.deb ... Unpacking libgrantlee5-dev (5.1.0-2) ... Selecting previously unselected package kdevelop-dev. Preparing to unpack .../336-kdevelop-dev_4%3a5.2.1-1ubuntu1_ppc64el.deb ... Unpacking kdevelop-dev (4:5.2.1-1ubuntu1) ... Selecting previously unselected package kdevelop-pg-qt. Preparing to unpack .../337-kdevelop-pg-qt_2.1.0-1_ppc64el.deb ... Unpacking kdevelop-pg-qt (2.1.0-1) ... Selecting previously unselected package libapt-pkg-perl. Preparing to unpack .../338-libapt-pkg-perl_0.1.33build1_ppc64el.deb ... Unpacking libapt-pkg-perl (0.1.33build1) ... Selecting previously unselected package libhtml-tagset-perl. Preparing to unpack .../339-libhtml-tagset-perl_3.20-3_all.deb ... Unpacking libhtml-tagset-perl (3.20-3) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../340-liburi-perl_1.72-2_all.deb ... Unpacking liburi-perl (1.72-2) ... Selecting previously unselected package libhtml-parser-perl. Preparing to unpack .../341-libhtml-parser-perl_3.72-3build1_ppc64el.deb ... Unpacking libhtml-parser-perl (3.72-3build1) ... Selecting previously unselected package libcgi-pm-perl. Preparing to unpack .../342-libcgi-pm-perl_4.38-1_all.deb ... Unpacking libcgi-pm-perl (4.38-1) ... Selecting previously unselected package libsub-name-perl. Preparing to unpack .../343-libsub-name-perl_0.21-1build1_ppc64el.deb ... Unpacking libsub-name-perl (0.21-1build1) ... Selecting previously unselected package libclass-accessor-perl. Preparing to unpack .../344-libclass-accessor-perl_0.51-1_all.deb ... Unpacking libclass-accessor-perl (0.51-1) ... Selecting previously unselected package libclone-perl. Preparing to unpack .../345-libclone-perl_0.39-1_ppc64el.deb ... Unpacking libclone-perl (0.39-1) ... Selecting previously unselected package libdigest-hmac-perl. Preparing to unpack .../346-libdigest-hmac-perl_1.03+dfsg-1_all.deb ... Unpacking libdigest-hmac-perl (1.03+dfsg-1) ... Selecting previously unselected package perl-openssl-defaults:ppc64el. Preparing to unpack .../347-perl-openssl-defaults_3_ppc64el.deb ... Unpacking perl-openssl-defaults:ppc64el (3) ... Selecting previously unselected package libnet-ssleay-perl. Preparing to unpack .../348-libnet-ssleay-perl_1.82-1_ppc64el.deb ... Unpacking libnet-ssleay-perl (1.82-1) ... Selecting previously unselected package libio-socket-ssl-perl. Preparing to unpack .../349-libio-socket-ssl-perl_2.052-1_all.deb ... Unpacking libio-socket-ssl-perl (2.052-1) ... Selecting previously unselected package libnet-smtp-ssl-perl. Preparing to unpack .../350-libnet-smtp-ssl-perl_1.04-1_all.deb ... Unpacking libnet-smtp-ssl-perl (1.04-1) ... Selecting previously unselected package libmailtools-perl. Preparing to unpack .../351-libmailtools-perl_2.18-1_all.deb ... Unpacking libmailtools-perl (2.18-1) ... Selecting previously unselected package libsocket6-perl. Preparing to unpack .../352-libsocket6-perl_0.27-1build2_ppc64el.deb ... Unpacking libsocket6-perl (0.27-1build2) ... Selecting previously unselected package libio-socket-inet6-perl. Preparing to unpack .../353-libio-socket-inet6-perl_2.72-2_all.deb ... Unpacking libio-socket-inet6-perl (2.72-2) ... Selecting previously unselected package libnet-ip-perl. Preparing to unpack .../354-libnet-ip-perl_1.26-1_all.deb ... Unpacking libnet-ip-perl (1.26-1) ... Selecting previously unselected package libnet-dns-perl. Preparing to unpack .../355-libnet-dns-perl_1.10-2_all.deb ... Unpacking libnet-dns-perl (1.10-2) ... Selecting previously unselected package libnet-domain-tld-perl. Preparing to unpack .../356-libnet-domain-tld-perl_1.75-1_all.deb ... Unpacking libnet-domain-tld-perl (1.75-1) ... Selecting previously unselected package libemail-valid-perl. Preparing to unpack .../357-libemail-valid-perl_1.202-1_all.deb ... Unpacking libemail-valid-perl (1.202-1) ... Selecting previously unselected package libexporter-tiny-perl. Preparing to unpack .../358-libexporter-tiny-perl_1.000000-2_all.deb ... Unpacking libexporter-tiny-perl (1.000000-2) ... Selecting previously unselected package libipc-system-simple-perl. Preparing to unpack .../359-libipc-system-simple-perl_1.25-3_all.deb ... Unpacking libipc-system-simple-perl (1.25-3) ... Selecting previously unselected package libfile-basedir-perl. Preparing to unpack .../360-libfile-basedir-perl_0.07-1_all.deb ... Unpacking libfile-basedir-perl (0.07-1) ... Selecting previously unselected package libio-pty-perl. Preparing to unpack .../361-libio-pty-perl_1%3a1.08-1.1build4_ppc64el.deb ... Unpacking libio-pty-perl (1:1.08-1.1build4) ... Selecting previously unselected package libio-string-perl. Preparing to unpack .../362-libio-string-perl_1.08-3_all.deb ... Unpacking libio-string-perl (1.08-3) ... Selecting previously unselected package libipc-run-perl. Preparing to unpack .../363-libipc-run-perl_0.96-1_all.deb ... Unpacking libipc-run-perl (0.96-1) ... Selecting previously unselected package libkf5itemmodels-dev. Preparing to unpack .../364-libkf5itemmodels-dev_5.41.0-0ubuntu1_ppc64el.deb ... Unpacking libkf5itemmodels-dev (5.41.0-0ubuntu1) ... Selecting previously unselected package liblist-moreutils-perl. Preparing to unpack .../365-liblist-moreutils-perl_0.416-1build3_ppc64el.deb ... Unpacking liblist-moreutils-perl (0.416-1build3) ... Selecting previously unselected package libparse-debianchangelog-perl. Preparing to unpack .../366-libparse-debianchangelog-perl_1.2.0-12_all.deb ... Unpacking libparse-debianchangelog-perl (1.2.0-12) ... Selecting previously unselected package libtext-levenshtein-perl. Preparing to unpack .../367-libtext-levenshtein-perl_0.13-1_all.deb ... Unpacking libtext-levenshtein-perl (0.13-1) ... Selecting previously unselected package libxml-namespacesupport-perl. Preparing to unpack .../368-libxml-namespacesupport-perl_1.12-1_all.deb ... Unpacking libxml-namespacesupport-perl (1.12-1) ... Selecting previously unselected package libxml-sax-base-perl. Preparing to unpack .../369-libxml-sax-base-perl_1.09-1_all.deb ... Unpacking libxml-sax-base-perl (1.09-1) ... Selecting previously unselected package libxml-sax-perl. Preparing to unpack .../370-libxml-sax-perl_0.99+dfsg-2ubuntu1_all.deb ... Unpacking libxml-sax-perl (0.99+dfsg-2ubuntu1) ... Selecting previously unselected package libxml-libxml-perl. Preparing to unpack .../371-libxml-libxml-perl_2.0128+dfsg-5_ppc64el.deb ... Unpacking libxml-libxml-perl (2.0128+dfsg-5) ... Selecting previously unselected package libxml-simple-perl. Preparing to unpack .../372-libxml-simple-perl_2.24-1_all.deb ... Unpacking libxml-simple-perl (2.24-1) ... Selecting previously unselected package libyaml-libyaml-perl. Preparing to unpack .../373-libyaml-libyaml-perl_0.63-2build1_ppc64el.deb ... Unpacking libyaml-libyaml-perl (0.63-2build1) ... Selecting previously unselected package patchutils. Preparing to unpack .../374-patchutils_0.3.4-2_ppc64el.deb ... Unpacking patchutils (0.3.4-2) ... Selecting previously unselected package t1utils. Preparing to unpack .../375-t1utils_1.41-2_ppc64el.deb ... Unpacking t1utils (1.41-2) ... Selecting previously unselected package lintian. Preparing to unpack .../376-lintian_2.5.62_all.deb ... Unpacking lintian (2.5.62) ... Selecting previously unselected package pkg-kde-tools. Preparing to unpack .../377-pkg-kde-tools_0.15.28ubuntu1_all.deb ... Unpacking pkg-kde-tools (0.15.28ubuntu1) ... Selecting previously unselected package sbuild-build-depends-kdevelop-php-dummy. Preparing to unpack .../378-sbuild-build-depends-kdevelop-php-dummy_0.invalid.0_ppc64el.deb ... Unpacking sbuild-build-depends-kdevelop-php-dummy (0.invalid.0) ... Setting up libhtml-tagset-perl (3.20-3) ... Setting up libedit2:ppc64el (3.1-20170329-1) ... Setting up libnet-domain-tld-perl (1.75-1) ... Setting up libkf5config-data (5.41.0-0ubuntu1) ... Setting up x11proto-dri2-dev (2.8-2) ... Setting up libmpeg2-4:ppc64el (0.5.1-8) ... Setting up libsecret-common (0.18.5-3.1ubuntu2) ... Setting up libhttp-parser2.7.1:ppc64el (2.7.1-2) ... Setting up libkf5i18n-data (5.41.0-0ubuntu1) ... Setting up libtwolame0:ppc64el (0.3.13-3) ... Setting up libraw1394-11:ppc64el (2.1.2-1) ... Setting up libusageenvironment3:ppc64el (2017.09.12-1ubuntu1) ... Setting up libfam0:ppc64el (2.7.0-17.2) ... Setting up libkf5textwidgets-data (5.41.0-0ubuntu1) ... Setting up extra-cmake-modules (5.41.0-0ubuntu1) ... Setting up libopenjp2-7:ppc64el (2.3.0-1) ... Setting up libasyncns0:ppc64el (0.8-6) ... Setting up libx264-148:ppc64el (2:0.148.2795+gitaaa9aa8-1) ... Setting up libapt-pkg-perl (0.1.33build1) ... Setting up libarchive-zip-perl (1.60-1) ... Setting up libwacom-common (0.26-1) ... Setting up libjs-underscore (1.8.3~dfsg-1) ... Setting up libdouble-conversion1:ppc64el (2.0.1-4ubuntu1) ... Setting up mime-support (3.60ubuntu1) ... Setting up libxml-namespacesupport-perl (1.12-1) ... Setting up libio-pty-perl (1:1.08-1.1build4) ... Setting up qt5-qmake-bin (5.9.3+dfsg-0ubuntu1) ... Setting up libevdev2:ppc64el (1.5.7+dfsg-1) ... Setting up libtext-levenshtein-perl (0.13-1) ... Setting up iso-codes (3.77-1) ... Setting up vlc-data (3.0.0~rc4-1ubuntu1) ... Setting up libdvbpsi10:ppc64el (1.3.1-2) ... Setting up libkf5texteditor5-libjs-underscore (5.41.0-0ubuntu2) ... Setting up libtimedate-perl (2.3000-2) ... Setting up libwavpack1:ppc64el (5.1.0-2) ... Setting up libmpcdec6:ppc64el (2:0.1~r495-1) ... Setting up libnet-ip-perl (1.26-1) ... Setting up libjbig0:ppc64el (2.1-3.1) ... Setting up libsigsegv2:ppc64el (2.11-1) ... Setting up libgpm2:ppc64el (1.20.4-6.2) ... Setting up libpthread-stubs0-dev:ppc64el (0.3-4) ... Setting up libcurl3:ppc64el (7.57.0-1ubuntu1) ... Setting up fonts-dejavu-core (2.37-1) ... Setting up libaribb24-0:ppc64el (1.0.3-1) ... Setting up libuv1:ppc64el (1.18.0-3) ... Setting up libcap2-bin (1:2.25-1.2) ... Setting up perl-openssl-defaults:ppc64el (3) ... Setting up libbasicusageenvironment1:ppc64el (2017.09.12-1ubuntu1) ... Setting up libnuma1:ppc64el (2.0.11-2.1) ... Setting up libmicrodns0:ppc64el (0.0.8-1) ... Setting up libipc-system-simple-perl (1.25-3) ... Setting up libfile-basedir-perl (0.07-1) ... Setting up libelf1:ppc64el (0.170-0.2) ... Setting up libdbusmenu-qt5:ppc64el (0.9.3+16.04.20160218-0ubuntu1) ... Setting up groff-base (1.22.3-9) ... Setting up libsoxr0:ppc64el (0.1.2-3) ... Setting up libglib2.0-0:ppc64el (2.54.1-1ubuntu1) ... No schema files found: doing nothing. Setting up libssh-gcrypt-4:ppc64el (0.8.0~20170825.94fa1e38-1) ... Setting up libasound2-data (1.1.3-5) ... Setting up libxshmfence1:ppc64el (1.2-1) ... Setting up xorg-sgml-doctools (1:1.11-1) ... Setting up libebml4v5:ppc64el (1.3.5-2) ... Setting up libexporter-tiny-perl (1.000000-2) ... Setting up libwayland-client0:ppc64el (1.14.0-1) ... Setting up xkb-data (2.19-1.1ubuntu1) ... Setting up qtchooser (64-ga1b6736-5) ... Setting up libfaad2:ppc64el (2.8.8-1) ... Setting up libkate1:ppc64el (0.4.1-7build1) ... Setting up libkf5wallet-data (5.41.0-0ubuntu1) ... Setting up liblirc-client0:ppc64el (0.10.0-2) ... Setting up libkf5declarative-data (5.41.0-0ubuntu2) ... Setting up libkf5configwidgets-data (5.41.0-0ubuntu1) ... Setting up libgdk-pixbuf2.0-common (2.36.11-1) ... Setting up libllvm5.0:ppc64el (1:5.0.1-2) ... Setting up ktexteditor-data (5.41.0-0ubuntu2) ... Setting up libkf5completion-data (5.41.0-0ubuntu1) ... Setting up libdatrie1:ppc64el (0.2.10-6) ... Setting up x11proto-xf86vidmode-dev (2.3.1-2) ... Setting up gettext-base (0.19.8.1-4ubuntu2) ... Setting up libshine3:ppc64el (3.1.1-1) ... Setting up cmake-data (3.9.5-1) ... Setting up libkf5xmlgui-data (5.41.0-0ubuntu1) ... Setting up libkf5auth-data (5.41.0-0ubuntu1) ... Setting up libva2:ppc64el (2.0.0-2) ... Setting up libjpeg-turbo8:ppc64el (1.5.2-0ubuntu5) ... Setting up libpipeline1:ppc64el (1.5.0-1) ... Setting up libkf5newstuff-data (5.41.0-0ubuntu1) ... Setting up liblivemedia58:ppc64el (2017.09.12-1ubuntu1) ... Setting up x11proto-kb-dev (1.0.7-1) ... Setting up libglapi-mesa:ppc64el (17.2.4-0ubuntu2) ... Setting up libspeex1:ppc64el (1.2~rc1.2-1ubuntu1) ... Setting up m4 (1.4.18-1) ... Setting up libxvidcore4:ppc64el (2:1.3.4-1) ... Setting up libkf5syntaxhighlighting-data (5.41.0-0ubuntu1) ... Setting up libbsd0:ppc64el (0.8.6-3) ... Setting up ucf (3.0036) ... Setting up libvpx4:ppc64el (1.6.1-3) ... Setting up libmtp-common (1.1.13-1) ... Setting up libopus0:ppc64el (1.1.2-1ubuntu1) ... Setting up libfreetype6:ppc64el (2.8-0.2ubuntu2) ... Setting up libx265-146:ppc64el (2.6-3) ... Setting up libmagic-mgc (1:5.32-1) ... Setting up libasound2:ppc64el (1.1.3-5) ... Setting up libkf5codecs-data (5.41.0-0ubuntu1) ... Setting up libmagic1:ppc64el (1:5.32-1) ... Setting up libdrm-common (2.4.89-1) ... Setting up libgraphite2-3:ppc64el (1.3.10-8) ... Setting up librhash0 (1.3.4-3) ... Setting up libgpgme11:ppc64el (1.8.0-3ubuntu5) ... Setting up libkf5kcmutils-data (5.41.0-0ubuntu1) ... Setting up libkf5widgetsaddons-data (5.41.0-0ubuntu1) ... Setting up libboost-system1.65.1:ppc64el (1.65.1+dfsg-0ubuntu4) ... Setting up libogg0:ppc64el (1.3.2-1) ... Setting up libkf5package-data (5.41.0-0ubuntu1) ... Setting up liba52-0.7.4:ppc64el (0.7.4-19) ... Setting up libxml-sax-base-perl (1.09-1) ... Setting up libhyphen0:ppc64el (2.8.8-5) ... Setting up libx11-xcb1:ppc64el (2:1.6.4-3) ... Setting up libkf5notifyconfig-data (5.41.0-0ubuntu1) ... Setting up libpixman-1-0:ppc64el (0.34.0-2) ... Setting up xtrans-dev (1.3.5-1) ... Setting up libmp3lame0:ppc64el (3.100-2) ... Setting up libssh2-1:ppc64el (1.8.0-1) ... Setting up libkf5solid5-data (5.41.0-0ubuntu1) ... Setting up qt5-qmake:ppc64el (5.9.3+dfsg-0ubuntu1) ... Setting up libusb-1.0-0:ppc64el (2:1.0.21-2) ... Processing triggers for libc-bin (2.26-0ubuntu2) ... Setting up libkf5jobwidgets-data (5.41.0-0ubuntu1) ... Setting up libupnp6:ppc64el (1:1.6.24-4) ... Setting up libsocket6-perl (0.27-1build2) ... Setting up libkf5bookmarks-data (5.41.0-0ubuntu1) ... Setting up patchutils (0.3.4-2) ... Setting up libkf5notifications-data (5.41.0-0ubuntu1) ... Setting up autotools-dev (20171216.1) ... Setting up libkf5service-data (5.41.0-0ubuntu2) ... Setting up liburi-perl (1.72-2) ... Setting up t1utils (1.41-2) ... Setting up libsnappy1v5:ppc64el (1.1.7-1) ... Setting up libcddb2 (1.3.2-5fakesync1) ... Setting up x11proto-gl-dev (1.4.17-1) ... Processing triggers for systemd (235-3ubuntu3) ... Setting up libhtml-parser-perl (3.72-3build1) ... Setting up libmtp9:ppc64el (1.1.13-1) ... Setting up libmtdev1:ppc64el (1.1.5-1ubuntu2) ... Setting up libipc-run-perl (0.96-1) ... Setting up libavc1394-0:ppc64el (0.5.4-4) ... Setting up libcapnp-0.6.1 (0.6.1-1) ... Setting up libkf5dbusaddons-data (5.41.0-0ubuntu1) ... Setting up libcgi-pm-perl (4.38-1) ... Setting up libdigest-hmac-perl (1.03+dfsg-1) ... Setting up libio-string-perl (1.08-3) ... Setting up libgroupsock8:ppc64el (2017.09.12-1ubuntu1) ... Setting up libzvbi-common (0.2.35-13) ... Setting up libfribidi0:ppc64el (0.19.7-2) ... Setting up liblocale-gettext-perl (1.07-3build2) ... Setting up libclone-perl (0.39-1) ... Setting up libsensors4:ppc64el (1:3.4.0-4) ... Setting up libxkbcommon0:ppc64el (0.8.0-1) ... Setting up libkf5parts-data (5.41.0-0ubuntu1) ... Setting up libgudev-1.0-0:ppc64el (1:232-1) ... Setting up liblua5.2-0:ppc64el (5.2.4-1.1build1) ... Setting up liborc-0.4-0:ppc64el (1:0.4.28-1) ... Setting up libgme0:ppc64el (0.6.2-1) ... Setting up libkf5windowsystem-data (5.41.0-0ubuntu1) ... Setting up libthai-data (0.1.27-1) ... Setting up libxdmcp6:ppc64el (1:1.1.2-3) ... Setting up libmad0:ppc64el (0.15.1b-8ubuntu1) ... Setting up libresid-builder0c2a (2.1.1-15ubuntu1) ... Setting up libzvbi0:ppc64el (0.2.35-13) ... Setting up libsidplay2 (2.1.1-15ubuntu1) ... Setting up bsdmainutils (9.0.14ubuntu1) ... update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode Setting up libcaca0:ppc64el (0.99.beta19-2build2~gcc5.2) ... Setting up libmircore1:ppc64el (0.29.0-0ubuntu1) ... Setting up libdca0:ppc64el (0.0.5-10) ... Setting up libsamplerate0:ppc64el (0.1.9-1) ... Setting up libsndio6.1:ppc64el (1.1.0-3) ... Setting up libvorbis0a:ppc64el (1.3.5-4.1) ... Setting up x11-common (1:7.7+19ubuntu3) ... update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults Running in chroot, ignoring request. invoke-rc.d: policy-rc.d denied execution of start. Setting up libsub-name-perl (0.21-1build1) ... Setting up libkf5sonnet5-data (5.41.0-0ubuntu1) ... Setting up libprotobuf-lite10:ppc64el (3.0.0-9ubuntu5) ... Setting up libyaml-libyaml-perl (0.63-2build1) ... Setting up libmpg123-0:ppc64el (1.25.8-1) ... Setting up libsecret-1-0:ppc64el (0.18.5-3.1ubuntu2) ... Setting up libkf5itemviews-data (5.41.0-0ubuntu1) ... Setting up libgles2-mesa:ppc64el (17.2.4-0ubuntu2) ... Setting up libnfs8:ppc64el (1.11.0-2) ... Setting up libwayland-cursor0:ppc64el (1.14.0-1) ... Setting up libgsm1:ppc64el (1.0.13-4) ... Setting up libkf5iconthemes-data (5.41.0-0ubuntu1) ... Setting up libx11-data (2:1.6.4-3) ... Setting up libpython2.7-stdlib:ppc64el (2.7.14-4) ... Setting up diffstat (1.61-1build1) ... Setting up libspeexdsp1:ppc64el (1.2~rc1.2-1ubuntu1) ... Setting up libgpgmepp6:ppc64el (1.8.0-3ubuntu5) ... Setting up libxau6:ppc64el (1:1.0.8-1) ... Setting up autopoint (0.19.8.1-4ubuntu2) ... Setting up libmpdec2:ppc64el (2.4.2-1) ... Setting up libclass-accessor-perl (0.51-1) ... Setting up libpolkit-gobject-1-0:ppc64el (0.105-18) ... Setting up libdbus-1-3:ppc64el (1.12.2-1ubuntu1) ... Setting up liblzo2-2:ppc64el (2.08-1.2) ... Setting up libeditorconfig0:ppc64el (0.12.1-1) ... Setting up libwrap0:ppc64el (7.6.q-27) ... Setting up libavahi-common-data:ppc64el (0.7-3ubuntu1) ... Setting up libkf5globalaccel-data (5.41.0-0ubuntu1) ... Setting up libdvdread4:ppc64el (5.0.3-2) ... Setting up libkf5coreaddons-data (5.41.0-0ubuntu1) ... Setting up libwayland-server0:ppc64el (1.14.0-1) ... Setting up netbase (5.4) ... Setting up libwebp6:ppc64el (0.6.0-4) ... Setting up libfile-stripnondeterminism-perl (0.040-1) ... Setting up libxml-sax-perl (0.99+dfsg-2ubuntu1) ... update-perl-sax-parsers: Registering Perl SAX parser XML::SAX::PurePerl with priority 10... update-perl-sax-parsers: Updating overall Perl SAX parser modules info file... Creating config file /etc/perl/XML/SAX/ParserDetails.ini with new version Setting up libjpeg8:ppc64el (8c-2ubuntu8) ... Setting up libjsoncpp1:ppc64el (1.7.4-3) ... Setting up libvorbisfile3:ppc64el (1.3.5-4.1) ... Setting up liblist-moreutils-perl (0.416-1build3) ... Setting up libpython3.6-stdlib:ppc64el (3.6.4-2) ... Setting up fontconfig-config (2.12.6-0ubuntu1) ... Setting up libmatroska6v5:ppc64el (1.4.8-1.1) ... Setting up libgstreamer1.0-0:ppc64el (1.12.4-1) ... Setcap worked! gst-ptp-helper is not suid! Setting up x11proto-core-dev (7.0.31-1) ... Setting up libwacom2:ppc64el (0.26-1) ... Setting up libio-socket-inet6-perl (2.72-2) ... Setting up libxshmfence-dev:ppc64el (1.2-1) ... Setting up libopenmpt0:ppc64el (0.3.4-1) ... Setting up libnet-ssleay-perl (1.82-1) ... Setting up libdvdnav4:ppc64el (5.0.3-3) ... Setting up libpolkit-agent-1-0:ppc64el (0.105-18) ... Setting up libmirprotobuf3:ppc64el (0.29.0-0ubuntu1) ... Setting up libgit2-26:ppc64el (0.26.0+dfsg.1-1.1build1) ... Setting up libboost-filesystem1.65.1:ppc64el (1.65.1+dfsg-0ubuntu4) ... Setting up libflac8:ppc64el (1.3.2-1) ... Setting up python2.7 (2.7.14-4) ... Setting up libharfbuzz0b:ppc64el (1.7.2-1) ... Setting up libdc1394-22:ppc64el (2.2.5-1) ... Setting up libtiff5:ppc64el (4.0.9-3) ... Setting up libxau-dev:ppc64el (1:1.0.8-1) ... Setting up autoconf (2.69-11) ... Setting up libthai0:ppc64el (0.1.27-1) ... Setting up libnet-dns-perl (1.10-2) ... Setting up file (1:5.32-1) ... Setting up libinput-bin (1.9.4-2) ... Setting up libio-socket-ssl-perl (2.052-1) ... Setting up libdrm2:ppc64el (2.4.89-1) ... Setting up libpython-stdlib:ppc64el (2.7.14-2ubuntu1) ... Setting up libxdmcp-dev:ppc64el (1:1.1.2-3) ... Setting up libvlccore9:ppc64el (3.0.0~rc4-1ubuntu1) ... Setting up libwebpmux3:ppc64el (0.6.0-4) ... Setting up libva-drm2:ppc64el (2.0.0-2) ... Setting up automake (1:1.15.1-3ubuntu1) ... update-alternatives: using /usr/bin/automake-1.15 to provide /usr/bin/automake (automake) in auto mode Setting up libice6:ppc64el (2:1.0.9-2) ... Setting up libparse-debianchangelog-perl (1.2.0-12) ... Setting up man-db (2.7.6.1-4) ... Not building database; man-db/auto-update is not 'true'. Setting up libmircommon7:ppc64el (0.29.0-0ubuntu1) ... Setting up libavahi-common3:ppc64el (0.7-3ubuntu1) ... Setting up libdrm-radeon1:ppc64el (2.4.89-1) ... Setting up dbus (1.12.2-1ubuntu1) ... Setting up libvorbisenc2:ppc64el (1.3.5-4.1) ... Setting up libdrm-nouveau2:ppc64el (2.4.89-1) ... Setting up libopenmpt-modplug1:ppc64el (0.3.4-1) ... Setting up libxcb1:ppc64el (1.12-1ubuntu1) ... Setting up x11proto-input-dev (2.3.2-1) ... Setting up python (2.7.14-2ubuntu1) ... Setting up libxcb-xkb1:ppc64el (1.12-1ubuntu1) ... Setting up libtool (2.4.6-2) ... Setting up libxcb-xinerama0:ppc64el (1.12-1ubuntu1) ... Setting up libpython3-stdlib:ppc64el (3.6.3-0ubuntu2) ... Setting up libxcb-present0:ppc64el (1.12-1ubuntu1) ... Setting up libgstreamer-plugins-base1.0-0:ppc64el (1.12.4-1) ... Setting up libfontconfig1:ppc64el (2.12.6-0ubuntu1) ... Setting up libxcb-dri2-0:ppc64el (1.12-1ubuntu1) ... Setting up libsm6:ppc64el (2:1.2.2-1) ... Setting up libxcb-dri3-0:ppc64el (1.12-1ubuntu1) ... Setting up libxcb-glx0:ppc64el (1.12-1ubuntu1) ... Setting up libxcb-randr0:ppc64el (1.12-1ubuntu1) ... Setting up libxcb-xfixes0:ppc64el (1.12-1ubuntu1) ... Setting up libxcb-icccm4:ppc64el (0.4.1-1ubuntu1) ... Setting up libxcb-render0:ppc64el (1.12-1ubuntu1) ... Setting up libnet-smtp-ssl-perl (1.04-1) ... Setting up libvlc5:ppc64el (3.0.0~rc4-1ubuntu1) ... Setting up libpam-systemd:ppc64el (235-3ubuntu3) ... Setting up libdrm-amdgpu1:ppc64el (2.4.89-1) ... Setting up libdrm-dev:ppc64el (2.4.89-1) ... Setting up libva-wayland2:ppc64el (2.0.0-2) ... Setting up libgbm1:ppc64el (17.2.4-0ubuntu2) ... Setting up libass9:ppc64el (1:0.14.0-1) ... Setting up libx11-6:ppc64el (2:1.6.4-3) ... Setting up libinput10:ppc64el (1.9.4-2) ... Setting up libgl1-mesa-dri:ppc64el (17.2.4-0ubuntu2) ... Setting up libmirclient9:ppc64el (0.29.0-0ubuntu1) ... Setting up libxcb-util1:ppc64el (0.4.0-0ubuntu3) ... Setting up libxkbcommon-x11-0:ppc64el (0.8.0-1) ... Setting up libxcb-sync1:ppc64el (1.12-1ubuntu1) ... Setting up libsndfile1:ppc64el (1.0.28-4) ... Setting up x11proto-xext-dev (7.3.0-1) ... Setting up libaa1:ppc64el (1.4p5-44build1) ... Setting up libxcb-xv0:ppc64el (1.12-1ubuntu1) ... Setting up libxcb-shm0:ppc64el (1.12-1ubuntu1) ... Setting up libxcb-shape0:ppc64el (1.12-1ubuntu1) ... Setting up libxrender1:ppc64el (1:0.9.10-1) ... Setting up libxcb1-dev:ppc64el (1.12-1ubuntu1) ... Setting up libxcb-glx0-dev:ppc64el (1.12-1ubuntu1) ... Setting up libavahi-client3:ppc64el (0.7-3ubuntu1) ... Setting up libxcb-keysyms1:ppc64el (0.4.0-1) ... Setting up libx11-dev:ppc64el (2:1.6.4-3) ... Setting up libxcb-sync-dev:ppc64el (1.12-1ubuntu1) ... Setting up fontconfig (2.12.6-0ubuntu1) ... Regenerating fonts cache... done. Setting up libcups2:ppc64el (2.2.6-4) ... Setting up libegl1-mesa:ppc64el (17.2.4-0ubuntu2) ... update-alternatives: using /usr/lib/powerpc64le-linux-gnu/mesa-egl/ld.so.conf to provide /etc/ld.so.conf.d/powerpc64le-linux-gnu_EGL.conf (powerpc64le-linux-gnu_egl_conf) in auto mode Setting up libx11-xcb-dev:ppc64el (2:1.6.4-3) ... Setting up libxcb-render-util0:ppc64el (0.3.9-1) ... Setting up libmailtools-perl (2.18-1) ... Setting up libemail-valid-perl (1.202-1) ... Setting up libxdamage1:ppc64el (1:1.1.4-3) ... Setting up libxcb-image0:ppc64el (0.4.0-1build1) ... Setting up mesa-common-dev:ppc64el (17.2.4-0ubuntu2) ... Setting up libxext6:ppc64el (2:1.3.3-1) ... Setting up libxfixes3:ppc64el (1:5.0.3-1) ... Setting up x11proto-fixes-dev (1:5.0-2ubuntu2) ... Setting up libvdpau1:ppc64el (1.1.1-3ubuntu1) ... Setting up libpulse0:ppc64el (1:11.1-1ubuntu2) ... Setting up libxcb-dri2-0-dev:ppc64el (1.12-1ubuntu1) ... Setting up libxcb-render0-dev:ppc64el (1.12-1ubuntu1) ... Setting up x11proto-damage-dev (1:1.2.1-2) ... Setting up libxcb-dri3-dev:ppc64el (1.12-1ubuntu1) ... Setting up libxext-dev:ppc64el (2:1.3.3-1) ... Setting up libpango-1.0-0:ppc64el (1.40.14-1) ... Setting up libwayland-egl1-mesa:ppc64el (17.2.4-0ubuntu2) ... Setting up libxcb-shape0-dev:ppc64el (1.12-1ubuntu1) ... Setting up libxxf86vm1:ppc64el (1:1.1.4-1) ... Setting up libva-x11-2:ppc64el (2.0.0-2) ... Setting up libxxf86vm-dev:ppc64el (1:1.1.4-1) ... Setting up libxfixes-dev:ppc64el (1:5.0.3-1) ... Setting up libxi6:ppc64el (2:1.7.9-1) ... Setting up libcairo2:ppc64el (1.15.8-3) ... Setting up libxcb-randr0-dev:ppc64el (1.12-1ubuntu1) ... Setting up libpulse-mainloop-glib0:ppc64el (1:11.1-1ubuntu2) ... Setting up libavutil55:ppc64el (7:3.4.1-1) ... Setting up libxcb-xfixes0-dev:ppc64el (1.12-1ubuntu1) ... Setting up libxdamage-dev:ppc64el (1:1.1.4-3) ... Setting up libsdl1.2debian:ppc64el (1.2.15+dfsg2-0.1) ... Setting up libswresample2:ppc64el (7:3.4.1-1) ... Setting up libpangoft2-1.0-0:ppc64el (1.40.14-1) ... Setting up libgl1-mesa-glx:ppc64el (17.2.4-0ubuntu2) ... update-alternatives: using /usr/lib/powerpc64le-linux-gnu/mesa/ld.so.conf to provide /etc/ld.so.conf.d/powerpc64le-linux-gnu_GL.conf (powerpc64le-linux-gnu_gl_conf) in auto mode Setting up libswscale4:ppc64el (7:3.4.1-1) ... Setting up libpostproc54:ppc64el (7:3.4.1-1) ... Setting up libglu1-mesa:ppc64el (9.0.0-2.1build1) ... Setting up libxcb-present-dev:ppc64el (1.12-1ubuntu1) ... Setting up libsdl-image1.2:ppc64el (1.2.12-7) ... Setting up libtheora0:ppc64el (1.1.1+dfsg.1-14) ... Setting up libshout3:ppc64el (2.4.1-2) ... Setting up libpangocairo-1.0-0:ppc64el (1.40.14-1) ... Setting up libgl1-mesa-dev:ppc64el (17.2.4-0ubuntu2) ... Setting up libglu1-mesa-dev:ppc64el (9.0.0-2.1build1) ... Setting up python3.6 (3.6.4-2) ... Setting up python3 (3.6.3-0ubuntu2) ... Setting up libicu-le-hb0:ppc64el (1.0.3+git161113-4) ... Setting up python3.6-2to3 (3.6.4-2) ... python3.6: can't get files for byte-compilation Setting up dh-python (2.20170125) ... Setting up python3-distutils (3.6.4~rc1-6) ... Setting up libicu60:ppc64el (60.2-1ubuntu1) ... Setting up libxml2:ppc64el (2.9.4+dfsg1-5.2ubuntu1) ... Setting up libcroco3:ppc64el (0.6.12-2) ... Setting up libxslt1.1:ppc64el (1.1.29-5) ... Setting up shared-mime-info (1.9-2) ... Setting up libxml-libxml-perl (2.0128+dfsg-5) ... update-perl-sax-parsers: Registering Perl SAX parser XML::LibXML::SAX::Parser with priority 50... update-perl-sax-parsers: Registering Perl SAX parser XML::LibXML::SAX with priority 50... update-perl-sax-parsers: Updating overall Perl SAX parser modules info file... Replacing config file /etc/perl/XML/SAX/ParserDetails.ini with new version Setting up libtag1v5-vanilla:ppc64el (1.11.1+dfsg.1-0.2build2) ... Setting up libqt5core5a:ppc64el (5.9.3+dfsg-0ubuntu1) ... Setting up libwayland-bin (1.14.0-1) ... Setting up libqt5script5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Setting up libkf5archive5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5doctools5:ppc64el (5.41.0-0ubuntu1) ... Setting up libqt5dbus5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Setting up libtag1v5:ppc64el (1.11.1+dfsg.1-0.2build2) ... Setting up libqt5network5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Setting up gettext (0.19.8.1-4ubuntu2) ... Setting up libarchive13:ppc64el (3.2.2-3.1) ... Setting up libkf5i18n5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5threadweaver5:ppc64el (5.41.0-0ubuntu1) ... Setting up libgdk-pixbuf2.0-0:ppc64el (2.36.11-1) ... Setting up libkf5itemmodels5:ppc64el (5.41.0-0ubuntu1) ... Setting up libqt5test5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Setting up libgrantlee-templates5 (5.1.0-2) ... Setting up libbluray2:ppc64el (1:1.0.2-1) ... Setting up libkf5configcore5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5xmlgui-bin (5.41.0-0ubuntu1) ... Setting up intltool-debian (0.35.0+20060710.4) ... Setting up libxml-simple-perl (2.24-1) ... Setting up libkf5sonnetcore5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5attica5:ppc64el (5.41.0-0ubuntu1) ... Setting up libqt5xml5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Setting up libqt5positioning5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Setting up libqt5gui5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Setting up libkf5sonnet-dev-bin (5.41.0-0ubuntu1) ... Setting up libqt5sql5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Setting up lintian (2.5.62) ... Setting up libkf5config-bin-dev:ppc64el (5.41.0-0ubuntu1) ... Setting up libwayland-dev:ppc64el (1.14.0-1) ... Setting up cmake (3.9.5-1) ... Setting up kdevelop-pg-qt (2.1.0-1) ... Setting up libqt5concurrent5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Setting up libkf5codecs5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5coreaddons5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5auth-bin-dev:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5coreaddons-bin-dev (5.41.0-0ubuntu1) ... Setting up pkg-kde-tools (0.15.28ubuntu1) ... Setting up libqt5qml5:ppc64el (5.9.3-0ubuntu1) ... Setting up libqt5quick5:ppc64el (5.9.3-0ubuntu1) ... Setting up qtbase5-dev-tools (5.9.3+dfsg-0ubuntu1) ... Setting up libkf5kiontlm5:ppc64el (5.41.0-0ubuntu1) ... Setting up libqt5sensors5:ppc64el (5.9.3-0ubuntu1) ... Setting up libqt5x11extras5:ppc64el (5.9.3-0ubuntu1) ... Setting up libqt5widgets5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Setting up libkf5syntaxhighlighting5 (5.41.0-0ubuntu1) ... Setting up librsvg2-2:ppc64el (2.40.18-2) ... Setting up po-debconf (1.0.20) ... Setting up libkf5config-bin (5.41.0-0ubuntu1) ... Setting up libkf5configgui5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5windowsystem5:ppc64el (5.41.0-0ubuntu1) ... Setting up libpolkit-qt5-1-1:ppc64el (0.112.0-5) ... Setting up libavcodec57:ppc64el (7:3.4.1-1) ... Setting up libkf5globalaccel5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5auth5:ppc64el (5.41.0-0ubuntu1) ... Setting up libqt5printsupport5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Setting up libgrantlee-textdocument5 (5.1.0-2) ... Setting up libkf5package5:ppc64el (5.41.0-0ubuntu1) ... Setting up vlc-plugin-video-output:ppc64el (3.0.0~rc4-1ubuntu1) ... Setting up libqt5quickparticles5:ppc64el (5.9.3-0ubuntu1) ... Setting up libqt5quicktest5:ppc64el (5.9.3-0ubuntu1) ... Setting up libqt5scripttools5:ppc64el (5.9.3+dfsg-0ubuntu1) ... Setting up libkf5itemviews5:ppc64el (5.41.0-0ubuntu1) ... Setting up libqt5svg5:ppc64el (5.9.3-0ubuntu1) ... Setting up libegl1-mesa-dev:ppc64el (17.2.4-0ubuntu2) ... Setting up libkf5sonnetui5:ppc64el (5.41.0-0ubuntu1) ... Setting up kpackagetool5 (5.41.0-0ubuntu1) ... Setting up libphonon4qt5-4:ppc64el (4:4.9.1-3) ... Setting up libkf5widgetsaddons5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5guiaddons5:ppc64el (5.41.0-0ubuntu1) ... Setting up libqt5webchannel5:ppc64el (5.9.3-0ubuntu1) ... Setting up libkf5solid5:ppc64el (5.41.0-0ubuntu1) ... Setting up qt5-qmltooling-plugins:ppc64el (5.9.3-0ubuntu1) ... Setting up libkf5dbusaddons5:ppc64el (5.41.0-0ubuntu1) ... Setting up debhelper (11ubuntu1) ... Setting up libchromaprint1:ppc64el (1.4.2-1) ... Setting up libqt5quickwidgets5:ppc64el (5.9.3-0ubuntu1) ... Setting up libkf5configwidgets5:ppc64el (5.41.0-0ubuntu1) ... Setting up dh-autoreconf (15) ... Setting up libkf5crash5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5globalaccelprivate5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5completion5:ppc64el (5.41.0-0ubuntu1) ... Setting up libqt5webkit5:ppc64el (5.212.0~alpha2-5build4) ... Setting up libgles2-mesa-dev:ppc64el (17.2.4-0ubuntu2) ... Setting up libkf5jobwidgets5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5service5:ppc64el (5.41.0-0ubuntu2) ... Setting up dh-strip-nondeterminism (0.040-1) ... Setting up libkf5iconthemes5:ppc64el (5.41.0-0ubuntu1) ... Setting up libavformat57:ppc64el (7:3.4.1-1) ... Setting up vlc-plugin-base:ppc64el (3.0.0~rc4-1ubuntu1) ... Setting up phonon4qt5-backend-vlc:ppc64el (0.9.1-2) ... Setting up qtbase5-dev:ppc64el (5.9.3+dfsg-0ubuntu1) ... Setting up libkf5dbusaddons-dev (5.41.0-0ubuntu1) ... Setting up libkf5solid-dev (5.41.0-0ubuntu1) ... Setting up libgrantlee5-dev (5.1.0-2) ... Setting up libkf5itemmodels-dev (5.41.0-0ubuntu1) ... Setting up libkf5coreaddons-dev:ppc64el (5.41.0-0ubuntu1) ... Setting up phonon4qt5:ppc64el (4:4.9.1-3) ... Setting up libkf5windowsystem-dev (5.41.0-0ubuntu1) ... Setting up qtdeclarative5-dev:ppc64el (5.9.3-0ubuntu1) ... Setting up libkf5globalaccel-dev (5.41.0-0ubuntu1) ... Setting up libkf5service-bin (5.41.0-0ubuntu2) ... Setting up libkf5attica-dev (5.41.0-0ubuntu1) ... Setting up libkf5notifications5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5guiaddons-dev (5.41.0-0ubuntu1) ... Setting up libkf5textwidgets5:ppc64el (5.41.0-0ubuntu1) ... Setting up qtscript5-dev:ppc64el (5.9.3+dfsg-0ubuntu1) ... Setting up libkwalletbackend5-5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5wallet5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5archive-dev (5.41.0-0ubuntu1) ... Setting up libkf5widgetsaddons-dev (5.41.0-0ubuntu1) ... Setting up libkf5threadweaver-dev (5.41.0-0ubuntu1) ... Setting up libkf5sonnet-dev (5.41.0-0ubuntu1) ... Setting up libkf5itemviews-dev (5.41.0-0ubuntu1) ... Setting up libkf5auth-dev:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5config-dev:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5completion-dev (5.41.0-0ubuntu1) ... Setting up libkf5codecs-dev (5.41.0-0ubuntu1) ... Setting up libkf5kiocore5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5kiogui5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5xmlgui5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5wallet-bin (5.41.0-0ubuntu1) ... Setting up libkf5i18n-dev (5.41.0-0ubuntu1) ... Setting up libkf5jobwidgets-dev (5.41.0-0ubuntu1) ... Setting up libkf5service-dev (5.41.0-0ubuntu2) ... Setting up libkf5notifications-dev (5.41.0-0ubuntu1) ... Setting up libkf5configwidgets-dev (5.41.0-0ubuntu1) ... Setting up libkf5bookmarks5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5kiowidgets5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5iconthemes-dev (5.41.0-0ubuntu1) ... Setting up libkf5textwidgets-dev (5.41.0-0ubuntu1) ... Setting up libkf5kiofilewidgets5:ppc64el (5.41.0-0ubuntu1) ... Setting up kio (5.41.0-0ubuntu1) ... Setting up libkf5xmlgui-dev (5.41.0-0ubuntu1) ... Setting up libkf5parts5:ppc64el (5.41.0-0ubuntu1) ... Setting up kinit (5.41.0-0ubuntu1) ... Setcap worked for /usr/lib/powerpc64le-linux-gnu/libexec/kf5/start_kdeinit! Setting up libkf5notifyconfig5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5texteditor5:ppc64el (5.41.0-0ubuntu2) ... Setting up libkf5newstuffcore5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5declarative5:ppc64el (5.41.0-0ubuntu2) ... Setting up libkf5newstuff5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5bookmarks-dev (5.41.0-0ubuntu1) ... Setting up libkf5kio-dev (5.41.0-0ubuntu1) ... Setting up libkf5quickaddons5:ppc64el (5.41.0-0ubuntu2) ... Setting up kio-dev (5.41.0-0ubuntu1) ... Setting up libkf5kcmutils5:ppc64el (5.41.0-0ubuntu1) ... Setting up libkf5notifyconfig-dev (5.41.0-0ubuntu1) ... Setting up libkf5parts-dev (5.41.0-0ubuntu1) ... Setting up libkf5kcmutils-dev (5.41.0-0ubuntu1) ... Setting up libkf5texteditor-dev (5.41.0-0ubuntu2) ... Setting up libkf5newstuff-dev (5.41.0-0ubuntu1) ... Setting up kdevelop52-libs (4:5.2.1-1ubuntu1) ... Setting up kdevelop-dev (4:5.2.1-1ubuntu1) ... Setting up sbuild-build-depends-kdevelop-php-dummy (0.invalid.0) ... (Reading database ... 36400 files and directories currently installed.) Purging configuration files for pkg-create-dbgsym (0.73) ... Processing triggers for libc-bin (2.26-0ubuntu2) ... Processing triggers for systemd (235-3ubuntu3) ... +------------------------------------------------------------------------------+ | Build environment | +------------------------------------------------------------------------------+ Kernel: Linux 4.4.0-101-generic ppc64el (ppc64le) Toolchain package versions: binutils_2.29.1-12ubuntu1 dpkg-dev_1.19.0.4ubuntu1 g++-7_7.2.0-18ubuntu2 g++-8_8-20180110-1ubuntu1 gcc-7_7.2.0-18ubuntu2 gcc-8_8-20180110-1ubuntu1 libc6-dev_2.26-0ubuntu2 libstdc++-7-dev_7.2.0-18ubuntu2 libstdc++-8-dev_8-20180110-1ubuntu1 libstdc++6_8-20180110-1ubuntu1 linux-libc-dev_4.13.0-25.29 Package versions: adduser_3.116ubuntu1 advancecomp_2.0-1 apt_1.6~alpha5 apt-transport-https_1.6~alpha5 autoconf_2.69-11 automake_1:1.15.1-3ubuntu1 autopoint_0.19.8.1-4ubuntu2 autotools-dev_20171216.1 base-files_10ubuntu1 base-passwd_3.5.44 bash_4.4-5ubuntu1 binutils_2.29.1-12ubuntu1 binutils-common_2.29.1-12ubuntu1 binutils-powerpc64le-linux-gnu_2.29.1-12ubuntu1 bsdmainutils_9.0.14ubuntu1 bsdutils_1:2.30.2-0.1ubuntu1 build-essential_12.4ubuntu1 bzip2_1.0.6-8.1 ca-certificates_20170717 cmake_3.9.5-1 cmake-data_3.9.5-1 coreutils_8.26-3ubuntu4 cpp_4:8-20121108-1ubuntu0.2 cpp-7_7.2.0-18ubuntu2 cpp-8_8-20180110-1ubuntu1 dash_0.5.8-2.3ubuntu1 dbus_1.12.2-1ubuntu1 debconf_1.5.65 debhelper_11ubuntu1 debianutils_4.8.4 dh-autoreconf_15 dh-python_2.20170125 dh-strip-nondeterminism_0.040-1 diffstat_1.61-1build1 diffutils_1:3.6-1 dmsetup_2:1.02.137-2ubuntu3 dpkg_1.19.0.4ubuntu1 dpkg-dev_1.19.0.4ubuntu1 e2fslibs_1.43.8-1ubuntu1 e2fsprogs_1.43.8-1ubuntu1 extra-cmake-modules_5.41.0-0ubuntu1 fakeroot_1.21-1ubuntu2 fdisk_2.30.2-0.1ubuntu1 file_1:5.32-1 findutils_4.6.0+git+20170828-2 fontconfig_2.12.6-0ubuntu1 fontconfig-config_2.12.6-0ubuntu1 fonts-dejavu-core_2.37-1 g++_4:8-20121108-1ubuntu0.2 g++-7_7.2.0-18ubuntu2 g++-8_8-20180110-1ubuntu1 gcc_4:8-20121108-1ubuntu0.2 gcc-7_7.2.0-18ubuntu2 gcc-7-base_7.2.0-18ubuntu2 gcc-8_8-20180110-1ubuntu1 gcc-8-base_8-20180110-1ubuntu1 gettext_0.19.8.1-4ubuntu2 gettext-base_0.19.8.1-4ubuntu2 gnupg_2.1.15-1ubuntu8 gnupg-agent_2.1.15-1ubuntu8 gpgv_2.1.15-1ubuntu8 grep_3.1-2 groff-base_1.22.3-9 gzip_1.6-5ubuntu1 hostname_3.18 init_1.51 init-system-helpers_1.51 initscripts_2.88dsf-59.3ubuntu2 insserv_1.14.0-5ubuntu3 intltool-debian_0.35.0+20060710.4 iso-codes_3.77-1 kdevelop-dev_4:5.2.1-1ubuntu1 kdevelop-pg-qt_2.1.0-1 kdevelop52-libs_4:5.2.1-1ubuntu1 kinit_5.41.0-0ubuntu1 kio_5.41.0-0ubuntu1 kio-dev_5.41.0-0ubuntu1 kpackagetool5_5.41.0-0ubuntu1 ktexteditor-data_5.41.0-0ubuntu2 liba52-0.7.4_0.7.4-19 libaa1_1.4p5-44build1 libacl1_2.2.52-3build1 libapparmor1_2.11.0-2ubuntu18 libapt-pkg-perl_0.1.33build1 libapt-pkg5.0_1.6~alpha5 libarchive-zip-perl_1.60-1 libarchive13_3.2.2-3.1 libaribb24-0_1.0.3-1 libasan4_7.2.0-18ubuntu2 libasan5_8-20180110-1ubuntu1 libasn1-8-heimdal_7.5.0+dfsg-1 libasound2_1.1.3-5 libasound2-data_1.1.3-5 libass9_1:0.14.0-1 libassuan0_2.5.1-1 libasyncns0_0.8-6 libatomic1_8-20180110-1ubuntu1 libattr1_1:2.4.47-2build1 libaudit-common_1:2.7.7-1ubuntu2 libaudit1_1:2.7.7-1ubuntu2 libavahi-client3_0.7-3ubuntu1 libavahi-common-data_0.7-3ubuntu1 libavahi-common3_0.7-3ubuntu1 libavc1394-0_0.5.4-4 libavcodec57_7:3.4.1-1 libavformat57_7:3.4.1-1 libavutil55_7:3.4.1-1 libbasicusageenvironment1_2017.09.12-1ubuntu1 libbinutils_2.29.1-12ubuntu1 libblkid1_2.30.2-0.1ubuntu1 libbluray2_1:1.0.2-1 libboost-filesystem1.65.1_1.65.1+dfsg-0ubuntu4 libboost-system1.65.1_1.65.1+dfsg-0ubuntu4 libbsd0_0.8.6-3 libbz2-1.0_1.0.6-8.1 libc-bin_2.26-0ubuntu2 libc-dev-bin_2.26-0ubuntu2 libc6_2.26-0ubuntu2 libc6-dev_2.26-0ubuntu2 libcaca0_0.99.beta19-2build2~gcc5.2 libcairo2_1.15.8-3 libcap-ng0_0.7.7-3.1 libcap2_1:2.25-1.2 libcap2-bin_1:2.25-1.2 libcapnp-0.6.1_0.6.1-1 libcc1-0_8-20180110-1ubuntu1 libcddb2_1.3.2-5fakesync1 libcgi-pm-perl_4.38-1 libchromaprint1_1.4.2-1 libclass-accessor-perl_0.51-1 libclone-perl_0.39-1 libcomerr2_1.43.8-1ubuntu1 libcroco3_0.6.12-2 libcryptsetup4_2:1.7.3-4ubuntu1 libcups2_2.2.6-4 libcurl3_7.57.0-1ubuntu1 libcurl3-gnutls_7.57.0-1ubuntu1 libdatrie1_0.2.10-6 libdb5.3_5.3.28-13.1 libdbus-1-3_1.12.2-1ubuntu1 libdbusmenu-qt5_0.9.3+16.04.20160218-0ubuntu1 libdc1394-22_2.2.5-1 libdca0_0.0.5-10 libdebconfclient0_0.213ubuntu1 libdevmapper1.02.1_2:1.02.137-2ubuntu3 libdigest-hmac-perl_1.03+dfsg-1 libdouble-conversion1_2.0.1-4ubuntu1 libdpkg-perl_1.19.0.4ubuntu1 libdrm-amdgpu1_2.4.89-1 libdrm-common_2.4.89-1 libdrm-dev_2.4.89-1 libdrm-nouveau2_2.4.89-1 libdrm-radeon1_2.4.89-1 libdrm2_2.4.89-1 libdvbpsi10_1.3.1-2 libdvdnav4_5.0.3-3 libdvdread4_5.0.3-2 libebml4v5_1.3.5-2 libedit2_3.1-20170329-1 libeditorconfig0_0.12.1-1 libegl1-mesa_17.2.4-0ubuntu2 libegl1-mesa-dev_17.2.4-0ubuntu2 libelf1_0.170-0.2 libemail-valid-perl_1.202-1 libevdev2_1.5.7+dfsg-1 libexpat1_2.2.5-3 libexporter-tiny-perl_1.000000-2 libfaad2_2.8.8-1 libfakeroot_1.21-1ubuntu2 libfam0_2.7.0-17.2 libfdisk1_2.30.2-0.1ubuntu1 libffi6_3.2.1-6 libfile-basedir-perl_0.07-1 libfile-stripnondeterminism-perl_0.040-1 libflac8_1.3.2-1 libfontconfig1_2.12.6-0ubuntu1 libfreetype6_2.8-0.2ubuntu2 libfribidi0_0.19.7-2 libgbm1_17.2.4-0ubuntu2 libgcc-7-dev_7.2.0-18ubuntu2 libgcc-8-dev_8-20180110-1ubuntu1 libgcc1_1:8-20180110-1ubuntu1 libgcrypt20_1.8.1-4 libgdbm3_1.8.3-14 libgdk-pixbuf2.0-0_2.36.11-1 libgdk-pixbuf2.0-common_2.36.11-1 libgit2-26_0.26.0+dfsg.1-1.1build1 libgl1-mesa-dev_17.2.4-0ubuntu2 libgl1-mesa-dri_17.2.4-0ubuntu2 libgl1-mesa-glx_17.2.4-0ubuntu2 libglapi-mesa_17.2.4-0ubuntu2 libgles2-mesa_17.2.4-0ubuntu2 libgles2-mesa-dev_17.2.4-0ubuntu2 libglib2.0-0_2.54.1-1ubuntu1 libglu1-mesa_9.0.0-2.1build1 libglu1-mesa-dev_9.0.0-2.1build1 libgme0_0.6.2-1 libgmp10_2:6.1.2+dfsg-1 libgnutls30_3.5.8-6ubuntu3 libgomp1_8-20180110-1ubuntu1 libgpg-error0_1.27-5 libgpgme11_1.8.0-3ubuntu5 libgpgmepp6_1.8.0-3ubuntu5 libgpm2_1.20.4-6.2 libgrantlee-templates5_5.1.0-2 libgrantlee-textdocument5_5.1.0-2 libgrantlee5-dev_5.1.0-2 libgraphite2-3_1.3.10-8 libgroupsock8_2017.09.12-1ubuntu1 libgsm1_1.0.13-4 libgssapi-krb5-2_1.15.1-2 libgssapi3-heimdal_7.5.0+dfsg-1 libgstreamer-plugins-base1.0-0_1.12.4-1 libgstreamer1.0-0_1.12.4-1 libgudev-1.0-0_1:232-1 libharfbuzz0b_1.7.2-1 libhcrypto4-heimdal_7.5.0+dfsg-1 libheimbase1-heimdal_7.5.0+dfsg-1 libheimntlm0-heimdal_7.5.0+dfsg-1 libhogweed4_3.3-2 libhtml-parser-perl_3.72-3build1 libhtml-tagset-perl_3.20-3 libhttp-parser2.7.1_2.7.1-2 libhx509-5-heimdal_7.5.0+dfsg-1 libhyphen0_2.8.8-5 libice6_2:1.0.9-2 libicu-le-hb0_1.0.3+git161113-4 libicu60_60.2-1ubuntu1 libidn11_1.33-2.1 libidn2-0_2.0.4-1 libinput-bin_1.9.4-2 libinput10_1.9.4-2 libio-pty-perl_1:1.08-1.1build4 libio-socket-inet6-perl_2.72-2 libio-socket-ssl-perl_2.052-1 libio-string-perl_1.08-3 libip4tc0_1.6.1-2ubuntu2 libipc-run-perl_0.96-1 libipc-system-simple-perl_1.25-3 libisl15_0.18-1 libitm1_8-20180110-1ubuntu1 libjbig0_2.1-3.1 libjpeg-turbo8_1.5.2-0ubuntu5 libjpeg8_8c-2ubuntu8 libjs-underscore_1.8.3~dfsg-1 libjsoncpp1_1.7.4-3 libk5crypto3_1.15.1-2 libkate1_0.4.1-7build1 libkeyutils1_1.5.9-9.2ubuntu1 libkf5archive-dev_5.41.0-0ubuntu1 libkf5archive5_5.41.0-0ubuntu1 libkf5attica-dev_5.41.0-0ubuntu1 libkf5attica5_5.41.0-0ubuntu1 libkf5auth-bin-dev_5.41.0-0ubuntu1 libkf5auth-data_5.41.0-0ubuntu1 libkf5auth-dev_5.41.0-0ubuntu1 libkf5auth5_5.41.0-0ubuntu1 libkf5bookmarks-data_5.41.0-0ubuntu1 libkf5bookmarks-dev_5.41.0-0ubuntu1 libkf5bookmarks5_5.41.0-0ubuntu1 libkf5codecs-data_5.41.0-0ubuntu1 libkf5codecs-dev_5.41.0-0ubuntu1 libkf5codecs5_5.41.0-0ubuntu1 libkf5completion-data_5.41.0-0ubuntu1 libkf5completion-dev_5.41.0-0ubuntu1 libkf5completion5_5.41.0-0ubuntu1 libkf5config-bin_5.41.0-0ubuntu1 libkf5config-bin-dev_5.41.0-0ubuntu1 libkf5config-data_5.41.0-0ubuntu1 libkf5config-dev_5.41.0-0ubuntu1 libkf5configcore5_5.41.0-0ubuntu1 libkf5configgui5_5.41.0-0ubuntu1 libkf5configwidgets-data_5.41.0-0ubuntu1 libkf5configwidgets-dev_5.41.0-0ubuntu1 libkf5configwidgets5_5.41.0-0ubuntu1 libkf5coreaddons-bin-dev_5.41.0-0ubuntu1 libkf5coreaddons-data_5.41.0-0ubuntu1 libkf5coreaddons-dev_5.41.0-0ubuntu1 libkf5coreaddons5_5.41.0-0ubuntu1 libkf5crash5_5.41.0-0ubuntu1 libkf5dbusaddons-data_5.41.0-0ubuntu1 libkf5dbusaddons-dev_5.41.0-0ubuntu1 libkf5dbusaddons5_5.41.0-0ubuntu1 libkf5declarative-data_5.41.0-0ubuntu2 libkf5declarative5_5.41.0-0ubuntu2 libkf5doctools5_5.41.0-0ubuntu1 libkf5globalaccel-data_5.41.0-0ubuntu1 libkf5globalaccel-dev_5.41.0-0ubuntu1 libkf5globalaccel5_5.41.0-0ubuntu1 libkf5globalaccelprivate5_5.41.0-0ubuntu1 libkf5guiaddons-dev_5.41.0-0ubuntu1 libkf5guiaddons5_5.41.0-0ubuntu1 libkf5i18n-data_5.41.0-0ubuntu1 libkf5i18n-dev_5.41.0-0ubuntu1 libkf5i18n5_5.41.0-0ubuntu1 libkf5iconthemes-data_5.41.0-0ubuntu1 libkf5iconthemes-dev_5.41.0-0ubuntu1 libkf5iconthemes5_5.41.0-0ubuntu1 libkf5itemmodels-dev_5.41.0-0ubuntu1 libkf5itemmodels5_5.41.0-0ubuntu1 libkf5itemviews-data_5.41.0-0ubuntu1 libkf5itemviews-dev_5.41.0-0ubuntu1 libkf5itemviews5_5.41.0-0ubuntu1 libkf5jobwidgets-data_5.41.0-0ubuntu1 libkf5jobwidgets-dev_5.41.0-0ubuntu1 libkf5jobwidgets5_5.41.0-0ubuntu1 libkf5kcmutils-data_5.41.0-0ubuntu1 libkf5kcmutils-dev_5.41.0-0ubuntu1 libkf5kcmutils5_5.41.0-0ubuntu1 libkf5kio-dev_5.41.0-0ubuntu1 libkf5kiocore5_5.41.0-0ubuntu1 libkf5kiofilewidgets5_5.41.0-0ubuntu1 libkf5kiogui5_5.41.0-0ubuntu1 libkf5kiontlm5_5.41.0-0ubuntu1 libkf5kiowidgets5_5.41.0-0ubuntu1 libkf5newstuff-data_5.41.0-0ubuntu1 libkf5newstuff-dev_5.41.0-0ubuntu1 libkf5newstuff5_5.41.0-0ubuntu1 libkf5newstuffcore5_5.41.0-0ubuntu1 libkf5notifications-data_5.41.0-0ubuntu1 libkf5notifications-dev_5.41.0-0ubuntu1 libkf5notifications5_5.41.0-0ubuntu1 libkf5notifyconfig-data_5.41.0-0ubuntu1 libkf5notifyconfig-dev_5.41.0-0ubuntu1 libkf5notifyconfig5_5.41.0-0ubuntu1 libkf5package-data_5.41.0-0ubuntu1 libkf5package5_5.41.0-0ubuntu1 libkf5parts-data_5.41.0-0ubuntu1 libkf5parts-dev_5.41.0-0ubuntu1 libkf5parts5_5.41.0-0ubuntu1 libkf5quickaddons5_5.41.0-0ubuntu2 libkf5service-bin_5.41.0-0ubuntu2 libkf5service-data_5.41.0-0ubuntu2 libkf5service-dev_5.41.0-0ubuntu2 libkf5service5_5.41.0-0ubuntu2 libkf5solid-dev_5.41.0-0ubuntu1 libkf5solid5_5.41.0-0ubuntu1 libkf5solid5-data_5.41.0-0ubuntu1 libkf5sonnet-dev_5.41.0-0ubuntu1 libkf5sonnet-dev-bin_5.41.0-0ubuntu1 libkf5sonnet5-data_5.41.0-0ubuntu1 libkf5sonnetcore5_5.41.0-0ubuntu1 libkf5sonnetui5_5.41.0-0ubuntu1 libkf5syntaxhighlighting-data_5.41.0-0ubuntu1 libkf5syntaxhighlighting5_5.41.0-0ubuntu1 libkf5texteditor-dev_5.41.0-0ubuntu2 libkf5texteditor5_5.41.0-0ubuntu2 libkf5texteditor5-libjs-underscore_5.41.0-0ubuntu2 libkf5textwidgets-data_5.41.0-0ubuntu1 libkf5textwidgets-dev_5.41.0-0ubuntu1 libkf5textwidgets5_5.41.0-0ubuntu1 libkf5threadweaver-dev_5.41.0-0ubuntu1 libkf5threadweaver5_5.41.0-0ubuntu1 libkf5wallet-bin_5.41.0-0ubuntu1 libkf5wallet-data_5.41.0-0ubuntu1 libkf5wallet5_5.41.0-0ubuntu1 libkf5widgetsaddons-data_5.41.0-0ubuntu1 libkf5widgetsaddons-dev_5.41.0-0ubuntu1 libkf5widgetsaddons5_5.41.0-0ubuntu1 libkf5windowsystem-data_5.41.0-0ubuntu1 libkf5windowsystem-dev_5.41.0-0ubuntu1 libkf5windowsystem5_5.41.0-0ubuntu1 libkf5xmlgui-bin_5.41.0-0ubuntu1 libkf5xmlgui-data_5.41.0-0ubuntu1 libkf5xmlgui-dev_5.41.0-0ubuntu1 libkf5xmlgui5_5.41.0-0ubuntu1 libkmod2_24-1ubuntu2 libkrb5-26-heimdal_7.5.0+dfsg-1 libkrb5-3_1.15.1-2 libkrb5support0_1.15.1-2 libksba8_1.3.5-2 libkwalletbackend5-5_5.41.0-0ubuntu1 libldap-2.4-2_2.4.45+dfsg-1ubuntu1 libldap-common_2.4.45+dfsg-1ubuntu1 liblirc-client0_0.10.0-2 liblist-moreutils-perl_0.416-1build3 liblivemedia58_2017.09.12-1ubuntu1 libllvm5.0_1:5.0.1-2 liblocale-gettext-perl_1.07-3build2 liblockfile-bin_1.14-1.1 liblockfile1_1.14-1.1 liblsan0_8-20180110-1ubuntu1 liblua5.2-0_5.2.4-1.1build1 liblz4-1_0.0~r131-2ubuntu2 liblzma5_5.2.2-1.3 liblzo2-2_2.08-1.2 libmad0_0.15.1b-8ubuntu1 libmagic-mgc_1:5.32-1 libmagic1_1:5.32-1 libmailtools-perl_2.18-1 libmatroska6v5_1.4.8-1.1 libmicrodns0_0.0.8-1 libmirclient9_0.29.0-0ubuntu1 libmircommon7_0.29.0-0ubuntu1 libmircore1_0.29.0-0ubuntu1 libmirprotobuf3_0.29.0-0ubuntu1 libmount1_2.30.2-0.1ubuntu1 libmp3lame0_3.100-2 libmpc3_1.0.3-2 libmpcdec6_2:0.1~r495-1 libmpdec2_2.4.2-1 libmpeg2-4_0.5.1-8 libmpfr4_3.1.6-1 libmpg123-0_1.25.8-1 libmtdev1_1.1.5-1ubuntu2 libmtp-common_1.1.13-1 libmtp9_1.1.13-1 libncurses5_6.0+20160625-1ubuntu1 libncursesw5_6.0+20160625-1ubuntu1 libnet-dns-perl_1.10-2 libnet-domain-tld-perl_1.75-1 libnet-ip-perl_1.26-1 libnet-smtp-ssl-perl_1.04-1 libnet-ssleay-perl_1.82-1 libnettle6_3.3-2 libnfs8_1.11.0-2 libnghttp2-14_1.29.0-1 libnpth0_1.5-3 libnuma1_2.0.11-2.1 libogg0_1.3.2-1 libopenjp2-7_2.3.0-1 libopenmpt-modplug1_0.3.4-1 libopenmpt0_0.3.4-1 libopus0_1.1.2-1ubuntu1 liborc-0.4-0_1:0.4.28-1 libp11-kit0_0.23.9-2 libpam-modules_1.1.8-3.2ubuntu3 libpam-modules-bin_1.1.8-3.2ubuntu3 libpam-runtime_1.1.8-3.2ubuntu3 libpam-systemd_235-3ubuntu3 libpam0g_1.1.8-3.2ubuntu3 libpango-1.0-0_1.40.14-1 libpangocairo-1.0-0_1.40.14-1 libpangoft2-1.0-0_1.40.14-1 libparse-debianchangelog-perl_1.2.0-12 libpcre3_2:8.39-8 libperl5.26_5.26.1-3 libphonon4qt5-4_4:4.9.1-3 libpipeline1_1.5.0-1 libpixman-1-0_0.34.0-2 libpng16-16_1.6.34-1 libpolkit-agent-1-0_0.105-18 libpolkit-gobject-1-0_0.105-18 libpolkit-qt5-1-1_0.112.0-5 libpostproc54_7:3.4.1-1 libprocps6_2:3.3.12-1ubuntu2 libprotobuf-lite10_3.0.0-9ubuntu5 libpsl5_0.19.1-4 libpthread-stubs0-dev_0.3-4 libpulse-mainloop-glib0_1:11.1-1ubuntu2 libpulse0_1:11.1-1ubuntu2 libpython-stdlib_2.7.14-2ubuntu1 libpython2.7-minimal_2.7.14-4 libpython2.7-stdlib_2.7.14-4 libpython3-stdlib_3.6.3-0ubuntu2 libpython3.6-minimal_3.6.4-2 libpython3.6-stdlib_3.6.4-2 libqt5concurrent5_5.9.3+dfsg-0ubuntu1 libqt5core5a_5.9.3+dfsg-0ubuntu1 libqt5dbus5_5.9.3+dfsg-0ubuntu1 libqt5gui5_5.9.3+dfsg-0ubuntu1 libqt5network5_5.9.3+dfsg-0ubuntu1 libqt5positioning5_5.9.3+dfsg-0ubuntu1 libqt5printsupport5_5.9.3+dfsg-0ubuntu1 libqt5qml5_5.9.3-0ubuntu1 libqt5quick5_5.9.3-0ubuntu1 libqt5quickparticles5_5.9.3-0ubuntu1 libqt5quicktest5_5.9.3-0ubuntu1 libqt5quickwidgets5_5.9.3-0ubuntu1 libqt5script5_5.9.3+dfsg-0ubuntu1 libqt5scripttools5_5.9.3+dfsg-0ubuntu1 libqt5sensors5_5.9.3-0ubuntu1 libqt5sql5_5.9.3+dfsg-0ubuntu1 libqt5svg5_5.9.3-0ubuntu1 libqt5test5_5.9.3+dfsg-0ubuntu1 libqt5webchannel5_5.9.3-0ubuntu1 libqt5webkit5_5.212.0~alpha2-5build4 libqt5widgets5_5.9.3+dfsg-0ubuntu1 libqt5x11extras5_5.9.3-0ubuntu1 libqt5xml5_5.9.3+dfsg-0ubuntu1 libquadmath0_8-20180110-1ubuntu1 libraw1394-11_2.1.2-1 libreadline7_7.0-0ubuntu2 libresid-builder0c2a_2.1.1-15ubuntu1 librhash0_1.3.4-3 libroken18-heimdal_7.5.0+dfsg-1 librsvg2-2_2.40.18-2 librtmp1_2.4+20151223.gitfa8646d.1-1 libsamplerate0_0.1.9-1 libsasl2-2_2.1.27~101-g0780600+dfsg-3ubuntu1 libsasl2-modules-db_2.1.27~101-g0780600+dfsg-3ubuntu1 libsdl-image1.2_1.2.12-7 libsdl1.2debian_1.2.15+dfsg2-0.1 libseccomp2_2.3.1-2.1ubuntu3 libsecret-1-0_0.18.5-3.1ubuntu2 libsecret-common_0.18.5-3.1ubuntu2 libselinux1_2.7-2 libsemanage-common_2.7-2 libsemanage1_2.7-2 libsensors4_1:3.4.0-4 libsepol1_2.7-1 libshine3_3.1.1-1 libshout3_2.4.1-2 libsidplay2_2.1.1-15ubuntu1 libsigsegv2_2.11-1 libslang2_2.3.1-5ubuntu1 libsm6_2:1.2.2-1 libsmartcols1_2.30.2-0.1ubuntu1 libsnappy1v5_1.1.7-1 libsndfile1_1.0.28-4 libsndio6.1_1.1.0-3 libsocket6-perl_0.27-1build2 libsoxr0_0.1.2-3 libspeex1_1.2~rc1.2-1ubuntu1 libspeexdsp1_1.2~rc1.2-1ubuntu1 libsqlite3-0_3.21.0-1 libss2_1.43.8-1ubuntu1 libssh-gcrypt-4_0.8.0~20170825.94fa1e38-1 libssh2-1_1.8.0-1 libssl1.0.0_1.0.2g-1ubuntu14 libstdc++-7-dev_7.2.0-18ubuntu2 libstdc++-8-dev_8-20180110-1ubuntu1 libstdc++6_8-20180110-1ubuntu1 libsub-name-perl_0.21-1build1 libswresample2_7:3.4.1-1 libswscale4_7:3.4.1-1 libsystemd0_235-3ubuntu3 libtag1v5_1.11.1+dfsg.1-0.2build2 libtag1v5-vanilla_1.11.1+dfsg.1-0.2build2 libtasn1-6_4.12-3 libtext-levenshtein-perl_0.13-1 libthai-data_0.1.27-1 libthai0_0.1.27-1 libtheora0_1.1.1+dfsg.1-14 libtiff5_4.0.9-3 libtimedate-perl_2.3000-2 libtinfo5_6.0+20160625-1ubuntu1 libtool_2.4.6-2 libtsan0_8-20180110-1ubuntu1 libtwolame0_0.3.13-3 libubsan0_7.2.0-18ubuntu2 libubsan1_8-20180110-1ubuntu1 libudev1_235-3ubuntu3 libunistring0_0.9.3-5.2ubuntu1 libupnp6_1:1.6.24-4 liburi-perl_1.72-2 libusageenvironment3_2017.09.12-1ubuntu1 libusb-0.1-4_2:0.1.12-31 libusb-1.0-0_2:1.0.21-2 libustr-1.0-1_1.0.4-6 libuuid1_2.30.2-0.1ubuntu1 libuv1_1.18.0-3 libva-drm2_2.0.0-2 libva-wayland2_2.0.0-2 libva-x11-2_2.0.0-2 libva2_2.0.0-2 libvdpau1_1.1.1-3ubuntu1 libvlc5_3.0.0~rc4-1ubuntu1 libvlccore9_3.0.0~rc4-1ubuntu1 libvorbis0a_1.3.5-4.1 libvorbisenc2_1.3.5-4.1 libvorbisfile3_1.3.5-4.1 libvpx4_1.6.1-3 libwacom-common_0.26-1 libwacom2_0.26-1 libwavpack1_5.1.0-2 libwayland-bin_1.14.0-1 libwayland-client0_1.14.0-1 libwayland-cursor0_1.14.0-1 libwayland-dev_1.14.0-1 libwayland-egl1-mesa_17.2.4-0ubuntu2 libwayland-server0_1.14.0-1 libwebp6_0.6.0-4 libwebpmux3_0.6.0-4 libwind0-heimdal_7.5.0+dfsg-1 libwrap0_7.6.q-27 libx11-6_2:1.6.4-3 libx11-data_2:1.6.4-3 libx11-dev_2:1.6.4-3 libx11-xcb-dev_2:1.6.4-3 libx11-xcb1_2:1.6.4-3 libx264-148_2:0.148.2795+gitaaa9aa8-1 libx265-146_2.6-3 libxau-dev_1:1.0.8-1 libxau6_1:1.0.8-1 libxcb-dri2-0_1.12-1ubuntu1 libxcb-dri2-0-dev_1.12-1ubuntu1 libxcb-dri3-0_1.12-1ubuntu1 libxcb-dri3-dev_1.12-1ubuntu1 libxcb-glx0_1.12-1ubuntu1 libxcb-glx0-dev_1.12-1ubuntu1 libxcb-icccm4_0.4.1-1ubuntu1 libxcb-image0_0.4.0-1build1 libxcb-keysyms1_0.4.0-1 libxcb-present-dev_1.12-1ubuntu1 libxcb-present0_1.12-1ubuntu1 libxcb-randr0_1.12-1ubuntu1 libxcb-randr0-dev_1.12-1ubuntu1 libxcb-render-util0_0.3.9-1 libxcb-render0_1.12-1ubuntu1 libxcb-render0-dev_1.12-1ubuntu1 libxcb-shape0_1.12-1ubuntu1 libxcb-shape0-dev_1.12-1ubuntu1 libxcb-shm0_1.12-1ubuntu1 libxcb-sync-dev_1.12-1ubuntu1 libxcb-sync1_1.12-1ubuntu1 libxcb-util1_0.4.0-0ubuntu3 libxcb-xfixes0_1.12-1ubuntu1 libxcb-xfixes0-dev_1.12-1ubuntu1 libxcb-xinerama0_1.12-1ubuntu1 libxcb-xkb1_1.12-1ubuntu1 libxcb-xv0_1.12-1ubuntu1 libxcb1_1.12-1ubuntu1 libxcb1-dev_1.12-1ubuntu1 libxdamage-dev_1:1.1.4-3 libxdamage1_1:1.1.4-3 libxdmcp-dev_1:1.1.2-3 libxdmcp6_1:1.1.2-3 libxext-dev_2:1.3.3-1 libxext6_2:1.3.3-1 libxfixes-dev_1:5.0.3-1 libxfixes3_1:5.0.3-1 libxi6_2:1.7.9-1 libxkbcommon-x11-0_0.8.0-1 libxkbcommon0_0.8.0-1 libxml-libxml-perl_2.0128+dfsg-5 libxml-namespacesupport-perl_1.12-1 libxml-sax-base-perl_1.09-1 libxml-sax-perl_0.99+dfsg-2ubuntu1 libxml-simple-perl_2.24-1 libxml2_2.9.4+dfsg1-5.2ubuntu1 libxrender1_1:0.9.10-1 libxshmfence-dev_1.2-1 libxshmfence1_1.2-1 libxslt1.1_1.1.29-5 libxvidcore4_2:1.3.4-1 libxxf86vm-dev_1:1.1.4-1 libxxf86vm1_1:1.1.4-1 libyaml-libyaml-perl_0.63-2build1 libzvbi-common_0.2.35-13 libzvbi0_0.2.35-13 lintian_2.5.62 linux-libc-dev_4.13.0-25.29 lockfile-progs_0.1.17build1 login_1:4.2-3.2ubuntu4 lsb-base_9.20170808ubuntu1 m4_1.4.18-1 make_4.1-9.1 man-db_2.7.6.1-4 mawk_1.3.3-17ubuntu2 mesa-common-dev_17.2.4-0ubuntu2 mime-support_3.60ubuntu1 mount_2.30.2-0.1ubuntu1 multiarch-support_2.26-0ubuntu2 ncurses-base_6.0+20160625-1ubuntu1 ncurses-bin_6.0+20160625-1ubuntu1 netbase_5.4 openssl_1.0.2g-1ubuntu14 optipng_0.7.6-1.1 passwd_1:4.2-3.2ubuntu4 patch_2.7.5-1build1 patchutils_0.3.4-2 perl_5.26.1-3 perl-base_5.26.1-3 perl-modules-5.26_5.26.1-3 perl-openssl-defaults_3 phonon4qt5_4:4.9.1-3 phonon4qt5-backend-vlc_0.9.1-2 pinentry-curses_1.0.0-3 pkg-kde-tools_0.15.28ubuntu1 pkgbinarymangler_131 po-debconf_1.0.20 policyrcd-script-zg2_0.1-3 procps_2:3.3.12-1ubuntu2 python_2.7.14-2ubuntu1 python-minimal_2.7.14-2ubuntu1 python2.7_2.7.14-4 python2.7-minimal_2.7.14-4 python3_3.6.3-0ubuntu2 python3-distutils_3.6.4~rc1-6 python3-minimal_3.6.3-0ubuntu2 python3.6_3.6.4-2 python3.6-2to3_3.6.4-2 python3.6-minimal_3.6.4-2 qt5-qmake_5.9.3+dfsg-0ubuntu1 qt5-qmake-bin_5.9.3+dfsg-0ubuntu1 qt5-qmltooling-plugins_5.9.3-0ubuntu1 qtbase5-dev_5.9.3+dfsg-0ubuntu1 qtbase5-dev-tools_5.9.3+dfsg-0ubuntu1 qtchooser_64-ga1b6736-5 qtdeclarative5-dev_5.9.3-0ubuntu1 qtscript5-dev_5.9.3+dfsg-0ubuntu1 readline-common_7.0-0ubuntu2 sbuild-build-depends-core-dummy_0.invalid.0 sbuild-build-depends-kdevelop-php-dummy_0.invalid.0 sed_4.4-1 sensible-utils_0.0.11 shared-mime-info_1.9-2 systemd_235-3ubuntu3 systemd-sysv_235-3ubuntu3 sysv-rc_2.88dsf-59.3ubuntu2 sysvinit-utils_2.88dsf-59.10ubuntu1 t1utils_1.41-2 tar_1.29b-2 tzdata_2017c-1 ubuntu-keyring_2016.10.27 ucf_3.0036 util-linux_2.30.2-0.1ubuntu1 vlc-data_3.0.0~rc4-1ubuntu1 vlc-plugin-base_3.0.0~rc4-1ubuntu1 vlc-plugin-video-output_3.0.0~rc4-1ubuntu1 x11-common_1:7.7+19ubuntu3 x11proto-core-dev_7.0.31-1 x11proto-damage-dev_1:1.2.1-2 x11proto-dri2-dev_2.8-2 x11proto-fixes-dev_1:5.0-2ubuntu2 x11proto-gl-dev_1.4.17-1 x11proto-input-dev_2.3.2-1 x11proto-kb-dev_1.0.7-1 x11proto-xext-dev_7.3.0-1 x11proto-xf86vidmode-dev_2.3.1-2 xkb-data_2.19-1.1ubuntu1 xorg-sgml-doctools_1:1.11-1 xtrans-dev_1.3.5-1 xz-utils_5.2.2-1.3 zlib1g_1:1.2.11.dfsg-0ubuntu2 +------------------------------------------------------------------------------+ | Build | +------------------------------------------------------------------------------+ Unpack source ------------- gpgv: Signature made Mon Dec 4 01:40:50 2017 UTC gpgv: using RSA key gpgv: issuer "rikmills@kubuntu.org" gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./kdevelop-php_5.2.1-1ubuntu2.dsc dpkg-source: info: extracting kdevelop-php in kdevelop-php-5.2.1 dpkg-source: info: unpacking kdevelop-php_5.2.1.orig.tar.xz dpkg-source: info: unpacking kdevelop-php_5.2.1-1ubuntu2.debian.tar.xz Check disc space ---------------- Sufficient free space for build User Environment ---------------- APT_CONFIG=/var/lib/sbuild/apt.conf DEB_BUILD_OPTIONS=noautodbgsym parallel=4 HOME=/sbuild-nonexistent LANG=C.UTF-8 LC_ALL=C.UTF-8 LOGNAME=buildd PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games SCHROOT_ALIAS_NAME=build-PACKAGEBUILD-14112022 SCHROOT_CHROOT_NAME=build-PACKAGEBUILD-14112022 SCHROOT_COMMAND=env SCHROOT_GID=2501 SCHROOT_GROUP=buildd SCHROOT_SESSION_ID=build-PACKAGEBUILD-14112022 SCHROOT_UID=2001 SCHROOT_USER=buildd SHELL=/bin/sh TERM=unknown USER=buildd V=1 dpkg-buildpackage ----------------- dpkg-buildpackage: info: source package kdevelop-php dpkg-buildpackage: info: source version 5.2.1-1ubuntu2 dpkg-buildpackage: info: source distribution bionic dpkg-source --before-build kdevelop-php-5.2.1 dpkg-buildpackage: info: host architecture ppc64el fakeroot debian/rules clean dh clean --parallel --list-missing --with kf5 dh_auto_clean --buildsystem=kf5 -O--parallel -O--list-missing dh_clean -O--parallel -O--list-missing debian/rules build-arch dh build-arch --parallel --list-missing --with kf5 dh_update_autotools_config -a -O--parallel -O--list-missing debian/rules override_dh_auto_configure make[1]: Entering directory '/<>' dh_auto_configure -Skf5 -- -DBUILD_TESTING=OFF cd obj-powerpc64le-linux-gnu && cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DCMAKE_BUILD_TYPE=Debian -DCMAKE_INSTALL_SYSCONFDIR=/etc -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DBUILD_TESTING=OFF -- The C compiler identification is GNU 8.0.0 -- The CXX compiler identification is GNU 8.0.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Looking for __GLIBC__ -- Looking for __GLIBC__ - found -- Performing Test _OFFT_IS_64BIT -- Performing Test _OFFT_IS_64BIT - Success -- Performing Test HAVE_DATE_TIME -- Performing Test HAVE_DATE_TIME - Success -- Found KF5Archive: /usr/lib/powerpc64le-linux-gnu/cmake/KF5Archive/KF5ArchiveConfig.cmake (found version "5.41.0") -- Found KF5ThreadWeaver: /usr/lib/powerpc64le-linux-gnu/cmake/KF5ThreadWeaver/KF5ThreadWeaverConfig.cmake (found version "5.41.0") -- Found Gettext: /usr/bin/msgmerge (found version "0.19.8.1") -- Found PythonInterp: /usr/bin/python (found version "2.7.14") -- Found KF5TextEditor: /usr/lib/powerpc64le-linux-gnu/cmake/KF5TextEditor/KF5TextEditorConfig.cmake (found version "5.41.0") -- Found KF5I18n: /usr/lib/powerpc64le-linux-gnu/cmake/KF5I18n/KF5I18nConfig.cmake (found version "5.41.0") -- Found KF5ItemModels: /usr/lib/powerpc64le-linux-gnu/cmake/KF5ItemModels/KF5ItemModelsConfig.cmake (found version "5.41.0") -- Found KF5KCMUtils: /usr/lib/powerpc64le-linux-gnu/cmake/KF5KCMUtils/KF5KCMUtilsConfig.cmake (found version "5.41.0") -- Found KF5: success (found suitable version "5.41.0", minimum required is "5.15.0") found components: Archive ThreadWeaver TextEditor I18n ItemModels KCMUtils -- Found KDevelop-PG-Qt -- Using kdevelop-pg-qt include dir: /usr/include/kdevelop-pg-qt -- Using kdevelop-pg-qt executable: /usr/bin/kdev-pg-qt -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success -- Performing Test COMPILER_HAS_DEPRECATED_ATTR -- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success -- The following OPTIONAL packages have been found: * KF5Parts (required version >= 5.41.0) -- The following REQUIRED packages have been found: * ECM (required version >= 5.14.0) * Qt5Core * Qt5Widgets * Qt5Test * Qt5 (required version >= 5.5.0) * KF5Archive (required version >= 5.15.0) * KF5ThreadWeaver (required version >= 5.15.0) * KF5TextEditor (required version >= 5.15.0) * Gettext * PythonInterp * KF5I18n (required version >= 5.15.0) * KF5ItemModels (required version >= 5.15.0) * KF5KCMUtils (required version >= 5.15.0) * KF5 (required version >= 5.15.0) * Qt5Qml (required version >= 5.9.3) * Qt5Gui * KDevPlatform (required version >= 5.2.1) * KDevelop-PG-Qt -- Configuring done -- Generating done CMake Warning: Manually-specified variables were not used by the project: CMAKE_EXPORT_NO_PACKAGE_REGISTRY -- Build files have been written to: /<>/obj-powerpc64le-linux-gnu make[1]: Leaving directory '/<>' dh_auto_build --buildsystem=kf5 -a -O--parallel -O--list-missing cd obj-powerpc64le-linux-gnu && make -j4 make[1]: Entering directory '/<>/obj-powerpc64le-linux-gnu' /usr/bin/cmake -H/<> -B/<>/obj-powerpc64le-linux-gnu --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/cmake -E cmake_progress_start /<>/obj-powerpc64le-linux-gnu/CMakeFiles /<>/obj-powerpc64le-linux-gnu/CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make[2]: Entering directory '/<>/obj-powerpc64le-linux-gnu' make -f parser/CMakeFiles/kdevphpparser_autogen.dir/build.make parser/CMakeFiles/kdevphpparser_autogen.dir/depend make -f CMakeFiles/pofiles-bffe8b6be3b0e78b741dd84a3919dd46.dir/build.make CMakeFiles/pofiles-bffe8b6be3b0e78b741dd84a3919dd46.dir/depend make -f CMakeFiles/tsfiles-bffe8b6be3b0e78b741dd84a3919dd46.dir/build.make CMakeFiles/tsfiles-bffe8b6be3b0e78b741dd84a3919dd46.dir/depend make -f app_templates/CMakeFiles/simple_phpapp.dir/build.make app_templates/CMakeFiles/simple_phpapp.dir/depend make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' cd /<>/obj-powerpc64le-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<> /<>/parser /<>/obj-powerpc64le-linux-gnu /<>/obj-powerpc64le-linux-gnu/parser /<>/obj-powerpc64le-linux-gnu/parser/CMakeFiles/kdevphpparser_autogen.dir/DependInfo.cmake --color= make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' cd /<>/obj-powerpc64le-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<> /<> /<>/obj-powerpc64le-linux-gnu /<>/obj-powerpc64le-linux-gnu /<>/obj-powerpc64le-linux-gnu/CMakeFiles/pofiles-bffe8b6be3b0e78b741dd84a3919dd46.dir/DependInfo.cmake --color= make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' cd /<>/obj-powerpc64le-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<> /<> /<>/obj-powerpc64le-linux-gnu /<>/obj-powerpc64le-linux-gnu /<>/obj-powerpc64le-linux-gnu/CMakeFiles/tsfiles-bffe8b6be3b0e78b741dd84a3919dd46.dir/DependInfo.cmake --color= make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' cd /<>/obj-powerpc64le-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<> /<>/app_templates /<>/obj-powerpc64le-linux-gnu /<>/obj-powerpc64le-linux-gnu/app_templates /<>/obj-powerpc64le-linux-gnu/app_templates/CMakeFiles/simple_phpapp.dir/DependInfo.cmake --color= Scanning dependencies of target pofiles-bffe8b6be3b0e78b741dd84a3919dd46 Scanning dependencies of target kdevphpparser_autogen make[3]: Leaving directory '/<>/obj-powerpc64le-linux-gnu' make -f parser/CMakeFiles/kdevphpparser_autogen.dir/build.make parser/CMakeFiles/kdevphpparser_autogen.dir/build make[3]: Leaving directory '/<>/obj-powerpc64le-linux-gnu' make -f CMakeFiles/pofiles-bffe8b6be3b0e78b741dd84a3919dd46.dir/build.make CMakeFiles/pofiles-bffe8b6be3b0e78b741dd84a3919dd46.dir/build make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' Scanning dependencies of target tsfiles-bffe8b6be3b0e78b741dd84a3919dd46 [ 1%] Generating mo... make[3]: Leaving directory '/<>/obj-powerpc64le-linux-gnu' make -f CMakeFiles/tsfiles-bffe8b6be3b0e78b741dd84a3919dd46.dir/build.make CMakeFiles/tsfiles-bffe8b6be3b0e78b741dd84a3919dd46.dir/build /usr/bin/cmake -DGETTEXT_MSGFMT_EXECUTABLE=/usr/bin/msgfmt -DCOPY_TO=/<>/obj-powerpc64le-linux-gnu/locale -DPO_DIR=/<>/po -P /usr/lib/powerpc64le-linux-gnu/cmake/KF5I18n/build-pofiles.cmake Scanning dependencies of target simple_phpapp make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' make[3]: Leaving directory '/<>/obj-powerpc64le-linux-gnu' make -f app_templates/CMakeFiles/simple_phpapp.dir/build.make app_templates/CMakeFiles/simple_phpapp.dir/build [ 2%] Generating phptokentype.h, phpdebugvisitor.h, phptokentext.h, phpast.h, phpparser.h, phpparser.cpp, phpvisitor.h, phpvisitor.cpp, phpdefaultvisitor.h, phpdefaultvisitor.cpp make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' cd /<>/obj-powerpc64le-linux-gnu/parser && /usr/bin/kdev-pg-qt --output=php --namespace=Php --debug-visitor /<>/parser/php.g -- building... ast/kdevphp.po to kdevphp.mo -- building... bs/kdevphp.po to kdevphp.mo [ 3%] Generating ts... -- building... ca/kdevphp.po to kdevphp.mo /usr/bin/cmake -DPYTHON_EXECUTABLE=/usr/bin/python -D_ki18n_pmap_compile_script=/usr/lib/powerpc64le-linux-gnu/cmake/KF5I18n/ts-pmap-compile.py -DCOPY_TO=/<>/obj-powerpc64le-linux-gnu/locale -DPO_DIR=/<>/po -P /usr/lib/powerpc64le-linux-gnu/cmake/KF5I18n/build-tsfiles.cmake [ 4%] Generating simple_phpapp.tar.bz2 cd /<>/obj-powerpc64le-linux-gnu/app_templates && tar -c -C /<>/app_templates/simple_phpapp --exclude .kdev_ignore --exclude .svn --mode=go=rX,u+rw,a-s --owner=root --group=root --numeric-owner -j -f /<>/obj-powerpc64le-linux-gnu/app_templates/simple_phpapp.tar.bz2 --mtime=1512351645 --sort=name . -- building... ca@valencia/kdevphp.po to kdevphp.mo -- building... cs/kdevphp.po to kdevphp.mo -- building... da/kdevphp.po to kdevphp.mo tar: Substituting -9223372036854775807 for unknown date format ‘1512351645’ make[3]: Leaving directory '/<>/obj-powerpc64le-linux-gnu' make[3]: Leaving directory '/<>/obj-powerpc64le-linux-gnu' -- building... de/kdevphp.po to kdevphp.mo -- building... el/kdevphp.po to kdevphp.mo [ 4%] Built target tsfiles-bffe8b6be3b0e78b741dd84a3919dd46 make -f testprovider/CMakeFiles/kdevphpunitprovider_autogen.dir/build.make testprovider/CMakeFiles/kdevphpunitprovider_autogen.dir/depend -- building... en_GB/kdevphp.po to kdevphp.mo make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' cd /<>/obj-powerpc64le-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<> /<>/testprovider /<>/obj-powerpc64le-linux-gnu /<>/obj-powerpc64le-linux-gnu/testprovider /<>/obj-powerpc64le-linux-gnu/testprovider/CMakeFiles/kdevphpunitprovider_autogen.dir/DependInfo.cmake --color= [ 4%] Built target simple_phpapp make -f docs/CMakeFiles/kcm_kdevphpdocs_autogen.dir/build.make docs/CMakeFiles/kcm_kdevphpdocs_autogen.dir/depend -- building... eo/kdevphp.po to kdevphp.mo make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' cd /<>/obj-powerpc64le-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<> /<>/docs /<>/obj-powerpc64le-linux-gnu /<>/obj-powerpc64le-linux-gnu/docs /<>/obj-powerpc64le-linux-gnu/docs/CMakeFiles/kcm_kdevphpdocs_autogen.dir/DependInfo.cmake --color= -- building... es/kdevphp.po to kdevphp.mo -- building... et/kdevphp.po to kdevphp.mo Scanning dependencies of target kdevphpunitprovider_autogen make[3]: Leaving directory '/<>/obj-powerpc64le-linux-gnu' Scanning dependencies of target kcm_kdevphpdocs_autogen make -f testprovider/CMakeFiles/kdevphpunitprovider_autogen.dir/build.make testprovider/CMakeFiles/kdevphpunitprovider_autogen.dir/build make[3]: Leaving directory '/<>/obj-powerpc64le-linux-gnu' make -f docs/CMakeFiles/kcm_kdevphpdocs_autogen.dir/build.make docs/CMakeFiles/kcm_kdevphpdocs_autogen.dir/build make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' -- building... fi/kdevphp.po to kdevphp.mo -- building... fr/kdevphp.po to kdevphp.mo [ 5%] Automatic MOC for target kdevphpunitprovider -- building... ga/kdevphp.po to kdevphp.mo cd /<>/obj-powerpc64le-linux-gnu/testprovider && /usr/bin/cmake -E cmake_autogen /<>/obj-powerpc64le-linux-gnu/testprovider/CMakeFiles/kdevphpunitprovider_autogen.dir Debian [ 6%] Generating ui_phpdocsconfig.h cd /<>/obj-powerpc64le-linux-gnu/docs && /usr/bin/cmake -DKDE_UIC_EXECUTABLE:FILEPATH=/usr/lib/qt5/bin/uic -DKDE_UIC_FILE:FILEPATH=/<>/docs/phpdocsconfig.ui -DKDE_UIC_H_FILE:FILEPATH=/<>/obj-powerpc64le-linux-gnu/docs/ui_phpdocsconfig.h -DKDE_UIC_BASENAME:STRING=phpdocsconfig -P /usr/lib/powerpc64le-linux-gnu/cmake/KF5I18n/kf5i18nuic.cmake -- building... gl/kdevphp.po to kdevphp.mo -- building... hr/kdevphp.po to kdevphp.mo AutoMoc: Warning: "/<>/testprovider/phpunitprovider.cpp" The file includes the moc file "phpunitprovider.moc", but does not contain a Q_OBJECT or Q_GADGET macro. -- building... hu/kdevphp.po to kdevphp.mo -- building... it/kdevphp.po to kdevphp.mo ** WARNING found FIRST/FOLLOW conflict in elseifList: Rule ``(#elseifListItem=elseifListItem)*'' Terminals [ ELSEIF: conflicts with the FIRST set of: newElseifList, (#newElseifListItem=newelseifListItem)*, elseifList=elseifList, (#elseifListItem=elseifListItem)*, ] ** WARNING found FIRST/FIRST conflict in topStatement: Rule ``(statement=statement | functionDeclaration=functionDeclarationStatement)'' Terminals [ FUNCTION ] ** WARNING found FIRST/FIRST conflict in statement: Rule ``(LBRACE try/recover(statements=innerStatementList) RBRACE | IF LPAREN ifExpr=expr RPAREN (COLON statements=innerStatementList newElseifList newElseSingle ENDIF semicolonOrCloseTag | ifStatement=statement elseifList=elseifList elseSingle=elseSingle) | WHILE LPAREN whileExpr=expr RPAREN whileStatement=whileStatement | FOR LPAREN forExpr1=forExpr SEMICOLON forExpr2=forExpr SEMICOLON forExpr3=forExpr RPAREN forStatement=forStatement | SWITCH LPAREN swtichExpr=expr RPAREN switchCaseList=switchCaseList | FOREACH LPAREN try/rollback(foreachVar=variable AS foreachVarAsVar=foreachVariable) catch(foreachExpr=expr AS foreachExprAsVar=variable) (DOUBLE_ARROW foreachVariable=foreachVariable | 0) RPAREN foreachStatement=foreachStatement | DECLARE LPAREN declareItem=declareItem (COMMA declareItem=declareItem)* RPAREN declareStatement | SEMICOLON | TRY LBRACE try/recover(statements=innerStatementList) RBRACE (#catches=catchItem)* (FINALLY LBRACE finallyBody=innerStatementList RBRACE | 0) | UNSET LPAREN #unsetVariables=variable (COMMA #unsetVariables=variable)* RPAREN semicolonOrCloseTag | expr=expr semicolonOrCloseTag | DO doStatement=statement WHILE LPAREN whileExpr=expr RPAREN semicolonOrCloseTag | BREAK (breakExpr=expr | 0) semicolonOrCloseTag | CONTINUE (continueExpr=expr | 0) semicolonOrCloseTag | RETURN (returnExpr=expr | 0) semicolonOrCloseTag | GLOBAL #globalVars=globalVar (COMMA #globalVars=globalVar)* semicolonOrCloseTag | STATIC #staticVars=staticVar (COMMA #staticVars=staticVar)* semicolonOrCloseTag | ECHO #echoExprs=expr (COMMA #echoExprs=expr)* semicolonOrCloseTag | THROW throwExpr=expr semicolonOrCloseTag | CLOSE_TAG | OPEN_TAG | OPEN_TAG_WITH_ECHO expr=expr semicolonOrCloseTag | INLINE_HTML | CONST #consts=constantDeclaration (COMMA #consts=constantDeclaration)* SEMICOLON | USE #useNamespace=useNamespace (COMMA #useNamespace=useNamespace)* SEMICOLON | GOTO gotoLabel=STRING SEMICOLON | gotoTarget=STRING COLON)'' Terminals [ STRING ] ** WARNING found FIRST/FIRST conflict in classNameReference: Rule ``(identifier=namespacedIdentifier | staticIdentifier=STATIC | dynamicClassNameReference=dynamicClassNameReference)'' Terminals [ STRING, BACKSLASH ] ** WARNING found FIRST/FIRST conflict in varExpression: Rule ``(0 variable=variable | 0 newObject=varExpressionNewObject | varExpressionNormal=varExpressionNormal)'' Terminals [ VARIABLE, NEW, STRING, BACKSLASH, DOLLAR ] ** WARNING found FIRST/FIRST conflict in varExpressionNormal: Rule ``(iife=iifeSyntax | LPAREN try/rollback(newObject=varExpressionNewObject RPAREN (#variableProperties=instantiationAccess)*) catch(expression=expr RPAREN))'' Terminals [ LPAREN ] ** WARNING found FIRST/FIRST conflict in variableProperty: Rule ``(LBRACE variable=variable RBRACE | objectProperty=objectProperty)'' Terminals [ LBRACE ] ** WARNING found FIRST/FIRST conflict in encapsVar: Rule ``(STRING_VARNAME arrayIndex=arrayIndexSpecifier RBRACE | expr=expr RBRACE)'' Terminals [ STRING_VARNAME ] 8 conflicts total: 1 FIRST/FOLLOW conflicts, 7 FIRST/FIRST conflicts. -- building... ja/kdevphp.po to kdevphp.mo -- building... kk/kdevphp.po to kdevphp.mo [ 7%] Generating kcm_kdevphpdocs.json cd /<>/docs && /usr/bin/desktoptojson -i /<>/obj-powerpc64le-linux-gnu/docs/kcm_kdevphpdocs.desktop -o /<>/obj-powerpc64le-linux-gnu/docs/kcm_kdevphpdocs.json -- building... ko/kdevphp.po to kdevphp.mo -- building... lt/kdevphp.po to kdevphp.mo -- building... mr/kdevphp.po to kdevphp.mo -- building... nb/kdevphp.po to kdevphp.mo [ 8%] Generating phpdocssettings.h, phpdocssettings.cpp cd /<>/obj-powerpc64le-linux-gnu/docs && /usr/lib/powerpc64le-linux-gnu/libexec/kf5/kconfig_compiler_kf5 /<>/docs/phpdocssettings.kcfg /<>/docs/phpdocssettings.kcfgc -d /<>/obj-powerpc64le-linux-gnu/docs/ -- building... nds/kdevphp.po to kdevphp.mo -- building... nl/kdevphp.po to kdevphp.mo -- building... pl/kdevphp.po to kdevphp.mo -- building... pt/kdevphp.po to kdevphp.mo -- building... pt_BR/kdevphp.po to kdevphp.mo -- building... ro/kdevphp.po to kdevphp.mo [ 9%] Automatic MOC for target kcm_kdevphpdocs cd /<>/obj-powerpc64le-linux-gnu/docs && /usr/bin/cmake -E cmake_autogen /<>/obj-powerpc64le-linux-gnu/docs/CMakeFiles/kcm_kdevphpdocs_autogen.dir Debian -- building... ru/kdevphp.po to kdevphp.mo -- building... sk/kdevphp.po to kdevphp.mo AutoMoc: Warning: "/<>/docs/phpdocsconfig.cpp" The file includes the moc file "phpdocsconfig.moc", but does not contain a Q_OBJECT or Q_GADGET macro. -- building... sl/kdevphp.po to kdevphp.mo -- building... sv/kdevphp.po to kdevphp.mo -- building... th/kdevphp.po to kdevphp.mo -- building... tr/kdevphp.po to kdevphp.mo -- building... ug/kdevphp.po to kdevphp.mo -- building... uk/kdevphp.po to kdevphp.mo -- building... zh_CN/kdevphp.po to kdevphp.mo -- building... zh_TW/kdevphp.po to kdevphp.mo make[3]: Leaving directory '/<>/obj-powerpc64le-linux-gnu' [ 9%] Built target pofiles-bffe8b6be3b0e78b741dd84a3919dd46 make -f docs/CMakeFiles/kdevphpdocs_autogen.dir/build.make docs/CMakeFiles/kdevphpdocs_autogen.dir/depend make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' cd /<>/obj-powerpc64le-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<> /<>/docs /<>/obj-powerpc64le-linux-gnu /<>/obj-powerpc64le-linux-gnu/docs /<>/obj-powerpc64le-linux-gnu/docs/CMakeFiles/kdevphpdocs_autogen.dir/DependInfo.cmake --color= Scanning dependencies of target kdevphpdocs_autogen make[3]: Leaving directory '/<>/obj-powerpc64le-linux-gnu' make -f docs/CMakeFiles/kdevphpdocs_autogen.dir/build.make docs/CMakeFiles/kdevphpdocs_autogen.dir/build make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' [ 10%] Automatic MOC for target kdevphpdocs cd /<>/obj-powerpc64le-linux-gnu/docs && /usr/bin/cmake -E cmake_autogen /<>/obj-powerpc64le-linux-gnu/docs/CMakeFiles/kdevphpdocs_autogen.dir Debian AutoMoc: Warning: "/<>/docs/phpdocsplugin.cpp" The file includes the moc file "phpdocsplugin.moc", but does not contain a Q_OBJECT or Q_GADGET macro. Generating MOC predefs moc_predefs.h Generating MOC source include/phpdocsconfig.moc Generating MOC source EWIEGA46WW/moc_phpdocsconfig.cpp Generating MOC compilation mocs_compilation.cpp make[3]: Leaving directory '/<>/obj-powerpc64le-linux-gnu' Generating MOC predefs moc_predefs.h Generating MOC source include/phpunitprovider.moc Generating MOC source EWIEGA46WW/moc_phpunitprovider.cpp Generating MOC source EWIEGA46WW/moc_phpunitrunjob.cpp Generating MOC compilation mocs_compilation.cpp make[3]: Leaving directory '/<>/obj-powerpc64le-linux-gnu' [ 10%] Built target kcm_kdevphpdocs_autogen make -f docs/CMakeFiles/kcm_kdevphpdocs.dir/build.make docs/CMakeFiles/kcm_kdevphpdocs.dir/depend [ 10%] Built target kdevphpunitprovider_autogen make -f testprovider/CMakeFiles/kdevphpunitprovider.dir/build.make testprovider/CMakeFiles/kdevphpunitprovider.dir/depend make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' cd /<>/obj-powerpc64le-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<> /<>/docs /<>/obj-powerpc64le-linux-gnu /<>/obj-powerpc64le-linux-gnu/docs /<>/obj-powerpc64le-linux-gnu/docs/CMakeFiles/kcm_kdevphpdocs.dir/DependInfo.cmake --color= make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' cd /<>/obj-powerpc64le-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<> /<>/testprovider /<>/obj-powerpc64le-linux-gnu /<>/obj-powerpc64le-linux-gnu/testprovider /<>/obj-powerpc64le-linux-gnu/testprovider/CMakeFiles/kdevphpunitprovider.dir/DependInfo.cmake --color= Scanning dependencies of target kcm_kdevphpdocs make[3]: Leaving directory '/<>/obj-powerpc64le-linux-gnu' make -f docs/CMakeFiles/kcm_kdevphpdocs.dir/build.make docs/CMakeFiles/kcm_kdevphpdocs.dir/build make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' [ 11%] Building CXX object docs/CMakeFiles/kcm_kdevphpdocs.dir/phpdocsconfig.cpp.o cd /<>/obj-powerpc64le-linux-gnu/docs && /usr/bin/c++ -DKCOREADDONS_LIB -DKDE_DEFAULT_DEBUG_AREA=9043 -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"kdevphp\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dkcm_kdevphpdocs_EXPORTS -I/<>/obj-powerpc64le-linux-gnu/docs -I/<>/docs -I/<>/obj-powerpc64le-linux-gnu/docs/kcm_kdevphpdocs_autogen/include -I/usr/include/kdevelop-pg-qt -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5 -isystem /usr/include/KF5/KCodecs -isystem /usr/include/powerpc64le-linux-gnu/qt5 -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtCore -isystem /usr/lib/powerpc64le-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtGui -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtXml -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtNetwork -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KCMUtils -g -O3 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -o CMakeFiles/kcm_kdevphpdocs.dir/phpdocsconfig.cpp.o -c /<>/docs/phpdocsconfig.cpp Scanning dependencies of target kdevphpunitprovider make[3]: Leaving directory '/<>/obj-powerpc64le-linux-gnu' make -f testprovider/CMakeFiles/kdevphpunitprovider.dir/build.make testprovider/CMakeFiles/kdevphpunitprovider.dir/build make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' [ 12%] Building CXX object testprovider/CMakeFiles/kdevphpunitprovider.dir/phpunitprovider.cpp.o cd /<>/obj-powerpc64le-linux-gnu/testprovider && /usr/bin/c++ -DKCOREADDONS_LIB -DKDE_DEFAULT_DEBUG_AREA=9043 -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"kdevphp\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dkdevphpunitprovider_EXPORTS -I/<>/obj-powerpc64le-linux-gnu/testprovider -I/<>/testprovider -I/<>/obj-powerpc64le-linux-gnu/testprovider/kdevphpunitprovider_autogen/include -I/usr/include/kdevelop-pg-qt -isystem /usr/include/kdevplatform -isystem /usr/include/KF5/KParts -isystem /usr/include/KF5 -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/powerpc64le-linux-gnu/qt5 -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtCore -isystem /usr/lib/powerpc64le-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtNetwork -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtDBus -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtXml -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KTextEditor -isystem /usr/include/KF5/ThreadWeaver -isystem /usr/include/KF5/KItemModels -g -O3 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -o CMakeFiles/kdevphpunitprovider.dir/phpunitprovider.cpp.o -c /<>/testprovider/phpunitprovider.cpp [ 13%] Automatic MOC for target kdevphpparser cd /<>/obj-powerpc64le-linux-gnu/parser && /usr/bin/cmake -E cmake_autogen /<>/obj-powerpc64le-linux-gnu/parser/CMakeFiles/kdevphpparser_autogen.dir Debian Generating MOC predefs moc_predefs.h Generating MOC compilation mocs_compilation.cpp make[3]: Leaving directory '/<>/obj-powerpc64le-linux-gnu' [ 13%] Built target kdevphpparser_autogen [ 14%] Building CXX object docs/CMakeFiles/kcm_kdevphpdocs.dir/phpdocssettings.cpp.o cd /<>/obj-powerpc64le-linux-gnu/docs && /usr/bin/c++ -DKCOREADDONS_LIB -DKDE_DEFAULT_DEBUG_AREA=9043 -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"kdevphp\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dkcm_kdevphpdocs_EXPORTS -I/<>/obj-powerpc64le-linux-gnu/docs -I/<>/docs -I/<>/obj-powerpc64le-linux-gnu/docs/kcm_kdevphpdocs_autogen/include -I/usr/include/kdevelop-pg-qt -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5 -isystem /usr/include/KF5/KCodecs -isystem /usr/include/powerpc64le-linux-gnu/qt5 -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtCore -isystem /usr/lib/powerpc64le-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtGui -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtXml -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtNetwork -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KCMUtils -g -O3 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -o CMakeFiles/kcm_kdevphpdocs.dir/phpdocssettings.cpp.o -c /<>/obj-powerpc64le-linux-gnu/docs/phpdocssettings.cpp Generating MOC predefs moc_predefs.h Generating MOC source include/phpdocsplugin.moc Generating MOC source EWIEGA46WW/moc_phpdocsmodel.cpp Generating MOC source EWIEGA46WW/moc_phpdocsplugin.cpp Generating MOC source EWIEGA46WW/moc_phpdocumentation.cpp Generating MOC source EWIEGA46WW/moc_phpdocumentationwidget.cpp Generating MOC compilation mocs_compilation.cpp make[3]: Leaving directory '/<>/obj-powerpc64le-linux-gnu' [ 15%] Built target kdevphpdocs_autogen [ 16%] Building CXX object docs/CMakeFiles/kcm_kdevphpdocs.dir/kcm_kdevphpdocs_autogen/mocs_compilation.cpp.o cd /<>/obj-powerpc64le-linux-gnu/docs && /usr/bin/c++ -DKCOREADDONS_LIB -DKDE_DEFAULT_DEBUG_AREA=9043 -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"kdevphp\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dkcm_kdevphpdocs_EXPORTS -I/<>/obj-powerpc64le-linux-gnu/docs -I/<>/docs -I/<>/obj-powerpc64le-linux-gnu/docs/kcm_kdevphpdocs_autogen/include -I/usr/include/kdevelop-pg-qt -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5 -isystem /usr/include/KF5/KCodecs -isystem /usr/include/powerpc64le-linux-gnu/qt5 -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtCore -isystem /usr/lib/powerpc64le-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtGui -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtXml -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtNetwork -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KCMUtils -g -O3 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -o CMakeFiles/kcm_kdevphpdocs.dir/kcm_kdevphpdocs_autogen/mocs_compilation.cpp.o -c /<>/obj-powerpc64le-linux-gnu/docs/kcm_kdevphpdocs_autogen/mocs_compilation.cpp make -f parser/CMakeFiles/kdevphpparser.dir/build.make parser/CMakeFiles/kdevphpparser.dir/depend make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' cd /<>/obj-powerpc64le-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<> /<>/parser /<>/obj-powerpc64le-linux-gnu /<>/obj-powerpc64le-linux-gnu/parser /<>/obj-powerpc64le-linux-gnu/parser/CMakeFiles/kdevphpparser.dir/DependInfo.cmake --color= Scanning dependencies of target kdevphpparser make[3]: Leaving directory '/<>/obj-powerpc64le-linux-gnu' make -f parser/CMakeFiles/kdevphpparser.dir/build.make parser/CMakeFiles/kdevphpparser.dir/build make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' [ 17%] Building CXX object parser/CMakeFiles/kdevphpparser.dir/phpparser.cpp.o cd /<>/obj-powerpc64le-linux-gnu/parser && /usr/bin/c++ -DKCOREADDONS_LIB -DKDE_DEFAULT_DEBUG_AREA=9043 -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"kdevphp\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dkdevphpparser_EXPORTS -I/<>/obj-powerpc64le-linux-gnu/parser -I/<>/parser -I/<>/obj-powerpc64le-linux-gnu/parser/kdevphpparser_autogen/include -I/usr/include/kdevelop-pg-qt -isystem /usr/include/kdevplatform -isystem /usr/include/KF5/ThreadWeaver -isystem /usr/include/KF5 -isystem /usr/include/powerpc64le-linux-gnu/qt5 -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtCore -isystem /usr/lib/powerpc64le-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KParts -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtNetwork -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtDBus -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtXml -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KTextEditor -g -O3 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -o CMakeFiles/kdevphpparser.dir/phpparser.cpp.o -c /<>/obj-powerpc64le-linux-gnu/parser/phpparser.cpp [ 18%] Building CXX object parser/CMakeFiles/kdevphpparser.dir/phpvisitor.cpp.o cd /<>/obj-powerpc64le-linux-gnu/parser && /usr/bin/c++ -DKCOREADDONS_LIB -DKDE_DEFAULT_DEBUG_AREA=9043 -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"kdevphp\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dkdevphpparser_EXPORTS -I/<>/obj-powerpc64le-linux-gnu/parser -I/<>/parser -I/<>/obj-powerpc64le-linux-gnu/parser/kdevphpparser_autogen/include -I/usr/include/kdevelop-pg-qt -isystem /usr/include/kdevplatform -isystem /usr/include/KF5/ThreadWeaver -isystem /usr/include/KF5 -isystem /usr/include/powerpc64le-linux-gnu/qt5 -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtCore -isystem /usr/lib/powerpc64le-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KParts -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtNetwork -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtDBus -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtXml -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KTextEditor -g -O3 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -o CMakeFiles/kdevphpparser.dir/phpvisitor.cpp.o -c /<>/obj-powerpc64le-linux-gnu/parser/phpvisitor.cpp In file included from /usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h:47, from /usr/include/powerpc64le-linux-gnu/qt5/QtCore/QObject:1, from /usr/include/kdevplatform/interfaces/iplugin.h:26, from /<>/testprovider/phpunitprovider.h:24, from /<>/testprovider/phpunitprovider.cpp:22: /usr/include/kdevplatform/serialization/itemrepository.h: In instantiation of ‘QString KDevelop::ItemRepository::Statistics::print() const [with Item = Utils::SetNodeData; ItemRequest = Utils::SetNodeDataRequest; bool markForReferenceCounting = false; bool threadSafe = false; unsigned int fixedItemSize = 24; unsigned int targetBucketHashSize = 1048576]’: /usr/include/kdevplatform/serialization/itemrepository.h:1545:31: required from ‘QString KDevelop::ItemRepository::printStatistics() const [with Item = Utils::SetNodeData; ItemRequest = Utils::SetNodeDataRequest; bool markForReferenceCounting = false; bool threadSafe = false; unsigned int fixedItemSize = 24; unsigned int targetBucketHashSize = 1048576]’ /<>/obj-powerpc64le-linux-gnu/testprovider/kdevphpunitprovider_autogen/include/phpunitprovider.moc:155:1: required from here /usr/include/kdevplatform/serialization/itemrepository.h:1530:14: internal compiler error: Segmentation fault ret += QStringLiteral("loaded buckets: %1 current bucket: %2 used memory: %3 loaded monster buckets: %4").arg(loadedBuckets).arg(currentBucket).arg(usedMemory).arg(loadedMonsterBuckets); ^~~~~~~~~~~~~~ [ 19%] Linking CXX shared module kcm_kdevphpdocs.so cd /<>/obj-powerpc64le-linux-gnu/docs && /usr/bin/cmake -E cmake_link_script CMakeFiles/kcm_kdevphpdocs.dir/link.txt --verbose=1 /usr/bin/c++ -fPIC -g -O3 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -Wl,--no-undefined -Wl,--fatal-warnings -Wl,--enable-new-dtags -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed -shared -o kcm_kdevphpdocs.so CMakeFiles/kcm_kdevphpdocs.dir/phpdocsconfig.cpp.o CMakeFiles/kcm_kdevphpdocs.dir/phpdocssettings.cpp.o CMakeFiles/kcm_kdevphpdocs.dir/kcm_kdevphpdocs_autogen/mocs_compilation.cpp.o /usr/lib/powerpc64le-linux-gnu/libKF5KIOWidgets.so.5.41.0 /usr/lib/powerpc64le-linux-gnu/libKF5KCMUtils.so.5.41.0 /usr/lib/powerpc64le-linux-gnu/libKF5KIOCore.so.5.41.0 /usr/lib/powerpc64le-linux-gnu/libKF5JobWidgets.so.5.41.0 /usr/lib/powerpc64le-linux-gnu/libKF5Service.so.5.41.0 /usr/lib/powerpc64le-linux-gnu/libKF5Completion.so.5.41.0 /usr/lib/powerpc64le-linux-gnu/libKF5ConfigWidgets.so.5.41.0 /usr/lib/powerpc64le-linux-gnu/libKF5Codecs.so.5.41.0 /usr/lib/powerpc64le-linux-gnu/libKF5ConfigGui.so.5.41.0 /usr/lib/powerpc64le-linux-gnu/libQt5Xml.so.5.9.3 /usr/lib/powerpc64le-linux-gnu/libKF5ConfigCore.so.5.41.0 /usr/lib/powerpc64le-linux-gnu/libKF5Auth.so.5.41.0 /usr/lib/powerpc64le-linux-gnu/libKF5I18n.so.5.41.0 /usr/lib/powerpc64le-linux-gnu/libKF5WidgetsAddons.so.5.41.0 /usr/lib/powerpc64le-linux-gnu/libKF5CoreAddons.so.5.41.0 /usr/lib/powerpc64le-linux-gnu/libQt5Widgets.so.5.9.3 /usr/lib/powerpc64le-linux-gnu/libQt5Gui.so.5.9.3 /usr/lib/powerpc64le-linux-gnu/libQt5Network.so.5.9.3 /usr/lib/powerpc64le-linux-gnu/libQt5Core.so.5.9.3 make[3]: Leaving directory '/<>/obj-powerpc64le-linux-gnu' [ 21%] Built target kcm_kdevphpdocs [ 22%] Building CXX object parser/CMakeFiles/kdevphpparser.dir/phpdefaultvisitor.cpp.o 0x108d33e3 crash_signal ../../src/gcc/toplev.c:325 cd /<>/obj-powerpc64le-linux-gnu/parser && /usr/bin/c++ -DKCOREADDONS_LIB -DKDE_DEFAULT_DEBUG_AREA=9043 -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"kdevphp\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dkdevphpparser_EXPORTS -I/<>/obj-powerpc64le-linux-gnu/parser -I/<>/parser -I/<>/obj-powerpc64le-linux-gnu/parser/kdevphpparser_autogen/include -I/usr/include/kdevelop-pg-qt -isystem /usr/include/kdevplatform -isystem /usr/include/KF5/ThreadWeaver -isystem /usr/include/KF5 -isystem /usr/include/powerpc64le-linux-gnu/qt5 -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtCore -isystem /usr/lib/powerpc64le-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KParts -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtNetwork -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtDBus -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtXml -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KTextEditor -g -O3 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -o CMakeFiles/kdevphpparser.dir/phpdefaultvisitor.cpp.o -c /<>/obj-powerpc64le-linux-gnu/parser/phpdefaultvisitor.cpp 0x101e5a08 determine_visibility(tree_node*) ../../src/gcc/cp/decl2.c:2472 0x102bf8fb lookup_template_class_1 ../../src/gcc/cp/pt.c:9145 0x102bf8fb lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*, int, int) ../../src/gcc/cp/pt.c:9161 0x102c0787 tsubst_aggr_type ../../src/gcc/cp/pt.c:12008 0x102b4d57 tsubst(tree_node*, tree_node*, int, tree_node*) ../../src/gcc/cp/pt.c:13643 0x102c949f tsubst_decl ../../src/gcc/cp/pt.c:12940 0x102b4f2b tsubst(tree_node*, tree_node*, int, tree_node*) ../../src/gcc/cp/pt.c:13561 0x102ad2df tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../src/gcc/cp/pt.c:16046 0x102ac247 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../src/gcc/cp/pt.c:15973 0x102ab47f tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../src/gcc/cp/pt.c:16236 0x102ab47f tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../src/gcc/cp/pt.c:16236 0x102af2e7 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../src/gcc/cp/pt.c:15958 0x102af2e7 tsubst_lambda_expr(tree_node*, tree_node*, int, tree_node*) ../../src/gcc/cp/pt.c:16970 0x102b1143 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../src/gcc/cp/pt.c:18260 0x102b226b tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../src/gcc/cp/pt.c:17577 0x102b12b3 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../src/gcc/cp/pt.c:17955 0x102b226b tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../src/gcc/cp/pt.c:17577 0x102b12b3 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../src/gcc/cp/pt.c:17955 0x102b226b tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../src/gcc/cp/pt.c:17577 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See for instructions. [ 23%] Building CXX object testprovider/CMakeFiles/kdevphpunitprovider.dir/phpunittestsuite.cpp.o cd /<>/obj-powerpc64le-linux-gnu/testprovider && /usr/bin/c++ -DKCOREADDONS_LIB -DKDE_DEFAULT_DEBUG_AREA=9043 -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"kdevphp\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dkdevphpunitprovider_EXPORTS -I/<>/obj-powerpc64le-linux-gnu/testprovider -I/<>/testprovider -I/<>/obj-powerpc64le-linux-gnu/testprovider/kdevphpunitprovider_autogen/include -I/usr/include/kdevelop-pg-qt -isystem /usr/include/kdevplatform -isystem /usr/include/KF5/KParts -isystem /usr/include/KF5 -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/powerpc64le-linux-gnu/qt5 -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtCore -isystem /usr/lib/powerpc64le-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtNetwork -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtDBus -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtXml -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KTextEditor -isystem /usr/include/KF5/ThreadWeaver -isystem /usr/include/KF5/KItemModels -g -O3 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -o CMakeFiles/kdevphpunitprovider.dir/phpunittestsuite.cpp.o -c /<>/testprovider/phpunittestsuite.cpp [ 25%] Building CXX object parser/CMakeFiles/kdevphpparser.dir/parserdebug.cpp.o cd /<>/obj-powerpc64le-linux-gnu/parser && /usr/bin/c++ -DKCOREADDONS_LIB -DKDE_DEFAULT_DEBUG_AREA=9043 -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"kdevphp\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dkdevphpparser_EXPORTS -I/<>/obj-powerpc64le-linux-gnu/parser -I/<>/parser -I/<>/obj-powerpc64le-linux-gnu/parser/kdevphpparser_autogen/include -I/usr/include/kdevelop-pg-qt -isystem /usr/include/kdevplatform -isystem /usr/include/KF5/ThreadWeaver -isystem /usr/include/KF5 -isystem /usr/include/powerpc64le-linux-gnu/qt5 -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtCore -isystem /usr/lib/powerpc64le-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KParts -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtNetwork -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtDBus -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtXml -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KTextEditor -g -O3 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -o CMakeFiles/kdevphpparser.dir/parserdebug.cpp.o -c /<>/obj-powerpc64le-linux-gnu/parser/parserdebug.cpp [ 26%] Building CXX object parser/CMakeFiles/kdevphpparser.dir/phplexer.cpp.o cd /<>/obj-powerpc64le-linux-gnu/parser && /usr/bin/c++ -DKCOREADDONS_LIB -DKDE_DEFAULT_DEBUG_AREA=9043 -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"kdevphp\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dkdevphpparser_EXPORTS -I/<>/obj-powerpc64le-linux-gnu/parser -I/<>/parser -I/<>/obj-powerpc64le-linux-gnu/parser/kdevphpparser_autogen/include -I/usr/include/kdevelop-pg-qt -isystem /usr/include/kdevplatform -isystem /usr/include/KF5/ThreadWeaver -isystem /usr/include/KF5 -isystem /usr/include/powerpc64le-linux-gnu/qt5 -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtCore -isystem /usr/lib/powerpc64le-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KParts -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtNetwork -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtDBus -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtXml -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KTextEditor -g -O3 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -o CMakeFiles/kdevphpparser.dir/phplexer.cpp.o -c /<>/parser/phplexer.cpp [ 27%] Building CXX object testprovider/CMakeFiles/kdevphpunitprovider.dir/phpunitrunjob.cpp.o cd /<>/obj-powerpc64le-linux-gnu/testprovider && /usr/bin/c++ -DKCOREADDONS_LIB -DKDE_DEFAULT_DEBUG_AREA=9043 -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"kdevphp\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dkdevphpunitprovider_EXPORTS -I/<>/obj-powerpc64le-linux-gnu/testprovider -I/<>/testprovider -I/<>/obj-powerpc64le-linux-gnu/testprovider/kdevphpunitprovider_autogen/include -I/usr/include/kdevelop-pg-qt -isystem /usr/include/kdevplatform -isystem /usr/include/KF5/KParts -isystem /usr/include/KF5 -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/powerpc64le-linux-gnu/qt5 -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtCore -isystem /usr/lib/powerpc64le-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtNetwork -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtDBus -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtXml -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KTextEditor -isystem /usr/include/KF5/ThreadWeaver -isystem /usr/include/KF5/KItemModels -g -O3 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -o CMakeFiles/kdevphpunitprovider.dir/phpunitrunjob.cpp.o -c /<>/testprovider/phpunitrunjob.cpp [ 28%] Building CXX object testprovider/CMakeFiles/kdevphpunitprovider.dir/testdoxdelegate.cpp.o cd /<>/obj-powerpc64le-linux-gnu/testprovider && /usr/bin/c++ -DKCOREADDONS_LIB -DKDE_DEFAULT_DEBUG_AREA=9043 -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"kdevphp\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dkdevphpunitprovider_EXPORTS -I/<>/obj-powerpc64le-linux-gnu/testprovider -I/<>/testprovider -I/<>/obj-powerpc64le-linux-gnu/testprovider/kdevphpunitprovider_autogen/include -I/usr/include/kdevelop-pg-qt -isystem /usr/include/kdevplatform -isystem /usr/include/KF5/KParts -isystem /usr/include/KF5 -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/powerpc64le-linux-gnu/qt5 -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtCore -isystem /usr/lib/powerpc64le-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtNetwork -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtDBus -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtXml -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KTextEditor -isystem /usr/include/KF5/ThreadWeaver -isystem /usr/include/KF5/KItemModels -g -O3 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -o CMakeFiles/kdevphpunitprovider.dir/testdoxdelegate.cpp.o -c /<>/testprovider/testdoxdelegate.cpp [ 29%] Building CXX object parser/CMakeFiles/kdevphpparser.dir/parsesession.cpp.o cd /<>/obj-powerpc64le-linux-gnu/parser && /usr/bin/c++ -DKCOREADDONS_LIB -DKDE_DEFAULT_DEBUG_AREA=9043 -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"kdevphp\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dkdevphpparser_EXPORTS -I/<>/obj-powerpc64le-linux-gnu/parser -I/<>/parser -I/<>/obj-powerpc64le-linux-gnu/parser/kdevphpparser_autogen/include -I/usr/include/kdevelop-pg-qt -isystem /usr/include/kdevplatform -isystem /usr/include/KF5/ThreadWeaver -isystem /usr/include/KF5 -isystem /usr/include/powerpc64le-linux-gnu/qt5 -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtCore -isystem /usr/lib/powerpc64le-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KParts -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtNetwork -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtDBus -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtXml -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KTextEditor -g -O3 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -o CMakeFiles/kdevphpparser.dir/parsesession.cpp.o -c /<>/parser/parsesession.cpp [ 30%] Building CXX object testprovider/CMakeFiles/kdevphpunitprovider.dir/testproviderdebug.cpp.o cd /<>/obj-powerpc64le-linux-gnu/testprovider && /usr/bin/c++ -DKCOREADDONS_LIB -DKDE_DEFAULT_DEBUG_AREA=9043 -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"kdevphp\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dkdevphpunitprovider_EXPORTS -I/<>/obj-powerpc64le-linux-gnu/testprovider -I/<>/testprovider -I/<>/obj-powerpc64le-linux-gnu/testprovider/kdevphpunitprovider_autogen/include -I/usr/include/kdevelop-pg-qt -isystem /usr/include/kdevplatform -isystem /usr/include/KF5/KParts -isystem /usr/include/KF5 -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/powerpc64le-linux-gnu/qt5 -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtCore -isystem /usr/lib/powerpc64le-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtNetwork -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtDBus -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtXml -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KTextEditor -isystem /usr/include/KF5/ThreadWeaver -isystem /usr/include/KF5/KItemModels -g -O3 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -o CMakeFiles/kdevphpunitprovider.dir/testproviderdebug.cpp.o -c /<>/obj-powerpc64le-linux-gnu/testprovider/testproviderdebug.cpp [ 31%] Building CXX object parser/CMakeFiles/kdevphpparser.dir/kdevphpparser_autogen/mocs_compilation.cpp.o cd /<>/obj-powerpc64le-linux-gnu/parser && /usr/bin/c++ -DKCOREADDONS_LIB -DKDE_DEFAULT_DEBUG_AREA=9043 -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"kdevphp\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dkdevphpparser_EXPORTS -I/<>/obj-powerpc64le-linux-gnu/parser -I/<>/parser -I/<>/obj-powerpc64le-linux-gnu/parser/kdevphpparser_autogen/include -I/usr/include/kdevelop-pg-qt -isystem /usr/include/kdevplatform -isystem /usr/include/KF5/ThreadWeaver -isystem /usr/include/KF5 -isystem /usr/include/powerpc64le-linux-gnu/qt5 -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtCore -isystem /usr/lib/powerpc64le-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KParts -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtNetwork -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtDBus -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtXml -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KTextEditor -g -O3 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -o CMakeFiles/kdevphpparser.dir/kdevphpparser_autogen/mocs_compilation.cpp.o -c /<>/obj-powerpc64le-linux-gnu/parser/kdevphpparser_autogen/mocs_compilation.cpp make -f docs/CMakeFiles/kdevphpdocs.dir/build.make docs/CMakeFiles/kdevphpdocs.dir/depend make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' cd /<>/obj-powerpc64le-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<> /<>/docs /<>/obj-powerpc64le-linux-gnu /<>/obj-powerpc64le-linux-gnu/docs /<>/obj-powerpc64le-linux-gnu/docs/CMakeFiles/kdevphpdocs.dir/DependInfo.cmake --color= [ 32%] Building CXX object testprovider/CMakeFiles/kdevphpunitprovider.dir/kdevphpunitprovider_autogen/mocs_compilation.cpp.o cd /<>/obj-powerpc64le-linux-gnu/testprovider && /usr/bin/c++ -DKCOREADDONS_LIB -DKDE_DEFAULT_DEBUG_AREA=9043 -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"kdevphp\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dkdevphpunitprovider_EXPORTS -I/<>/obj-powerpc64le-linux-gnu/testprovider -I/<>/testprovider -I/<>/obj-powerpc64le-linux-gnu/testprovider/kdevphpunitprovider_autogen/include -I/usr/include/kdevelop-pg-qt -isystem /usr/include/kdevplatform -isystem /usr/include/KF5/KParts -isystem /usr/include/KF5 -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/powerpc64le-linux-gnu/qt5 -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtCore -isystem /usr/lib/powerpc64le-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtNetwork -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtDBus -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtXml -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KTextEditor -isystem /usr/include/KF5/ThreadWeaver -isystem /usr/include/KF5/KItemModels -g -O3 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -o CMakeFiles/kdevphpunitprovider.dir/kdevphpunitprovider_autogen/mocs_compilation.cpp.o -c /<>/obj-powerpc64le-linux-gnu/testprovider/kdevphpunitprovider_autogen/mocs_compilation.cpp Scanning dependencies of target kdevphpdocs make[3]: Leaving directory '/<>/obj-powerpc64le-linux-gnu' make -f docs/CMakeFiles/kdevphpdocs.dir/build.make docs/CMakeFiles/kdevphpdocs.dir/build make[3]: Entering directory '/<>/obj-powerpc64le-linux-gnu' [ 33%] Building CXX object docs/CMakeFiles/kdevphpdocs.dir/phpdocumentationwidget.cpp.o cd /<>/obj-powerpc64le-linux-gnu/docs && /usr/bin/c++ -DKCOREADDONS_LIB -DKDE_DEFAULT_DEBUG_AREA=9043 -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"kdevphp\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dkdevphpdocs_EXPORTS -I/<>/obj-powerpc64le-linux-gnu/docs -I/<>/docs -I/<>/obj-powerpc64le-linux-gnu/docs/kdevphpdocs_autogen/include -I/usr/include/kdevelop-pg-qt -isystem /usr/include/kdevplatform -isystem /usr/include/KF5/KParts -isystem /usr/include/KF5 -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/powerpc64le-linux-gnu/qt5 -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtCore -isystem /usr/lib/powerpc64le-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtNetwork -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtDBus -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtXml -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KTextEditor -isystem /usr/include/KF5/ThreadWeaver -isystem /usr/include/KF5/KCMUtils -g -O3 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -o CMakeFiles/kdevphpdocs.dir/phpdocumentationwidget.cpp.o -c /<>/docs/phpdocumentationwidget.cpp Preprocessed source stored into /tmp/cc9unuNd.out file, please attach this to your bugreport. === BEGIN GCC DUMP === 10143: // Target: powerpc64le-linux-gnu 10143: // Configured with: ../src/configure -v --with-pkgversion='Ubuntu 8-20180110-1ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=powerpc64le-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --enable-plugin --enable-default-pie --with-system-zlib --disable-libphobos --enable-objc-gc=auto --enable-secureplt --with-cpu=power8 --enable-targets=powerpcle-linux --disable-multilib --enable-multiarch --disable-werror --with-long-double-128 --enable-checking=release --build=powerpc64le-linux-gnu --host=powerpc64le-linux-gnu --target=powerpc64le-linux-gnu 10143: // Thread model: posix 10143: // gcc version 8.0.0 20180110 (experimental) [trunk revision 256425] (Ubuntu 8-20180110-1ubuntu1) 10143: // 10143: // In file included from /usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h:47, 10143: // from /usr/include/powerpc64le-linux-gnu/qt5/QtCore/QObject:1, 10143: // from /usr/include/kdevplatform/interfaces/iplugin.h:26, 10143: // from /<>/testprovider/phpunitprovider.h:24, 10143: // from /<>/testprovider/phpunitprovider.cpp:22: 10143: // /usr/include/kdevplatform/serialization/itemrepository.h: In instantiation of ‘QString KDevelop::ItemRepository::Statistics::print() const [with Item = Utils::SetNodeData; ItemRequest = Utils::SetNodeDataRequest; bool markForReferenceCounting = false; bool threadSafe = false; unsigned int fixedItemSize = 24; unsigned int targetBucketHashSize = 1048576]’: 10143: // /usr/include/kdevplatform/serialization/itemrepository.h:1545:31: required from ‘QString KDevelop::ItemRepository::printStatistics() const [with Item = Utils::SetNodeData; ItemRequest = Utils::SetNodeDataRequest; bool markForReferenceCounting = false; bool threadSafe = false; unsigned int fixedItemSize = 24; unsigned int targetBucketHashSize = 1048576]’ 10143: // /<>/obj-powerpc64le-linux-gnu/testprovider/kdevphpunitprovider_autogen/include/phpunitprovider.moc:155:1: required from here 10143: // /usr/include/kdevplatform/serialization/itemrepository.h:1530:14: internal compiler error: Segmentation fault 10143: // ret += QStringLiteral("loaded buckets: %1 current bucket: %2 used memory: %3 loaded monster buckets: %4").arg(loadedBuckets).arg(currentBucket).arg(usedMemory).arg(loadedMonsterBuckets); 10143: // ^~~~~~~~~~~~~~ 10143: // 0x108d33e3 crash_signal 10143: // ../../src/gcc/toplev.c:325 10143: // 0x101e5a08 determine_visibility(tree_node*) 10143: // ../../src/gcc/cp/decl2.c:2472 10143: // 0x102bf8fb lookup_template_class_1 10143: // ../../src/gcc/cp/pt.c:9145 10143: // 0x102bf8fb lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*, int, int) 10143: // ../../src/gcc/cp/pt.c:9161 10143: // 0x102c0787 tsubst_aggr_type 10143: // ../../src/gcc/cp/pt.c:12008 10143: // 0x102b4d57 tsubst(tree_node*, tree_node*, int, tree_node*) 10143: // ../../src/gcc/cp/pt.c:13643 10143: // 0x102c949f tsubst_decl 10143: // ../../src/gcc/cp/pt.c:12940 10143: // 0x102b4f2b tsubst(tree_node*, tree_node*, int, tree_node*) 10143: // ../../src/gcc/cp/pt.c:13561 10143: // 0x102ad2df tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) 10143: // ../../src/gcc/cp/pt.c:16046 10143: // 0x102ac247 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) 10143: // ../../src/gcc/cp/pt.c:15973 10143: // 0x102ab47f tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) 10143: // ../../src/gcc/cp/pt.c:16236 10143: // 0x102ab47f tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) 10143: // ../../src/gcc/cp/pt.c:16236 10143: // 0x102af2e7 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) 10143: // ../../src/gcc/cp/pt.c:15958 10143: // 0x102af2e7 tsubst_lambda_expr(tree_node*, tree_node*, int, tree_node*) 10143: // ../../src/gcc/cp/pt.c:16970 10143: // 0x102b1143 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) 10143: // ../../src/gcc/cp/pt.c:18260 10143: // 0x102b226b tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) 10143: // ../../src/gcc/cp/pt.c:17577 10143: // 0x102b12b3 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) 10143: // ../../src/gcc/cp/pt.c:17955 10143: // 0x102b226b tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) 10143: // ../../src/gcc/cp/pt.c:17577 10143: // 0x102b12b3 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) 10143: // ../../src/gcc/cp/pt.c:17955 10143: // 0x102b226b tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) 10143: // ../../src/gcc/cp/pt.c:17577 10143: // Please submit a full bug report, 10143: // with preprocessed source if appropriate. 10143: // Please include the complete backtrace with any bug report. 10143: // See for instructions. 10143: 10143: // /usr/lib/gcc/powerpc64le-linux-gnu/8/cc1plus -quiet -I /<>/obj-powerpc64le-linux-gnu/testprovider -I /<>/testprovider -I /<>/obj-powerpc64le-linux-gnu/testprovider/kdevphpunitprovider_autogen/include -I /usr/include/kdevelop-pg-qt -imultiarch powerpc64le-linux-gnu -D_GNU_SOURCE -D__unix__ -D__gnu_linux__ -D__linux__ -Dunix -D__unix -Dlinux -D__linux -Asystem=linux -Asystem=unix -Asystem=posix -D KCOREADDONS_LIB -D KDE_DEFAULT_DEBUG_AREA=9043 -D QT_CORE_LIB -D QT_DBUS_LIB -D QT_GUI_LIB -D QT_NETWORK_LIB -D QT_NO_DEBUG -D QT_WIDGETS_LIB -D QT_XML_LIB -D TRANSLATION_DOMAIN="kdevphp" -D _GNU_SOURCE -D _LARGEFILE64_SOURCE -D kdevphpunitprovider_EXPORTS -D _FORTIFY_SOURCE=2 -isystem /usr/include/kdevplatform -isystem /usr/include/KF5/KParts -isystem /usr/include/KF5 -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/powerpc64le-linux-gnu/qt5 -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtCore -isystem /usr/lib/powerpc64le-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtWidgets -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtNetwork -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtDBus -isystem /usr/include/powerpc64le-linux-gnu/qt5/QtXml -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KTextEditor -isystem /usr/include/KF5/ThreadWeaver -isystem /usr/include/KF5/KItemModels /<>/testprovider/phpunitprovider.cpp -msecure-plt -quiet -dumpbase phpunitprovider.cpp -mcpu=power8 -auxbase-strip CMakeFiles/kdevphpunitprovider.dir/phpunitprovider.cpp.o -g -O3 -Wformat=1 -Werror=format-security -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -std=c++11 -std=gnu++11 -fdebug-prefix-map=/<>=. -fstack-protector-strong -fno-operator-names -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -fstack-protector-strong -Wformat-security -o - -frandom-seed=0 -fdump-noaddr 10143: 10143: # 1 "/<>/testprovider/phpunitprovider.cpp" 10143: # 1 "/<>/obj-powerpc64le-linux-gnu/testprovider//" 10143: # 1 "" 10143: # 1 "" 10143: # 1 "/usr/include/stdc-predef.h" 1 3 4 10143: # 1 "" 2 10143: # 1 "/<>/testprovider/phpunitprovider.cpp" 10143: # 22 "/<>/testprovider/phpunitprovider.cpp" 10143: # 1 "/<>/testprovider/phpunitprovider.h" 1 10143: # 24 "/<>/testprovider/phpunitprovider.h" 10143: # 1 "/usr/include/kdevplatform/interfaces/iplugin.h" 1 3 4 10143: # 26 "/usr/include/kdevplatform/interfaces/iplugin.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QObject" 1 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 1 3 4 10143: # 46 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobjectdefs.h" 1 3 4 10143: # 48 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobjectdefs.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qnamespace.h" 1 3 4 10143: # 43 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qnamespace.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: # 1 "/usr/include/c++/8/type_traits" 1 3 4 10143: # 32 "/usr/include/c++/8/type_traits" 3 4 10143: 10143: # 33 "/usr/include/c++/8/type_traits" 3 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/c++config.h" 1 3 10143: # 236 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/c++config.h" 3 10143: 10143: # 236 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/c++config.h" 3 10143: namespace std 10143: { 10143: typedef long unsigned int size_t; 10143: typedef long int ptrdiff_t; 10143: 10143: 10143: typedef decltype(nullptr) nullptr_t; 10143: 10143: } 10143: # 258 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/c++config.h" 3 10143: namespace std 10143: { 10143: inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } 10143: } 10143: namespace __gnu_cxx 10143: { 10143: inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } 10143: } 10143: # 401 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/c++config.h" 3 10143: namespace std 10143: { 10143: inline namespace __gnu_cxx_ldbl128 { } 10143: } 10143: # 508 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/c++config.h" 3 10143: # 1 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/os_defines.h" 1 3 10143: # 39 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/os_defines.h" 3 10143: # 1 "/usr/include/features.h" 1 3 4 10143: # 419 "/usr/include/features.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/sys/cdefs.h" 1 3 4 10143: # 419 "/usr/include/powerpc64le-linux-gnu/sys/cdefs.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/wordsize.h" 1 3 4 10143: # 420 "/usr/include/powerpc64le-linux-gnu/sys/cdefs.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/long-double.h" 1 3 4 10143: # 421 "/usr/include/powerpc64le-linux-gnu/sys/cdefs.h" 2 3 4 10143: # 420 "/usr/include/features.h" 2 3 4 10143: # 443 "/usr/include/features.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/gnu/stubs.h" 1 3 4 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/wordsize.h" 1 3 4 10143: # 6 "/usr/include/powerpc64le-linux-gnu/gnu/stubs.h" 2 3 4 10143: # 14 "/usr/include/powerpc64le-linux-gnu/gnu/stubs.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/gnu/stubs-64-v2.h" 1 3 4 10143: # 15 "/usr/include/powerpc64le-linux-gnu/gnu/stubs.h" 2 3 4 10143: # 444 "/usr/include/features.h" 2 3 4 10143: # 40 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/os_defines.h" 2 3 10143: # 509 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/c++config.h" 2 3 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/cpu_defines.h" 1 3 10143: # 512 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/c++config.h" 2 3 10143: # 39 "/usr/include/c++/8/type_traits" 2 3 10143: 10143: 10143: 10143: namespace std 10143: { 10143: typedef short unsigned int uint_least16_t; 10143: typedef unsigned int uint_least32_t; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 68 "/usr/include/c++/8/type_traits" 3 10143: template 10143: struct integral_constant 10143: { 10143: static constexpr _Tp value = __v; 10143: typedef _Tp value_type; 10143: typedef integral_constant<_Tp, __v> type; 10143: constexpr operator value_type() const noexcept { return value; } 10143: 10143: 10143: 10143: 10143: 10143: 10143: }; 10143: 10143: template 10143: constexpr _Tp integral_constant<_Tp, __v>::value; 10143: 10143: 10143: typedef integral_constant true_type; 10143: 10143: 10143: typedef integral_constant false_type; 10143: 10143: template 10143: using __bool_constant = integral_constant; 10143: # 103 "/usr/include/c++/8/type_traits" 3 10143: template 10143: struct conditional; 10143: 10143: template 10143: struct __or_; 10143: 10143: template<> 10143: struct __or_<> 10143: : public false_type 10143: { }; 10143: 10143: template 10143: struct __or_<_B1> 10143: : public _B1 10143: { }; 10143: 10143: template 10143: struct __or_<_B1, _B2> 10143: : public conditional<_B1::value, _B1, _B2>::type 10143: { }; 10143: 10143: template 10143: struct __or_<_B1, _B2, _B3, _Bn...> 10143: : public conditional<_B1::value, _B1, __or_<_B2, _B3, _Bn...>>::type 10143: { }; 10143: 10143: template 10143: struct __and_; 10143: 10143: template<> 10143: struct __and_<> 10143: : public true_type 10143: { }; 10143: 10143: template 10143: struct __and_<_B1> 10143: : public _B1 10143: { }; 10143: 10143: template 10143: struct __and_<_B1, _B2> 10143: : public conditional<_B1::value, _B2, _B1>::type 10143: { }; 10143: 10143: template 10143: struct __and_<_B1, _B2, _B3, _Bn...> 10143: : public conditional<_B1::value, __and_<_B2, _B3, _Bn...>, _B1>::type 10143: { }; 10143: 10143: template 10143: struct __not_ 10143: : public __bool_constant 10143: { }; 10143: # 192 "/usr/include/c++/8/type_traits" 3 10143: template 10143: struct __success_type 10143: { typedef _Tp type; }; 10143: 10143: struct __failure_type 10143: { }; 10143: 10143: 10143: 10143: template 10143: struct remove_cv; 10143: 10143: template 10143: struct __is_void_helper 10143: : public false_type { }; 10143: 10143: template<> 10143: struct __is_void_helper 10143: : public true_type { }; 10143: 10143: 10143: template 10143: struct is_void 10143: : public __is_void_helper::type>::type 10143: { }; 10143: 10143: template 10143: struct __is_integral_helper 10143: : public false_type { }; 10143: 10143: template<> 10143: struct __is_integral_helper 10143: : public true_type { }; 10143: 10143: template<> 10143: struct __is_integral_helper 10143: : public true_type { }; 10143: 10143: template<> 10143: struct __is_integral_helper 10143: : public true_type { }; 10143: 10143: template<> 10143: struct __is_integral_helper 10143: : public true_type { }; 10143: 10143: 10143: template<> 10143: struct __is_integral_helper 10143: : public true_type { }; 10143: 10143: 10143: template<> 10143: struct __is_integral_helper 10143: : public true_type { }; 10143: 10143: template<> 10143: struct __is_integral_helper 10143: : public true_type { }; 10143: 10143: template<> 10143: struct __is_integral_helper 10143: : public true_type { }; 10143: 10143: template<> 10143: struct __is_integral_helper 10143: : public true_type { }; 10143: 10143: template<> 10143: struct __is_integral_helper 10143: : public true_type { }; 10143: 10143: template<> 10143: struct __is_integral_helper 10143: : public true_type { }; 10143: 10143: template<> 10143: struct __is_integral_helper 10143: : public true_type { }; 10143: 10143: template<> 10143: struct __is_integral_helper 10143: : public true_type { }; 10143: 10143: template<> 10143: struct __is_integral_helper 10143: : public true_type { }; 10143: 10143: template<> 10143: struct __is_integral_helper 10143: : public true_type { }; 10143: 10143: 10143: 10143: 10143: template<> 10143: struct __is_integral_helper<__int128> 10143: : public true_type { }; 10143: 10143: template<> 10143: struct __is_integral_helper 10143: : public true_type { }; 10143: # 324 "/usr/include/c++/8/type_traits" 3 10143: template 10143: struct is_integral 10143: : public __is_integral_helper::type>::type 10143: { }; 10143: 10143: template 10143: struct __is_floating_point_helper 10143: : public false_type { }; 10143: 10143: template<> 10143: struct __is_floating_point_helper 10143: : public true_type { }; 10143: 10143: template<> 10143: struct __is_floating_point_helper 10143: : public true_type { }; 10143: 10143: template<> 10143: struct __is_floating_point_helper 10143: : public true_type { }; 10143: 10143: 10143: template<> 10143: struct __is_floating_point_helper<__ieee128> 10143: : public true_type { }; 10143: 10143: 10143: 10143: template 10143: struct is_floating_point 10143: : public __is_floating_point_helper::type>::type 10143: { }; 10143: 10143: 10143: template 10143: struct is_array 10143: : public false_type { }; 10143: 10143: template 10143: struct is_array<_Tp[_Size]> 10143: : public true_type { }; 10143: 10143: template 10143: struct is_array<_Tp[]> 10143: : public true_type { }; 10143: 10143: template 10143: struct __is_pointer_helper 10143: : public false_type { }; 10143: 10143: template 10143: struct __is_pointer_helper<_Tp*> 10143: : public true_type { }; 10143: 10143: 10143: template 10143: struct is_pointer 10143: : public __is_pointer_helper::type>::type 10143: { }; 10143: 10143: 10143: template 10143: struct is_lvalue_reference 10143: : public false_type { }; 10143: 10143: template 10143: struct is_lvalue_reference<_Tp&> 10143: : public true_type { }; 10143: 10143: 10143: template 10143: struct is_rvalue_reference 10143: : public false_type { }; 10143: 10143: template 10143: struct is_rvalue_reference<_Tp&&> 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function; 10143: 10143: template 10143: struct __is_member_object_pointer_helper 10143: : public false_type { }; 10143: 10143: template 10143: struct __is_member_object_pointer_helper<_Tp _Cp::*> 10143: : public integral_constant::value> { }; 10143: 10143: 10143: template 10143: struct is_member_object_pointer 10143: : public __is_member_object_pointer_helper< 10143: typename remove_cv<_Tp>::type>::type 10143: { }; 10143: 10143: template 10143: struct __is_member_function_pointer_helper 10143: : public false_type { }; 10143: 10143: template 10143: struct __is_member_function_pointer_helper<_Tp _Cp::*> 10143: : public integral_constant::value> { }; 10143: 10143: 10143: template 10143: struct is_member_function_pointer 10143: : public __is_member_function_pointer_helper< 10143: typename remove_cv<_Tp>::type>::type 10143: { }; 10143: 10143: 10143: template 10143: struct is_enum 10143: : public integral_constant 10143: { }; 10143: 10143: 10143: template 10143: struct is_union 10143: : public integral_constant 10143: { }; 10143: 10143: 10143: template 10143: struct is_class 10143: : public integral_constant 10143: { }; 10143: 10143: 10143: template 10143: struct is_function 10143: : public false_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes...) > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes...) & > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes...) && > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes......) > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes......) & > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes......) && > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes...) const > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes...) const & > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes...) const && > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes......) const > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes......) const & > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes......) const && > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes...) volatile > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes...) volatile & > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes...) volatile && > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes......) volatile > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes......) volatile & > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes......) volatile && > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes...) const volatile > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes...) const volatile & > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes...) const volatile && > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes......) const volatile > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes......) const volatile & > 10143: : public true_type { }; 10143: 10143: template 10143: struct is_function<_Res(_ArgTypes......) const volatile && > 10143: : public true_type { }; 10143: 10143: 10143: 10143: template 10143: struct __is_null_pointer_helper 10143: : public false_type { }; 10143: 10143: template<> 10143: struct __is_null_pointer_helper 10143: : public true_type { }; 10143: 10143: 10143: template 10143: struct is_null_pointer 10143: : public __is_null_pointer_helper::type>::type 10143: { }; 10143: 10143: 10143: template 10143: struct __is_nullptr_t 10143: : public is_null_pointer<_Tp> 10143: { }; 10143: 10143: 10143: 10143: 10143: template 10143: struct is_reference 10143: : public __or_, 10143: is_rvalue_reference<_Tp>>::type 10143: { }; 10143: 10143: 10143: template 10143: struct is_arithmetic 10143: : public __or_, is_floating_point<_Tp>>::type 10143: { }; 10143: 10143: 10143: template 10143: struct is_fundamental 10143: : public __or_, is_void<_Tp>, 10143: is_null_pointer<_Tp>>::type 10143: { }; 10143: 10143: 10143: template 10143: struct is_object 10143: : public __not_<__or_, is_reference<_Tp>, 10143: is_void<_Tp>>>::type 10143: { }; 10143: 10143: template 10143: struct is_member_pointer; 10143: 10143: 10143: template 10143: struct is_scalar 10143: : public __or_, is_enum<_Tp>, is_pointer<_Tp>, 10143: is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type 10143: { }; 10143: 10143: 10143: template 10143: struct is_compound 10143: : public integral_constant::value> { }; 10143: 10143: template 10143: struct __is_member_pointer_helper 10143: : public false_type { }; 10143: 10143: template 10143: struct __is_member_pointer_helper<_Tp _Cp::*> 10143: : public true_type { }; 10143: 10143: 10143: template 10143: struct is_member_pointer 10143: : public __is_member_pointer_helper::type>::type 10143: { }; 10143: 10143: 10143: 10143: template 10143: struct __is_referenceable 10143: : public __or_, is_reference<_Tp>>::type 10143: { }; 10143: 10143: template 10143: struct __is_referenceable<_Res(_Args...) > 10143: : public true_type 10143: { }; 10143: 10143: template 10143: struct __is_referenceable<_Res(_Args......) > 10143: : public true_type 10143: { }; 10143: 10143: 10143: 10143: 10143: template 10143: struct is_const 10143: : public false_type { }; 10143: 10143: template 10143: struct is_const<_Tp const> 10143: : public true_type { }; 10143: 10143: 10143: template 10143: struct is_volatile 10143: : public false_type { }; 10143: 10143: template 10143: struct is_volatile<_Tp volatile> 10143: : public true_type { }; 10143: 10143: 10143: template 10143: struct is_trivial 10143: : public integral_constant 10143: { }; 10143: 10143: 10143: template 10143: struct is_trivially_copyable 10143: : public integral_constant 10143: { }; 10143: 10143: 10143: template 10143: struct is_standard_layout 10143: : public integral_constant 10143: { }; 10143: 10143: 10143: 10143: template 10143: struct is_pod 10143: : public integral_constant 10143: { }; 10143: 10143: 10143: template 10143: struct is_literal_type 10143: : public integral_constant 10143: { }; 10143: 10143: 10143: template 10143: struct is_empty 10143: : public integral_constant 10143: { }; 10143: 10143: 10143: template 10143: struct is_polymorphic 10143: : public integral_constant 10143: { }; 10143: # 724 "/usr/include/c++/8/type_traits" 3 10143: template 10143: struct is_abstract 10143: : public integral_constant 10143: { }; 10143: 10143: template::value> 10143: struct __is_signed_helper 10143: : public false_type { }; 10143: 10143: template 10143: struct __is_signed_helper<_Tp, true> 10143: : public integral_constant 10143: { }; 10143: 10143: 10143: template 10143: struct is_signed 10143: : public __is_signed_helper<_Tp>::type 10143: { }; 10143: 10143: 10143: template 10143: struct is_unsigned 10143: : public __and_, __not_>> 10143: { }; 10143: # 759 "/usr/include/c++/8/type_traits" 3 10143: template 10143: _Up 10143: __declval(int); 10143: 10143: template 10143: _Tp 10143: __declval(long); 10143: 10143: template 10143: auto declval() noexcept -> decltype(__declval<_Tp>(0)); 10143: 10143: template 10143: struct extent; 10143: 10143: template 10143: struct remove_all_extents; 10143: 10143: template 10143: struct __is_array_known_bounds 10143: : public integral_constant::value > 0)> 10143: { }; 10143: 10143: template 10143: struct __is_array_unknown_bounds 10143: : public __and_, __not_>> 10143: { }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: struct __do_is_destructible_impl 10143: { 10143: template().~_Tp())> 10143: static true_type __test(int); 10143: 10143: template 10143: static false_type __test(...); 10143: }; 10143: 10143: template 10143: struct __is_destructible_impl 10143: : public __do_is_destructible_impl 10143: { 10143: typedef decltype(__test<_Tp>(0)) type; 10143: }; 10143: 10143: template, 10143: __is_array_unknown_bounds<_Tp>, 10143: is_function<_Tp>>::value, 10143: bool = __or_, is_scalar<_Tp>>::value> 10143: struct __is_destructible_safe; 10143: 10143: template 10143: struct __is_destructible_safe<_Tp, false, false> 10143: : public __is_destructible_impl::type>::type 10143: { }; 10143: 10143: template 10143: struct __is_destructible_safe<_Tp, true, false> 10143: : public false_type { }; 10143: 10143: template 10143: struct __is_destructible_safe<_Tp, false, true> 10143: : public true_type { }; 10143: 10143: 10143: template 10143: struct is_destructible 10143: : public __is_destructible_safe<_Tp>::type 10143: { }; 10143: 10143: 10143: 10143: 10143: 10143: struct __do_is_nt_destructible_impl 10143: { 10143: template 10143: static integral_constant().~_Tp())> 10143: __test(int); 10143: 10143: template 10143: static false_type __test(...); 10143: }; 10143: 10143: template 10143: struct __is_nt_destructible_impl 10143: : public __do_is_nt_destructible_impl 10143: { 10143: typedef decltype(__test<_Tp>(0)) type; 10143: }; 10143: 10143: template, 10143: __is_array_unknown_bounds<_Tp>, 10143: is_function<_Tp>>::value, 10143: bool = __or_, is_scalar<_Tp>>::value> 10143: struct __is_nt_destructible_safe; 10143: 10143: template 10143: struct __is_nt_destructible_safe<_Tp, false, false> 10143: : public __is_nt_destructible_impl::type>::type 10143: { }; 10143: 10143: template 10143: struct __is_nt_destructible_safe<_Tp, true, false> 10143: : public false_type { }; 10143: 10143: template 10143: struct __is_nt_destructible_safe<_Tp, false, true> 10143: : public true_type { }; 10143: 10143: 10143: template 10143: struct is_nothrow_destructible 10143: : public __is_nt_destructible_safe<_Tp>::type 10143: { }; 10143: 10143: struct __do_is_default_constructible_impl 10143: { 10143: template 10143: static true_type __test(int); 10143: 10143: template 10143: static false_type __test(...); 10143: }; 10143: 10143: template 10143: struct __is_default_constructible_impl 10143: : public __do_is_default_constructible_impl 10143: { 10143: typedef decltype(__test<_Tp>(0)) type; 10143: }; 10143: 10143: template 10143: struct __is_default_constructible_atom 10143: : public __and_<__not_>, 10143: __is_default_constructible_impl<_Tp>> 10143: { }; 10143: 10143: template::value> 10143: struct __is_default_constructible_safe; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct __is_default_constructible_safe<_Tp, true> 10143: : public __and_<__is_array_known_bounds<_Tp>, 10143: __is_default_constructible_atom::type>> 10143: { }; 10143: 10143: template 10143: struct __is_default_constructible_safe<_Tp, false> 10143: : public __is_default_constructible_atom<_Tp>::type 10143: { }; 10143: 10143: 10143: template 10143: struct is_default_constructible 10143: : public __is_default_constructible_safe<_Tp>::type 10143: { }; 10143: 10143: 10143: template 10143: struct is_constructible 10143: : public __bool_constant<__is_constructible(_Tp, _Args...)> 10143: { }; 10143: 10143: template::value> 10143: struct __is_copy_constructible_impl; 10143: 10143: template 10143: struct __is_copy_constructible_impl<_Tp, false> 10143: : public false_type { }; 10143: 10143: template 10143: struct __is_copy_constructible_impl<_Tp, true> 10143: : public is_constructible<_Tp, const _Tp&> 10143: { }; 10143: 10143: 10143: template 10143: struct is_copy_constructible 10143: : public __is_copy_constructible_impl<_Tp> 10143: { }; 10143: 10143: template::value> 10143: struct __is_move_constructible_impl; 10143: 10143: template 10143: struct __is_move_constructible_impl<_Tp, false> 10143: : public false_type { }; 10143: 10143: template 10143: struct __is_move_constructible_impl<_Tp, true> 10143: : public is_constructible<_Tp, _Tp&&> 10143: { }; 10143: 10143: 10143: template 10143: struct is_move_constructible 10143: : public __is_move_constructible_impl<_Tp> 10143: { }; 10143: 10143: template 10143: struct __is_nt_default_constructible_atom 10143: : public integral_constant 10143: { }; 10143: 10143: template::value> 10143: struct __is_nt_default_constructible_impl; 10143: 10143: template 10143: struct __is_nt_default_constructible_impl<_Tp, true> 10143: : public __and_<__is_array_known_bounds<_Tp>, 10143: __is_nt_default_constructible_atom::type>> 10143: { }; 10143: 10143: template 10143: struct __is_nt_default_constructible_impl<_Tp, false> 10143: : public __is_nt_default_constructible_atom<_Tp> 10143: { }; 10143: 10143: 10143: template 10143: struct is_nothrow_default_constructible 10143: : public __and_, 10143: __is_nt_default_constructible_impl<_Tp>> 10143: { }; 10143: 10143: template 10143: struct __is_nt_constructible_impl 10143: : public integral_constant()...))> 10143: { }; 10143: 10143: template 10143: struct __is_nt_constructible_impl<_Tp, _Arg> 10143: : public integral_constant(declval<_Arg>()))> 10143: { }; 10143: 10143: template 10143: struct __is_nt_constructible_impl<_Tp> 10143: : public is_nothrow_default_constructible<_Tp> 10143: { }; 10143: 10143: 10143: template 10143: struct is_nothrow_constructible 10143: : public __and_, 10143: __is_nt_constructible_impl<_Tp, _Args...>> 10143: { }; 10143: 10143: template::value> 10143: struct __is_nothrow_copy_constructible_impl; 10143: 10143: template 10143: struct __is_nothrow_copy_constructible_impl<_Tp, false> 10143: : public false_type { }; 10143: 10143: template 10143: struct __is_nothrow_copy_constructible_impl<_Tp, true> 10143: : public is_nothrow_constructible<_Tp, const _Tp&> 10143: { }; 10143: 10143: 10143: template 10143: struct is_nothrow_copy_constructible 10143: : public __is_nothrow_copy_constructible_impl<_Tp> 10143: { }; 10143: 10143: template::value> 10143: struct __is_nothrow_move_constructible_impl; 10143: 10143: template 10143: struct __is_nothrow_move_constructible_impl<_Tp, false> 10143: : public false_type { }; 10143: 10143: template 10143: struct __is_nothrow_move_constructible_impl<_Tp, true> 10143: : public is_nothrow_constructible<_Tp, _Tp&&> 10143: { }; 10143: 10143: 10143: template 10143: struct is_nothrow_move_constructible 10143: : public __is_nothrow_move_constructible_impl<_Tp> 10143: { }; 10143: 10143: 10143: template 10143: struct is_assignable 10143: : public __bool_constant<__is_assignable(_Tp, _Up)> 10143: { }; 10143: 10143: template::value> 10143: struct __is_copy_assignable_impl; 10143: 10143: template 10143: struct __is_copy_assignable_impl<_Tp, false> 10143: : public false_type { }; 10143: 10143: template 10143: struct __is_copy_assignable_impl<_Tp, true> 10143: : public is_assignable<_Tp&, const _Tp&> 10143: { }; 10143: 10143: 10143: template 10143: struct is_copy_assignable 10143: : public __is_copy_assignable_impl<_Tp> 10143: { }; 10143: 10143: template::value> 10143: struct __is_move_assignable_impl; 10143: 10143: template 10143: struct __is_move_assignable_impl<_Tp, false> 10143: : public false_type { }; 10143: 10143: template 10143: struct __is_move_assignable_impl<_Tp, true> 10143: : public is_assignable<_Tp&, _Tp&&> 10143: { }; 10143: 10143: 10143: template 10143: struct is_move_assignable 10143: : public __is_move_assignable_impl<_Tp> 10143: { }; 10143: 10143: template 10143: struct __is_nt_assignable_impl 10143: : public integral_constant() = declval<_Up>())> 10143: { }; 10143: 10143: 10143: template 10143: struct is_nothrow_assignable 10143: : public __and_, 10143: __is_nt_assignable_impl<_Tp, _Up>> 10143: { }; 10143: 10143: template::value> 10143: struct __is_nt_copy_assignable_impl; 10143: 10143: template 10143: struct __is_nt_copy_assignable_impl<_Tp, false> 10143: : public false_type { }; 10143: 10143: template 10143: struct __is_nt_copy_assignable_impl<_Tp, true> 10143: : public is_nothrow_assignable<_Tp&, const _Tp&> 10143: { }; 10143: 10143: 10143: template 10143: struct is_nothrow_copy_assignable 10143: : public __is_nt_copy_assignable_impl<_Tp> 10143: { }; 10143: 10143: template::value> 10143: struct __is_nt_move_assignable_impl; 10143: 10143: template 10143: struct __is_nt_move_assignable_impl<_Tp, false> 10143: : public false_type { }; 10143: 10143: template 10143: struct __is_nt_move_assignable_impl<_Tp, true> 10143: : public is_nothrow_assignable<_Tp&, _Tp&&> 10143: { }; 10143: 10143: 10143: template 10143: struct is_nothrow_move_assignable 10143: : public __is_nt_move_assignable_impl<_Tp> 10143: { }; 10143: 10143: 10143: template 10143: struct is_trivially_constructible 10143: : public __bool_constant<__is_trivially_constructible(_Tp, _Args...)> 10143: { }; 10143: 10143: 10143: template 10143: struct is_trivially_default_constructible 10143: : public is_trivially_constructible<_Tp>::type 10143: { }; 10143: 10143: struct __do_is_implicitly_default_constructible_impl 10143: { 10143: template 10143: static void __helper(const _Tp&); 10143: 10143: template 10143: static true_type __test(const _Tp&, 10143: decltype(__helper({}))* = 0); 10143: 10143: static false_type __test(...); 10143: }; 10143: 10143: template 10143: struct __is_implicitly_default_constructible_impl 10143: : public __do_is_implicitly_default_constructible_impl 10143: { 10143: typedef decltype(__test(declval<_Tp>())) type; 10143: }; 10143: 10143: template 10143: struct __is_implicitly_default_constructible_safe 10143: : public __is_implicitly_default_constructible_impl<_Tp>::type 10143: { }; 10143: 10143: template 10143: struct __is_implicitly_default_constructible 10143: : public __and_, 10143: __is_implicitly_default_constructible_safe<_Tp>> 10143: { }; 10143: 10143: 10143: 10143: template::value> 10143: struct __is_trivially_copy_constructible_impl; 10143: 10143: template 10143: struct __is_trivially_copy_constructible_impl<_Tp, false> 10143: : public false_type { }; 10143: 10143: template 10143: struct __is_trivially_copy_constructible_impl<_Tp, true> 10143: : public __and_, 10143: integral_constant> 10143: { }; 10143: 10143: template 10143: struct is_trivially_copy_constructible 10143: : public __is_trivially_copy_constructible_impl<_Tp> 10143: { }; 10143: 10143: 10143: 10143: template::value> 10143: struct __is_trivially_move_constructible_impl; 10143: 10143: template 10143: struct __is_trivially_move_constructible_impl<_Tp, false> 10143: : public false_type { }; 10143: 10143: template 10143: struct __is_trivially_move_constructible_impl<_Tp, true> 10143: : public __and_, 10143: integral_constant> 10143: { }; 10143: 10143: template 10143: struct is_trivially_move_constructible 10143: : public __is_trivially_move_constructible_impl<_Tp> 10143: { }; 10143: 10143: 10143: template 10143: struct is_trivially_assignable 10143: : public __bool_constant<__is_trivially_assignable(_Tp, _Up)> 10143: { }; 10143: 10143: 10143: 10143: template::value> 10143: struct __is_trivially_copy_assignable_impl; 10143: 10143: template 10143: struct __is_trivially_copy_assignable_impl<_Tp, false> 10143: : public false_type { }; 10143: 10143: template 10143: struct __is_trivially_copy_assignable_impl<_Tp, true> 10143: : public __and_, 10143: integral_constant> 10143: { }; 10143: 10143: template 10143: struct is_trivially_copy_assignable 10143: : public __is_trivially_copy_assignable_impl<_Tp> 10143: { }; 10143: 10143: 10143: 10143: template::value> 10143: struct __is_trivially_move_assignable_impl; 10143: 10143: template 10143: struct __is_trivially_move_assignable_impl<_Tp, false> 10143: : public false_type { }; 10143: 10143: template 10143: struct __is_trivially_move_assignable_impl<_Tp, true> 10143: : public __and_, 10143: integral_constant> 10143: { }; 10143: 10143: template 10143: struct is_trivially_move_assignable 10143: : public __is_trivially_move_assignable_impl<_Tp> 10143: { }; 10143: 10143: 10143: template 10143: struct is_trivially_destructible 10143: : public __and_, integral_constant> 10143: { }; 10143: 10143: 10143: 10143: template 10143: struct has_virtual_destructor 10143: : public integral_constant 10143: { }; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct alignment_of 10143: : public integral_constant { }; 10143: 10143: 10143: template 10143: struct rank 10143: : public integral_constant { }; 10143: 10143: template 10143: struct rank<_Tp[_Size]> 10143: : public integral_constant::value> { }; 10143: 10143: template 10143: struct rank<_Tp[]> 10143: : public integral_constant::value> { }; 10143: 10143: 10143: template 10143: struct extent 10143: : public integral_constant { }; 10143: 10143: template 10143: struct extent<_Tp[_Size], _Uint> 10143: : public integral_constant::value> 10143: { }; 10143: 10143: template 10143: struct extent<_Tp[], _Uint> 10143: : public integral_constant::value> 10143: { }; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct is_same 10143: : public false_type { }; 10143: 10143: template 10143: struct is_same<_Tp, _Tp> 10143: : public true_type { }; 10143: 10143: 10143: template 10143: struct is_base_of 10143: : public integral_constant 10143: { }; 10143: 10143: template, is_function<_To>, 10143: is_array<_To>>::value> 10143: struct __is_convertible_helper 10143: { typedef typename is_void<_To>::type type; }; 10143: 10143: template 10143: class __is_convertible_helper<_From, _To, false> 10143: { 10143: template 10143: static void __test_aux(_To1); 10143: 10143: template(std::declval<_From1>()))> 10143: static true_type 10143: __test(int); 10143: 10143: template 10143: static false_type 10143: __test(...); 10143: 10143: public: 10143: typedef decltype(__test<_From, _To>(0)) type; 10143: }; 10143: 10143: 10143: 10143: template 10143: struct is_convertible 10143: : public __is_convertible_helper<_From, _To>::type 10143: { }; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct remove_const 10143: { typedef _Tp type; }; 10143: 10143: template 10143: struct remove_const<_Tp const> 10143: { typedef _Tp type; }; 10143: 10143: 10143: template 10143: struct remove_volatile 10143: { typedef _Tp type; }; 10143: 10143: template 10143: struct remove_volatile<_Tp volatile> 10143: { typedef _Tp type; }; 10143: 10143: 10143: template 10143: struct remove_cv 10143: { 10143: typedef typename 10143: remove_const::type>::type type; 10143: }; 10143: 10143: 10143: template 10143: struct add_const 10143: { typedef _Tp const type; }; 10143: 10143: 10143: template 10143: struct add_volatile 10143: { typedef _Tp volatile type; }; 10143: 10143: 10143: template 10143: struct add_cv 10143: { 10143: typedef typename 10143: add_const::type>::type type; 10143: }; 10143: # 1463 "/usr/include/c++/8/type_traits" 3 10143: template 10143: struct remove_reference 10143: { typedef _Tp type; }; 10143: 10143: template 10143: struct remove_reference<_Tp&> 10143: { typedef _Tp type; }; 10143: 10143: template 10143: struct remove_reference<_Tp&&> 10143: { typedef _Tp type; }; 10143: 10143: template::value> 10143: struct __add_lvalue_reference_helper 10143: { typedef _Tp type; }; 10143: 10143: template 10143: struct __add_lvalue_reference_helper<_Tp, true> 10143: { typedef _Tp& type; }; 10143: 10143: 10143: template 10143: struct add_lvalue_reference 10143: : public __add_lvalue_reference_helper<_Tp> 10143: { }; 10143: 10143: template::value> 10143: struct __add_rvalue_reference_helper 10143: { typedef _Tp type; }; 10143: 10143: template 10143: struct __add_rvalue_reference_helper<_Tp, true> 10143: { typedef _Tp&& type; }; 10143: 10143: 10143: template 10143: struct add_rvalue_reference 10143: : public __add_rvalue_reference_helper<_Tp> 10143: { }; 10143: # 1520 "/usr/include/c++/8/type_traits" 3 10143: template 10143: struct __cv_selector; 10143: 10143: template 10143: struct __cv_selector<_Unqualified, false, false> 10143: { typedef _Unqualified __type; }; 10143: 10143: template 10143: struct __cv_selector<_Unqualified, false, true> 10143: { typedef volatile _Unqualified __type; }; 10143: 10143: template 10143: struct __cv_selector<_Unqualified, true, false> 10143: { typedef const _Unqualified __type; }; 10143: 10143: template 10143: struct __cv_selector<_Unqualified, true, true> 10143: { typedef const volatile _Unqualified __type; }; 10143: 10143: template::value, 10143: bool _IsVol = is_volatile<_Qualified>::value> 10143: class __match_cv_qualifiers 10143: { 10143: typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match; 10143: 10143: public: 10143: typedef typename __match::__type __type; 10143: }; 10143: 10143: 10143: template 10143: struct __make_unsigned 10143: { typedef _Tp __type; }; 10143: 10143: template<> 10143: struct __make_unsigned 10143: { typedef unsigned char __type; }; 10143: 10143: template<> 10143: struct __make_unsigned 10143: { typedef unsigned char __type; }; 10143: 10143: template<> 10143: struct __make_unsigned 10143: { typedef unsigned short __type; }; 10143: 10143: template<> 10143: struct __make_unsigned 10143: { typedef unsigned int __type; }; 10143: 10143: template<> 10143: struct __make_unsigned 10143: { typedef unsigned long __type; }; 10143: 10143: template<> 10143: struct __make_unsigned 10143: { typedef unsigned long long __type; }; 10143: 10143: 10143: template<> 10143: struct __make_unsigned : __make_unsigned 10143: { }; 10143: 10143: 10143: 10143: template<> 10143: struct __make_unsigned<__int128> 10143: { typedef unsigned __int128 __type; }; 10143: # 1607 "/usr/include/c++/8/type_traits" 3 10143: template::value, 10143: bool _IsEnum = is_enum<_Tp>::value> 10143: class __make_unsigned_selector; 10143: 10143: template 10143: class __make_unsigned_selector<_Tp, true, false> 10143: { 10143: typedef __make_unsigned::type> __unsignedt; 10143: typedef typename __unsignedt::__type __unsigned_type; 10143: typedef __match_cv_qualifiers<_Tp, __unsigned_type> __cv_unsigned; 10143: 10143: public: 10143: typedef typename __cv_unsigned::__type __type; 10143: }; 10143: 10143: template 10143: class __make_unsigned_selector<_Tp, false, true> 10143: { 10143: 10143: typedef unsigned char __smallest; 10143: static const bool __b0 = sizeof(_Tp) <= sizeof(__smallest); 10143: static const bool __b1 = sizeof(_Tp) <= sizeof(unsigned short); 10143: static const bool __b2 = sizeof(_Tp) <= sizeof(unsigned int); 10143: static const bool __b3 = sizeof(_Tp) <= sizeof(unsigned long); 10143: typedef conditional<__b3, unsigned long, unsigned long long> __cond3; 10143: typedef typename __cond3::type __cond3_type; 10143: typedef conditional<__b2, unsigned int, __cond3_type> __cond2; 10143: typedef typename __cond2::type __cond2_type; 10143: typedef conditional<__b1, unsigned short, __cond2_type> __cond1; 10143: typedef typename __cond1::type __cond1_type; 10143: 10143: typedef typename conditional<__b0, __smallest, __cond1_type>::type 10143: __unsigned_type; 10143: typedef __match_cv_qualifiers<_Tp, __unsigned_type> __cv_unsigned; 10143: 10143: public: 10143: typedef typename __cv_unsigned::__type __type; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct make_unsigned 10143: { typedef typename __make_unsigned_selector<_Tp>::__type type; }; 10143: 10143: 10143: template<> 10143: struct make_unsigned; 10143: 10143: 10143: 10143: template 10143: struct __make_signed 10143: { typedef _Tp __type; }; 10143: 10143: template<> 10143: struct __make_signed 10143: { typedef signed char __type; }; 10143: 10143: template<> 10143: struct __make_signed 10143: { typedef signed char __type; }; 10143: 10143: template<> 10143: struct __make_signed 10143: { typedef signed short __type; }; 10143: 10143: template<> 10143: struct __make_signed 10143: { typedef signed int __type; }; 10143: 10143: template<> 10143: struct __make_signed 10143: { typedef signed long __type; }; 10143: 10143: template<> 10143: struct __make_signed 10143: { typedef signed long long __type; }; 10143: # 1696 "/usr/include/c++/8/type_traits" 3 10143: template<> 10143: struct __make_signed : __make_signed 10143: { }; 10143: template<> 10143: struct __make_signed : __make_signed 10143: { }; 10143: 10143: 10143: 10143: template<> 10143: struct __make_signed 10143: { typedef __int128 __type; }; 10143: # 1726 "/usr/include/c++/8/type_traits" 3 10143: template::value, 10143: bool _IsEnum = is_enum<_Tp>::value> 10143: class __make_signed_selector; 10143: 10143: template 10143: class __make_signed_selector<_Tp, true, false> 10143: { 10143: typedef __make_signed::type> __signedt; 10143: typedef typename __signedt::__type __signed_type; 10143: typedef __match_cv_qualifiers<_Tp, __signed_type> __cv_signed; 10143: 10143: public: 10143: typedef typename __cv_signed::__type __type; 10143: }; 10143: 10143: template 10143: class __make_signed_selector<_Tp, false, true> 10143: { 10143: typedef typename __make_unsigned_selector<_Tp>::__type __unsigned_type; 10143: 10143: public: 10143: typedef typename __make_signed_selector<__unsigned_type>::__type __type; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct make_signed 10143: { typedef typename __make_signed_selector<_Tp>::__type type; }; 10143: 10143: 10143: template<> 10143: struct make_signed; 10143: # 1776 "/usr/include/c++/8/type_traits" 3 10143: template 10143: struct remove_extent 10143: { typedef _Tp type; }; 10143: 10143: template 10143: struct remove_extent<_Tp[_Size]> 10143: { typedef _Tp type; }; 10143: 10143: template 10143: struct remove_extent<_Tp[]> 10143: { typedef _Tp type; }; 10143: 10143: 10143: template 10143: struct remove_all_extents 10143: { typedef _Tp type; }; 10143: 10143: template 10143: struct remove_all_extents<_Tp[_Size]> 10143: { typedef typename remove_all_extents<_Tp>::type type; }; 10143: 10143: template 10143: struct remove_all_extents<_Tp[]> 10143: { typedef typename remove_all_extents<_Tp>::type type; }; 10143: # 1813 "/usr/include/c++/8/type_traits" 3 10143: template 10143: struct __remove_pointer_helper 10143: { typedef _Tp type; }; 10143: 10143: template 10143: struct __remove_pointer_helper<_Tp, _Up*> 10143: { typedef _Up type; }; 10143: 10143: 10143: template 10143: struct remove_pointer 10143: : public __remove_pointer_helper<_Tp, typename remove_cv<_Tp>::type> 10143: { }; 10143: 10143: 10143: template, 10143: is_void<_Tp>>::value> 10143: struct __add_pointer_helper 10143: { typedef _Tp type; }; 10143: 10143: template 10143: struct __add_pointer_helper<_Tp, true> 10143: { typedef typename remove_reference<_Tp>::type* type; }; 10143: 10143: template 10143: struct add_pointer 10143: : public __add_pointer_helper<_Tp> 10143: { }; 10143: # 1852 "/usr/include/c++/8/type_traits" 3 10143: template 10143: struct __aligned_storage_msa 10143: { 10143: union __type 10143: { 10143: unsigned char __data[_Len]; 10143: struct __attribute__((__aligned__)) { } __align; 10143: }; 10143: }; 10143: # 1872 "/usr/include/c++/8/type_traits" 3 10143: template::__type)> 10143: struct aligned_storage 10143: { 10143: union type 10143: { 10143: unsigned char __data[_Len]; 10143: struct __attribute__((__aligned__((_Align)))) { } __align; 10143: }; 10143: }; 10143: 10143: template 10143: struct __strictest_alignment 10143: { 10143: static const size_t _S_alignment = 0; 10143: static const size_t _S_size = 0; 10143: }; 10143: 10143: template 10143: struct __strictest_alignment<_Tp, _Types...> 10143: { 10143: static const size_t _S_alignment = 10143: alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment 10143: ? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment; 10143: static const size_t _S_size = 10143: sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size 10143: ? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size; 10143: }; 10143: # 1911 "/usr/include/c++/8/type_traits" 3 10143: template 10143: struct aligned_union 10143: { 10143: private: 10143: static_assert(sizeof...(_Types) != 0, "At least one type is required"); 10143: 10143: using __strictest = __strictest_alignment<_Types...>; 10143: static const size_t _S_len = _Len > __strictest::_S_size 10143: ? _Len : __strictest::_S_size; 10143: public: 10143: 10143: static const size_t alignment_value = __strictest::_S_alignment; 10143: 10143: typedef typename aligned_storage<_S_len, alignment_value>::type type; 10143: }; 10143: 10143: template 10143: const size_t aligned_union<_Len, _Types...>::alignment_value; 10143: 10143: 10143: 10143: template::value, 10143: bool _IsFunction = is_function<_Up>::value> 10143: struct __decay_selector; 10143: 10143: 10143: template 10143: struct __decay_selector<_Up, false, false> 10143: { typedef typename remove_cv<_Up>::type __type; }; 10143: 10143: template 10143: struct __decay_selector<_Up, true, false> 10143: { typedef typename remove_extent<_Up>::type* __type; }; 10143: 10143: template 10143: struct __decay_selector<_Up, false, true> 10143: { typedef typename add_pointer<_Up>::type __type; }; 10143: 10143: 10143: template 10143: class decay 10143: { 10143: typedef typename remove_reference<_Tp>::type __remove_type; 10143: 10143: public: 10143: typedef typename __decay_selector<__remove_type>::__type type; 10143: }; 10143: 10143: template 10143: class reference_wrapper; 10143: 10143: 10143: template 10143: struct __strip_reference_wrapper 10143: { 10143: typedef _Tp __type; 10143: }; 10143: 10143: template 10143: struct __strip_reference_wrapper > 10143: { 10143: typedef _Tp& __type; 10143: }; 10143: 10143: template 10143: struct __decay_and_strip 10143: { 10143: typedef typename __strip_reference_wrapper< 10143: typename decay<_Tp>::type>::__type __type; 10143: }; 10143: 10143: 10143: 10143: 10143: template 10143: struct enable_if 10143: { }; 10143: 10143: 10143: template 10143: struct enable_if 10143: { typedef _Tp type; }; 10143: 10143: template 10143: using _Require = typename enable_if<__and_<_Cond...>::value>::type; 10143: 10143: 10143: 10143: template 10143: struct conditional 10143: { typedef _Iftrue type; }; 10143: 10143: 10143: template 10143: struct conditional 10143: { typedef _Iffalse type; }; 10143: 10143: 10143: template 10143: struct common_type; 10143: 10143: 10143: 10143: struct __do_common_type_impl 10143: { 10143: template 10143: static __success_type() 10143: : std::declval<_Up>())>::type> _S_test(int); 10143: 10143: template 10143: static __failure_type _S_test(...); 10143: }; 10143: 10143: template 10143: struct __common_type_impl 10143: : private __do_common_type_impl 10143: { 10143: typedef decltype(_S_test<_Tp, _Up>(0)) type; 10143: }; 10143: 10143: struct __do_member_type_wrapper 10143: { 10143: template 10143: static __success_type _S_test(int); 10143: 10143: template 10143: static __failure_type _S_test(...); 10143: }; 10143: 10143: template 10143: struct __member_type_wrapper 10143: : private __do_member_type_wrapper 10143: { 10143: typedef decltype(_S_test<_Tp>(0)) type; 10143: }; 10143: 10143: template 10143: struct __expanded_common_type_wrapper 10143: { 10143: typedef common_type type; 10143: }; 10143: 10143: template 10143: struct __expanded_common_type_wrapper<__failure_type, _Args...> 10143: { typedef __failure_type type; }; 10143: 10143: template 10143: struct common_type<_Tp> 10143: { typedef typename decay<_Tp>::type type; }; 10143: 10143: template 10143: struct common_type<_Tp, _Up> 10143: : public __common_type_impl<_Tp, _Up>::type 10143: { }; 10143: 10143: template 10143: struct common_type<_Tp, _Up, _Vp...> 10143: : public __expanded_common_type_wrapper>::type, _Vp...>::type 10143: { }; 10143: 10143: 10143: template 10143: struct underlying_type 10143: { 10143: typedef __underlying_type(_Tp) type; 10143: }; 10143: 10143: template 10143: struct __declval_protector 10143: { 10143: static const bool __stop = false; 10143: }; 10143: 10143: template 10143: auto declval() noexcept -> decltype(__declval<_Tp>(0)) 10143: { 10143: static_assert(__declval_protector<_Tp>::__stop, 10143: "declval() must not be used!"); 10143: return __declval<_Tp>(0); 10143: } 10143: 10143: 10143: template 10143: class result_of; 10143: 10143: 10143: 10143: 10143: 10143: struct __invoke_memfun_ref { }; 10143: struct __invoke_memfun_deref { }; 10143: struct __invoke_memobj_ref { }; 10143: struct __invoke_memobj_deref { }; 10143: struct __invoke_other { }; 10143: 10143: 10143: template 10143: struct __result_of_success : __success_type<_Tp> 10143: { using __invoke_type = _Tag; }; 10143: 10143: 10143: struct __result_of_memfun_ref_impl 10143: { 10143: template 10143: static __result_of_success().*std::declval<_Fp>())(std::declval<_Args>()...) 10143: ), __invoke_memfun_ref> _S_test(int); 10143: 10143: template 10143: static __failure_type _S_test(...); 10143: }; 10143: 10143: template 10143: struct __result_of_memfun_ref 10143: : private __result_of_memfun_ref_impl 10143: { 10143: typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; 10143: }; 10143: 10143: 10143: struct __result_of_memfun_deref_impl 10143: { 10143: template 10143: static __result_of_success()).*std::declval<_Fp>())(std::declval<_Args>()...) 10143: ), __invoke_memfun_deref> _S_test(int); 10143: 10143: template 10143: static __failure_type _S_test(...); 10143: }; 10143: 10143: template 10143: struct __result_of_memfun_deref 10143: : private __result_of_memfun_deref_impl 10143: { 10143: typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; 10143: }; 10143: 10143: 10143: struct __result_of_memobj_ref_impl 10143: { 10143: template 10143: static __result_of_success().*std::declval<_Fp>() 10143: ), __invoke_memobj_ref> _S_test(int); 10143: 10143: template 10143: static __failure_type _S_test(...); 10143: }; 10143: 10143: template 10143: struct __result_of_memobj_ref 10143: : private __result_of_memobj_ref_impl 10143: { 10143: typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; 10143: }; 10143: 10143: 10143: struct __result_of_memobj_deref_impl 10143: { 10143: template 10143: static __result_of_success()).*std::declval<_Fp>() 10143: ), __invoke_memobj_deref> _S_test(int); 10143: 10143: template 10143: static __failure_type _S_test(...); 10143: }; 10143: 10143: template 10143: struct __result_of_memobj_deref 10143: : private __result_of_memobj_deref_impl 10143: { 10143: typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; 10143: }; 10143: 10143: template 10143: struct __result_of_memobj; 10143: 10143: template 10143: struct __result_of_memobj<_Res _Class::*, _Arg> 10143: { 10143: typedef typename remove_cv::type>::type _Argval; 10143: typedef _Res _Class::* _MemPtr; 10143: typedef typename conditional<__or_, 10143: is_base_of<_Class, _Argval>>::value, 10143: __result_of_memobj_ref<_MemPtr, _Arg>, 10143: __result_of_memobj_deref<_MemPtr, _Arg> 10143: >::type::type type; 10143: }; 10143: 10143: template 10143: struct __result_of_memfun; 10143: 10143: template 10143: struct __result_of_memfun<_Res _Class::*, _Arg, _Args...> 10143: { 10143: typedef typename remove_cv::type>::type _Argval; 10143: typedef _Res _Class::* _MemPtr; 10143: typedef typename conditional<__or_, 10143: is_base_of<_Class, _Argval>>::value, 10143: __result_of_memfun_ref<_MemPtr, _Arg, _Args...>, 10143: __result_of_memfun_deref<_MemPtr, _Arg, _Args...> 10143: >::type::type type; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template::type> 10143: struct __inv_unwrap 10143: { 10143: using type = _Tp; 10143: }; 10143: 10143: template 10143: struct __inv_unwrap<_Tp, reference_wrapper<_Up>> 10143: { 10143: using type = _Up&; 10143: }; 10143: 10143: template 10143: struct __result_of_impl 10143: { 10143: typedef __failure_type type; 10143: }; 10143: 10143: template 10143: struct __result_of_impl 10143: : public __result_of_memobj::type, 10143: typename __inv_unwrap<_Arg>::type> 10143: { }; 10143: 10143: template 10143: struct __result_of_impl 10143: : public __result_of_memfun::type, 10143: typename __inv_unwrap<_Arg>::type, _Args...> 10143: { }; 10143: 10143: 10143: struct __result_of_other_impl 10143: { 10143: template 10143: static __result_of_success()(std::declval<_Args>()...) 10143: ), __invoke_other> _S_test(int); 10143: 10143: template 10143: static __failure_type _S_test(...); 10143: }; 10143: 10143: template 10143: struct __result_of_impl 10143: : private __result_of_other_impl 10143: { 10143: typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type; 10143: }; 10143: 10143: 10143: template 10143: struct __invoke_result 10143: : public __result_of_impl< 10143: is_member_object_pointer< 10143: typename remove_reference<_Functor>::type 10143: >::value, 10143: is_member_function_pointer< 10143: typename remove_reference<_Functor>::type 10143: >::value, 10143: _Functor, _ArgTypes... 10143: >::type 10143: { }; 10143: 10143: template 10143: struct result_of<_Functor(_ArgTypes...)> 10143: : public __invoke_result<_Functor, _ArgTypes...> 10143: { }; 10143: # 2329 "/usr/include/c++/8/type_traits" 3 10143: template using __void_t = void; 10143: 10143: 10143: 10143: 10143: template using void_t = void; 10143: 10143: 10143: 10143: template class _Op, typename... _Args> 10143: struct __detector 10143: { 10143: using value_t = false_type; 10143: using type = _Default; 10143: }; 10143: 10143: 10143: template class _Op, 10143: typename... _Args> 10143: struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...> 10143: { 10143: using value_t = true_type; 10143: using type = _Op<_Args...>; 10143: }; 10143: 10143: 10143: template class _Op, 10143: typename... _Args> 10143: using __detected_or = __detector<_Default, void, _Op, _Args...>; 10143: 10143: 10143: template class _Op, 10143: typename... _Args> 10143: using __detected_or_t 10143: = typename __detected_or<_Default, _Op, _Args...>::type; 10143: # 2382 "/usr/include/c++/8/type_traits" 3 10143: template 10143: struct __is_swappable; 10143: 10143: template 10143: struct __is_nothrow_swappable; 10143: 10143: template 10143: class tuple; 10143: 10143: template 10143: struct __is_tuple_like_impl : false_type 10143: { }; 10143: 10143: template 10143: struct __is_tuple_like_impl> : true_type 10143: { }; 10143: 10143: 10143: template 10143: struct __is_tuple_like 10143: : public __is_tuple_like_impl::type>::type>::type 10143: { }; 10143: 10143: template 10143: inline 10143: typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>, 10143: is_move_constructible<_Tp>, 10143: is_move_assignable<_Tp>>::value>::type 10143: swap(_Tp&, _Tp&) 10143: noexcept(__and_, 10143: is_nothrow_move_assignable<_Tp>>::value); 10143: 10143: template 10143: inline 10143: typename enable_if<__is_swappable<_Tp>::value>::type 10143: swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) 10143: noexcept(__is_nothrow_swappable<_Tp>::value); 10143: 10143: namespace __swappable_details { 10143: using std::swap; 10143: 10143: struct __do_is_swappable_impl 10143: { 10143: template(), std::declval<_Tp&>()))> 10143: static true_type __test(int); 10143: 10143: template 10143: static false_type __test(...); 10143: }; 10143: 10143: struct __do_is_nothrow_swappable_impl 10143: { 10143: template 10143: static __bool_constant< 10143: noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>())) 10143: > __test(int); 10143: 10143: template 10143: static false_type __test(...); 10143: }; 10143: 10143: } 10143: 10143: template 10143: struct __is_swappable_impl 10143: : public __swappable_details::__do_is_swappable_impl 10143: { 10143: typedef decltype(__test<_Tp>(0)) type; 10143: }; 10143: 10143: template 10143: struct __is_nothrow_swappable_impl 10143: : public __swappable_details::__do_is_nothrow_swappable_impl 10143: { 10143: typedef decltype(__test<_Tp>(0)) type; 10143: }; 10143: 10143: template 10143: struct __is_swappable 10143: : public __is_swappable_impl<_Tp>::type 10143: { }; 10143: 10143: template 10143: struct __is_nothrow_swappable 10143: : public __is_nothrow_swappable_impl<_Tp>::type 10143: { }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct is_swappable 10143: : public __is_swappable_impl<_Tp>::type 10143: { }; 10143: 10143: 10143: template 10143: struct is_nothrow_swappable 10143: : public __is_nothrow_swappable_impl<_Tp>::type 10143: { }; 10143: # 2499 "/usr/include/c++/8/type_traits" 3 10143: namespace __swappable_with_details { 10143: using std::swap; 10143: 10143: struct __do_is_swappable_with_impl 10143: { 10143: template(), std::declval<_Up>())), 10143: typename 10143: = decltype(swap(std::declval<_Up>(), std::declval<_Tp>()))> 10143: static true_type __test(int); 10143: 10143: template 10143: static false_type __test(...); 10143: }; 10143: 10143: struct __do_is_nothrow_swappable_with_impl 10143: { 10143: template 10143: static __bool_constant< 10143: noexcept(swap(std::declval<_Tp>(), std::declval<_Up>())) 10143: && 10143: noexcept(swap(std::declval<_Up>(), std::declval<_Tp>())) 10143: > __test(int); 10143: 10143: template 10143: static false_type __test(...); 10143: }; 10143: 10143: } 10143: 10143: template 10143: struct __is_swappable_with_impl 10143: : public __swappable_with_details::__do_is_swappable_with_impl 10143: { 10143: typedef decltype(__test<_Tp, _Up>(0)) type; 10143: }; 10143: 10143: 10143: template 10143: struct __is_swappable_with_impl<_Tp&, _Tp&> 10143: : public __swappable_details::__do_is_swappable_impl 10143: { 10143: typedef decltype(__test<_Tp&>(0)) type; 10143: }; 10143: 10143: template 10143: struct __is_nothrow_swappable_with_impl 10143: : public __swappable_with_details::__do_is_nothrow_swappable_with_impl 10143: { 10143: typedef decltype(__test<_Tp, _Up>(0)) type; 10143: }; 10143: 10143: 10143: template 10143: struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&> 10143: : public __swappable_details::__do_is_nothrow_swappable_impl 10143: { 10143: typedef decltype(__test<_Tp&>(0)) type; 10143: }; 10143: 10143: 10143: template 10143: struct is_swappable_with 10143: : public __is_swappable_with_impl<_Tp, _Up>::type 10143: { }; 10143: 10143: 10143: template 10143: struct is_nothrow_swappable_with 10143: : public __is_nothrow_swappable_with_impl<_Tp, _Up>::type 10143: { }; 10143: # 2587 "/usr/include/c++/8/type_traits" 3 10143: template 10143: struct __is_invocable_impl : false_type { }; 10143: 10143: template 10143: struct __is_invocable_impl<_Result, _Ret, __void_t> 10143: : __or_, is_convertible>::type 10143: { }; 10143: 10143: template 10143: struct __is_invocable 10143: : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type 10143: { }; 10143: 10143: template 10143: constexpr bool __call_is_nt(__invoke_memfun_ref) 10143: { 10143: using _Up = typename __inv_unwrap<_Tp>::type; 10143: return noexcept((std::declval<_Up>().*std::declval<_Fn>())( 10143: std::declval<_Args>()...)); 10143: } 10143: 10143: template 10143: constexpr bool __call_is_nt(__invoke_memfun_deref) 10143: { 10143: return noexcept(((*std::declval<_Tp>()).*std::declval<_Fn>())( 10143: std::declval<_Args>()...)); 10143: } 10143: 10143: template 10143: constexpr bool __call_is_nt(__invoke_memobj_ref) 10143: { 10143: using _Up = typename __inv_unwrap<_Tp>::type; 10143: return noexcept(std::declval<_Up>().*std::declval<_Fn>()); 10143: } 10143: 10143: template 10143: constexpr bool __call_is_nt(__invoke_memobj_deref) 10143: { 10143: return noexcept((*std::declval<_Tp>()).*std::declval<_Fn>()); 10143: } 10143: 10143: template 10143: constexpr bool __call_is_nt(__invoke_other) 10143: { 10143: return noexcept(std::declval<_Fn>()(std::declval<_Args>()...)); 10143: } 10143: 10143: template 10143: struct __call_is_nothrow 10143: : __bool_constant< 10143: std::__call_is_nt<_Fn, _Args...>(typename _Result::__invoke_type{}) 10143: > 10143: { }; 10143: 10143: template 10143: using __call_is_nothrow_ 10143: = __call_is_nothrow<__invoke_result<_Fn, _Args...>, _Fn, _Args...>; 10143: 10143: 10143: template 10143: struct __is_nothrow_invocable 10143: : __and_<__is_invocable<_Fn, _Args...>, 10143: __call_is_nothrow_<_Fn, _Args...>>::type 10143: { }; 10143: 10143: struct __nonesuch { 10143: __nonesuch() = delete; 10143: ~__nonesuch() = delete; 10143: __nonesuch(__nonesuch const&) = delete; 10143: void operator=(__nonesuch const&) = delete; 10143: }; 10143: # 2943 "/usr/include/c++/8/type_traits" 3 10143: 10143: } 10143: # 46 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 10143: # 1 "/usr/include/c++/8/cstddef" 1 3 4 10143: # 42 "/usr/include/c++/8/cstddef" 3 4 10143: 10143: # 43 "/usr/include/c++/8/cstddef" 3 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stddef.h" 1 3 4 10143: # 149 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stddef.h" 3 4 10143: typedef long int ptrdiff_t; 10143: # 216 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stddef.h" 3 4 10143: typedef long unsigned int size_t; 10143: # 426 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stddef.h" 3 4 10143: typedef struct { 10143: long long __max_align_ll __attribute__((__aligned__(__alignof__(long long)))); 10143: long double __max_align_ld __attribute__((__aligned__(__alignof__(long double)))); 10143: # 437 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stddef.h" 3 4 10143: } max_align_t; 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef decltype(nullptr) nullptr_t; 10143: # 51 "/usr/include/c++/8/cstddef" 2 3 10143: 10143: 10143: namespace std 10143: { 10143: 10143: using ::max_align_t; 10143: } 10143: # 47 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 10143: # 1 "/usr/include/c++/8/utility" 1 3 4 10143: # 58 "/usr/include/c++/8/utility" 3 4 10143: 10143: # 59 "/usr/include/c++/8/utility" 3 10143: # 69 "/usr/include/c++/8/utility" 3 10143: # 1 "/usr/include/c++/8/bits/stl_relops.h" 1 3 10143: # 67 "/usr/include/c++/8/bits/stl_relops.h" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: namespace rel_ops 10143: { 10143: # 85 "/usr/include/c++/8/bits/stl_relops.h" 3 10143: template 10143: inline bool 10143: operator!=(const _Tp& __x, const _Tp& __y) 10143: { return !(__x == __y); } 10143: # 98 "/usr/include/c++/8/bits/stl_relops.h" 3 10143: template 10143: inline bool 10143: operator>(const _Tp& __x, const _Tp& __y) 10143: { return __y < __x; } 10143: # 111 "/usr/include/c++/8/bits/stl_relops.h" 3 10143: template 10143: inline bool 10143: operator<=(const _Tp& __x, const _Tp& __y) 10143: { return !(__y < __x); } 10143: # 124 "/usr/include/c++/8/bits/stl_relops.h" 3 10143: template 10143: inline bool 10143: operator>=(const _Tp& __x, const _Tp& __y) 10143: { return !(__x < __y); } 10143: } 10143: 10143: 10143: } 10143: # 70 "/usr/include/c++/8/utility" 2 3 10143: # 1 "/usr/include/c++/8/bits/stl_pair.h" 1 3 10143: # 59 "/usr/include/c++/8/bits/stl_pair.h" 3 10143: # 1 "/usr/include/c++/8/bits/move.h" 1 3 10143: # 34 "/usr/include/c++/8/bits/move.h" 3 10143: # 1 "/usr/include/c++/8/bits/concept_check.h" 1 3 10143: # 33 "/usr/include/c++/8/bits/concept_check.h" 3 10143: 10143: # 34 "/usr/include/c++/8/bits/concept_check.h" 3 10143: # 35 "/usr/include/c++/8/bits/move.h" 2 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline constexpr _Tp* 10143: __addressof(_Tp& __r) noexcept 10143: { return __builtin_addressof(__r); } 10143: 10143: 10143: 10143: 10143: } 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 72 "/usr/include/c++/8/bits/move.h" 3 10143: template 10143: constexpr _Tp&& 10143: forward(typename std::remove_reference<_Tp>::type& __t) noexcept 10143: { return static_cast<_Tp&&>(__t); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: constexpr _Tp&& 10143: forward(typename std::remove_reference<_Tp>::type&& __t) noexcept 10143: { 10143: static_assert(!std::is_lvalue_reference<_Tp>::value, "template argument" 10143: " substituting _Tp is an lvalue reference type"); 10143: return static_cast<_Tp&&>(__t); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: constexpr typename std::remove_reference<_Tp>::type&& 10143: move(_Tp&& __t) noexcept 10143: { return static_cast::type&&>(__t); } 10143: 10143: 10143: template 10143: struct __move_if_noexcept_cond 10143: : public __and_<__not_>, 10143: is_copy_constructible<_Tp>>::type { }; 10143: # 116 "/usr/include/c++/8/bits/move.h" 3 10143: template 10143: constexpr typename 10143: conditional<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>::type 10143: move_if_noexcept(_Tp& __x) noexcept 10143: { return std::move(__x); } 10143: # 136 "/usr/include/c++/8/bits/move.h" 3 10143: template 10143: inline _Tp* 10143: addressof(_Tp& __r) noexcept 10143: { return std::__addressof(__r); } 10143: 10143: 10143: 10143: template 10143: const _Tp* addressof(const _Tp&&) = delete; 10143: 10143: 10143: template 10143: inline _Tp 10143: __exchange(_Tp& __obj, _Up&& __new_val) 10143: { 10143: _Tp __old_val = std::move(__obj); 10143: __obj = std::forward<_Up>(__new_val); 10143: return __old_val; 10143: } 10143: # 176 "/usr/include/c++/8/bits/move.h" 3 10143: template 10143: inline 10143: 10143: typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>, 10143: is_move_constructible<_Tp>, 10143: is_move_assignable<_Tp>>::value>::type 10143: swap(_Tp& __a, _Tp& __b) 10143: noexcept(__and_, 10143: is_nothrow_move_assignable<_Tp>>::value) 10143: 10143: 10143: 10143: 10143: { 10143: 10143: 10143: 10143: _Tp __tmp = std::move(__a); 10143: __a = std::move(__b); 10143: __b = std::move(__tmp); 10143: } 10143: 10143: 10143: 10143: 10143: template 10143: inline 10143: 10143: typename enable_if<__is_swappable<_Tp>::value>::type 10143: swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) 10143: noexcept(__is_nothrow_swappable<_Tp>::value) 10143: 10143: 10143: 10143: 10143: { 10143: for (size_t __n = 0; __n < _Nm; ++__n) 10143: swap(__a[__n], __b[__n]); 10143: } 10143: 10143: 10143: 10143: } 10143: # 60 "/usr/include/c++/8/bits/stl_pair.h" 2 3 10143: 10143: 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 76 "/usr/include/c++/8/bits/stl_pair.h" 3 10143: struct piecewise_construct_t { explicit piecewise_construct_t() = default; }; 10143: 10143: 10143: constexpr piecewise_construct_t piecewise_construct = 10143: piecewise_construct_t(); 10143: 10143: 10143: template 10143: class tuple; 10143: 10143: template 10143: struct _Index_tuple; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct _PCC 10143: { 10143: template 10143: static constexpr bool _ConstructiblePair() 10143: { 10143: return __and_, 10143: is_constructible<_T2, const _U2&>>::value; 10143: } 10143: 10143: template 10143: static constexpr bool _ImplicitlyConvertiblePair() 10143: { 10143: return __and_, 10143: is_convertible>::value; 10143: } 10143: 10143: template 10143: static constexpr bool _MoveConstructiblePair() 10143: { 10143: return __and_, 10143: is_constructible<_T2, _U2&&>>::value; 10143: } 10143: 10143: template 10143: static constexpr bool _ImplicitlyMoveConvertiblePair() 10143: { 10143: return __and_, 10143: is_convertible<_U2&&, _T2>>::value; 10143: } 10143: 10143: template 10143: static constexpr bool _CopyMovePair() 10143: { 10143: using __do_converts = __and_, 10143: is_convertible<_U2&&, _T2>>; 10143: using __converts = typename conditional<__implicit, 10143: __do_converts, 10143: __not_<__do_converts>>::type; 10143: return __and_, 10143: is_constructible<_T2, _U2&&>, 10143: __converts 10143: >::value; 10143: } 10143: 10143: template 10143: static constexpr bool _MoveCopyPair() 10143: { 10143: using __do_converts = __and_, 10143: is_convertible>; 10143: using __converts = typename conditional<__implicit, 10143: __do_converts, 10143: __not_<__do_converts>>::type; 10143: return __and_, 10143: is_constructible<_T2, const _U2&&>, 10143: __converts 10143: >::value; 10143: } 10143: }; 10143: 10143: template 10143: struct _PCC 10143: { 10143: template 10143: static constexpr bool _ConstructiblePair() 10143: { 10143: return false; 10143: } 10143: 10143: template 10143: static constexpr bool _ImplicitlyConvertiblePair() 10143: { 10143: return false; 10143: } 10143: 10143: template 10143: static constexpr bool _MoveConstructiblePair() 10143: { 10143: return false; 10143: } 10143: 10143: template 10143: static constexpr bool _ImplicitlyMoveConvertiblePair() 10143: { 10143: return false; 10143: } 10143: }; 10143: 10143: 10143: 10143: 10143: struct __nonesuch_no_braces : std::__nonesuch { 10143: explicit __nonesuch_no_braces(const __nonesuch&) = delete; 10143: }; 10143: # 197 "/usr/include/c++/8/bits/stl_pair.h" 3 10143: template 10143: struct pair 10143: { 10143: typedef _T1 first_type; 10143: typedef _T2 second_type; 10143: 10143: _T1 first; 10143: _T2 second; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template , 10143: __is_implicitly_default_constructible<_U2>> 10143: ::value, bool>::type = true> 10143: 10143: constexpr pair() 10143: : first(), second() { } 10143: 10143: 10143: template , 10143: is_default_constructible<_U2>, 10143: __not_< 10143: __and_<__is_implicitly_default_constructible<_U1>, 10143: __is_implicitly_default_constructible<_U2>>>> 10143: ::value, bool>::type = false> 10143: explicit constexpr pair() 10143: : first(), second() { } 10143: # 241 "/usr/include/c++/8/bits/stl_pair.h" 3 10143: using _PCCP = _PCC; 10143: 10143: template() 10143: && _PCCP::template 10143: _ImplicitlyConvertiblePair<_U1, _U2>(), 10143: bool>::type=true> 10143: constexpr pair(const _T1& __a, const _T2& __b) 10143: : first(__a), second(__b) { } 10143: 10143: template() 10143: && !_PCCP::template 10143: _ImplicitlyConvertiblePair<_U1, _U2>(), 10143: bool>::type=false> 10143: explicit constexpr pair(const _T1& __a, const _T2& __b) 10143: : first(__a), second(__b) { } 10143: # 269 "/usr/include/c++/8/bits/stl_pair.h" 3 10143: template 10143: using _PCCFP = _PCC::value 10143: || !is_same<_T2, _U2>::value, 10143: _T1, _T2>; 10143: 10143: template::template 10143: _ConstructiblePair<_U1, _U2>() 10143: && _PCCFP<_U1, _U2>::template 10143: _ImplicitlyConvertiblePair<_U1, _U2>(), 10143: bool>::type=true> 10143: constexpr pair(const pair<_U1, _U2>& __p) 10143: : first(__p.first), second(__p.second) { } 10143: 10143: template::template 10143: _ConstructiblePair<_U1, _U2>() 10143: && !_PCCFP<_U1, _U2>::template 10143: _ImplicitlyConvertiblePair<_U1, _U2>(), 10143: bool>::type=false> 10143: explicit constexpr pair(const pair<_U1, _U2>& __p) 10143: : first(__p.first), second(__p.second) { } 10143: 10143: constexpr pair(const pair&) = default; 10143: constexpr pair(pair&&) = default; 10143: 10143: 10143: template(), 10143: bool>::type=true> 10143: constexpr pair(_U1&& __x, const _T2& __y) 10143: : first(std::forward<_U1>(__x)), second(__y) { } 10143: 10143: template(), 10143: bool>::type=false> 10143: explicit constexpr pair(_U1&& __x, const _T2& __y) 10143: : first(std::forward<_U1>(__x)), second(__y) { } 10143: 10143: template(), 10143: bool>::type=true> 10143: constexpr pair(const _T1& __x, _U2&& __y) 10143: : first(__x), second(std::forward<_U2>(__y)) { } 10143: 10143: template(), 10143: bool>::type=false> 10143: explicit pair(const _T1& __x, _U2&& __y) 10143: : first(__x), second(std::forward<_U2>(__y)) { } 10143: 10143: template() 10143: && _PCCP::template 10143: _ImplicitlyMoveConvertiblePair<_U1, _U2>(), 10143: bool>::type=true> 10143: constexpr pair(_U1&& __x, _U2&& __y) 10143: : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { } 10143: 10143: template() 10143: && !_PCCP::template 10143: _ImplicitlyMoveConvertiblePair<_U1, _U2>(), 10143: bool>::type=false> 10143: explicit constexpr pair(_U1&& __x, _U2&& __y) 10143: : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { } 10143: 10143: 10143: template::template 10143: _MoveConstructiblePair<_U1, _U2>() 10143: && _PCCFP<_U1, _U2>::template 10143: _ImplicitlyMoveConvertiblePair<_U1, _U2>(), 10143: bool>::type=true> 10143: constexpr pair(pair<_U1, _U2>&& __p) 10143: : first(std::forward<_U1>(__p.first)), 10143: second(std::forward<_U2>(__p.second)) { } 10143: 10143: template::template 10143: _MoveConstructiblePair<_U1, _U2>() 10143: && !_PCCFP<_U1, _U2>::template 10143: _ImplicitlyMoveConvertiblePair<_U1, _U2>(), 10143: bool>::type=false> 10143: explicit constexpr pair(pair<_U1, _U2>&& __p) 10143: : first(std::forward<_U1>(__p.first)), 10143: second(std::forward<_U2>(__p.second)) { } 10143: 10143: template 10143: pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>); 10143: 10143: pair& 10143: operator=(typename conditional< 10143: __and_, 10143: is_copy_assignable<_T2>>::value, 10143: const pair&, const __nonesuch_no_braces&>::type __p) 10143: { 10143: first = __p.first; 10143: second = __p.second; 10143: return *this; 10143: } 10143: 10143: pair& 10143: operator=(typename conditional< 10143: __not_<__and_, 10143: is_copy_assignable<_T2>>>::value, 10143: const pair&, const __nonesuch_no_braces&>::type __p) = delete; 10143: 10143: pair& 10143: operator=(typename conditional< 10143: __and_, 10143: is_move_assignable<_T2>>::value, 10143: pair&&, __nonesuch_no_braces&&>::type __p) 10143: noexcept(__and_, 10143: is_nothrow_move_assignable<_T2>>::value) 10143: { 10143: first = std::forward(__p.first); 10143: second = std::forward(__p.second); 10143: return *this; 10143: } 10143: 10143: template 10143: typename enable_if<__and_, 10143: is_assignable<_T2&, const _U2&>>::value, 10143: pair&>::type 10143: operator=(const pair<_U1, _U2>& __p) 10143: { 10143: first = __p.first; 10143: second = __p.second; 10143: return *this; 10143: } 10143: 10143: template 10143: typename enable_if<__and_, 10143: is_assignable<_T2&, _U2&&>>::value, 10143: pair&>::type 10143: operator=(pair<_U1, _U2>&& __p) 10143: { 10143: first = std::forward<_U1>(__p.first); 10143: second = std::forward<_U2>(__p.second); 10143: return *this; 10143: } 10143: 10143: void 10143: swap(pair& __p) 10143: noexcept(__and_<__is_nothrow_swappable<_T1>, 10143: __is_nothrow_swappable<_T2>>::value) 10143: { 10143: using std::swap; 10143: swap(first, __p.first); 10143: swap(second, __p.second); 10143: } 10143: 10143: private: 10143: template 10143: pair(tuple<_Args1...>&, tuple<_Args2...>&, 10143: _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); 10143: 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline constexpr bool 10143: operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 10143: { return __x.first == __y.first && __x.second == __y.second; } 10143: 10143: 10143: template 10143: inline constexpr bool 10143: operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 10143: { return __x.first < __y.first 10143: || (!(__y.first < __x.first) && __x.second < __y.second); } 10143: 10143: 10143: template 10143: inline constexpr bool 10143: operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 10143: { return !(__x == __y); } 10143: 10143: 10143: template 10143: inline constexpr bool 10143: operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 10143: { return __y < __x; } 10143: 10143: 10143: template 10143: inline constexpr bool 10143: operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 10143: { return !(__y < __x); } 10143: 10143: 10143: template 10143: inline constexpr bool 10143: operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 10143: { return !(__x < __y); } 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline 10143: 10143: 10143: typename enable_if<__and_<__is_swappable<_T1>, 10143: __is_swappable<_T2>>::value>::type 10143: 10143: 10143: 10143: swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) 10143: noexcept(noexcept(__x.swap(__y))) 10143: { __x.swap(__y); } 10143: 10143: 10143: template 10143: typename enable_if, 10143: __is_swappable<_T2>>::value>::type 10143: swap(pair<_T1, _T2>&, pair<_T1, _T2>&) = delete; 10143: # 516 "/usr/include/c++/8/bits/stl_pair.h" 3 10143: template 10143: constexpr pair::__type, 10143: typename __decay_and_strip<_T2>::__type> 10143: make_pair(_T1&& __x, _T2&& __y) 10143: { 10143: typedef typename __decay_and_strip<_T1>::__type __ds_type1; 10143: typedef typename __decay_and_strip<_T2>::__type __ds_type2; 10143: typedef pair<__ds_type1, __ds_type2> __pair_type; 10143: return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y)); 10143: } 10143: # 535 "/usr/include/c++/8/bits/stl_pair.h" 3 10143: 10143: } 10143: # 71 "/usr/include/c++/8/utility" 2 3 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/initializer_list" 1 3 10143: # 33 "/usr/include/c++/8/initializer_list" 3 10143: 10143: # 34 "/usr/include/c++/8/initializer_list" 3 10143: 10143: 10143: 10143: 10143: 10143: #pragma GCC visibility push(default) 10143: 10143: 10143: 10143: namespace std 10143: { 10143: 10143: template 10143: class initializer_list 10143: { 10143: public: 10143: typedef _E value_type; 10143: typedef const _E& reference; 10143: typedef const _E& const_reference; 10143: typedef size_t size_type; 10143: typedef const _E* iterator; 10143: typedef const _E* const_iterator; 10143: 10143: private: 10143: iterator _M_array; 10143: size_type _M_len; 10143: 10143: 10143: constexpr initializer_list(const_iterator __a, size_type __l) 10143: : _M_array(__a), _M_len(__l) { } 10143: 10143: public: 10143: constexpr initializer_list() noexcept 10143: : _M_array(0), _M_len(0) { } 10143: 10143: 10143: constexpr size_type 10143: size() const noexcept { return _M_len; } 10143: 10143: 10143: constexpr const_iterator 10143: begin() const noexcept { return _M_array; } 10143: 10143: 10143: constexpr const_iterator 10143: end() const noexcept { return begin() + size(); } 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: constexpr const _Tp* 10143: begin(initializer_list<_Tp> __ils) noexcept 10143: { return __ils.begin(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: constexpr const _Tp* 10143: end(initializer_list<_Tp> __ils) noexcept 10143: { return __ils.end(); } 10143: } 10143: 10143: #pragma GCC visibility pop 10143: # 77 "/usr/include/c++/8/utility" 2 3 10143: 10143: 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: template 10143: struct tuple_size; 10143: 10143: 10143: 10143: 10143: 10143: template::type, 10143: typename = typename enable_if::value>::type, 10143: size_t = tuple_size<_Tp>::value> 10143: using __enable_if_has_tuple_size = _Tp; 10143: 10143: template 10143: struct tuple_size> 10143: : public tuple_size<_Tp> { }; 10143: 10143: template 10143: struct tuple_size> 10143: : public tuple_size<_Tp> { }; 10143: 10143: template 10143: struct tuple_size> 10143: : public tuple_size<_Tp> { }; 10143: 10143: 10143: template 10143: struct tuple_element; 10143: 10143: 10143: template 10143: using __tuple_element_t = typename tuple_element<__i, _Tp>::type; 10143: 10143: template 10143: struct tuple_element<__i, const _Tp> 10143: { 10143: typedef typename add_const<__tuple_element_t<__i, _Tp>>::type type; 10143: }; 10143: 10143: template 10143: struct tuple_element<__i, volatile _Tp> 10143: { 10143: typedef typename add_volatile<__tuple_element_t<__i, _Tp>>::type type; 10143: }; 10143: 10143: template 10143: struct tuple_element<__i, const volatile _Tp> 10143: { 10143: typedef typename add_cv<__tuple_element_t<__i, _Tp>>::type type; 10143: }; 10143: # 148 "/usr/include/c++/8/utility" 3 10143: template 10143: struct __is_tuple_like_impl> : true_type 10143: { }; 10143: 10143: 10143: template 10143: struct tuple_size> 10143: : public integral_constant { }; 10143: 10143: 10143: template 10143: struct tuple_element<0, std::pair<_Tp1, _Tp2>> 10143: { typedef _Tp1 type; }; 10143: 10143: 10143: template 10143: struct tuple_element<1, std::pair<_Tp1, _Tp2>> 10143: { typedef _Tp2 type; }; 10143: 10143: template 10143: struct __pair_get; 10143: 10143: template<> 10143: struct __pair_get<0> 10143: { 10143: template 10143: static constexpr _Tp1& 10143: __get(std::pair<_Tp1, _Tp2>& __pair) noexcept 10143: { return __pair.first; } 10143: 10143: template 10143: static constexpr _Tp1&& 10143: __move_get(std::pair<_Tp1, _Tp2>&& __pair) noexcept 10143: { return std::forward<_Tp1>(__pair.first); } 10143: 10143: template 10143: static constexpr const _Tp1& 10143: __const_get(const std::pair<_Tp1, _Tp2>& __pair) noexcept 10143: { return __pair.first; } 10143: 10143: template 10143: static constexpr const _Tp1&& 10143: __const_move_get(const std::pair<_Tp1, _Tp2>&& __pair) noexcept 10143: { return std::forward(__pair.first); } 10143: }; 10143: 10143: template<> 10143: struct __pair_get<1> 10143: { 10143: template 10143: static constexpr _Tp2& 10143: __get(std::pair<_Tp1, _Tp2>& __pair) noexcept 10143: { return __pair.second; } 10143: 10143: template 10143: static constexpr _Tp2&& 10143: __move_get(std::pair<_Tp1, _Tp2>&& __pair) noexcept 10143: { return std::forward<_Tp2>(__pair.second); } 10143: 10143: template 10143: static constexpr const _Tp2& 10143: __const_get(const std::pair<_Tp1, _Tp2>& __pair) noexcept 10143: { return __pair.second; } 10143: 10143: template 10143: static constexpr const _Tp2&& 10143: __const_move_get(const std::pair<_Tp1, _Tp2>&& __pair) noexcept 10143: { return std::forward(__pair.second); } 10143: }; 10143: 10143: template 10143: constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type& 10143: get(std::pair<_Tp1, _Tp2>& __in) noexcept 10143: { return __pair_get<_Int>::__get(__in); } 10143: 10143: template 10143: constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&& 10143: get(std::pair<_Tp1, _Tp2>&& __in) noexcept 10143: { return __pair_get<_Int>::__move_get(std::move(__in)); } 10143: 10143: template 10143: constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type& 10143: get(const std::pair<_Tp1, _Tp2>& __in) noexcept 10143: { return __pair_get<_Int>::__const_get(__in); } 10143: 10143: template 10143: constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&& 10143: get(const std::pair<_Tp1, _Tp2>&& __in) noexcept 10143: { return __pair_get<_Int>::__const_move_get(std::move(__in)); } 10143: # 293 "/usr/include/c++/8/utility" 3 10143: template struct _Index_tuple { }; 10143: # 302 "/usr/include/c++/8/utility" 3 10143: template 10143: struct _Build_index_tuple 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: using __type = _Index_tuple<__integer_pack(_Num)...>; 10143: 10143: }; 10143: # 397 "/usr/include/c++/8/utility" 3 10143: 10143: } 10143: # 48 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 10143: 10143: 10143: # 1 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stddef.h" 1 3 4 10143: # 51 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 10143: # 64 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qconfig.h" 1 3 4 10143: # 65 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qtcore-config.h" 1 3 4 10143: # 66 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 10143: # 96 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsystemdetection.h" 1 3 4 10143: # 97 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qprocessordetection.h" 1 3 4 10143: # 98 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qcompilerdetection.h" 1 3 4 10143: # 99 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 10143: # 109 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: # 1 "/usr/include/c++/8/algorithm" 1 3 4 10143: # 58 "/usr/include/c++/8/algorithm" 3 4 10143: 10143: # 59 "/usr/include/c++/8/algorithm" 3 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/stl_algobase.h" 1 3 10143: # 60 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: # 1 "/usr/include/c++/8/bits/functexcept.h" 1 3 10143: # 40 "/usr/include/c++/8/bits/functexcept.h" 3 10143: # 1 "/usr/include/c++/8/bits/exception_defines.h" 1 3 10143: # 41 "/usr/include/c++/8/bits/functexcept.h" 2 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: void 10143: __throw_bad_exception(void) __attribute__((__noreturn__)); 10143: 10143: 10143: void 10143: __throw_bad_alloc(void) __attribute__((__noreturn__)); 10143: 10143: 10143: void 10143: __throw_bad_cast(void) __attribute__((__noreturn__)); 10143: 10143: void 10143: __throw_bad_typeid(void) __attribute__((__noreturn__)); 10143: 10143: 10143: void 10143: __throw_logic_error(const char*) __attribute__((__noreturn__)); 10143: 10143: void 10143: __throw_domain_error(const char*) __attribute__((__noreturn__)); 10143: 10143: void 10143: __throw_invalid_argument(const char*) __attribute__((__noreturn__)); 10143: 10143: void 10143: __throw_length_error(const char*) __attribute__((__noreturn__)); 10143: 10143: void 10143: __throw_out_of_range(const char*) __attribute__((__noreturn__)); 10143: 10143: void 10143: __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__)) 10143: __attribute__((__format__(__gnu_printf__, 1, 2))); 10143: 10143: void 10143: __throw_runtime_error(const char*) __attribute__((__noreturn__)); 10143: 10143: void 10143: __throw_range_error(const char*) __attribute__((__noreturn__)); 10143: 10143: void 10143: __throw_overflow_error(const char*) __attribute__((__noreturn__)); 10143: 10143: void 10143: __throw_underflow_error(const char*) __attribute__((__noreturn__)); 10143: 10143: 10143: void 10143: __throw_ios_failure(const char*) __attribute__((__noreturn__)); 10143: 10143: void 10143: __throw_system_error(int) __attribute__((__noreturn__)); 10143: 10143: void 10143: __throw_future_error(int) __attribute__((__noreturn__)); 10143: 10143: 10143: void 10143: __throw_bad_function_call() __attribute__((__noreturn__)); 10143: 10143: 10143: } 10143: # 61 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 10143: # 1 "/usr/include/c++/8/bits/cpp_type_traits.h" 1 3 10143: # 35 "/usr/include/c++/8/bits/cpp_type_traits.h" 3 10143: 10143: # 36 "/usr/include/c++/8/bits/cpp_type_traits.h" 3 10143: # 67 "/usr/include/c++/8/bits/cpp_type_traits.h" 3 10143: extern "C++" { 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: struct __true_type { }; 10143: struct __false_type { }; 10143: 10143: template 10143: struct __truth_type 10143: { typedef __false_type __type; }; 10143: 10143: template<> 10143: struct __truth_type 10143: { typedef __true_type __type; }; 10143: 10143: 10143: 10143: template 10143: struct __traitor 10143: { 10143: enum { __value = bool(_Sp::__value) || bool(_Tp::__value) }; 10143: typedef typename __truth_type<__value>::__type __type; 10143: }; 10143: 10143: 10143: template 10143: struct __are_same 10143: { 10143: enum { __value = 0 }; 10143: typedef __false_type __type; 10143: }; 10143: 10143: template 10143: struct __are_same<_Tp, _Tp> 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: 10143: template 10143: struct __is_void 10143: { 10143: enum { __value = 0 }; 10143: typedef __false_type __type; 10143: }; 10143: 10143: template<> 10143: struct __is_void 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: 10143: 10143: 10143: template 10143: struct __is_integer 10143: { 10143: enum { __value = 0 }; 10143: typedef __false_type __type; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: template<> 10143: struct __is_integer 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: template<> 10143: struct __is_integer 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: template<> 10143: struct __is_integer 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: template<> 10143: struct __is_integer 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: 10143: template<> 10143: struct __is_integer 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: 10143: 10143: template<> 10143: struct __is_integer 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: template<> 10143: struct __is_integer 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: 10143: template<> 10143: struct __is_integer 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: template<> 10143: struct __is_integer 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: template<> 10143: struct __is_integer 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: template<> 10143: struct __is_integer 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: template<> 10143: struct __is_integer 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: template<> 10143: struct __is_integer 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: template<> 10143: struct __is_integer 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: template<> 10143: struct __is_integer 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: # 261 "/usr/include/c++/8/bits/cpp_type_traits.h" 3 10143: template<> struct __is_integer<__int128> { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; 10143: # 278 "/usr/include/c++/8/bits/cpp_type_traits.h" 3 10143: template 10143: struct __is_floating 10143: { 10143: enum { __value = 0 }; 10143: typedef __false_type __type; 10143: }; 10143: 10143: 10143: template<> 10143: struct __is_floating 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: template<> 10143: struct __is_floating 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: template<> 10143: struct __is_floating 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: 10143: 10143: 10143: template 10143: struct __is_pointer 10143: { 10143: enum { __value = 0 }; 10143: typedef __false_type __type; 10143: }; 10143: 10143: template 10143: struct __is_pointer<_Tp*> 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: 10143: 10143: 10143: template 10143: struct __is_arithmetic 10143: : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> > 10143: { }; 10143: 10143: 10143: 10143: 10143: template 10143: struct __is_scalar 10143: : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> > 10143: { }; 10143: 10143: 10143: 10143: 10143: template 10143: struct __is_char 10143: { 10143: enum { __value = 0 }; 10143: typedef __false_type __type; 10143: }; 10143: 10143: template<> 10143: struct __is_char 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: 10143: template<> 10143: struct __is_char 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: 10143: template 10143: struct __is_byte 10143: { 10143: enum { __value = 0 }; 10143: typedef __false_type __type; 10143: }; 10143: 10143: template<> 10143: struct __is_byte 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: template<> 10143: struct __is_byte 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: template<> 10143: struct __is_byte 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: 10143: 10143: 10143: template 10143: struct __is_move_iterator 10143: { 10143: enum { __value = 0 }; 10143: typedef __false_type __type; 10143: }; 10143: 10143: 10143: 10143: template 10143: inline _Iterator 10143: __miter_base(_Iterator __it) 10143: { return __it; } 10143: 10143: 10143: } 10143: } 10143: # 62 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 10143: # 1 "/usr/include/c++/8/ext/type_traits.h" 1 3 10143: # 32 "/usr/include/c++/8/ext/type_traits.h" 3 10143: 10143: # 33 "/usr/include/c++/8/ext/type_traits.h" 3 10143: 10143: 10143: 10143: 10143: extern "C++" { 10143: 10143: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: template 10143: struct __enable_if 10143: { }; 10143: 10143: template 10143: struct __enable_if 10143: { typedef _Tp __type; }; 10143: 10143: 10143: 10143: template 10143: struct __conditional_type 10143: { typedef _Iftrue __type; }; 10143: 10143: template 10143: struct __conditional_type 10143: { typedef _Iffalse __type; }; 10143: 10143: 10143: 10143: template 10143: struct __add_unsigned 10143: { 10143: private: 10143: typedef __enable_if::__value, _Tp> __if_type; 10143: 10143: public: 10143: typedef typename __if_type::__type __type; 10143: }; 10143: 10143: template<> 10143: struct __add_unsigned 10143: { typedef unsigned char __type; }; 10143: 10143: template<> 10143: struct __add_unsigned 10143: { typedef unsigned char __type; }; 10143: 10143: template<> 10143: struct __add_unsigned 10143: { typedef unsigned short __type; }; 10143: 10143: template<> 10143: struct __add_unsigned 10143: { typedef unsigned int __type; }; 10143: 10143: template<> 10143: struct __add_unsigned 10143: { typedef unsigned long __type; }; 10143: 10143: template<> 10143: struct __add_unsigned 10143: { typedef unsigned long long __type; }; 10143: 10143: 10143: template<> 10143: struct __add_unsigned; 10143: 10143: template<> 10143: struct __add_unsigned; 10143: 10143: 10143: 10143: template 10143: struct __remove_unsigned 10143: { 10143: private: 10143: typedef __enable_if::__value, _Tp> __if_type; 10143: 10143: public: 10143: typedef typename __if_type::__type __type; 10143: }; 10143: 10143: template<> 10143: struct __remove_unsigned 10143: { typedef signed char __type; }; 10143: 10143: template<> 10143: struct __remove_unsigned 10143: { typedef signed char __type; }; 10143: 10143: template<> 10143: struct __remove_unsigned 10143: { typedef short __type; }; 10143: 10143: template<> 10143: struct __remove_unsigned 10143: { typedef int __type; }; 10143: 10143: template<> 10143: struct __remove_unsigned 10143: { typedef long __type; }; 10143: 10143: template<> 10143: struct __remove_unsigned 10143: { typedef long long __type; }; 10143: 10143: 10143: template<> 10143: struct __remove_unsigned; 10143: 10143: template<> 10143: struct __remove_unsigned; 10143: 10143: 10143: 10143: template 10143: inline bool 10143: __is_null_pointer(_Type* __ptr) 10143: { return __ptr == 0; } 10143: 10143: template 10143: inline bool 10143: __is_null_pointer(_Type) 10143: { return false; } 10143: 10143: 10143: inline bool 10143: __is_null_pointer(std::nullptr_t) 10143: { return true; } 10143: 10143: 10143: 10143: template::__value> 10143: struct __promote 10143: { typedef double __type; }; 10143: 10143: 10143: 10143: 10143: template 10143: struct __promote<_Tp, false> 10143: { }; 10143: 10143: template<> 10143: struct __promote 10143: { typedef long double __type; }; 10143: 10143: template<> 10143: struct __promote 10143: { typedef double __type; }; 10143: 10143: template<> 10143: struct __promote 10143: { typedef float __type; }; 10143: 10143: template::__type, 10143: typename _Up2 = typename __promote<_Up>::__type> 10143: struct __promote_2 10143: { 10143: typedef __typeof__(_Tp2() + _Up2()) __type; 10143: }; 10143: 10143: template::__type, 10143: typename _Up2 = typename __promote<_Up>::__type, 10143: typename _Vp2 = typename __promote<_Vp>::__type> 10143: struct __promote_3 10143: { 10143: typedef __typeof__(_Tp2() + _Up2() + _Vp2()) __type; 10143: }; 10143: 10143: template::__type, 10143: typename _Up2 = typename __promote<_Up>::__type, 10143: typename _Vp2 = typename __promote<_Vp>::__type, 10143: typename _Wp2 = typename __promote<_Wp>::__type> 10143: struct __promote_4 10143: { 10143: typedef __typeof__(_Tp2() + _Up2() + _Vp2() + _Wp2()) __type; 10143: }; 10143: 10143: 10143: } 10143: } 10143: # 63 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 10143: # 1 "/usr/include/c++/8/ext/numeric_traits.h" 1 3 10143: # 32 "/usr/include/c++/8/ext/numeric_traits.h" 3 10143: 10143: # 33 "/usr/include/c++/8/ext/numeric_traits.h" 3 10143: 10143: 10143: 10143: 10143: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 54 "/usr/include/c++/8/ext/numeric_traits.h" 3 10143: template 10143: struct __numeric_traits_integer 10143: { 10143: 10143: static const _Value __min = (((_Value)(-1) < 0) ? (_Value)1 << (sizeof(_Value) * 8 - ((_Value)(-1) < 0)) : (_Value)0); 10143: static const _Value __max = (((_Value)(-1) < 0) ? (((((_Value)1 << ((sizeof(_Value) * 8 - ((_Value)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(_Value)0); 10143: 10143: 10143: 10143: static const bool __is_signed = ((_Value)(-1) < 0); 10143: static const int __digits = (sizeof(_Value) * 8 - ((_Value)(-1) < 0)); 10143: }; 10143: 10143: template 10143: const _Value __numeric_traits_integer<_Value>::__min; 10143: 10143: template 10143: const _Value __numeric_traits_integer<_Value>::__max; 10143: 10143: template 10143: const bool __numeric_traits_integer<_Value>::__is_signed; 10143: 10143: template 10143: const int __numeric_traits_integer<_Value>::__digits; 10143: # 99 "/usr/include/c++/8/ext/numeric_traits.h" 3 10143: template 10143: struct __numeric_traits_floating 10143: { 10143: 10143: static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 106) * 643L / 2136); 10143: 10143: 10143: static const bool __is_signed = true; 10143: static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 31); 10143: static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 308); 10143: }; 10143: 10143: template 10143: const int __numeric_traits_floating<_Value>::__max_digits10; 10143: 10143: template 10143: const bool __numeric_traits_floating<_Value>::__is_signed; 10143: 10143: template 10143: const int __numeric_traits_floating<_Value>::__digits10; 10143: 10143: template 10143: const int __numeric_traits_floating<_Value>::__max_exponent10; 10143: 10143: template 10143: struct __numeric_traits 10143: : public __conditional_type::__value, 10143: __numeric_traits_integer<_Value>, 10143: __numeric_traits_floating<_Value> >::__type 10143: { }; 10143: 10143: 10143: } 10143: # 64 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 10143: 10143: # 1 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 1 3 10143: # 62 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 10143: 10143: # 63 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 89 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 10143: struct input_iterator_tag { }; 10143: 10143: 10143: struct output_iterator_tag { }; 10143: 10143: 10143: struct forward_iterator_tag : public input_iterator_tag { }; 10143: 10143: 10143: 10143: struct bidirectional_iterator_tag : public forward_iterator_tag { }; 10143: 10143: 10143: 10143: struct random_access_iterator_tag : public bidirectional_iterator_tag { }; 10143: # 116 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 10143: template 10143: struct iterator 10143: { 10143: 10143: typedef _Category iterator_category; 10143: 10143: typedef _Tp value_type; 10143: 10143: typedef _Distance difference_type; 10143: 10143: typedef _Pointer pointer; 10143: 10143: typedef _Reference reference; 10143: }; 10143: # 143 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 10143: template> 10143: struct __iterator_traits { }; 10143: 10143: template 10143: struct __iterator_traits<_Iterator, 10143: __void_t> 10143: { 10143: typedef typename _Iterator::iterator_category iterator_category; 10143: typedef typename _Iterator::value_type value_type; 10143: typedef typename _Iterator::difference_type difference_type; 10143: typedef typename _Iterator::pointer pointer; 10143: typedef typename _Iterator::reference reference; 10143: }; 10143: 10143: template 10143: struct iterator_traits 10143: : public __iterator_traits<_Iterator> { }; 10143: # 177 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 10143: template 10143: struct iterator_traits<_Tp*> 10143: { 10143: typedef random_access_iterator_tag iterator_category; 10143: typedef _Tp value_type; 10143: typedef ptrdiff_t difference_type; 10143: typedef _Tp* pointer; 10143: typedef _Tp& reference; 10143: }; 10143: 10143: 10143: template 10143: struct iterator_traits 10143: { 10143: typedef random_access_iterator_tag iterator_category; 10143: typedef _Tp value_type; 10143: typedef ptrdiff_t difference_type; 10143: typedef const _Tp* pointer; 10143: typedef const _Tp& reference; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline constexpr 10143: typename iterator_traits<_Iter>::iterator_category 10143: __iterator_category(const _Iter&) 10143: { return typename iterator_traits<_Iter>::iterator_category(); } 10143: # 231 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 10143: template 10143: using _RequireInputIter = typename 10143: enable_if::iterator_category, 10143: input_iterator_tag>::value>::type; 10143: 10143: 10143: 10143: } 10143: # 66 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 10143: # 1 "/usr/include/c++/8/bits/stl_iterator_base_funcs.h" 1 3 10143: # 62 "/usr/include/c++/8/bits/stl_iterator_base_funcs.h" 3 10143: 10143: # 63 "/usr/include/c++/8/bits/stl_iterator_base_funcs.h" 3 10143: 10143: 10143: # 1 "/usr/include/c++/8/debug/assertions.h" 1 3 10143: # 66 "/usr/include/c++/8/bits/stl_iterator_base_funcs.h" 2 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: template struct _List_iterator; 10143: template struct _List_const_iterator; 10143: 10143: 10143: template 10143: inline 10143: typename iterator_traits<_InputIterator>::difference_type 10143: __distance(_InputIterator __first, _InputIterator __last, 10143: input_iterator_tag) 10143: { 10143: 10143: 10143: 10143: typename iterator_traits<_InputIterator>::difference_type __n = 0; 10143: while (__first != __last) 10143: { 10143: ++__first; 10143: ++__n; 10143: } 10143: return __n; 10143: } 10143: 10143: template 10143: inline 10143: typename iterator_traits<_RandomAccessIterator>::difference_type 10143: __distance(_RandomAccessIterator __first, _RandomAccessIterator __last, 10143: random_access_iterator_tag) 10143: { 10143: 10143: 10143: 10143: return __last - __first; 10143: } 10143: 10143: 10143: 10143: template 10143: ptrdiff_t 10143: __distance(std::_List_iterator<_Tp>, 10143: std::_List_iterator<_Tp>, 10143: input_iterator_tag); 10143: 10143: template 10143: ptrdiff_t 10143: __distance(std::_List_const_iterator<_Tp>, 10143: std::_List_const_iterator<_Tp>, 10143: input_iterator_tag); 10143: # 135 "/usr/include/c++/8/bits/stl_iterator_base_funcs.h" 3 10143: template 10143: inline 10143: typename iterator_traits<_InputIterator>::difference_type 10143: distance(_InputIterator __first, _InputIterator __last) 10143: { 10143: 10143: return std::__distance(__first, __last, 10143: std::__iterator_category(__first)); 10143: } 10143: 10143: template 10143: inline void 10143: __advance(_InputIterator& __i, _Distance __n, input_iterator_tag) 10143: { 10143: 10143: 10143: ; 10143: while (__n--) 10143: ++__i; 10143: } 10143: 10143: template 10143: inline void 10143: __advance(_BidirectionalIterator& __i, _Distance __n, 10143: bidirectional_iterator_tag) 10143: { 10143: 10143: 10143: 10143: if (__n > 0) 10143: while (__n--) 10143: ++__i; 10143: else 10143: while (__n++) 10143: --__i; 10143: } 10143: 10143: template 10143: inline void 10143: __advance(_RandomAccessIterator& __i, _Distance __n, 10143: random_access_iterator_tag) 10143: { 10143: 10143: 10143: 10143: if (__builtin_constant_p(__n) && __n == 1) 10143: ++__i; 10143: else if (__builtin_constant_p(__n) && __n == -1) 10143: --__i; 10143: else 10143: __i += __n; 10143: } 10143: # 200 "/usr/include/c++/8/bits/stl_iterator_base_funcs.h" 3 10143: template 10143: inline void 10143: advance(_InputIterator& __i, _Distance __n) 10143: { 10143: 10143: typename iterator_traits<_InputIterator>::difference_type __d = __n; 10143: std::__advance(__i, __d, std::__iterator_category(__i)); 10143: } 10143: 10143: 10143: 10143: template 10143: inline _InputIterator 10143: next(_InputIterator __x, typename 10143: iterator_traits<_InputIterator>::difference_type __n = 1) 10143: { 10143: 10143: 10143: std::advance(__x, __n); 10143: return __x; 10143: } 10143: 10143: template 10143: inline _BidirectionalIterator 10143: prev(_BidirectionalIterator __x, typename 10143: iterator_traits<_BidirectionalIterator>::difference_type __n = 1) 10143: { 10143: 10143: 10143: 10143: std::advance(__x, -__n); 10143: return __x; 10143: } 10143: 10143: 10143: 10143: 10143: } 10143: # 67 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 10143: # 1 "/usr/include/c++/8/bits/stl_iterator.h" 1 3 10143: # 66 "/usr/include/c++/8/bits/stl_iterator.h" 3 10143: # 1 "/usr/include/c++/8/bits/ptr_traits.h" 1 3 10143: # 37 "/usr/include/c++/8/bits/ptr_traits.h" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: class __undefined; 10143: 10143: 10143: template 10143: struct __get_first_arg 10143: { using type = __undefined; }; 10143: 10143: template class _Template, typename _Tp, 10143: typename... _Types> 10143: struct __get_first_arg<_Template<_Tp, _Types...>> 10143: { using type = _Tp; }; 10143: 10143: template 10143: using __get_first_arg_t = typename __get_first_arg<_Tp>::type; 10143: 10143: 10143: template 10143: struct __replace_first_arg 10143: { }; 10143: 10143: template class _Template, typename _Up, 10143: typename _Tp, typename... _Types> 10143: struct __replace_first_arg<_Template<_Tp, _Types...>, _Up> 10143: { using type = _Template<_Up, _Types...>; }; 10143: 10143: template 10143: using __replace_first_arg_t = typename __replace_first_arg<_Tp, _Up>::type; 10143: 10143: template 10143: using __make_not_void 10143: = typename conditional::value, __undefined, _Tp>::type; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct pointer_traits 10143: { 10143: private: 10143: template 10143: using __element_type = typename _Tp::element_type; 10143: 10143: template 10143: using __difference_type = typename _Tp::difference_type; 10143: 10143: template 10143: struct __rebind : __replace_first_arg<_Tp, _Up> { }; 10143: 10143: template 10143: struct __rebind<_Tp, _Up, __void_t>> 10143: { using type = typename _Tp::template rebind<_Up>; }; 10143: 10143: public: 10143: 10143: using pointer = _Ptr; 10143: 10143: 10143: using element_type 10143: = __detected_or_t<__get_first_arg_t<_Ptr>, __element_type, _Ptr>; 10143: 10143: 10143: using difference_type 10143: = __detected_or_t; 10143: 10143: 10143: template 10143: using rebind = typename __rebind<_Ptr, _Up>::type; 10143: 10143: static _Ptr 10143: pointer_to(__make_not_void& __e) 10143: { return _Ptr::pointer_to(__e); } 10143: 10143: static_assert(!is_same::value, 10143: "pointer type defines element_type or is like SomePointer"); 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct pointer_traits<_Tp*> 10143: { 10143: 10143: typedef _Tp* pointer; 10143: 10143: typedef _Tp element_type; 10143: 10143: typedef ptrdiff_t difference_type; 10143: 10143: template 10143: using rebind = _Up*; 10143: 10143: 10143: 10143: 10143: 10143: 10143: static pointer 10143: pointer_to(__make_not_void& __r) noexcept 10143: { return std::addressof(__r); } 10143: }; 10143: 10143: 10143: template 10143: using __ptr_rebind = typename pointer_traits<_Ptr>::template rebind<_Tp>; 10143: 10143: template 10143: constexpr _Tp* 10143: __to_address(_Tp* __ptr) noexcept 10143: { 10143: static_assert(!std::is_function<_Tp>::value, "not a function pointer"); 10143: return __ptr; 10143: } 10143: 10143: 10143: template 10143: constexpr typename std::pointer_traits<_Ptr>::element_type* 10143: __to_address(const _Ptr& __ptr) 10143: { return std::__to_address(__ptr.operator->()); } 10143: # 198 "/usr/include/c++/8/bits/ptr_traits.h" 3 10143: 10143: } 10143: # 67 "/usr/include/c++/8/bits/stl_iterator.h" 2 3 10143: 10143: 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 100 "/usr/include/c++/8/bits/stl_iterator.h" 3 10143: template 10143: class reverse_iterator 10143: : public iterator::iterator_category, 10143: typename iterator_traits<_Iterator>::value_type, 10143: typename iterator_traits<_Iterator>::difference_type, 10143: typename iterator_traits<_Iterator>::pointer, 10143: typename iterator_traits<_Iterator>::reference> 10143: { 10143: protected: 10143: _Iterator current; 10143: 10143: typedef iterator_traits<_Iterator> __traits_type; 10143: 10143: public: 10143: typedef _Iterator iterator_type; 10143: typedef typename __traits_type::difference_type difference_type; 10143: typedef typename __traits_type::pointer pointer; 10143: typedef typename __traits_type::reference reference; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: reverse_iterator() : current() { } 10143: 10143: 10143: 10143: 10143: explicit 10143: reverse_iterator(iterator_type __x) : current(__x) { } 10143: 10143: 10143: 10143: 10143: 10143: reverse_iterator(const reverse_iterator& __x) 10143: : current(__x.current) { } 10143: 10143: 10143: 10143: 10143: 10143: template 10143: 10143: reverse_iterator(const reverse_iterator<_Iter>& __x) 10143: : current(__x.base()) { } 10143: 10143: 10143: 10143: 10143: iterator_type 10143: base() const 10143: { return current; } 10143: # 167 "/usr/include/c++/8/bits/stl_iterator.h" 3 10143: reference 10143: operator*() const 10143: { 10143: _Iterator __tmp = current; 10143: return *--__tmp; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: pointer 10143: operator->() const 10143: { return &(operator*()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: reverse_iterator& 10143: operator++() 10143: { 10143: --current; 10143: return *this; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: reverse_iterator 10143: operator++(int) 10143: { 10143: reverse_iterator __tmp = *this; 10143: --current; 10143: return __tmp; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: reverse_iterator& 10143: operator--() 10143: { 10143: ++current; 10143: return *this; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: reverse_iterator 10143: operator--(int) 10143: { 10143: reverse_iterator __tmp = *this; 10143: ++current; 10143: return __tmp; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: reverse_iterator 10143: operator+(difference_type __n) const 10143: { return reverse_iterator(current - __n); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: reverse_iterator& 10143: operator+=(difference_type __n) 10143: { 10143: current -= __n; 10143: return *this; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: reverse_iterator 10143: operator-(difference_type __n) const 10143: { return reverse_iterator(current + __n); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: reverse_iterator& 10143: operator-=(difference_type __n) 10143: { 10143: current += __n; 10143: return *this; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: reference 10143: operator[](difference_type __n) const 10143: { return *(*this + __n); } 10143: }; 10143: # 297 "/usr/include/c++/8/bits/stl_iterator.h" 3 10143: template 10143: inline bool 10143: operator==(const reverse_iterator<_Iterator>& __x, 10143: const reverse_iterator<_Iterator>& __y) 10143: { return __x.base() == __y.base(); } 10143: 10143: template 10143: inline bool 10143: operator<(const reverse_iterator<_Iterator>& __x, 10143: const reverse_iterator<_Iterator>& __y) 10143: { return __y.base() < __x.base(); } 10143: 10143: template 10143: inline bool 10143: operator!=(const reverse_iterator<_Iterator>& __x, 10143: const reverse_iterator<_Iterator>& __y) 10143: { return !(__x == __y); } 10143: 10143: template 10143: inline bool 10143: operator>(const reverse_iterator<_Iterator>& __x, 10143: const reverse_iterator<_Iterator>& __y) 10143: { return __y < __x; } 10143: 10143: template 10143: inline bool 10143: operator<=(const reverse_iterator<_Iterator>& __x, 10143: const reverse_iterator<_Iterator>& __y) 10143: { return !(__y < __x); } 10143: 10143: template 10143: inline bool 10143: operator>=(const reverse_iterator<_Iterator>& __x, 10143: const reverse_iterator<_Iterator>& __y) 10143: { return !(__x < __y); } 10143: 10143: 10143: 10143: template 10143: inline bool 10143: operator==(const reverse_iterator<_IteratorL>& __x, 10143: const reverse_iterator<_IteratorR>& __y) 10143: { return __x.base() == __y.base(); } 10143: 10143: template 10143: inline bool 10143: operator<(const reverse_iterator<_IteratorL>& __x, 10143: const reverse_iterator<_IteratorR>& __y) 10143: { return __y.base() < __x.base(); } 10143: 10143: template 10143: inline bool 10143: operator!=(const reverse_iterator<_IteratorL>& __x, 10143: const reverse_iterator<_IteratorR>& __y) 10143: { return !(__x == __y); } 10143: 10143: template 10143: inline bool 10143: operator>(const reverse_iterator<_IteratorL>& __x, 10143: const reverse_iterator<_IteratorR>& __y) 10143: { return __y < __x; } 10143: 10143: template 10143: inline bool 10143: operator<=(const reverse_iterator<_IteratorL>& __x, 10143: const reverse_iterator<_IteratorR>& __y) 10143: { return !(__y < __x); } 10143: 10143: template 10143: inline bool 10143: operator>=(const reverse_iterator<_IteratorL>& __x, 10143: const reverse_iterator<_IteratorR>& __y) 10143: { return !(__x < __y); } 10143: # 387 "/usr/include/c++/8/bits/stl_iterator.h" 3 10143: template 10143: inline auto 10143: operator-(const reverse_iterator<_IteratorL>& __x, 10143: const reverse_iterator<_IteratorR>& __y) 10143: -> decltype(__y.base() - __x.base()) 10143: { return __y.base() - __x.base(); } 10143: 10143: 10143: template 10143: inline reverse_iterator<_Iterator> 10143: operator+(typename reverse_iterator<_Iterator>::difference_type __n, 10143: const reverse_iterator<_Iterator>& __x) 10143: { return reverse_iterator<_Iterator>(__x.base() - __n); } 10143: 10143: 10143: 10143: template 10143: inline reverse_iterator<_Iterator> 10143: __make_reverse_iterator(_Iterator __i) 10143: { return reverse_iterator<_Iterator>(__i); } 10143: # 422 "/usr/include/c++/8/bits/stl_iterator.h" 3 10143: template 10143: auto 10143: __niter_base(reverse_iterator<_Iterator> __it) 10143: -> decltype(__make_reverse_iterator(__niter_base(__it.base()))) 10143: { return __make_reverse_iterator(__niter_base(__it.base())); } 10143: 10143: template 10143: struct __is_move_iterator > 10143: : __is_move_iterator<_Iterator> 10143: { }; 10143: 10143: template 10143: auto 10143: __miter_base(reverse_iterator<_Iterator> __it) 10143: -> decltype(__make_reverse_iterator(__miter_base(__it.base()))) 10143: { return __make_reverse_iterator(__miter_base(__it.base())); } 10143: # 451 "/usr/include/c++/8/bits/stl_iterator.h" 3 10143: template 10143: class back_insert_iterator 10143: : public iterator 10143: { 10143: protected: 10143: _Container* container; 10143: 10143: public: 10143: 10143: typedef _Container container_type; 10143: 10143: 10143: explicit 10143: back_insert_iterator(_Container& __x) 10143: : container(std::__addressof(__x)) { } 10143: # 486 "/usr/include/c++/8/bits/stl_iterator.h" 3 10143: back_insert_iterator& 10143: operator=(const typename _Container::value_type& __value) 10143: { 10143: container->push_back(__value); 10143: return *this; 10143: } 10143: 10143: back_insert_iterator& 10143: operator=(typename _Container::value_type&& __value) 10143: { 10143: container->push_back(std::move(__value)); 10143: return *this; 10143: } 10143: 10143: 10143: 10143: back_insert_iterator& 10143: operator*() 10143: { return *this; } 10143: 10143: 10143: back_insert_iterator& 10143: operator++() 10143: { return *this; } 10143: 10143: 10143: back_insert_iterator 10143: operator++(int) 10143: { return *this; } 10143: }; 10143: # 528 "/usr/include/c++/8/bits/stl_iterator.h" 3 10143: template 10143: inline back_insert_iterator<_Container> 10143: back_inserter(_Container& __x) 10143: { return back_insert_iterator<_Container>(__x); } 10143: # 543 "/usr/include/c++/8/bits/stl_iterator.h" 3 10143: template 10143: class front_insert_iterator 10143: : public iterator 10143: { 10143: protected: 10143: _Container* container; 10143: 10143: public: 10143: 10143: typedef _Container container_type; 10143: 10143: 10143: explicit front_insert_iterator(_Container& __x) 10143: : container(std::__addressof(__x)) { } 10143: # 577 "/usr/include/c++/8/bits/stl_iterator.h" 3 10143: front_insert_iterator& 10143: operator=(const typename _Container::value_type& __value) 10143: { 10143: container->push_front(__value); 10143: return *this; 10143: } 10143: 10143: front_insert_iterator& 10143: operator=(typename _Container::value_type&& __value) 10143: { 10143: container->push_front(std::move(__value)); 10143: return *this; 10143: } 10143: 10143: 10143: 10143: front_insert_iterator& 10143: operator*() 10143: { return *this; } 10143: 10143: 10143: front_insert_iterator& 10143: operator++() 10143: { return *this; } 10143: 10143: 10143: front_insert_iterator 10143: operator++(int) 10143: { return *this; } 10143: }; 10143: # 619 "/usr/include/c++/8/bits/stl_iterator.h" 3 10143: template 10143: inline front_insert_iterator<_Container> 10143: front_inserter(_Container& __x) 10143: { return front_insert_iterator<_Container>(__x); } 10143: # 638 "/usr/include/c++/8/bits/stl_iterator.h" 3 10143: template 10143: class insert_iterator 10143: : public iterator 10143: { 10143: protected: 10143: _Container* container; 10143: typename _Container::iterator iter; 10143: 10143: public: 10143: 10143: typedef _Container container_type; 10143: 10143: 10143: 10143: 10143: 10143: insert_iterator(_Container& __x, typename _Container::iterator __i) 10143: : container(std::__addressof(__x)), iter(__i) {} 10143: # 689 "/usr/include/c++/8/bits/stl_iterator.h" 3 10143: insert_iterator& 10143: operator=(const typename _Container::value_type& __value) 10143: { 10143: iter = container->insert(iter, __value); 10143: ++iter; 10143: return *this; 10143: } 10143: 10143: insert_iterator& 10143: operator=(typename _Container::value_type&& __value) 10143: { 10143: iter = container->insert(iter, std::move(__value)); 10143: ++iter; 10143: return *this; 10143: } 10143: 10143: 10143: 10143: insert_iterator& 10143: operator*() 10143: { return *this; } 10143: 10143: 10143: insert_iterator& 10143: operator++() 10143: { return *this; } 10143: 10143: 10143: insert_iterator& 10143: operator++(int) 10143: { return *this; } 10143: }; 10143: # 734 "/usr/include/c++/8/bits/stl_iterator.h" 3 10143: template 10143: inline insert_iterator<_Container> 10143: inserter(_Container& __x, _Iterator __i) 10143: { 10143: return insert_iterator<_Container>(__x, 10143: typename _Container::iterator(__i)); 10143: } 10143: 10143: 10143: 10143: 10143: } 10143: 10143: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 758 "/usr/include/c++/8/bits/stl_iterator.h" 3 10143: using std::iterator_traits; 10143: using std::iterator; 10143: template 10143: class __normal_iterator 10143: { 10143: protected: 10143: _Iterator _M_current; 10143: 10143: typedef iterator_traits<_Iterator> __traits_type; 10143: 10143: public: 10143: typedef _Iterator iterator_type; 10143: typedef typename __traits_type::iterator_category iterator_category; 10143: typedef typename __traits_type::value_type value_type; 10143: typedef typename __traits_type::difference_type difference_type; 10143: typedef typename __traits_type::reference reference; 10143: typedef typename __traits_type::pointer pointer; 10143: 10143: constexpr __normal_iterator() noexcept 10143: : _M_current(_Iterator()) { } 10143: 10143: explicit 10143: __normal_iterator(const _Iterator& __i) noexcept 10143: : _M_current(__i) { } 10143: 10143: 10143: template 10143: __normal_iterator(const __normal_iterator<_Iter, 10143: typename __enable_if< 10143: (std::__are_same<_Iter, typename _Container::pointer>::__value), 10143: _Container>::__type>& __i) noexcept 10143: : _M_current(__i.base()) { } 10143: 10143: 10143: reference 10143: operator*() const noexcept 10143: { return *_M_current; } 10143: 10143: pointer 10143: operator->() const noexcept 10143: { return _M_current; } 10143: 10143: __normal_iterator& 10143: operator++() noexcept 10143: { 10143: ++_M_current; 10143: return *this; 10143: } 10143: 10143: __normal_iterator 10143: operator++(int) noexcept 10143: { return __normal_iterator(_M_current++); } 10143: 10143: 10143: __normal_iterator& 10143: operator--() noexcept 10143: { 10143: --_M_current; 10143: return *this; 10143: } 10143: 10143: __normal_iterator 10143: operator--(int) noexcept 10143: { return __normal_iterator(_M_current--); } 10143: 10143: 10143: reference 10143: operator[](difference_type __n) const noexcept 10143: { return _M_current[__n]; } 10143: 10143: __normal_iterator& 10143: operator+=(difference_type __n) noexcept 10143: { _M_current += __n; return *this; } 10143: 10143: __normal_iterator 10143: operator+(difference_type __n) const noexcept 10143: { return __normal_iterator(_M_current + __n); } 10143: 10143: __normal_iterator& 10143: operator-=(difference_type __n) noexcept 10143: { _M_current -= __n; return *this; } 10143: 10143: __normal_iterator 10143: operator-(difference_type __n) const noexcept 10143: { return __normal_iterator(_M_current - __n); } 10143: 10143: const _Iterator& 10143: base() const noexcept 10143: { return _M_current; } 10143: }; 10143: # 858 "/usr/include/c++/8/bits/stl_iterator.h" 3 10143: template 10143: inline bool 10143: operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, 10143: const __normal_iterator<_IteratorR, _Container>& __rhs) 10143: noexcept 10143: { return __lhs.base() == __rhs.base(); } 10143: 10143: template 10143: inline bool 10143: operator==(const __normal_iterator<_Iterator, _Container>& __lhs, 10143: const __normal_iterator<_Iterator, _Container>& __rhs) 10143: noexcept 10143: { return __lhs.base() == __rhs.base(); } 10143: 10143: template 10143: inline bool 10143: operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs, 10143: const __normal_iterator<_IteratorR, _Container>& __rhs) 10143: noexcept 10143: { return __lhs.base() != __rhs.base(); } 10143: 10143: template 10143: inline bool 10143: operator!=(const __normal_iterator<_Iterator, _Container>& __lhs, 10143: const __normal_iterator<_Iterator, _Container>& __rhs) 10143: noexcept 10143: { return __lhs.base() != __rhs.base(); } 10143: 10143: 10143: template 10143: inline bool 10143: operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, 10143: const __normal_iterator<_IteratorR, _Container>& __rhs) 10143: noexcept 10143: { return __lhs.base() < __rhs.base(); } 10143: 10143: template 10143: inline bool 10143: operator<(const __normal_iterator<_Iterator, _Container>& __lhs, 10143: const __normal_iterator<_Iterator, _Container>& __rhs) 10143: noexcept 10143: { return __lhs.base() < __rhs.base(); } 10143: 10143: template 10143: inline bool 10143: operator>(const __normal_iterator<_IteratorL, _Container>& __lhs, 10143: const __normal_iterator<_IteratorR, _Container>& __rhs) 10143: noexcept 10143: { return __lhs.base() > __rhs.base(); } 10143: 10143: template 10143: inline bool 10143: operator>(const __normal_iterator<_Iterator, _Container>& __lhs, 10143: const __normal_iterator<_Iterator, _Container>& __rhs) 10143: noexcept 10143: { return __lhs.base() > __rhs.base(); } 10143: 10143: template 10143: inline bool 10143: operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs, 10143: const __normal_iterator<_IteratorR, _Container>& __rhs) 10143: noexcept 10143: { return __lhs.base() <= __rhs.base(); } 10143: 10143: template 10143: inline bool 10143: operator<=(const __normal_iterator<_Iterator, _Container>& __lhs, 10143: const __normal_iterator<_Iterator, _Container>& __rhs) 10143: noexcept 10143: { return __lhs.base() <= __rhs.base(); } 10143: 10143: template 10143: inline bool 10143: operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs, 10143: const __normal_iterator<_IteratorR, _Container>& __rhs) 10143: noexcept 10143: { return __lhs.base() >= __rhs.base(); } 10143: 10143: template 10143: inline bool 10143: operator>=(const __normal_iterator<_Iterator, _Container>& __lhs, 10143: const __normal_iterator<_Iterator, _Container>& __rhs) 10143: noexcept 10143: { return __lhs.base() >= __rhs.base(); } 10143: 10143: 10143: 10143: 10143: 10143: template 10143: 10143: 10143: inline auto 10143: operator-(const __normal_iterator<_IteratorL, _Container>& __lhs, 10143: const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept 10143: -> decltype(__lhs.base() - __rhs.base()) 10143: 10143: 10143: 10143: 10143: 10143: { return __lhs.base() - __rhs.base(); } 10143: 10143: template 10143: inline typename __normal_iterator<_Iterator, _Container>::difference_type 10143: operator-(const __normal_iterator<_Iterator, _Container>& __lhs, 10143: const __normal_iterator<_Iterator, _Container>& __rhs) 10143: noexcept 10143: { return __lhs.base() - __rhs.base(); } 10143: 10143: template 10143: inline __normal_iterator<_Iterator, _Container> 10143: operator+(typename __normal_iterator<_Iterator, _Container>::difference_type 10143: __n, const __normal_iterator<_Iterator, _Container>& __i) 10143: noexcept 10143: { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); } 10143: 10143: 10143: } 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: template 10143: _Iterator 10143: __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it) 10143: { return __it.base(); } 10143: # 1003 "/usr/include/c++/8/bits/stl_iterator.h" 3 10143: template 10143: class move_iterator 10143: { 10143: protected: 10143: _Iterator _M_current; 10143: 10143: typedef iterator_traits<_Iterator> __traits_type; 10143: typedef typename __traits_type::reference __base_ref; 10143: 10143: public: 10143: typedef _Iterator iterator_type; 10143: typedef typename __traits_type::iterator_category iterator_category; 10143: typedef typename __traits_type::value_type value_type; 10143: typedef typename __traits_type::difference_type difference_type; 10143: 10143: typedef _Iterator pointer; 10143: 10143: 10143: typedef typename conditional::value, 10143: typename remove_reference<__base_ref>::type&&, 10143: __base_ref>::type reference; 10143: 10143: 10143: move_iterator() 10143: : _M_current() { } 10143: 10143: explicit 10143: move_iterator(iterator_type __i) 10143: : _M_current(__i) { } 10143: 10143: template 10143: 10143: move_iterator(const move_iterator<_Iter>& __i) 10143: : _M_current(__i.base()) { } 10143: 10143: iterator_type 10143: base() const 10143: { return _M_current; } 10143: 10143: reference 10143: operator*() const 10143: { return static_cast(*_M_current); } 10143: 10143: pointer 10143: operator->() const 10143: { return _M_current; } 10143: 10143: move_iterator& 10143: operator++() 10143: { 10143: ++_M_current; 10143: return *this; 10143: } 10143: 10143: move_iterator 10143: operator++(int) 10143: { 10143: move_iterator __tmp = *this; 10143: ++_M_current; 10143: return __tmp; 10143: } 10143: 10143: move_iterator& 10143: operator--() 10143: { 10143: --_M_current; 10143: return *this; 10143: } 10143: 10143: move_iterator 10143: operator--(int) 10143: { 10143: move_iterator __tmp = *this; 10143: --_M_current; 10143: return __tmp; 10143: } 10143: 10143: move_iterator 10143: operator+(difference_type __n) const 10143: { return move_iterator(_M_current + __n); } 10143: 10143: move_iterator& 10143: operator+=(difference_type __n) 10143: { 10143: _M_current += __n; 10143: return *this; 10143: } 10143: 10143: move_iterator 10143: operator-(difference_type __n) const 10143: { return move_iterator(_M_current - __n); } 10143: 10143: move_iterator& 10143: operator-=(difference_type __n) 10143: { 10143: _M_current -= __n; 10143: return *this; 10143: } 10143: 10143: reference 10143: operator[](difference_type __n) const 10143: { return std::move(_M_current[__n]); } 10143: }; 10143: 10143: 10143: 10143: 10143: template 10143: inline bool 10143: operator==(const move_iterator<_IteratorL>& __x, 10143: const move_iterator<_IteratorR>& __y) 10143: { return __x.base() == __y.base(); } 10143: 10143: template 10143: inline bool 10143: operator==(const move_iterator<_Iterator>& __x, 10143: const move_iterator<_Iterator>& __y) 10143: { return __x.base() == __y.base(); } 10143: 10143: template 10143: inline bool 10143: operator!=(const move_iterator<_IteratorL>& __x, 10143: const move_iterator<_IteratorR>& __y) 10143: { return !(__x == __y); } 10143: 10143: template 10143: inline bool 10143: operator!=(const move_iterator<_Iterator>& __x, 10143: const move_iterator<_Iterator>& __y) 10143: { return !(__x == __y); } 10143: 10143: template 10143: inline bool 10143: operator<(const move_iterator<_IteratorL>& __x, 10143: const move_iterator<_IteratorR>& __y) 10143: { return __x.base() < __y.base(); } 10143: 10143: template 10143: inline bool 10143: operator<(const move_iterator<_Iterator>& __x, 10143: const move_iterator<_Iterator>& __y) 10143: { return __x.base() < __y.base(); } 10143: 10143: template 10143: inline bool 10143: operator<=(const move_iterator<_IteratorL>& __x, 10143: const move_iterator<_IteratorR>& __y) 10143: { return !(__y < __x); } 10143: 10143: template 10143: inline bool 10143: operator<=(const move_iterator<_Iterator>& __x, 10143: const move_iterator<_Iterator>& __y) 10143: { return !(__y < __x); } 10143: 10143: template 10143: inline bool 10143: operator>(const move_iterator<_IteratorL>& __x, 10143: const move_iterator<_IteratorR>& __y) 10143: { return __y < __x; } 10143: 10143: template 10143: inline bool 10143: operator>(const move_iterator<_Iterator>& __x, 10143: const move_iterator<_Iterator>& __y) 10143: { return __y < __x; } 10143: 10143: template 10143: inline bool 10143: operator>=(const move_iterator<_IteratorL>& __x, 10143: const move_iterator<_IteratorR>& __y) 10143: { return !(__x < __y); } 10143: 10143: template 10143: inline bool 10143: operator>=(const move_iterator<_Iterator>& __x, 10143: const move_iterator<_Iterator>& __y) 10143: { return !(__x < __y); } 10143: 10143: 10143: template 10143: inline auto 10143: operator-(const move_iterator<_IteratorL>& __x, 10143: const move_iterator<_IteratorR>& __y) 10143: -> decltype(__x.base() - __y.base()) 10143: { return __x.base() - __y.base(); } 10143: 10143: template 10143: inline move_iterator<_Iterator> 10143: operator+(typename move_iterator<_Iterator>::difference_type __n, 10143: const move_iterator<_Iterator>& __x) 10143: { return __x + __n; } 10143: 10143: template 10143: inline move_iterator<_Iterator> 10143: make_move_iterator(_Iterator __i) 10143: { return move_iterator<_Iterator>(__i); } 10143: 10143: template::value_type>::value, 10143: _Iterator, move_iterator<_Iterator>>::type> 10143: inline _ReturnType 10143: __make_move_if_noexcept_iterator(_Iterator __i) 10143: { return _ReturnType(__i); } 10143: 10143: 10143: 10143: template::value, 10143: const _Tp*, move_iterator<_Tp*>>::type> 10143: inline _ReturnType 10143: __make_move_if_noexcept_iterator(_Tp* __i) 10143: { return _ReturnType(__i); } 10143: 10143: 10143: 10143: template 10143: auto 10143: __niter_base(move_iterator<_Iterator> __it) 10143: -> decltype(make_move_iterator(__niter_base(__it.base()))) 10143: { return make_move_iterator(__niter_base(__it.base())); } 10143: 10143: template 10143: struct __is_move_iterator > 10143: { 10143: enum { __value = 1 }; 10143: typedef __true_type __type; 10143: }; 10143: 10143: template 10143: auto 10143: __miter_base(move_iterator<_Iterator> __it) 10143: -> decltype(__miter_base(__it.base())) 10143: { return __miter_base(__it.base()); } 10143: # 1268 "/usr/include/c++/8/bits/stl_iterator.h" 3 10143: 10143: } 10143: # 68 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 10143: 10143: # 1 "/usr/include/c++/8/debug/debug.h" 1 3 10143: # 48 "/usr/include/c++/8/debug/debug.h" 3 10143: namespace std 10143: { 10143: namespace __debug { } 10143: } 10143: 10143: 10143: 10143: 10143: namespace __gnu_debug 10143: { 10143: using namespace std::__debug; 10143: } 10143: # 70 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 10143: 10143: # 1 "/usr/include/c++/8/bits/predefined_ops.h" 1 3 10143: # 33 "/usr/include/c++/8/bits/predefined_ops.h" 3 10143: namespace __gnu_cxx 10143: { 10143: namespace __ops 10143: { 10143: struct _Iter_less_iter 10143: { 10143: template 10143: 10143: bool 10143: operator()(_Iterator1 __it1, _Iterator2 __it2) const 10143: { return *__it1 < *__it2; } 10143: }; 10143: 10143: 10143: inline _Iter_less_iter 10143: __iter_less_iter() 10143: { return _Iter_less_iter(); } 10143: 10143: struct _Iter_less_val 10143: { 10143: 10143: constexpr _Iter_less_val() = default; 10143: 10143: 10143: 10143: 10143: explicit 10143: _Iter_less_val(_Iter_less_iter) { } 10143: 10143: template 10143: bool 10143: operator()(_Iterator __it, _Value& __val) const 10143: { return *__it < __val; } 10143: }; 10143: 10143: inline _Iter_less_val 10143: __iter_less_val() 10143: { return _Iter_less_val(); } 10143: 10143: inline _Iter_less_val 10143: __iter_comp_val(_Iter_less_iter) 10143: { return _Iter_less_val(); } 10143: 10143: struct _Val_less_iter 10143: { 10143: 10143: constexpr _Val_less_iter() = default; 10143: 10143: 10143: 10143: 10143: explicit 10143: _Val_less_iter(_Iter_less_iter) { } 10143: 10143: template 10143: bool 10143: operator()(_Value& __val, _Iterator __it) const 10143: { return __val < *__it; } 10143: }; 10143: 10143: inline _Val_less_iter 10143: __val_less_iter() 10143: { return _Val_less_iter(); } 10143: 10143: inline _Val_less_iter 10143: __val_comp_iter(_Iter_less_iter) 10143: { return _Val_less_iter(); } 10143: 10143: struct _Iter_equal_to_iter 10143: { 10143: template 10143: bool 10143: operator()(_Iterator1 __it1, _Iterator2 __it2) const 10143: { return *__it1 == *__it2; } 10143: }; 10143: 10143: inline _Iter_equal_to_iter 10143: __iter_equal_to_iter() 10143: { return _Iter_equal_to_iter(); } 10143: 10143: struct _Iter_equal_to_val 10143: { 10143: template 10143: bool 10143: operator()(_Iterator __it, _Value& __val) const 10143: { return *__it == __val; } 10143: }; 10143: 10143: inline _Iter_equal_to_val 10143: __iter_equal_to_val() 10143: { return _Iter_equal_to_val(); } 10143: 10143: inline _Iter_equal_to_val 10143: __iter_comp_val(_Iter_equal_to_iter) 10143: { return _Iter_equal_to_val(); } 10143: 10143: template 10143: struct _Iter_comp_iter 10143: { 10143: _Compare _M_comp; 10143: 10143: explicit 10143: _Iter_comp_iter(_Compare __comp) 10143: : _M_comp(std::move(__comp)) 10143: { } 10143: 10143: template 10143: 10143: bool 10143: operator()(_Iterator1 __it1, _Iterator2 __it2) 10143: { return bool(_M_comp(*__it1, *__it2)); } 10143: }; 10143: 10143: template 10143: 10143: inline _Iter_comp_iter<_Compare> 10143: __iter_comp_iter(_Compare __comp) 10143: { return _Iter_comp_iter<_Compare>(std::move(__comp)); } 10143: 10143: template 10143: struct _Iter_comp_val 10143: { 10143: _Compare _M_comp; 10143: 10143: explicit 10143: _Iter_comp_val(_Compare __comp) 10143: : _M_comp(std::move(__comp)) 10143: { } 10143: 10143: explicit 10143: _Iter_comp_val(const _Iter_comp_iter<_Compare>& __comp) 10143: : _M_comp(__comp._M_comp) 10143: { } 10143: 10143: 10143: explicit 10143: _Iter_comp_val(_Iter_comp_iter<_Compare>&& __comp) 10143: : _M_comp(std::move(__comp._M_comp)) 10143: { } 10143: 10143: 10143: template 10143: bool 10143: operator()(_Iterator __it, _Value& __val) 10143: { return bool(_M_comp(*__it, __val)); } 10143: }; 10143: 10143: template 10143: inline _Iter_comp_val<_Compare> 10143: __iter_comp_val(_Compare __comp) 10143: { return _Iter_comp_val<_Compare>(std::move(__comp)); } 10143: 10143: template 10143: inline _Iter_comp_val<_Compare> 10143: __iter_comp_val(_Iter_comp_iter<_Compare> __comp) 10143: { return _Iter_comp_val<_Compare>(std::move(__comp)); } 10143: 10143: template 10143: struct _Val_comp_iter 10143: { 10143: _Compare _M_comp; 10143: 10143: explicit 10143: _Val_comp_iter(_Compare __comp) 10143: : _M_comp(std::move(__comp)) 10143: { } 10143: 10143: explicit 10143: _Val_comp_iter(const _Iter_comp_iter<_Compare>& __comp) 10143: : _M_comp(__comp._M_comp) 10143: { } 10143: 10143: 10143: explicit 10143: _Val_comp_iter(_Iter_comp_iter<_Compare>&& __comp) 10143: : _M_comp(std::move(__comp._M_comp)) 10143: { } 10143: 10143: 10143: template 10143: bool 10143: operator()(_Value& __val, _Iterator __it) 10143: { return bool(_M_comp(__val, *__it)); } 10143: }; 10143: 10143: template 10143: inline _Val_comp_iter<_Compare> 10143: __val_comp_iter(_Compare __comp) 10143: { return _Val_comp_iter<_Compare>(std::move(__comp)); } 10143: 10143: template 10143: inline _Val_comp_iter<_Compare> 10143: __val_comp_iter(_Iter_comp_iter<_Compare> __comp) 10143: { return _Val_comp_iter<_Compare>(std::move(__comp)); } 10143: 10143: template 10143: struct _Iter_equals_val 10143: { 10143: _Value& _M_value; 10143: 10143: explicit 10143: _Iter_equals_val(_Value& __value) 10143: : _M_value(__value) 10143: { } 10143: 10143: template 10143: bool 10143: operator()(_Iterator __it) 10143: { return *__it == _M_value; } 10143: }; 10143: 10143: template 10143: inline _Iter_equals_val<_Value> 10143: __iter_equals_val(_Value& __val) 10143: { return _Iter_equals_val<_Value>(__val); } 10143: 10143: template 10143: struct _Iter_equals_iter 10143: { 10143: _Iterator1 _M_it1; 10143: 10143: explicit 10143: _Iter_equals_iter(_Iterator1 __it1) 10143: : _M_it1(__it1) 10143: { } 10143: 10143: template 10143: bool 10143: operator()(_Iterator2 __it2) 10143: { return *__it2 == *_M_it1; } 10143: }; 10143: 10143: template 10143: inline _Iter_equals_iter<_Iterator> 10143: __iter_comp_iter(_Iter_equal_to_iter, _Iterator __it) 10143: { return _Iter_equals_iter<_Iterator>(__it); } 10143: 10143: template 10143: struct _Iter_pred 10143: { 10143: _Predicate _M_pred; 10143: 10143: explicit 10143: _Iter_pred(_Predicate __pred) 10143: : _M_pred(std::move(__pred)) 10143: { } 10143: 10143: template 10143: bool 10143: operator()(_Iterator __it) 10143: { return bool(_M_pred(*__it)); } 10143: }; 10143: 10143: template 10143: inline _Iter_pred<_Predicate> 10143: __pred_iter(_Predicate __pred) 10143: { return _Iter_pred<_Predicate>(std::move(__pred)); } 10143: 10143: template 10143: struct _Iter_comp_to_val 10143: { 10143: _Compare _M_comp; 10143: _Value& _M_value; 10143: 10143: _Iter_comp_to_val(_Compare __comp, _Value& __value) 10143: : _M_comp(std::move(__comp)), _M_value(__value) 10143: { } 10143: 10143: template 10143: bool 10143: operator()(_Iterator __it) 10143: { return bool(_M_comp(*__it, _M_value)); } 10143: }; 10143: 10143: template 10143: _Iter_comp_to_val<_Compare, _Value> 10143: __iter_comp_val(_Compare __comp, _Value &__val) 10143: { 10143: return _Iter_comp_to_val<_Compare, _Value>(std::move(__comp), __val); 10143: } 10143: 10143: template 10143: struct _Iter_comp_to_iter 10143: { 10143: _Compare _M_comp; 10143: _Iterator1 _M_it1; 10143: 10143: _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1) 10143: : _M_comp(std::move(__comp)), _M_it1(__it1) 10143: { } 10143: 10143: template 10143: bool 10143: operator()(_Iterator2 __it2) 10143: { return bool(_M_comp(*__it2, *_M_it1)); } 10143: }; 10143: 10143: template 10143: inline _Iter_comp_to_iter<_Compare, _Iterator> 10143: __iter_comp_iter(_Iter_comp_iter<_Compare> __comp, _Iterator __it) 10143: { 10143: return _Iter_comp_to_iter<_Compare, _Iterator>( 10143: std::move(__comp._M_comp), __it); 10143: } 10143: 10143: template 10143: struct _Iter_negate 10143: { 10143: _Predicate _M_pred; 10143: 10143: explicit 10143: _Iter_negate(_Predicate __pred) 10143: : _M_pred(std::move(__pred)) 10143: { } 10143: 10143: template 10143: bool 10143: operator()(_Iterator __it) 10143: { return !bool(_M_pred(*__it)); } 10143: }; 10143: 10143: template 10143: inline _Iter_negate<_Predicate> 10143: __negate(_Iter_pred<_Predicate> __pred) 10143: { return _Iter_negate<_Predicate>(std::move(__pred._M_pred)); } 10143: 10143: } 10143: } 10143: # 72 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 118 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: template 10143: inline void 10143: iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) 10143: { 10143: 10143: 10143: 10143: 10143: # 148 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: swap(*__a, *__b); 10143: 10143: } 10143: # 164 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: template 10143: _ForwardIterator2 10143: swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 10143: _ForwardIterator2 __first2) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: for (; __first1 != __last1; ++__first1, (void)++__first2) 10143: std::iter_swap(__first1, __first2); 10143: return __first2; 10143: } 10143: # 192 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: template 10143: 10143: inline const _Tp& 10143: min(const _Tp& __a, const _Tp& __b) 10143: { 10143: 10143: 10143: 10143: if (__b < __a) 10143: return __b; 10143: return __a; 10143: } 10143: # 216 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: template 10143: 10143: inline const _Tp& 10143: max(const _Tp& __a, const _Tp& __b) 10143: { 10143: 10143: 10143: 10143: if (__a < __b) 10143: return __b; 10143: return __a; 10143: } 10143: # 240 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: template 10143: 10143: inline const _Tp& 10143: min(const _Tp& __a, const _Tp& __b, _Compare __comp) 10143: { 10143: 10143: if (__comp(__b, __a)) 10143: return __b; 10143: return __a; 10143: } 10143: # 262 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: template 10143: 10143: inline const _Tp& 10143: max(const _Tp& __a, const _Tp& __b, _Compare __comp) 10143: { 10143: 10143: if (__comp(__a, __b)) 10143: return __b; 10143: return __a; 10143: } 10143: 10143: 10143: 10143: template 10143: inline _Iterator 10143: __niter_base(_Iterator __it) 10143: { return __it; } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct __copy_move 10143: { 10143: template 10143: static _OI 10143: __copy_m(_II __first, _II __last, _OI __result) 10143: { 10143: for (; __first != __last; ++__result, (void)++__first) 10143: *__result = *__first; 10143: return __result; 10143: } 10143: }; 10143: 10143: 10143: template 10143: struct __copy_move 10143: { 10143: template 10143: static _OI 10143: __copy_m(_II __first, _II __last, _OI __result) 10143: { 10143: for (; __first != __last; ++__result, (void)++__first) 10143: *__result = std::move(*__first); 10143: return __result; 10143: } 10143: }; 10143: 10143: 10143: template<> 10143: struct __copy_move 10143: { 10143: template 10143: static _OI 10143: __copy_m(_II __first, _II __last, _OI __result) 10143: { 10143: typedef typename iterator_traits<_II>::difference_type _Distance; 10143: for(_Distance __n = __last - __first; __n > 0; --__n) 10143: { 10143: *__result = *__first; 10143: ++__first; 10143: ++__result; 10143: } 10143: return __result; 10143: } 10143: }; 10143: 10143: 10143: template<> 10143: struct __copy_move 10143: { 10143: template 10143: static _OI 10143: __copy_m(_II __first, _II __last, _OI __result) 10143: { 10143: typedef typename iterator_traits<_II>::difference_type _Distance; 10143: for(_Distance __n = __last - __first; __n > 0; --__n) 10143: { 10143: *__result = std::move(*__first); 10143: ++__first; 10143: ++__result; 10143: } 10143: return __result; 10143: } 10143: }; 10143: 10143: 10143: template 10143: struct __copy_move<_IsMove, true, random_access_iterator_tag> 10143: { 10143: template 10143: static _Tp* 10143: __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result) 10143: { 10143: 10143: using __assignable = conditional<_IsMove, 10143: is_move_assignable<_Tp>, 10143: is_copy_assignable<_Tp>>; 10143: 10143: static_assert( __assignable::type::value, "type is not assignable" ); 10143: 10143: const ptrdiff_t _Num = __last - __first; 10143: if (_Num) 10143: __builtin_memmove(__result, __first, sizeof(_Tp) * _Num); 10143: return __result + _Num; 10143: } 10143: }; 10143: 10143: template 10143: inline _OI 10143: __copy_move_a(_II __first, _II __last, _OI __result) 10143: { 10143: typedef typename iterator_traits<_II>::value_type _ValueTypeI; 10143: typedef typename iterator_traits<_OI>::value_type _ValueTypeO; 10143: typedef typename iterator_traits<_II>::iterator_category _Category; 10143: const bool __simple = (__is_trivial(_ValueTypeI) 10143: && __is_pointer<_II>::__value 10143: && __is_pointer<_OI>::__value 10143: && __are_same<_ValueTypeI, _ValueTypeO>::__value); 10143: 10143: return std::__copy_move<_IsMove, __simple, 10143: _Category>::__copy_m(__first, __last, __result); 10143: } 10143: 10143: 10143: 10143: template 10143: struct char_traits; 10143: 10143: template 10143: class istreambuf_iterator; 10143: 10143: template 10143: class ostreambuf_iterator; 10143: 10143: template 10143: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 10143: ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type 10143: __copy_move_a2(_CharT*, _CharT*, 10143: ostreambuf_iterator<_CharT, char_traits<_CharT> >); 10143: 10143: template 10143: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 10143: ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type 10143: __copy_move_a2(const _CharT*, const _CharT*, 10143: ostreambuf_iterator<_CharT, char_traits<_CharT> >); 10143: 10143: template 10143: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 10143: _CharT*>::__type 10143: __copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >, 10143: istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*); 10143: 10143: template 10143: inline _OI 10143: __copy_move_a2(_II __first, _II __last, _OI __result) 10143: { 10143: return _OI(std::__copy_move_a<_IsMove>(std::__niter_base(__first), 10143: std::__niter_base(__last), 10143: std::__niter_base(__result))); 10143: } 10143: # 444 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: template 10143: inline _OI 10143: copy(_II __first, _II __last, _OI __result) 10143: { 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return (std::__copy_move_a2<__is_move_iterator<_II>::__value> 10143: (std::__miter_base(__first), std::__miter_base(__last), 10143: __result)); 10143: } 10143: # 477 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: template 10143: inline _OI 10143: move(_II __first, _II __last, _OI __result) 10143: { 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__copy_move_a2(std::__miter_base(__first), 10143: std::__miter_base(__last), __result); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct __copy_move_backward 10143: { 10143: template 10143: static _BI2 10143: __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) 10143: { 10143: while (__first != __last) 10143: *--__result = *--__last; 10143: return __result; 10143: } 10143: }; 10143: 10143: 10143: template 10143: struct __copy_move_backward 10143: { 10143: template 10143: static _BI2 10143: __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) 10143: { 10143: while (__first != __last) 10143: *--__result = std::move(*--__last); 10143: return __result; 10143: } 10143: }; 10143: 10143: 10143: template<> 10143: struct __copy_move_backward 10143: { 10143: template 10143: static _BI2 10143: __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) 10143: { 10143: typename iterator_traits<_BI1>::difference_type __n; 10143: for (__n = __last - __first; __n > 0; --__n) 10143: *--__result = *--__last; 10143: return __result; 10143: } 10143: }; 10143: 10143: 10143: template<> 10143: struct __copy_move_backward 10143: { 10143: template 10143: static _BI2 10143: __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) 10143: { 10143: typename iterator_traits<_BI1>::difference_type __n; 10143: for (__n = __last - __first; __n > 0; --__n) 10143: *--__result = std::move(*--__last); 10143: return __result; 10143: } 10143: }; 10143: 10143: 10143: template 10143: struct __copy_move_backward<_IsMove, true, random_access_iterator_tag> 10143: { 10143: template 10143: static _Tp* 10143: __copy_move_b(const _Tp* __first, const _Tp* __last, _Tp* __result) 10143: { 10143: 10143: using __assignable = conditional<_IsMove, 10143: is_move_assignable<_Tp>, 10143: is_copy_assignable<_Tp>>; 10143: 10143: static_assert( __assignable::type::value, "type is not assignable" ); 10143: 10143: const ptrdiff_t _Num = __last - __first; 10143: if (_Num) 10143: __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num); 10143: return __result - _Num; 10143: } 10143: }; 10143: 10143: template 10143: inline _BI2 10143: __copy_move_backward_a(_BI1 __first, _BI1 __last, _BI2 __result) 10143: { 10143: typedef typename iterator_traits<_BI1>::value_type _ValueType1; 10143: typedef typename iterator_traits<_BI2>::value_type _ValueType2; 10143: typedef typename iterator_traits<_BI1>::iterator_category _Category; 10143: const bool __simple = (__is_trivial(_ValueType1) 10143: && __is_pointer<_BI1>::__value 10143: && __is_pointer<_BI2>::__value 10143: && __are_same<_ValueType1, _ValueType2>::__value); 10143: 10143: return std::__copy_move_backward<_IsMove, __simple, 10143: _Category>::__copy_move_b(__first, 10143: __last, 10143: __result); 10143: } 10143: 10143: template 10143: inline _BI2 10143: __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result) 10143: { 10143: return _BI2(std::__copy_move_backward_a<_IsMove> 10143: (std::__niter_base(__first), std::__niter_base(__last), 10143: std::__niter_base(__result))); 10143: } 10143: # 620 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: template 10143: inline _BI2 10143: copy_backward(_BI1 __first, _BI1 __last, _BI2 __result) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return (std::__copy_move_backward_a2<__is_move_iterator<_BI1>::__value> 10143: (std::__miter_base(__first), std::__miter_base(__last), 10143: __result)); 10143: } 10143: # 656 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: template 10143: inline _BI2 10143: move_backward(_BI1 __first, _BI1 __last, _BI2 __result) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__copy_move_backward_a2(std::__miter_base(__first), 10143: std::__miter_base(__last), 10143: __result); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline typename 10143: __gnu_cxx::__enable_if::__value, void>::__type 10143: __fill_a(_ForwardIterator __first, _ForwardIterator __last, 10143: const _Tp& __value) 10143: { 10143: for (; __first != __last; ++__first) 10143: *__first = __value; 10143: } 10143: 10143: template 10143: inline typename 10143: __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type 10143: __fill_a(_ForwardIterator __first, _ForwardIterator __last, 10143: const _Tp& __value) 10143: { 10143: const _Tp __tmp = __value; 10143: for (; __first != __last; ++__first) 10143: *__first = __tmp; 10143: } 10143: 10143: 10143: template 10143: inline typename 10143: __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, void>::__type 10143: __fill_a(_Tp* __first, _Tp* __last, const _Tp& __c) 10143: { 10143: const _Tp __tmp = __c; 10143: if (const size_t __len = __last - __first) 10143: __builtin_memset(__first, static_cast(__tmp), __len); 10143: } 10143: # 722 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: template 10143: inline void 10143: fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) 10143: { 10143: 10143: 10143: 10143: ; 10143: 10143: std::__fill_a(std::__niter_base(__first), std::__niter_base(__last), 10143: __value); 10143: } 10143: 10143: template 10143: inline typename 10143: __gnu_cxx::__enable_if::__value, _OutputIterator>::__type 10143: __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value) 10143: { 10143: for (__decltype(__n + 0) __niter = __n; 10143: __niter > 0; --__niter, (void) ++__first) 10143: *__first = __value; 10143: return __first; 10143: } 10143: 10143: template 10143: inline typename 10143: __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type 10143: __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value) 10143: { 10143: const _Tp __tmp = __value; 10143: for (__decltype(__n + 0) __niter = __n; 10143: __niter > 0; --__niter, (void) ++__first) 10143: *__first = __tmp; 10143: return __first; 10143: } 10143: 10143: template 10143: inline typename 10143: __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, _Tp*>::__type 10143: __fill_n_a(_Tp* __first, _Size __n, const _Tp& __c) 10143: { 10143: std::__fill_a(__first, __first + __n, __c); 10143: return __first + __n; 10143: } 10143: # 782 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: template 10143: inline _OI 10143: fill_n(_OI __first, _Size __n, const _Tp& __value) 10143: { 10143: 10143: 10143: 10143: return _OI(std::__fill_n_a(std::__niter_base(__first), __n, __value)); 10143: } 10143: 10143: template 10143: struct __equal 10143: { 10143: template 10143: static bool 10143: equal(_II1 __first1, _II1 __last1, _II2 __first2) 10143: { 10143: for (; __first1 != __last1; ++__first1, (void) ++__first2) 10143: if (!(*__first1 == *__first2)) 10143: return false; 10143: return true; 10143: } 10143: }; 10143: 10143: template<> 10143: struct __equal 10143: { 10143: template 10143: static bool 10143: equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2) 10143: { 10143: if (const size_t __len = (__last1 - __first1)) 10143: return !__builtin_memcmp(__first1, __first2, sizeof(_Tp) * __len); 10143: return true; 10143: } 10143: }; 10143: 10143: template 10143: inline bool 10143: __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2) 10143: { 10143: typedef typename iterator_traits<_II1>::value_type _ValueType1; 10143: typedef typename iterator_traits<_II2>::value_type _ValueType2; 10143: const bool __simple = ((__is_integer<_ValueType1>::__value 10143: || __is_pointer<_ValueType1>::__value) 10143: && __is_pointer<_II1>::__value 10143: && __is_pointer<_II2>::__value 10143: && __are_same<_ValueType1, _ValueType2>::__value); 10143: 10143: return std::__equal<__simple>::equal(__first1, __last1, __first2); 10143: } 10143: 10143: template 10143: struct __lc_rai 10143: { 10143: template 10143: static _II1 10143: __newlast1(_II1, _II1 __last1, _II2, _II2) 10143: { return __last1; } 10143: 10143: template 10143: static bool 10143: __cnd2(_II __first, _II __last) 10143: { return __first != __last; } 10143: }; 10143: 10143: template<> 10143: struct __lc_rai 10143: { 10143: template 10143: static _RAI1 10143: __newlast1(_RAI1 __first1, _RAI1 __last1, 10143: _RAI2 __first2, _RAI2 __last2) 10143: { 10143: const typename iterator_traits<_RAI1>::difference_type 10143: __diff1 = __last1 - __first1; 10143: const typename iterator_traits<_RAI2>::difference_type 10143: __diff2 = __last2 - __first2; 10143: return __diff2 < __diff1 ? __first1 + __diff2 : __last1; 10143: } 10143: 10143: template 10143: static bool 10143: __cnd2(_RAI, _RAI) 10143: { return true; } 10143: }; 10143: 10143: template 10143: bool 10143: __lexicographical_compare_impl(_II1 __first1, _II1 __last1, 10143: _II2 __first2, _II2 __last2, 10143: _Compare __comp) 10143: { 10143: typedef typename iterator_traits<_II1>::iterator_category _Category1; 10143: typedef typename iterator_traits<_II2>::iterator_category _Category2; 10143: typedef std::__lc_rai<_Category1, _Category2> __rai_type; 10143: 10143: __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2); 10143: for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2); 10143: ++__first1, (void)++__first2) 10143: { 10143: if (__comp(__first1, __first2)) 10143: return true; 10143: if (__comp(__first2, __first1)) 10143: return false; 10143: } 10143: return __first1 == __last1 && __first2 != __last2; 10143: } 10143: 10143: template 10143: struct __lexicographical_compare 10143: { 10143: template 10143: static bool __lc(_II1, _II1, _II2, _II2); 10143: }; 10143: 10143: template 10143: template 10143: bool 10143: __lexicographical_compare<_BoolType>:: 10143: __lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) 10143: { 10143: return std::__lexicographical_compare_impl(__first1, __last1, 10143: __first2, __last2, 10143: __gnu_cxx::__ops::__iter_less_iter()); 10143: } 10143: 10143: template<> 10143: struct __lexicographical_compare 10143: { 10143: template 10143: static bool 10143: __lc(const _Tp* __first1, const _Tp* __last1, 10143: const _Up* __first2, const _Up* __last2) 10143: { 10143: const size_t __len1 = __last1 - __first1; 10143: const size_t __len2 = __last2 - __first2; 10143: if (const size_t __len = std::min(__len1, __len2)) 10143: if (int __result = __builtin_memcmp(__first1, __first2, __len)) 10143: return __result < 0; 10143: return __len1 < __len2; 10143: } 10143: }; 10143: 10143: template 10143: inline bool 10143: __lexicographical_compare_aux(_II1 __first1, _II1 __last1, 10143: _II2 __first2, _II2 __last2) 10143: { 10143: typedef typename iterator_traits<_II1>::value_type _ValueType1; 10143: typedef typename iterator_traits<_II2>::value_type _ValueType2; 10143: const bool __simple = 10143: (__is_byte<_ValueType1>::__value && __is_byte<_ValueType2>::__value 10143: && !__gnu_cxx::__numeric_traits<_ValueType1>::__is_signed 10143: && !__gnu_cxx::__numeric_traits<_ValueType2>::__is_signed 10143: && __is_pointer<_II1>::__value 10143: && __is_pointer<_II2>::__value); 10143: 10143: return std::__lexicographical_compare<__simple>::__lc(__first1, __last1, 10143: __first2, __last2); 10143: } 10143: 10143: template 10143: _ForwardIterator 10143: __lower_bound(_ForwardIterator __first, _ForwardIterator __last, 10143: const _Tp& __val, _Compare __comp) 10143: { 10143: typedef typename iterator_traits<_ForwardIterator>::difference_type 10143: _DistanceType; 10143: 10143: _DistanceType __len = std::distance(__first, __last); 10143: 10143: while (__len > 0) 10143: { 10143: _DistanceType __half = __len >> 1; 10143: _ForwardIterator __middle = __first; 10143: std::advance(__middle, __half); 10143: if (__comp(__middle, __val)) 10143: { 10143: __first = __middle; 10143: ++__first; 10143: __len = __len - __half - 1; 10143: } 10143: else 10143: __len = __half; 10143: } 10143: return __first; 10143: } 10143: # 982 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: template 10143: inline _ForwardIterator 10143: lower_bound(_ForwardIterator __first, _ForwardIterator __last, 10143: const _Tp& __val) 10143: { 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__lower_bound(__first, __last, __val, 10143: __gnu_cxx::__ops::__iter_less_val()); 10143: } 10143: 10143: 10143: 10143: inline constexpr int 10143: __lg(int __n) 10143: { return sizeof(int) * 8 - 1 - __builtin_clz(__n); } 10143: 10143: inline constexpr unsigned 10143: __lg(unsigned __n) 10143: { return sizeof(int) * 8 - 1 - __builtin_clz(__n); } 10143: 10143: inline constexpr long 10143: __lg(long __n) 10143: { return sizeof(long) * 8 - 1 - __builtin_clzl(__n); } 10143: 10143: inline constexpr unsigned long 10143: __lg(unsigned long __n) 10143: { return sizeof(long) * 8 - 1 - __builtin_clzl(__n); } 10143: 10143: inline constexpr long long 10143: __lg(long long __n) 10143: { return sizeof(long long) * 8 - 1 - __builtin_clzll(__n); } 10143: 10143: inline constexpr unsigned long long 10143: __lg(unsigned long long __n) 10143: { return sizeof(long long) * 8 - 1 - __builtin_clzll(__n); } 10143: 10143: 10143: # 1037 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: template 10143: inline bool 10143: equal(_II1 __first1, _II1 __last1, _II2 __first2) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__equal_aux(std::__niter_base(__first1), 10143: std::__niter_base(__last1), 10143: std::__niter_base(__first2)); 10143: } 10143: # 1069 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: template 10143: inline bool 10143: equal(_IIter1 __first1, _IIter1 __last1, 10143: _IIter2 __first2, _BinaryPredicate __binary_pred) 10143: { 10143: 10143: 10143: 10143: ; 10143: 10143: for (; __first1 != __last1; ++__first1, (void)++__first2) 10143: if (!bool(__binary_pred(*__first1, *__first2))) 10143: return false; 10143: return true; 10143: } 10143: 10143: 10143: 10143: template 10143: inline bool 10143: __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) 10143: { 10143: using _RATag = random_access_iterator_tag; 10143: using _Cat1 = typename iterator_traits<_II1>::iterator_category; 10143: using _Cat2 = typename iterator_traits<_II2>::iterator_category; 10143: using _RAIters = __and_, is_same<_Cat2, _RATag>>; 10143: if (_RAIters()) 10143: { 10143: auto __d1 = std::distance(__first1, __last1); 10143: auto __d2 = std::distance(__first2, __last2); 10143: if (__d1 != __d2) 10143: return false; 10143: return std::equal(__first1, __last1, __first2); 10143: } 10143: 10143: for (; __first1 != __last1 && __first2 != __last2; 10143: ++__first1, (void)++__first2) 10143: if (!(*__first1 == *__first2)) 10143: return false; 10143: return __first1 == __last1 && __first2 == __last2; 10143: } 10143: 10143: 10143: template 10143: inline bool 10143: __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2, 10143: _BinaryPredicate __binary_pred) 10143: { 10143: using _RATag = random_access_iterator_tag; 10143: using _Cat1 = typename iterator_traits<_II1>::iterator_category; 10143: using _Cat2 = typename iterator_traits<_II2>::iterator_category; 10143: using _RAIters = __and_, is_same<_Cat2, _RATag>>; 10143: if (_RAIters()) 10143: { 10143: auto __d1 = std::distance(__first1, __last1); 10143: auto __d2 = std::distance(__first2, __last2); 10143: if (__d1 != __d2) 10143: return false; 10143: return std::equal(__first1, __last1, __first2, 10143: __binary_pred); 10143: } 10143: 10143: for (; __first1 != __last1 && __first2 != __last2; 10143: ++__first1, (void)++__first2) 10143: if (!bool(__binary_pred(*__first1, *__first2))) 10143: return false; 10143: return __first1 == __last1 && __first2 == __last2; 10143: } 10143: # 1219 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: template 10143: inline bool 10143: lexicographical_compare(_II1 __first1, _II1 __last1, 10143: _II2 __first2, _II2 __last2) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::__lexicographical_compare_aux(std::__niter_base(__first1), 10143: std::__niter_base(__last1), 10143: std::__niter_base(__first2), 10143: std::__niter_base(__last2)); 10143: } 10143: # 1255 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: template 10143: inline bool 10143: lexicographical_compare(_II1 __first1, _II1 __last1, 10143: _II2 __first2, _II2 __last2, _Compare __comp) 10143: { 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::__lexicographical_compare_impl 10143: (__first1, __last1, __first2, __last2, 10143: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 10143: } 10143: 10143: template 10143: pair<_InputIterator1, _InputIterator2> 10143: __mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _BinaryPredicate __binary_pred) 10143: { 10143: while (__first1 != __last1 && __binary_pred(__first1, __first2)) 10143: { 10143: ++__first1; 10143: ++__first2; 10143: } 10143: return pair<_InputIterator1, _InputIterator2>(__first1, __first2); 10143: } 10143: # 1298 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: template 10143: inline pair<_InputIterator1, _InputIterator2> 10143: mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__mismatch(__first1, __last1, __first2, 10143: __gnu_cxx::__ops::__iter_equal_to_iter()); 10143: } 10143: # 1331 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: template 10143: inline pair<_InputIterator1, _InputIterator2> 10143: mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _BinaryPredicate __binary_pred) 10143: { 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__mismatch(__first1, __last1, __first2, 10143: __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); 10143: } 10143: # 1431 "/usr/include/c++/8/bits/stl_algobase.h" 3 10143: 10143: 10143: } 10143: # 62 "/usr/include/c++/8/algorithm" 2 3 10143: # 1 "/usr/include/c++/8/bits/stl_algo.h" 1 3 10143: # 59 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: # 1 "/usr/include/c++/8/cstdlib" 1 3 10143: # 39 "/usr/include/c++/8/cstdlib" 3 10143: 10143: # 40 "/usr/include/c++/8/cstdlib" 3 10143: # 75 "/usr/include/c++/8/cstdlib" 3 10143: # 1 "/usr/include/stdlib.h" 1 3 4 10143: # 25 "/usr/include/stdlib.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/libc-header-start.h" 1 3 4 10143: # 26 "/usr/include/stdlib.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stddef.h" 1 3 4 10143: # 32 "/usr/include/stdlib.h" 2 3 4 10143: 10143: extern "C" { 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/waitflags.h" 1 3 4 10143: # 52 "/usr/include/powerpc64le-linux-gnu/bits/waitflags.h" 3 4 10143: typedef enum 10143: { 10143: P_ALL, 10143: P_PID, 10143: P_PGID 10143: } idtype_t; 10143: # 40 "/usr/include/stdlib.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/waitstatus.h" 1 3 4 10143: # 41 "/usr/include/stdlib.h" 2 3 4 10143: # 55 "/usr/include/stdlib.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/floatn.h" 1 3 4 10143: # 58 "/usr/include/powerpc64le-linux-gnu/bits/floatn.h" 3 4 10143: typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__KC__))); 10143: # 70 "/usr/include/powerpc64le-linux-gnu/bits/floatn.h" 3 4 10143: typedef __ieee128 _Float128; 10143: # 56 "/usr/include/stdlib.h" 2 3 4 10143: 10143: 10143: typedef struct 10143: { 10143: int quot; 10143: int rem; 10143: } div_t; 10143: 10143: 10143: 10143: typedef struct 10143: { 10143: long int quot; 10143: long int rem; 10143: } ldiv_t; 10143: 10143: 10143: 10143: 10143: 10143: __extension__ typedef struct 10143: { 10143: long long int quot; 10143: long long int rem; 10143: } lldiv_t; 10143: # 97 "/usr/include/stdlib.h" 3 4 10143: extern size_t __ctype_get_mb_cur_max (void) throw () __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: extern double atof (const char *__nptr) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 10143: 10143: extern int atoi (const char *__nptr) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 10143: 10143: extern long int atol (const char *__nptr) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: __extension__ extern long long int atoll (const char *__nptr) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: extern double strtod (const char *__restrict __nptr, 10143: char **__restrict __endptr) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: extern float strtof (const char *__restrict __nptr, 10143: char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: extern long double strtold (const char *__restrict __nptr, 10143: char **__restrict __endptr) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: extern _Float128 strtof128 (const char *__restrict __nptr, 10143: char **__restrict __endptr) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: extern long int strtol (const char *__restrict __nptr, 10143: char **__restrict __endptr, int __base) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: extern unsigned long int strtoul (const char *__restrict __nptr, 10143: char **__restrict __endptr, int __base) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: __extension__ 10143: extern long long int strtoq (const char *__restrict __nptr, 10143: char **__restrict __endptr, int __base) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: __extension__ 10143: extern unsigned long long int strtouq (const char *__restrict __nptr, 10143: char **__restrict __endptr, int __base) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: __extension__ 10143: extern long long int strtoll (const char *__restrict __nptr, 10143: char **__restrict __endptr, int __base) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: __extension__ 10143: extern unsigned long long int strtoull (const char *__restrict __nptr, 10143: char **__restrict __endptr, int __base) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: extern int strfromd (char *__dest, size_t __size, const char *__format, 10143: double __f) 10143: throw () __attribute__ ((__nonnull__ (3))); 10143: 10143: extern int strfromf (char *__dest, size_t __size, const char *__format, 10143: float __f) 10143: throw () __attribute__ ((__nonnull__ (3))); 10143: 10143: extern int strfroml (char *__dest, size_t __size, const char *__format, 10143: long double __f) 10143: throw () __attribute__ ((__nonnull__ (3))); 10143: 10143: 10143: 10143: extern int strfromf128 (char *__dest, size_t __size, const char * __format, 10143: _Float128 __f) 10143: throw () __attribute__ ((__nonnull__ (3))); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/types/locale_t.h" 1 3 4 10143: # 22 "/usr/include/powerpc64le-linux-gnu/bits/types/locale_t.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/types/__locale_t.h" 1 3 4 10143: # 28 "/usr/include/powerpc64le-linux-gnu/bits/types/__locale_t.h" 3 4 10143: struct __locale_struct 10143: { 10143: 10143: struct __locale_data *__locales[13]; 10143: 10143: 10143: const unsigned short int *__ctype_b; 10143: const int *__ctype_tolower; 10143: const int *__ctype_toupper; 10143: 10143: 10143: const char *__names[13]; 10143: }; 10143: 10143: typedef struct __locale_struct *__locale_t; 10143: # 23 "/usr/include/powerpc64le-linux-gnu/bits/types/locale_t.h" 2 3 4 10143: 10143: typedef __locale_t locale_t; 10143: # 200 "/usr/include/stdlib.h" 2 3 4 10143: 10143: extern long int strtol_l (const char *__restrict __nptr, 10143: char **__restrict __endptr, int __base, 10143: locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))); 10143: 10143: extern unsigned long int strtoul_l (const char *__restrict __nptr, 10143: char **__restrict __endptr, 10143: int __base, locale_t __loc) 10143: throw () __attribute__ ((__nonnull__ (1, 4))); 10143: 10143: __extension__ 10143: extern long long int strtoll_l (const char *__restrict __nptr, 10143: char **__restrict __endptr, int __base, 10143: locale_t __loc) 10143: throw () __attribute__ ((__nonnull__ (1, 4))); 10143: 10143: __extension__ 10143: extern unsigned long long int strtoull_l (const char *__restrict __nptr, 10143: char **__restrict __endptr, 10143: int __base, locale_t __loc) 10143: throw () __attribute__ ((__nonnull__ (1, 4))); 10143: 10143: extern double strtod_l (const char *__restrict __nptr, 10143: char **__restrict __endptr, locale_t __loc) 10143: throw () __attribute__ ((__nonnull__ (1, 3))); 10143: 10143: extern float strtof_l (const char *__restrict __nptr, 10143: char **__restrict __endptr, locale_t __loc) 10143: throw () __attribute__ ((__nonnull__ (1, 3))); 10143: 10143: extern long double strtold_l (const char *__restrict __nptr, 10143: char **__restrict __endptr, 10143: locale_t __loc) 10143: throw () __attribute__ ((__nonnull__ (1, 3))); 10143: 10143: 10143: extern _Float128 strtof128_l (const char *__restrict __nptr, 10143: char **__restrict __endptr, 10143: locale_t __loc) 10143: throw () __attribute__ ((__nonnull__ (1, 3))); 10143: 10143: 10143: 10143: 10143: 10143: extern __inline __attribute__ ((__gnu_inline__)) int 10143: __attribute__ ((__leaf__)) atoi (const char *__nptr) throw () 10143: { 10143: return (int) strtol (__nptr, (char **) __null, 10); 10143: } 10143: extern __inline __attribute__ ((__gnu_inline__)) long int 10143: __attribute__ ((__leaf__)) atol (const char *__nptr) throw () 10143: { 10143: return strtol (__nptr, (char **) __null, 10); 10143: } 10143: 10143: 10143: __extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int 10143: __attribute__ ((__leaf__)) atoll (const char *__nptr) throw () 10143: { 10143: return strtoll (__nptr, (char **) __null, 10); 10143: } 10143: # 270 "/usr/include/stdlib.h" 3 4 10143: extern char *l64a (long int __n) throw () __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: extern long int a64l (const char *__s) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/sys/types.h" 1 3 4 10143: # 27 "/usr/include/powerpc64le-linux-gnu/sys/types.h" 3 4 10143: extern "C" { 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/types.h" 1 3 4 10143: # 27 "/usr/include/powerpc64le-linux-gnu/bits/types.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/wordsize.h" 1 3 4 10143: # 28 "/usr/include/powerpc64le-linux-gnu/bits/types.h" 2 3 4 10143: 10143: 10143: typedef unsigned char __u_char; 10143: typedef unsigned short int __u_short; 10143: typedef unsigned int __u_int; 10143: typedef unsigned long int __u_long; 10143: 10143: 10143: typedef signed char __int8_t; 10143: typedef unsigned char __uint8_t; 10143: typedef signed short int __int16_t; 10143: typedef unsigned short int __uint16_t; 10143: typedef signed int __int32_t; 10143: typedef unsigned int __uint32_t; 10143: 10143: typedef signed long int __int64_t; 10143: typedef unsigned long int __uint64_t; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef long int __quad_t; 10143: typedef unsigned long int __u_quad_t; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef long int __intmax_t; 10143: typedef unsigned long int __uintmax_t; 10143: # 130 "/usr/include/powerpc64le-linux-gnu/bits/types.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/typesizes.h" 1 3 4 10143: # 131 "/usr/include/powerpc64le-linux-gnu/bits/types.h" 2 3 4 10143: 10143: 10143: typedef unsigned long int __dev_t; 10143: typedef unsigned int __uid_t; 10143: typedef unsigned int __gid_t; 10143: typedef unsigned long int __ino_t; 10143: typedef unsigned long int __ino64_t; 10143: typedef unsigned int __mode_t; 10143: typedef unsigned long int __nlink_t; 10143: typedef long int __off_t; 10143: typedef long int __off64_t; 10143: typedef int __pid_t; 10143: typedef struct { int __val[2]; } __fsid_t; 10143: typedef long int __clock_t; 10143: typedef unsigned long int __rlim_t; 10143: typedef unsigned long int __rlim64_t; 10143: typedef unsigned int __id_t; 10143: typedef long int __time_t; 10143: typedef unsigned int __useconds_t; 10143: typedef long int __suseconds_t; 10143: 10143: typedef int __daddr_t; 10143: typedef int __key_t; 10143: 10143: 10143: typedef int __clockid_t; 10143: 10143: 10143: typedef void * __timer_t; 10143: 10143: 10143: typedef long int __blksize_t; 10143: 10143: 10143: 10143: 10143: typedef long int __blkcnt_t; 10143: typedef long int __blkcnt64_t; 10143: 10143: 10143: typedef unsigned long int __fsblkcnt_t; 10143: typedef unsigned long int __fsblkcnt64_t; 10143: 10143: 10143: typedef unsigned long int __fsfilcnt_t; 10143: typedef unsigned long int __fsfilcnt64_t; 10143: 10143: 10143: typedef long int __fsword_t; 10143: 10143: typedef long int __ssize_t; 10143: 10143: 10143: typedef long int __syscall_slong_t; 10143: 10143: typedef unsigned long int __syscall_ulong_t; 10143: 10143: 10143: 10143: typedef __off64_t __loff_t; 10143: typedef __quad_t *__qaddr_t; 10143: typedef char *__caddr_t; 10143: 10143: 10143: typedef long int __intptr_t; 10143: 10143: 10143: typedef unsigned int __socklen_t; 10143: 10143: 10143: 10143: 10143: typedef int __sig_atomic_t; 10143: # 30 "/usr/include/powerpc64le-linux-gnu/sys/types.h" 2 3 4 10143: 10143: 10143: 10143: typedef __u_char u_char; 10143: typedef __u_short u_short; 10143: typedef __u_int u_int; 10143: typedef __u_long u_long; 10143: typedef __quad_t quad_t; 10143: typedef __u_quad_t u_quad_t; 10143: typedef __fsid_t fsid_t; 10143: 10143: 10143: 10143: 10143: typedef __loff_t loff_t; 10143: 10143: 10143: 10143: typedef __ino_t ino_t; 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef __ino64_t ino64_t; 10143: 10143: 10143: 10143: 10143: typedef __dev_t dev_t; 10143: 10143: 10143: 10143: 10143: typedef __gid_t gid_t; 10143: 10143: 10143: 10143: 10143: typedef __mode_t mode_t; 10143: 10143: 10143: 10143: 10143: typedef __nlink_t nlink_t; 10143: 10143: 10143: 10143: 10143: typedef __uid_t uid_t; 10143: 10143: 10143: 10143: 10143: 10143: typedef __off_t off_t; 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef __off64_t off64_t; 10143: 10143: 10143: 10143: 10143: typedef __pid_t pid_t; 10143: 10143: 10143: 10143: 10143: 10143: typedef __id_t id_t; 10143: 10143: 10143: 10143: 10143: typedef __ssize_t ssize_t; 10143: 10143: 10143: 10143: 10143: 10143: typedef __daddr_t daddr_t; 10143: typedef __caddr_t caddr_t; 10143: 10143: 10143: 10143: 10143: 10143: typedef __key_t key_t; 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/types/clock_t.h" 1 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef __clock_t clock_t; 10143: # 128 "/usr/include/powerpc64le-linux-gnu/sys/types.h" 2 3 4 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/types/clockid_t.h" 1 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef __clockid_t clockid_t; 10143: # 130 "/usr/include/powerpc64le-linux-gnu/sys/types.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/types/time_t.h" 1 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef __time_t time_t; 10143: # 131 "/usr/include/powerpc64le-linux-gnu/sys/types.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/types/timer_t.h" 1 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef __timer_t timer_t; 10143: # 132 "/usr/include/powerpc64le-linux-gnu/sys/types.h" 2 3 4 10143: 10143: 10143: 10143: typedef __useconds_t useconds_t; 10143: 10143: 10143: 10143: typedef __suseconds_t suseconds_t; 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stddef.h" 1 3 4 10143: # 146 "/usr/include/powerpc64le-linux-gnu/sys/types.h" 2 3 4 10143: 10143: 10143: 10143: typedef unsigned long int ulong; 10143: typedef unsigned short int ushort; 10143: typedef unsigned int uint; 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/stdint-intn.h" 1 3 4 10143: # 24 "/usr/include/powerpc64le-linux-gnu/bits/stdint-intn.h" 3 4 10143: typedef __int8_t int8_t; 10143: typedef __int16_t int16_t; 10143: typedef __int32_t int32_t; 10143: typedef __int64_t int64_t; 10143: # 157 "/usr/include/powerpc64le-linux-gnu/sys/types.h" 2 3 4 10143: # 178 "/usr/include/powerpc64le-linux-gnu/sys/types.h" 3 4 10143: typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); 10143: typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); 10143: typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); 10143: typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); 10143: 10143: typedef int register_t __attribute__ ((__mode__ (__word__))); 10143: # 194 "/usr/include/powerpc64le-linux-gnu/sys/types.h" 3 4 10143: # 1 "/usr/include/endian.h" 1 3 4 10143: # 36 "/usr/include/endian.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/endian.h" 1 3 4 10143: # 37 "/usr/include/endian.h" 2 3 4 10143: # 60 "/usr/include/endian.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/byteswap.h" 1 3 4 10143: # 34 "/usr/include/powerpc64le-linux-gnu/bits/byteswap.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/byteswap-16.h" 1 3 4 10143: # 35 "/usr/include/powerpc64le-linux-gnu/bits/byteswap.h" 2 3 4 10143: # 43 "/usr/include/powerpc64le-linux-gnu/bits/byteswap.h" 3 4 10143: static __inline unsigned int 10143: __bswap_32 (unsigned int __bsx) 10143: { 10143: return __builtin_bswap32 (__bsx); 10143: } 10143: # 74 "/usr/include/powerpc64le-linux-gnu/bits/byteswap.h" 3 4 10143: static __inline __uint64_t 10143: __bswap_64 (__uint64_t __bsx) 10143: { 10143: return __builtin_bswap64 (__bsx); 10143: } 10143: # 61 "/usr/include/endian.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/uintn-identity.h" 1 3 4 10143: # 32 "/usr/include/powerpc64le-linux-gnu/bits/uintn-identity.h" 3 4 10143: static __inline __uint16_t 10143: __uint16_identity (__uint16_t __x) 10143: { 10143: return __x; 10143: } 10143: 10143: static __inline __uint32_t 10143: __uint32_identity (__uint32_t __x) 10143: { 10143: return __x; 10143: } 10143: 10143: static __inline __uint64_t 10143: __uint64_identity (__uint64_t __x) 10143: { 10143: return __x; 10143: } 10143: # 62 "/usr/include/endian.h" 2 3 4 10143: # 195 "/usr/include/powerpc64le-linux-gnu/sys/types.h" 2 3 4 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/sys/select.h" 1 3 4 10143: # 30 "/usr/include/powerpc64le-linux-gnu/sys/select.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/select.h" 1 3 4 10143: # 31 "/usr/include/powerpc64le-linux-gnu/sys/select.h" 2 3 4 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/types/sigset_t.h" 1 3 4 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/types/__sigset_t.h" 1 3 4 10143: 10143: 10143: 10143: 10143: typedef struct 10143: { 10143: unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; 10143: } __sigset_t; 10143: # 5 "/usr/include/powerpc64le-linux-gnu/bits/types/sigset_t.h" 2 3 4 10143: 10143: 10143: typedef __sigset_t sigset_t; 10143: # 34 "/usr/include/powerpc64le-linux-gnu/sys/select.h" 2 3 4 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/types/struct_timeval.h" 1 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: struct timeval 10143: { 10143: __time_t tv_sec; 10143: __suseconds_t tv_usec; 10143: }; 10143: # 38 "/usr/include/powerpc64le-linux-gnu/sys/select.h" 2 3 4 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/types/struct_timespec.h" 1 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: struct timespec 10143: { 10143: __time_t tv_sec; 10143: __syscall_slong_t tv_nsec; 10143: }; 10143: # 40 "/usr/include/powerpc64le-linux-gnu/sys/select.h" 2 3 4 10143: # 49 "/usr/include/powerpc64le-linux-gnu/sys/select.h" 3 4 10143: typedef long int __fd_mask; 10143: # 59 "/usr/include/powerpc64le-linux-gnu/sys/select.h" 3 4 10143: typedef struct 10143: { 10143: 10143: 10143: 10143: __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; 10143: 10143: 10143: 10143: 10143: 10143: } fd_set; 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef __fd_mask fd_mask; 10143: # 91 "/usr/include/powerpc64le-linux-gnu/sys/select.h" 3 4 10143: extern "C" { 10143: # 101 "/usr/include/powerpc64le-linux-gnu/sys/select.h" 3 4 10143: extern int select (int __nfds, fd_set *__restrict __readfds, 10143: fd_set *__restrict __writefds, 10143: fd_set *__restrict __exceptfds, 10143: struct timeval *__restrict __timeout); 10143: # 113 "/usr/include/powerpc64le-linux-gnu/sys/select.h" 3 4 10143: extern int pselect (int __nfds, fd_set *__restrict __readfds, 10143: fd_set *__restrict __writefds, 10143: fd_set *__restrict __exceptfds, 10143: const struct timespec *__restrict __timeout, 10143: const __sigset_t *__restrict __sigmask); 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/select2.h" 1 3 4 10143: # 24 "/usr/include/powerpc64le-linux-gnu/bits/select2.h" 3 4 10143: extern long int __fdelt_chk (long int __d); 10143: extern long int __fdelt_warn (long int __d) 10143: __attribute__((__warning__ ("bit outside of fd_set selected"))); 10143: # 124 "/usr/include/powerpc64le-linux-gnu/sys/select.h" 2 3 4 10143: 10143: 10143: } 10143: # 198 "/usr/include/powerpc64le-linux-gnu/sys/types.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/sys/sysmacros.h" 1 3 4 10143: # 41 "/usr/include/powerpc64le-linux-gnu/sys/sysmacros.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/sysmacros.h" 1 3 4 10143: # 42 "/usr/include/powerpc64le-linux-gnu/sys/sysmacros.h" 2 3 4 10143: # 71 "/usr/include/powerpc64le-linux-gnu/sys/sysmacros.h" 3 4 10143: extern "C" { 10143: 10143: extern unsigned int gnu_dev_major (__dev_t __dev) throw () __attribute__ ((__const__)); 10143: extern unsigned int gnu_dev_minor (__dev_t __dev) throw () __attribute__ ((__const__)); 10143: extern __dev_t gnu_dev_makedev (unsigned int __major, unsigned int __minor) throw () __attribute__ ((__const__)); 10143: 10143: 10143: 10143: __extension__ extern __inline __attribute__ ((__gnu_inline__)) __attribute__ ((__const__)) unsigned int __attribute__ ((__leaf__)) gnu_dev_major (__dev_t __dev) throw () { unsigned int __major; __major = ((__dev & (__dev_t) 0x00000000000fff00u) >> 8); __major |= ((__dev & (__dev_t) 0xfffff00000000000u) >> 32); return __major; } 10143: __extension__ extern __inline __attribute__ ((__gnu_inline__)) __attribute__ ((__const__)) unsigned int __attribute__ ((__leaf__)) gnu_dev_minor (__dev_t __dev) throw () { unsigned int __minor; __minor = ((__dev & (__dev_t) 0x00000000000000ffu) >> 0); __minor |= ((__dev & (__dev_t) 0x00000ffffff00000u) >> 12); return __minor; } 10143: __extension__ extern __inline __attribute__ ((__gnu_inline__)) __attribute__ ((__const__)) __dev_t __attribute__ ((__leaf__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor) throw () { __dev_t __dev; __dev = (((__dev_t) (__major & 0x00000fffu)) << 8); __dev |= (((__dev_t) (__major & 0xfffff000u)) << 32); __dev |= (((__dev_t) (__minor & 0x000000ffu)) << 0); __dev |= (((__dev_t) (__minor & 0xffffff00u)) << 12); return __dev; } 10143: 10143: 10143: 10143: } 10143: # 206 "/usr/include/powerpc64le-linux-gnu/sys/types.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef __blksize_t blksize_t; 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef __blkcnt_t blkcnt_t; 10143: 10143: 10143: 10143: typedef __fsblkcnt_t fsblkcnt_t; 10143: 10143: 10143: 10143: typedef __fsfilcnt_t fsfilcnt_t; 10143: # 246 "/usr/include/powerpc64le-linux-gnu/sys/types.h" 3 4 10143: typedef __blkcnt64_t blkcnt64_t; 10143: typedef __fsblkcnt64_t fsblkcnt64_t; 10143: typedef __fsfilcnt64_t fsfilcnt64_t; 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/pthreadtypes.h" 1 3 4 10143: # 23 "/usr/include/powerpc64le-linux-gnu/bits/pthreadtypes.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/thread-shared-types.h" 1 3 4 10143: # 58 "/usr/include/powerpc64le-linux-gnu/bits/thread-shared-types.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/pthreadtypes-arch.h" 1 3 4 10143: # 22 "/usr/include/powerpc64le-linux-gnu/bits/pthreadtypes-arch.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/wordsize.h" 1 3 4 10143: # 23 "/usr/include/powerpc64le-linux-gnu/bits/pthreadtypes-arch.h" 2 3 4 10143: # 49 "/usr/include/powerpc64le-linux-gnu/bits/pthreadtypes-arch.h" 3 4 10143: struct __pthread_rwlock_arch_t 10143: { 10143: unsigned int __readers; 10143: unsigned int __writers; 10143: unsigned int __wrphase_futex; 10143: unsigned int __writers_futex; 10143: unsigned int __pad3; 10143: unsigned int __pad4; 10143: 10143: int __cur_writer; 10143: int __shared; 10143: unsigned char __rwelision; 10143: unsigned char __pad1[7]; 10143: unsigned long int __pad2; 10143: 10143: 10143: unsigned int __flags; 10143: # 77 "/usr/include/powerpc64le-linux-gnu/bits/pthreadtypes-arch.h" 3 4 10143: }; 10143: # 59 "/usr/include/powerpc64le-linux-gnu/bits/thread-shared-types.h" 2 3 4 10143: 10143: 10143: 10143: 10143: typedef struct __pthread_internal_list 10143: { 10143: struct __pthread_internal_list *__prev; 10143: struct __pthread_internal_list *__next; 10143: } __pthread_list_t; 10143: # 99 "/usr/include/powerpc64le-linux-gnu/bits/thread-shared-types.h" 3 4 10143: struct __pthread_mutex_s 10143: { 10143: int __lock ; 10143: unsigned int __count; 10143: int __owner; 10143: 10143: unsigned int __nusers; 10143: 10143: 10143: 10143: int __kind; 10143: 10143: 10143: short __spins; short __elision; 10143: __pthread_list_t __list; 10143: # 123 "/usr/include/powerpc64le-linux-gnu/bits/thread-shared-types.h" 3 4 10143: 10143: }; 10143: 10143: 10143: 10143: 10143: struct __pthread_cond_s 10143: { 10143: __extension__ union 10143: { 10143: __extension__ unsigned long long int __wseq; 10143: struct 10143: { 10143: unsigned int __low; 10143: unsigned int __high; 10143: } __wseq32; 10143: }; 10143: __extension__ union 10143: { 10143: __extension__ unsigned long long int __g1_start; 10143: struct 10143: { 10143: unsigned int __low; 10143: unsigned int __high; 10143: } __g1_start32; 10143: }; 10143: unsigned int __g_refs[2] ; 10143: unsigned int __g_size[2]; 10143: unsigned int __g1_orig_size; 10143: unsigned int __wrefs; 10143: unsigned int __g_signals[2]; 10143: }; 10143: # 24 "/usr/include/powerpc64le-linux-gnu/bits/pthreadtypes.h" 2 3 4 10143: 10143: 10143: 10143: typedef unsigned long int pthread_t; 10143: 10143: 10143: 10143: 10143: typedef union 10143: { 10143: char __size[4]; 10143: int __align; 10143: } pthread_mutexattr_t; 10143: 10143: 10143: 10143: 10143: typedef union 10143: { 10143: char __size[4]; 10143: int __align; 10143: } pthread_condattr_t; 10143: 10143: 10143: 10143: typedef unsigned int pthread_key_t; 10143: 10143: 10143: 10143: typedef int pthread_once_t; 10143: 10143: 10143: union pthread_attr_t 10143: { 10143: char __size[56]; 10143: long int __align; 10143: }; 10143: 10143: typedef union pthread_attr_t pthread_attr_t; 10143: 10143: 10143: 10143: 10143: typedef union 10143: { 10143: struct __pthread_mutex_s __data; 10143: char __size[40]; 10143: long int __align; 10143: } pthread_mutex_t; 10143: 10143: 10143: typedef union 10143: { 10143: struct __pthread_cond_s __data; 10143: char __size[48]; 10143: __extension__ long long int __align; 10143: } pthread_cond_t; 10143: 10143: 10143: 10143: 10143: 10143: typedef union 10143: { 10143: struct __pthread_rwlock_arch_t __data; 10143: char __size[56]; 10143: long int __align; 10143: } pthread_rwlock_t; 10143: 10143: typedef union 10143: { 10143: char __size[8]; 10143: long int __align; 10143: } pthread_rwlockattr_t; 10143: 10143: 10143: 10143: 10143: 10143: typedef volatile int pthread_spinlock_t; 10143: 10143: 10143: 10143: 10143: typedef union 10143: { 10143: char __size[32]; 10143: long int __align; 10143: } pthread_barrier_t; 10143: 10143: typedef union 10143: { 10143: char __size[4]; 10143: int __align; 10143: } pthread_barrierattr_t; 10143: # 255 "/usr/include/powerpc64le-linux-gnu/sys/types.h" 2 3 4 10143: 10143: 10143: } 10143: # 280 "/usr/include/stdlib.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern long int random (void) throw (); 10143: 10143: 10143: extern void srandom (unsigned int __seed) throw (); 10143: 10143: 10143: 10143: 10143: 10143: extern char *initstate (unsigned int __seed, char *__statebuf, 10143: size_t __statelen) throw () __attribute__ ((__nonnull__ (2))); 10143: 10143: 10143: 10143: extern char *setstate (char *__statebuf) throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: struct random_data 10143: { 10143: int32_t *fptr; 10143: int32_t *rptr; 10143: int32_t *state; 10143: int rand_type; 10143: int rand_deg; 10143: int rand_sep; 10143: int32_t *end_ptr; 10143: }; 10143: 10143: extern int random_r (struct random_data *__restrict __buf, 10143: int32_t *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: extern int srandom_r (unsigned int __seed, struct random_data *__buf) 10143: throw () __attribute__ ((__nonnull__ (2))); 10143: 10143: extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, 10143: size_t __statelen, 10143: struct random_data *__restrict __buf) 10143: throw () __attribute__ ((__nonnull__ (2, 4))); 10143: 10143: extern int setstate_r (char *__restrict __statebuf, 10143: struct random_data *__restrict __buf) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: 10143: 10143: 10143: extern int rand (void) throw (); 10143: 10143: extern void srand (unsigned int __seed) throw (); 10143: 10143: 10143: 10143: extern int rand_r (unsigned int *__seed) throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern double drand48 (void) throw (); 10143: extern double erand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern long int lrand48 (void) throw (); 10143: extern long int nrand48 (unsigned short int __xsubi[3]) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern long int mrand48 (void) throw (); 10143: extern long int jrand48 (unsigned short int __xsubi[3]) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern void srand48 (long int __seedval) throw (); 10143: extern unsigned short int *seed48 (unsigned short int __seed16v[3]) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: extern void lcong48 (unsigned short int __param[7]) throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: 10143: struct drand48_data 10143: { 10143: unsigned short int __x[3]; 10143: unsigned short int __old_x[3]; 10143: unsigned short int __c; 10143: unsigned short int __init; 10143: __extension__ unsigned long long int __a; 10143: 10143: }; 10143: 10143: 10143: extern int drand48_r (struct drand48_data *__restrict __buffer, 10143: double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); 10143: extern int erand48_r (unsigned short int __xsubi[3], 10143: struct drand48_data *__restrict __buffer, 10143: double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int lrand48_r (struct drand48_data *__restrict __buffer, 10143: long int *__restrict __result) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: extern int nrand48_r (unsigned short int __xsubi[3], 10143: struct drand48_data *__restrict __buffer, 10143: long int *__restrict __result) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int mrand48_r (struct drand48_data *__restrict __buffer, 10143: long int *__restrict __result) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: extern int jrand48_r (unsigned short int __xsubi[3], 10143: struct drand48_data *__restrict __buffer, 10143: long int *__restrict __result) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int srand48_r (long int __seedval, struct drand48_data *__buffer) 10143: throw () __attribute__ ((__nonnull__ (2))); 10143: 10143: extern int seed48_r (unsigned short int __seed16v[3], 10143: struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: extern int lcong48_r (unsigned short int __param[7], 10143: struct drand48_data *__buffer) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: 10143: 10143: extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); 10143: 10143: extern void *calloc (size_t __nmemb, size_t __size) 10143: throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern void *realloc (void *__ptr, size_t __size) 10143: throw () __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) 10143: throw () __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: extern void free (void *__ptr) throw (); 10143: 10143: 10143: # 1 "/usr/include/alloca.h" 1 3 4 10143: # 24 "/usr/include/alloca.h" 3 4 10143: # 1 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stddef.h" 1 3 4 10143: # 25 "/usr/include/alloca.h" 2 3 4 10143: 10143: extern "C" { 10143: 10143: 10143: 10143: 10143: 10143: extern void *alloca (size_t __size) throw (); 10143: 10143: 10143: 10143: 10143: 10143: } 10143: # 452 "/usr/include/stdlib.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) 10143: throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: extern void *aligned_alloc (size_t __alignment, size_t __size) 10143: throw () __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: extern void abort (void) throw () __attribute__ ((__noreturn__)); 10143: 10143: 10143: 10143: extern int atexit (void (*__func) (void)) throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: extern "C++" int at_quick_exit (void (*__func) (void)) 10143: throw () __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1))); 10143: # 492 "/usr/include/stdlib.h" 3 4 10143: extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: 10143: extern void exit (int __status) throw () __attribute__ ((__noreturn__)); 10143: 10143: 10143: 10143: 10143: 10143: extern void quick_exit (int __status) throw () __attribute__ ((__noreturn__)); 10143: 10143: 10143: 10143: 10143: 10143: extern void _Exit (int __status) throw () __attribute__ ((__noreturn__)); 10143: 10143: 10143: 10143: 10143: extern char *getenv (const char *__name) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: extern char *secure_getenv (const char *__name) 10143: throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int putenv (char *__string) throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: 10143: extern int setenv (const char *__name, const char *__value, int __replace) 10143: throw () __attribute__ ((__nonnull__ (2))); 10143: 10143: 10143: extern int unsetenv (const char *__name) throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int clearenv (void) throw (); 10143: # 557 "/usr/include/stdlib.h" 3 4 10143: extern char *mktemp (char *__template) throw () __attribute__ ((__nonnull__ (1))); 10143: # 570 "/usr/include/stdlib.h" 3 4 10143: extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 10143: # 580 "/usr/include/stdlib.h" 3 4 10143: extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 10143: # 592 "/usr/include/stdlib.h" 3 4 10143: extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 10143: # 602 "/usr/include/stdlib.h" 3 4 10143: extern int mkstemps64 (char *__template, int __suffixlen) 10143: __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 10143: # 613 "/usr/include/stdlib.h" 3 4 10143: extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 10143: # 624 "/usr/include/stdlib.h" 3 4 10143: extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 10143: # 634 "/usr/include/stdlib.h" 3 4 10143: extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 10143: # 644 "/usr/include/stdlib.h" 3 4 10143: extern int mkostemps (char *__template, int __suffixlen, int __flags) 10143: __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 10143: # 656 "/usr/include/stdlib.h" 3 4 10143: extern int mkostemps64 (char *__template, int __suffixlen, int __flags) 10143: __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 10143: # 666 "/usr/include/stdlib.h" 3 4 10143: extern int system (const char *__command) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: 10143: extern char *canonicalize_file_name (const char *__name) 10143: throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 10143: # 682 "/usr/include/stdlib.h" 3 4 10143: extern char *realpath (const char *__restrict __name, 10143: char *__restrict __resolved) throw () __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef int (*__compar_fn_t) (const void *, const void *); 10143: 10143: 10143: typedef __compar_fn_t comparison_fn_t; 10143: 10143: 10143: 10143: typedef int (*__compar_d_fn_t) (const void *, const void *, void *); 10143: 10143: 10143: 10143: 10143: extern void *bsearch (const void *__key, const void *__base, 10143: size_t __nmemb, size_t __size, __compar_fn_t __compar) 10143: __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/stdlib-bsearch.h" 1 3 4 10143: # 19 "/usr/include/powerpc64le-linux-gnu/bits/stdlib-bsearch.h" 3 4 10143: extern __inline __attribute__ ((__gnu_inline__)) void * 10143: bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, 10143: __compar_fn_t __compar) 10143: { 10143: size_t __l, __u, __idx; 10143: const void *__p; 10143: int __comparison; 10143: 10143: __l = 0; 10143: __u = __nmemb; 10143: while (__l < __u) 10143: { 10143: __idx = (__l + __u) / 2; 10143: __p = (void *) (((const char *) __base) + (__idx * __size)); 10143: __comparison = (*__compar) (__key, __p); 10143: if (__comparison < 0) 10143: __u = __idx; 10143: else if (__comparison > 0) 10143: __l = __idx + 1; 10143: else 10143: return (void *) __p; 10143: } 10143: 10143: return __null; 10143: } 10143: # 708 "/usr/include/stdlib.h" 2 3 4 10143: 10143: 10143: 10143: 10143: extern void qsort (void *__base, size_t __nmemb, size_t __size, 10143: __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); 10143: 10143: extern void qsort_r (void *__base, size_t __nmemb, size_t __size, 10143: __compar_d_fn_t __compar, void *__arg) 10143: __attribute__ ((__nonnull__ (1, 4))); 10143: 10143: 10143: 10143: 10143: extern int abs (int __x) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 10143: extern long int labs (long int __x) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: __extension__ extern long long int llabs (long long int __x) 10143: throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern div_t div (int __numer, int __denom) 10143: throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 10143: extern ldiv_t ldiv (long int __numer, long int __denom) 10143: throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: __extension__ extern lldiv_t lldiv (long long int __numer, 10143: long long int __denom) 10143: throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 10143: # 754 "/usr/include/stdlib.h" 3 4 10143: extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, 10143: int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, 10143: int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: extern char *gcvt (double __value, int __ndigit, char *__buf) 10143: throw () __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: extern char *qecvt (long double __value, int __ndigit, 10143: int *__restrict __decpt, int *__restrict __sign) 10143: throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); 10143: extern char *qfcvt (long double __value, int __ndigit, 10143: int *__restrict __decpt, int *__restrict __sign) 10143: throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); 10143: extern char *qgcvt (long double __value, int __ndigit, char *__buf) 10143: throw () __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, 10143: int *__restrict __sign, char *__restrict __buf, 10143: size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); 10143: extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, 10143: int *__restrict __sign, char *__restrict __buf, 10143: size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); 10143: 10143: extern int qecvt_r (long double __value, int __ndigit, 10143: int *__restrict __decpt, int *__restrict __sign, 10143: char *__restrict __buf, size_t __len) 10143: throw () __attribute__ ((__nonnull__ (3, 4, 5))); 10143: extern int qfcvt_r (long double __value, int __ndigit, 10143: int *__restrict __decpt, int *__restrict __sign, 10143: char *__restrict __buf, size_t __len) 10143: throw () __attribute__ ((__nonnull__ (3, 4, 5))); 10143: 10143: 10143: 10143: 10143: 10143: extern int mblen (const char *__s, size_t __n) throw (); 10143: 10143: 10143: extern int mbtowc (wchar_t *__restrict __pwc, 10143: const char *__restrict __s, size_t __n) throw (); 10143: 10143: 10143: extern int wctomb (char *__s, wchar_t __wchar) throw (); 10143: 10143: 10143: 10143: extern size_t mbstowcs (wchar_t *__restrict __pwcs, 10143: const char *__restrict __s, size_t __n) throw (); 10143: 10143: extern size_t wcstombs (char *__restrict __s, 10143: const wchar_t *__restrict __pwcs, size_t __n) 10143: throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int rpmatch (const char *__response) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 10143: # 839 "/usr/include/stdlib.h" 3 4 10143: extern int getsubopt (char **__restrict __optionp, 10143: char *const *__restrict __tokens, 10143: char **__restrict __valuep) 10143: throw () __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: 10143: extern void setkey (const char *__key) throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int posix_openpt (int __oflag) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int grantpt (int __fd) throw (); 10143: 10143: 10143: 10143: extern int unlockpt (int __fd) throw (); 10143: 10143: 10143: 10143: 10143: extern char *ptsname (int __fd) throw () __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int ptsname_r (int __fd, char *__buf, size_t __buflen) 10143: throw () __attribute__ ((__nonnull__ (2))); 10143: 10143: 10143: extern int getpt (void); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int getloadavg (double __loadavg[], int __nelem) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: # 901 "/usr/include/stdlib.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/stdlib-float.h" 1 3 4 10143: # 24 "/usr/include/powerpc64le-linux-gnu/bits/stdlib-float.h" 3 4 10143: extern __inline __attribute__ ((__gnu_inline__)) double 10143: __attribute__ ((__leaf__)) atof (const char *__nptr) throw () 10143: { 10143: return strtod (__nptr, (char **) __null); 10143: } 10143: # 902 "/usr/include/stdlib.h" 2 3 4 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/stdlib.h" 1 3 4 10143: # 23 "/usr/include/powerpc64le-linux-gnu/bits/stdlib.h" 3 4 10143: extern char *__realpath_chk (const char *__restrict __name, 10143: char *__restrict __resolved, 10143: size_t __resolvedlen) throw () __attribute__ ((__warn_unused_result__)); 10143: extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) throw () __asm__ ("" "realpath") 10143: 10143: __attribute__ ((__warn_unused_result__)); 10143: extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) throw () __asm__ ("" "__realpath_chk") 10143: 10143: 10143: __attribute__ ((__warn_unused_result__)) 10143: __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer"))) 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * 10143: __attribute__ ((__leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) throw () 10143: { 10143: if (__builtin_object_size (__resolved, 2 > 1) != (size_t) -1) 10143: { 10143: 10143: 10143: 10143: 10143: return __realpath_chk (__name, __resolved, __builtin_object_size (__resolved, 2 > 1)); 10143: } 10143: 10143: return __realpath_alias (__name, __resolved); 10143: } 10143: 10143: 10143: extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen, 10143: size_t __nreal) throw () __attribute__ ((__nonnull__ (2))); 10143: extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) throw () __asm__ ("" "ptsname_r") 10143: 10143: __attribute__ ((__nonnull__ (2))); 10143: extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) throw () __asm__ ("" "__ptsname_r_chk") 10143: 10143: 10143: __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf"))) 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: __attribute__ ((__leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) throw () 10143: { 10143: if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) 10143: { 10143: if (!__builtin_constant_p (__buflen)) 10143: return __ptsname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); 10143: if (__buflen > __builtin_object_size (__buf, 2 > 1)) 10143: return __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); 10143: } 10143: return __ptsname_r_alias (__fd, __buf, __buflen); 10143: } 10143: 10143: 10143: extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen) 10143: throw () __attribute__ ((__warn_unused_result__)); 10143: extern int __wctomb_alias (char *__s, wchar_t __wchar) throw () __asm__ ("" "wctomb") 10143: __attribute__ ((__warn_unused_result__)); 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int 10143: __attribute__ ((__leaf__)) wctomb (char *__s, wchar_t __wchar) throw () 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1)) 10143: return __wctomb_chk (__s, __wchar, __builtin_object_size (__s, 2 > 1)); 10143: return __wctomb_alias (__s, __wchar); 10143: } 10143: 10143: 10143: extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, 10143: const char *__restrict __src, 10143: size_t __len, size_t __dstlen) throw (); 10143: extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) throw () __asm__ ("" "mbstowcs") 10143: 10143: 10143: ; 10143: extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) throw () __asm__ ("" "__mbstowcs_chk") 10143: 10143: 10143: 10143: __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 10143: __attribute__ ((__leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) throw () 10143: 10143: { 10143: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 10143: { 10143: if (!__builtin_constant_p (__len)) 10143: return __mbstowcs_chk (__dst, __src, __len, 10143: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 10143: 10143: if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) 10143: return __mbstowcs_chk_warn (__dst, __src, __len, 10143: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 10143: } 10143: return __mbstowcs_alias (__dst, __src, __len); 10143: } 10143: 10143: 10143: extern size_t __wcstombs_chk (char *__restrict __dst, 10143: const wchar_t *__restrict __src, 10143: size_t __len, size_t __dstlen) throw (); 10143: extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) throw () __asm__ ("" "wcstombs") 10143: 10143: 10143: ; 10143: extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) throw () __asm__ ("" "__wcstombs_chk") 10143: 10143: 10143: 10143: __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len"))); 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 10143: __attribute__ ((__leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) throw () 10143: 10143: { 10143: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 10143: { 10143: if (!__builtin_constant_p (__len)) 10143: return __wcstombs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)); 10143: if (__len > __builtin_object_size (__dst, 2 > 1)) 10143: return __wcstombs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)); 10143: } 10143: return __wcstombs_alias (__dst, __src, __len); 10143: } 10143: # 906 "/usr/include/stdlib.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: } 10143: # 76 "/usr/include/c++/8/cstdlib" 2 3 10143: 10143: # 1 "/usr/include/c++/8/bits/std_abs.h" 1 3 10143: # 33 "/usr/include/c++/8/bits/std_abs.h" 3 10143: 10143: # 34 "/usr/include/c++/8/bits/std_abs.h" 3 10143: # 46 "/usr/include/c++/8/bits/std_abs.h" 3 10143: extern "C++" 10143: { 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: using ::abs; 10143: 10143: 10143: inline long 10143: abs(long __i) { return __builtin_labs(__i); } 10143: 10143: 10143: 10143: inline long long 10143: abs(long long __x) { return __builtin_llabs (__x); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: inline constexpr double 10143: abs(double __x) 10143: { return __builtin_fabs(__x); } 10143: 10143: inline constexpr float 10143: abs(float __x) 10143: { return __builtin_fabsf(__x); } 10143: 10143: inline constexpr long double 10143: abs(long double __x) 10143: { return __builtin_fabsl(__x); } 10143: 10143: 10143: 10143: inline constexpr __int128 10143: abs(__int128 __x) { return __x >= 0 ? __x : -__x; } 10143: # 100 "/usr/include/c++/8/bits/std_abs.h" 3 10143: inline constexpr 10143: __ieee128 10143: abs(__ieee128 __x) 10143: { return __x < 0 ? -__x : __x; } 10143: 10143: 10143: 10143: } 10143: } 10143: # 78 "/usr/include/c++/8/cstdlib" 2 3 10143: # 118 "/usr/include/c++/8/cstdlib" 3 10143: extern "C++" 10143: { 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: using ::div_t; 10143: using ::ldiv_t; 10143: 10143: using ::abort; 10143: using ::atexit; 10143: 10143: 10143: using ::at_quick_exit; 10143: 10143: 10143: using ::atof; 10143: using ::atoi; 10143: using ::atol; 10143: using ::bsearch; 10143: using ::calloc; 10143: using ::div; 10143: using ::exit; 10143: using ::free; 10143: using ::getenv; 10143: using ::labs; 10143: using ::ldiv; 10143: using ::malloc; 10143: 10143: using ::mblen; 10143: using ::mbstowcs; 10143: using ::mbtowc; 10143: 10143: using ::qsort; 10143: 10143: 10143: using ::quick_exit; 10143: 10143: 10143: using ::rand; 10143: using ::realloc; 10143: using ::srand; 10143: using ::strtod; 10143: using ::strtol; 10143: using ::strtoul; 10143: using ::system; 10143: 10143: using ::wcstombs; 10143: using ::wctomb; 10143: 10143: 10143: 10143: inline ldiv_t 10143: div(long __i, long __j) { return ldiv(__i, __j); } 10143: 10143: 10143: 10143: 10143: } 10143: # 189 "/usr/include/c++/8/cstdlib" 3 10143: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: using ::lldiv_t; 10143: 10143: 10143: 10143: 10143: 10143: using ::_Exit; 10143: 10143: 10143: 10143: using ::llabs; 10143: 10143: inline lldiv_t 10143: div(long long __n, long long __d) 10143: { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } 10143: 10143: using ::lldiv; 10143: # 221 "/usr/include/c++/8/cstdlib" 3 10143: using ::atoll; 10143: using ::strtoll; 10143: using ::strtoull; 10143: 10143: using ::strtof; 10143: using ::strtold; 10143: 10143: 10143: } 10143: 10143: namespace std 10143: { 10143: 10143: using ::__gnu_cxx::lldiv_t; 10143: 10143: using ::__gnu_cxx::_Exit; 10143: 10143: using ::__gnu_cxx::llabs; 10143: using ::__gnu_cxx::div; 10143: using ::__gnu_cxx::lldiv; 10143: 10143: using ::__gnu_cxx::atoll; 10143: using ::__gnu_cxx::strtof; 10143: using ::__gnu_cxx::strtoll; 10143: using ::__gnu_cxx::strtoull; 10143: using ::__gnu_cxx::strtold; 10143: } 10143: 10143: 10143: 10143: } 10143: # 60 "/usr/include/c++/8/bits/stl_algo.h" 2 3 10143: # 1 "/usr/include/c++/8/bits/algorithmfwd.h" 1 3 10143: # 33 "/usr/include/c++/8/bits/algorithmfwd.h" 3 10143: 10143: # 34 "/usr/include/c++/8/bits/algorithmfwd.h" 3 10143: # 42 "/usr/include/c++/8/bits/algorithmfwd.h" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 195 "/usr/include/c++/8/bits/algorithmfwd.h" 3 10143: template 10143: bool 10143: all_of(_IIter, _IIter, _Predicate); 10143: 10143: template 10143: bool 10143: any_of(_IIter, _IIter, _Predicate); 10143: 10143: 10143: template 10143: bool 10143: binary_search(_FIter, _FIter, const _Tp&); 10143: 10143: template 10143: bool 10143: binary_search(_FIter, _FIter, const _Tp&, _Compare); 10143: # 224 "/usr/include/c++/8/bits/algorithmfwd.h" 3 10143: template 10143: _OIter 10143: copy(_IIter, _IIter, _OIter); 10143: 10143: template 10143: _BIter2 10143: copy_backward(_BIter1, _BIter1, _BIter2); 10143: 10143: 10143: template 10143: _OIter 10143: copy_if(_IIter, _IIter, _OIter, _Predicate); 10143: 10143: template 10143: _OIter 10143: copy_n(_IIter, _Size, _OIter); 10143: 10143: 10143: 10143: 10143: 10143: template 10143: pair<_FIter, _FIter> 10143: equal_range(_FIter, _FIter, const _Tp&); 10143: 10143: template 10143: pair<_FIter, _FIter> 10143: equal_range(_FIter, _FIter, const _Tp&, _Compare); 10143: 10143: template 10143: void 10143: fill(_FIter, _FIter, const _Tp&); 10143: 10143: template 10143: _OIter 10143: fill_n(_OIter, _Size, const _Tp&); 10143: 10143: 10143: 10143: template 10143: _FIter1 10143: find_end(_FIter1, _FIter1, _FIter2, _FIter2); 10143: 10143: template 10143: _FIter1 10143: find_end(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); 10143: 10143: 10143: 10143: 10143: 10143: template 10143: _IIter 10143: find_if_not(_IIter, _IIter, _Predicate); 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: bool 10143: includes(_IIter1, _IIter1, _IIter2, _IIter2); 10143: 10143: template 10143: bool 10143: includes(_IIter1, _IIter1, _IIter2, _IIter2, _Compare); 10143: 10143: template 10143: void 10143: inplace_merge(_BIter, _BIter, _BIter); 10143: 10143: template 10143: void 10143: inplace_merge(_BIter, _BIter, _BIter, _Compare); 10143: 10143: 10143: template 10143: bool 10143: is_heap(_RAIter, _RAIter); 10143: 10143: template 10143: bool 10143: is_heap(_RAIter, _RAIter, _Compare); 10143: 10143: template 10143: _RAIter 10143: is_heap_until(_RAIter, _RAIter); 10143: 10143: template 10143: _RAIter 10143: is_heap_until(_RAIter, _RAIter, _Compare); 10143: 10143: template 10143: bool 10143: is_partitioned(_IIter, _IIter, _Predicate); 10143: 10143: template 10143: bool 10143: is_permutation(_FIter1, _FIter1, _FIter2); 10143: 10143: template 10143: bool 10143: is_permutation(_FIter1, _FIter1, _FIter2, _BinaryPredicate); 10143: 10143: template 10143: bool 10143: is_sorted(_FIter, _FIter); 10143: 10143: template 10143: bool 10143: is_sorted(_FIter, _FIter, _Compare); 10143: 10143: template 10143: _FIter 10143: is_sorted_until(_FIter, _FIter); 10143: 10143: template 10143: _FIter 10143: is_sorted_until(_FIter, _FIter, _Compare); 10143: 10143: 10143: template 10143: void 10143: iter_swap(_FIter1, _FIter2); 10143: 10143: template 10143: _FIter 10143: lower_bound(_FIter, _FIter, const _Tp&); 10143: 10143: template 10143: _FIter 10143: lower_bound(_FIter, _FIter, const _Tp&, _Compare); 10143: 10143: template 10143: void 10143: make_heap(_RAIter, _RAIter); 10143: 10143: template 10143: void 10143: make_heap(_RAIter, _RAIter, _Compare); 10143: 10143: template 10143: 10143: const _Tp& 10143: max(const _Tp&, const _Tp&); 10143: 10143: template 10143: 10143: const _Tp& 10143: max(const _Tp&, const _Tp&, _Compare); 10143: 10143: 10143: 10143: 10143: template 10143: 10143: const _Tp& 10143: min(const _Tp&, const _Tp&); 10143: 10143: template 10143: 10143: const _Tp& 10143: min(const _Tp&, const _Tp&, _Compare); 10143: 10143: 10143: 10143: 10143: template 10143: 10143: pair 10143: minmax(const _Tp&, const _Tp&); 10143: 10143: template 10143: 10143: pair 10143: minmax(const _Tp&, const _Tp&, _Compare); 10143: 10143: template 10143: 10143: pair<_FIter, _FIter> 10143: minmax_element(_FIter, _FIter); 10143: 10143: template 10143: 10143: pair<_FIter, _FIter> 10143: minmax_element(_FIter, _FIter, _Compare); 10143: 10143: template 10143: 10143: _Tp 10143: min(initializer_list<_Tp>); 10143: 10143: template 10143: 10143: _Tp 10143: min(initializer_list<_Tp>, _Compare); 10143: 10143: template 10143: 10143: _Tp 10143: max(initializer_list<_Tp>); 10143: 10143: template 10143: 10143: _Tp 10143: max(initializer_list<_Tp>, _Compare); 10143: 10143: template 10143: 10143: pair<_Tp, _Tp> 10143: minmax(initializer_list<_Tp>); 10143: 10143: template 10143: 10143: pair<_Tp, _Tp> 10143: minmax(initializer_list<_Tp>, _Compare); 10143: 10143: 10143: 10143: 10143: template 10143: bool 10143: next_permutation(_BIter, _BIter); 10143: 10143: template 10143: bool 10143: next_permutation(_BIter, _BIter, _Compare); 10143: 10143: 10143: template 10143: bool 10143: none_of(_IIter, _IIter, _Predicate); 10143: 10143: 10143: 10143: 10143: 10143: template 10143: _RAIter 10143: partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter); 10143: 10143: template 10143: _RAIter 10143: partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter, _Compare); 10143: 10143: 10143: 10143: 10143: template 10143: pair<_OIter1, _OIter2> 10143: partition_copy(_IIter, _IIter, _OIter1, _OIter2, _Predicate); 10143: 10143: template 10143: _FIter 10143: partition_point(_FIter, _FIter, _Predicate); 10143: 10143: 10143: template 10143: void 10143: pop_heap(_RAIter, _RAIter); 10143: 10143: template 10143: void 10143: pop_heap(_RAIter, _RAIter, _Compare); 10143: 10143: template 10143: bool 10143: prev_permutation(_BIter, _BIter); 10143: 10143: template 10143: bool 10143: prev_permutation(_BIter, _BIter, _Compare); 10143: 10143: template 10143: void 10143: push_heap(_RAIter, _RAIter); 10143: 10143: template 10143: void 10143: push_heap(_RAIter, _RAIter, _Compare); 10143: 10143: 10143: 10143: template 10143: _FIter 10143: remove(_FIter, _FIter, const _Tp&); 10143: 10143: template 10143: _FIter 10143: remove_if(_FIter, _FIter, _Predicate); 10143: 10143: template 10143: _OIter 10143: remove_copy(_IIter, _IIter, _OIter, const _Tp&); 10143: 10143: template 10143: _OIter 10143: remove_copy_if(_IIter, _IIter, _OIter, _Predicate); 10143: 10143: 10143: 10143: template 10143: _OIter 10143: replace_copy(_IIter, _IIter, _OIter, const _Tp&, const _Tp&); 10143: 10143: template 10143: _OIter 10143: replace_copy_if(_Iter, _Iter, _OIter, _Predicate, const _Tp&); 10143: 10143: 10143: 10143: template 10143: void 10143: reverse(_BIter, _BIter); 10143: 10143: template 10143: _OIter 10143: reverse_copy(_BIter, _BIter, _OIter); 10143: 10143: inline namespace _V2 10143: { 10143: template 10143: _FIter 10143: rotate(_FIter, _FIter, _FIter); 10143: } 10143: 10143: template 10143: _OIter 10143: rotate_copy(_FIter, _FIter, _FIter, _OIter); 10143: # 565 "/usr/include/c++/8/bits/algorithmfwd.h" 3 10143: template 10143: void 10143: shuffle(_RAIter, _RAIter, _UGenerator&&); 10143: 10143: 10143: template 10143: void 10143: sort_heap(_RAIter, _RAIter); 10143: 10143: template 10143: void 10143: sort_heap(_RAIter, _RAIter, _Compare); 10143: 10143: template 10143: _BIter 10143: stable_partition(_BIter, _BIter, _Predicate); 10143: # 594 "/usr/include/c++/8/bits/algorithmfwd.h" 3 10143: template 10143: _FIter2 10143: swap_ranges(_FIter1, _FIter1, _FIter2); 10143: 10143: 10143: 10143: template 10143: _FIter 10143: unique(_FIter, _FIter); 10143: 10143: template 10143: _FIter 10143: unique(_FIter, _FIter, _BinaryPredicate); 10143: 10143: 10143: 10143: template 10143: _FIter 10143: upper_bound(_FIter, _FIter, const _Tp&); 10143: 10143: template 10143: _FIter 10143: upper_bound(_FIter, _FIter, const _Tp&, _Compare); 10143: 10143: 10143: 10143: template 10143: _FIter 10143: adjacent_find(_FIter, _FIter); 10143: 10143: template 10143: _FIter 10143: adjacent_find(_FIter, _FIter, _BinaryPredicate); 10143: 10143: template 10143: typename iterator_traits<_IIter>::difference_type 10143: count(_IIter, _IIter, const _Tp&); 10143: 10143: template 10143: typename iterator_traits<_IIter>::difference_type 10143: count_if(_IIter, _IIter, _Predicate); 10143: 10143: template 10143: bool 10143: equal(_IIter1, _IIter1, _IIter2); 10143: 10143: template 10143: bool 10143: equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate); 10143: 10143: template 10143: _IIter 10143: find(_IIter, _IIter, const _Tp&); 10143: 10143: template 10143: _FIter1 10143: find_first_of(_FIter1, _FIter1, _FIter2, _FIter2); 10143: 10143: template 10143: _FIter1 10143: find_first_of(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); 10143: 10143: template 10143: _IIter 10143: find_if(_IIter, _IIter, _Predicate); 10143: 10143: template 10143: _Funct 10143: for_each(_IIter, _IIter, _Funct); 10143: 10143: template 10143: void 10143: generate(_FIter, _FIter, _Generator); 10143: 10143: template 10143: _OIter 10143: generate_n(_OIter, _Size, _Generator); 10143: 10143: template 10143: bool 10143: lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2); 10143: 10143: template 10143: bool 10143: lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2, _Compare); 10143: 10143: template 10143: 10143: _FIter 10143: max_element(_FIter, _FIter); 10143: 10143: template 10143: 10143: _FIter 10143: max_element(_FIter, _FIter, _Compare); 10143: 10143: template 10143: _OIter 10143: merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); 10143: 10143: template 10143: _OIter 10143: merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); 10143: 10143: template 10143: 10143: _FIter 10143: min_element(_FIter, _FIter); 10143: 10143: template 10143: 10143: _FIter 10143: min_element(_FIter, _FIter, _Compare); 10143: 10143: template 10143: pair<_IIter1, _IIter2> 10143: mismatch(_IIter1, _IIter1, _IIter2); 10143: 10143: template 10143: pair<_IIter1, _IIter2> 10143: mismatch(_IIter1, _IIter1, _IIter2, _BinaryPredicate); 10143: 10143: template 10143: void 10143: nth_element(_RAIter, _RAIter, _RAIter); 10143: 10143: template 10143: void 10143: nth_element(_RAIter, _RAIter, _RAIter, _Compare); 10143: 10143: template 10143: void 10143: partial_sort(_RAIter, _RAIter, _RAIter); 10143: 10143: template 10143: void 10143: partial_sort(_RAIter, _RAIter, _RAIter, _Compare); 10143: 10143: template 10143: _BIter 10143: partition(_BIter, _BIter, _Predicate); 10143: 10143: template 10143: void 10143: random_shuffle(_RAIter, _RAIter); 10143: 10143: template 10143: void 10143: random_shuffle(_RAIter, _RAIter, 10143: 10143: _Generator&&); 10143: 10143: 10143: 10143: 10143: template 10143: void 10143: replace(_FIter, _FIter, const _Tp&, const _Tp&); 10143: 10143: template 10143: void 10143: replace_if(_FIter, _FIter, _Predicate, const _Tp&); 10143: 10143: template 10143: _FIter1 10143: search(_FIter1, _FIter1, _FIter2, _FIter2); 10143: 10143: template 10143: _FIter1 10143: search(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); 10143: 10143: template 10143: _FIter 10143: search_n(_FIter, _FIter, _Size, const _Tp&); 10143: 10143: template 10143: _FIter 10143: search_n(_FIter, _FIter, _Size, const _Tp&, _BinaryPredicate); 10143: 10143: template 10143: _OIter 10143: set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); 10143: 10143: template 10143: _OIter 10143: set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); 10143: 10143: template 10143: _OIter 10143: set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); 10143: 10143: template 10143: _OIter 10143: set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); 10143: 10143: template 10143: _OIter 10143: set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); 10143: 10143: template 10143: _OIter 10143: set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, 10143: _OIter, _Compare); 10143: 10143: template 10143: _OIter 10143: set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); 10143: 10143: template 10143: _OIter 10143: set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); 10143: 10143: template 10143: void 10143: sort(_RAIter, _RAIter); 10143: 10143: template 10143: void 10143: sort(_RAIter, _RAIter, _Compare); 10143: 10143: template 10143: void 10143: stable_sort(_RAIter, _RAIter); 10143: 10143: template 10143: void 10143: stable_sort(_RAIter, _RAIter, _Compare); 10143: 10143: template 10143: _OIter 10143: transform(_IIter, _IIter, _OIter, _UnaryOperation); 10143: 10143: template 10143: _OIter 10143: transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation); 10143: 10143: template 10143: _OIter 10143: unique_copy(_IIter, _IIter, _OIter); 10143: 10143: template 10143: _OIter 10143: unique_copy(_IIter, _IIter, _OIter, _BinaryPredicate); 10143: 10143: 10143: 10143: } 10143: # 61 "/usr/include/c++/8/bits/stl_algo.h" 2 3 10143: # 1 "/usr/include/c++/8/bits/stl_heap.h" 1 3 10143: # 62 "/usr/include/c++/8/bits/stl_heap.h" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: _Distance 10143: __is_heap_until(_RandomAccessIterator __first, _Distance __n, 10143: _Compare& __comp) 10143: { 10143: _Distance __parent = 0; 10143: for (_Distance __child = 1; __child < __n; ++__child) 10143: { 10143: if (__comp(__first + __parent, __first + __child)) 10143: return __child; 10143: if ((__child & 1) == 0) 10143: ++__parent; 10143: } 10143: return __n; 10143: } 10143: 10143: 10143: 10143: template 10143: inline bool 10143: __is_heap(_RandomAccessIterator __first, _Distance __n) 10143: { 10143: __gnu_cxx::__ops::_Iter_less_iter __comp; 10143: return std::__is_heap_until(__first, __n, __comp) == __n; 10143: } 10143: 10143: template 10143: inline bool 10143: __is_heap(_RandomAccessIterator __first, _Compare __comp, _Distance __n) 10143: { 10143: typedef __decltype(__comp) _Cmp; 10143: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 10143: return std::__is_heap_until(__first, __n, __cmp) == __n; 10143: } 10143: 10143: template 10143: inline bool 10143: __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 10143: { return std::__is_heap(__first, std::distance(__first, __last)); } 10143: 10143: template 10143: inline bool 10143: __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 10143: _Compare __comp) 10143: { 10143: return std::__is_heap(__first, std::move(__comp), 10143: std::distance(__first, __last)); 10143: } 10143: 10143: 10143: 10143: 10143: template 10143: void 10143: __push_heap(_RandomAccessIterator __first, 10143: _Distance __holeIndex, _Distance __topIndex, _Tp __value, 10143: _Compare& __comp) 10143: { 10143: _Distance __parent = (__holeIndex - 1) / 2; 10143: while (__holeIndex > __topIndex && __comp(__first + __parent, __value)) 10143: { 10143: *(__first + __holeIndex) = std::move(*(__first + __parent)); 10143: __holeIndex = __parent; 10143: __parent = (__holeIndex - 1) / 2; 10143: } 10143: *(__first + __holeIndex) = std::move(__value); 10143: } 10143: # 152 "/usr/include/c++/8/bits/stl_heap.h" 3 10143: template 10143: inline void 10143: push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 10143: { 10143: typedef typename iterator_traits<_RandomAccessIterator>::value_type 10143: _ValueType; 10143: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 10143: _DistanceType; 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: 10143: __gnu_cxx::__ops::_Iter_less_val __comp; 10143: _ValueType __value = std::move(*(__last - 1)); 10143: std::__push_heap(__first, _DistanceType((__last - __first) - 1), 10143: _DistanceType(0), std::move(__value), __comp); 10143: } 10143: # 187 "/usr/include/c++/8/bits/stl_heap.h" 3 10143: template 10143: inline void 10143: push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 10143: _Compare __comp) 10143: { 10143: typedef typename iterator_traits<_RandomAccessIterator>::value_type 10143: _ValueType; 10143: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 10143: _DistanceType; 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: 10143: __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp))) 10143: __cmp(std::move(__comp)); 10143: _ValueType __value = std::move(*(__last - 1)); 10143: std::__push_heap(__first, _DistanceType((__last - __first) - 1), 10143: _DistanceType(0), std::move(__value), __cmp); 10143: } 10143: 10143: template 10143: void 10143: __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, 10143: _Distance __len, _Tp __value, _Compare __comp) 10143: { 10143: const _Distance __topIndex = __holeIndex; 10143: _Distance __secondChild = __holeIndex; 10143: while (__secondChild < (__len - 1) / 2) 10143: { 10143: __secondChild = 2 * (__secondChild + 1); 10143: if (__comp(__first + __secondChild, 10143: __first + (__secondChild - 1))) 10143: __secondChild--; 10143: *(__first + __holeIndex) = std::move(*(__first + __secondChild)); 10143: __holeIndex = __secondChild; 10143: } 10143: if ((__len & 1) == 0 && __secondChild == (__len - 2) / 2) 10143: { 10143: __secondChild = 2 * (__secondChild + 1); 10143: *(__first + __holeIndex) = std::move(*(__first + (__secondChild - 1))) 10143: ; 10143: __holeIndex = __secondChild - 1; 10143: } 10143: __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp))) 10143: __cmp(std::move(__comp)); 10143: std::__push_heap(__first, __holeIndex, __topIndex, 10143: std::move(__value), __cmp); 10143: } 10143: 10143: template 10143: inline void 10143: __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 10143: _RandomAccessIterator __result, _Compare& __comp) 10143: { 10143: typedef typename iterator_traits<_RandomAccessIterator>::value_type 10143: _ValueType; 10143: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 10143: _DistanceType; 10143: 10143: _ValueType __value = std::move(*__result); 10143: *__result = std::move(*__first); 10143: std::__adjust_heap(__first, _DistanceType(0), 10143: _DistanceType(__last - __first), 10143: std::move(__value), __comp); 10143: } 10143: # 269 "/usr/include/c++/8/bits/stl_heap.h" 3 10143: template 10143: inline void 10143: pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: ; 10143: 10143: if (__last - __first > 1) 10143: { 10143: --__last; 10143: __gnu_cxx::__ops::_Iter_less_iter __comp; 10143: std::__pop_heap(__first, __last, __last, __comp); 10143: } 10143: } 10143: # 302 "/usr/include/c++/8/bits/stl_heap.h" 3 10143: template 10143: inline void 10143: pop_heap(_RandomAccessIterator __first, 10143: _RandomAccessIterator __last, _Compare __comp) 10143: { 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: ; 10143: 10143: if (__last - __first > 1) 10143: { 10143: typedef __decltype(__comp) _Cmp; 10143: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 10143: --__last; 10143: std::__pop_heap(__first, __last, __last, __cmp); 10143: } 10143: } 10143: 10143: template 10143: void 10143: __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 10143: _Compare& __comp) 10143: { 10143: typedef typename iterator_traits<_RandomAccessIterator>::value_type 10143: _ValueType; 10143: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 10143: _DistanceType; 10143: 10143: if (__last - __first < 2) 10143: return; 10143: 10143: const _DistanceType __len = __last - __first; 10143: _DistanceType __parent = (__len - 2) / 2; 10143: while (true) 10143: { 10143: _ValueType __value = std::move(*(__first + __parent)); 10143: std::__adjust_heap(__first, __parent, __len, std::move(__value), 10143: __comp); 10143: if (__parent == 0) 10143: return; 10143: __parent--; 10143: } 10143: } 10143: # 358 "/usr/include/c++/8/bits/stl_heap.h" 3 10143: template 10143: inline void 10143: make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: __gnu_cxx::__ops::_Iter_less_iter __comp; 10143: std::__make_heap(__first, __last, __comp); 10143: } 10143: # 384 "/usr/include/c++/8/bits/stl_heap.h" 3 10143: template 10143: inline void 10143: make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 10143: _Compare __comp) 10143: { 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: typedef __decltype(__comp) _Cmp; 10143: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 10143: std::__make_heap(__first, __last, __cmp); 10143: } 10143: 10143: template 10143: void 10143: __sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 10143: _Compare& __comp) 10143: { 10143: while (__last - __first > 1) 10143: { 10143: --__last; 10143: std::__pop_heap(__first, __last, __last, __comp); 10143: } 10143: } 10143: # 420 "/usr/include/c++/8/bits/stl_heap.h" 3 10143: template 10143: inline void 10143: sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: 10143: __gnu_cxx::__ops::_Iter_less_iter __comp; 10143: std::__sort_heap(__first, __last, __comp); 10143: } 10143: # 447 "/usr/include/c++/8/bits/stl_heap.h" 3 10143: template 10143: inline void 10143: sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 10143: _Compare __comp) 10143: { 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: 10143: typedef __decltype(__comp) _Cmp; 10143: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 10143: std::__sort_heap(__first, __last, __cmp); 10143: } 10143: # 475 "/usr/include/c++/8/bits/stl_heap.h" 3 10143: template 10143: inline _RandomAccessIterator 10143: is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: __gnu_cxx::__ops::_Iter_less_iter __comp; 10143: return __first + 10143: std::__is_heap_until(__first, std::distance(__first, __last), __comp); 10143: } 10143: # 503 "/usr/include/c++/8/bits/stl_heap.h" 3 10143: template 10143: inline _RandomAccessIterator 10143: is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last, 10143: _Compare __comp) 10143: { 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: typedef __decltype(__comp) _Cmp; 10143: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 10143: return __first 10143: + std::__is_heap_until(__first, std::distance(__first, __last), __cmp); 10143: } 10143: # 527 "/usr/include/c++/8/bits/stl_heap.h" 3 10143: template 10143: inline bool 10143: is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 10143: { return std::is_heap_until(__first, __last) == __last; } 10143: # 540 "/usr/include/c++/8/bits/stl_heap.h" 3 10143: template 10143: inline bool 10143: is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 10143: _Compare __comp) 10143: { 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: const auto __dist = std::distance(__first, __last); 10143: typedef __decltype(__comp) _Cmp; 10143: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 10143: return std::__is_heap_until(__first, __dist, __cmp) == __dist; 10143: } 10143: 10143: 10143: 10143: } 10143: # 62 "/usr/include/c++/8/bits/stl_algo.h" 2 3 10143: # 1 "/usr/include/c++/8/bits/stl_tempbuf.h" 1 3 10143: # 60 "/usr/include/c++/8/bits/stl_tempbuf.h" 3 10143: # 1 "/usr/include/c++/8/bits/stl_construct.h" 1 3 10143: # 59 "/usr/include/c++/8/bits/stl_construct.h" 3 10143: # 1 "/usr/include/c++/8/new" 1 3 10143: # 37 "/usr/include/c++/8/new" 3 10143: 10143: # 38 "/usr/include/c++/8/new" 3 10143: 10143: 10143: # 1 "/usr/include/c++/8/exception" 1 3 10143: # 33 "/usr/include/c++/8/exception" 3 10143: 10143: # 34 "/usr/include/c++/8/exception" 3 10143: 10143: #pragma GCC visibility push(default) 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/exception.h" 1 3 10143: # 34 "/usr/include/c++/8/bits/exception.h" 3 10143: 10143: # 35 "/usr/include/c++/8/bits/exception.h" 3 10143: 10143: #pragma GCC visibility push(default) 10143: 10143: 10143: 10143: extern "C++" { 10143: 10143: namespace std 10143: { 10143: # 60 "/usr/include/c++/8/bits/exception.h" 3 10143: class exception 10143: { 10143: public: 10143: exception() noexcept { } 10143: virtual ~exception() noexcept; 10143: 10143: 10143: 10143: virtual const char* 10143: what() const noexcept; 10143: }; 10143: 10143: } 10143: 10143: } 10143: 10143: #pragma GCC visibility pop 10143: # 39 "/usr/include/c++/8/exception" 2 3 10143: 10143: extern "C++" { 10143: 10143: namespace std 10143: { 10143: 10143: 10143: class bad_exception : public exception 10143: { 10143: public: 10143: bad_exception() noexcept { } 10143: 10143: 10143: 10143: virtual ~bad_exception() noexcept; 10143: 10143: 10143: virtual const char* 10143: what() const noexcept; 10143: }; 10143: 10143: 10143: typedef void (*terminate_handler) (); 10143: 10143: 10143: typedef void (*unexpected_handler) (); 10143: 10143: 10143: terminate_handler set_terminate(terminate_handler) noexcept; 10143: 10143: 10143: 10143: terminate_handler get_terminate() noexcept; 10143: 10143: 10143: 10143: 10143: void terminate() noexcept __attribute__ ((__noreturn__)); 10143: 10143: 10143: unexpected_handler set_unexpected(unexpected_handler) noexcept; 10143: 10143: 10143: 10143: unexpected_handler get_unexpected() noexcept; 10143: 10143: 10143: 10143: 10143: void unexpected() __attribute__ ((__noreturn__)); 10143: # 101 "/usr/include/c++/8/exception" 3 10143: 10143: bool uncaught_exception() noexcept __attribute__ ((__pure__)); 10143: 10143: 10143: 10143: 10143: int uncaught_exceptions() noexcept __attribute__ ((__pure__)); 10143: 10143: 10143: 10143: } 10143: 10143: namespace __gnu_cxx 10143: { 10143: 10143: # 133 "/usr/include/c++/8/exception" 3 10143: void __verbose_terminate_handler(); 10143: 10143: 10143: } 10143: 10143: } 10143: 10143: #pragma GCC visibility pop 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/exception_ptr.h" 1 3 10143: # 34 "/usr/include/c++/8/bits/exception_ptr.h" 3 10143: #pragma GCC visibility push(default) 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/cxxabi_init_exception.h" 1 3 10143: # 34 "/usr/include/c++/8/bits/cxxabi_init_exception.h" 3 10143: 10143: # 35 "/usr/include/c++/8/bits/cxxabi_init_exception.h" 3 10143: 10143: #pragma GCC visibility push(default) 10143: 10143: # 1 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stddef.h" 1 3 4 10143: # 39 "/usr/include/c++/8/bits/cxxabi_init_exception.h" 2 3 10143: # 50 "/usr/include/c++/8/bits/cxxabi_init_exception.h" 3 10143: namespace std 10143: { 10143: class type_info; 10143: } 10143: 10143: namespace __cxxabiv1 10143: { 10143: struct __cxa_refcounted_exception; 10143: 10143: extern "C" 10143: { 10143: 10143: void* 10143: __cxa_allocate_exception(size_t) noexcept; 10143: 10143: 10143: __cxa_refcounted_exception* 10143: __cxa_init_primary_exception(void *object, std::type_info *tinfo, 10143: void ( *dest) (void *)) noexcept; 10143: 10143: } 10143: } 10143: 10143: 10143: 10143: #pragma GCC visibility pop 10143: # 39 "/usr/include/c++/8/bits/exception_ptr.h" 2 3 10143: # 1 "/usr/include/c++/8/typeinfo" 1 3 10143: # 32 "/usr/include/c++/8/typeinfo" 3 10143: 10143: # 33 "/usr/include/c++/8/typeinfo" 3 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/hash_bytes.h" 1 3 10143: # 33 "/usr/include/c++/8/bits/hash_bytes.h" 3 10143: 10143: # 34 "/usr/include/c++/8/bits/hash_bytes.h" 3 10143: 10143: 10143: 10143: namespace std 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: size_t 10143: _Hash_bytes(const void* __ptr, size_t __len, size_t __seed); 10143: 10143: 10143: 10143: 10143: 10143: size_t 10143: _Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed); 10143: 10143: 10143: } 10143: # 37 "/usr/include/c++/8/typeinfo" 2 3 10143: 10143: 10143: #pragma GCC visibility push(default) 10143: 10143: extern "C++" { 10143: 10143: namespace __cxxabiv1 10143: { 10143: class __class_type_info; 10143: } 10143: # 80 "/usr/include/c++/8/typeinfo" 3 10143: namespace std 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: class type_info 10143: { 10143: public: 10143: 10143: 10143: 10143: 10143: virtual ~type_info(); 10143: 10143: 10143: 10143: const char* name() const noexcept 10143: { return __name[0] == '*' ? __name + 1 : __name; } 10143: # 115 "/usr/include/c++/8/typeinfo" 3 10143: bool before(const type_info& __arg) const noexcept 10143: { return (__name[0] == '*' && __arg.__name[0] == '*') 10143: ? __name < __arg.__name 10143: : __builtin_strcmp (__name, __arg.__name) < 0; } 10143: 10143: bool operator==(const type_info& __arg) const noexcept 10143: { 10143: return ((__name == __arg.__name) 10143: || (__name[0] != '*' && 10143: __builtin_strcmp (__name, __arg.__name) == 0)); 10143: } 10143: # 136 "/usr/include/c++/8/typeinfo" 3 10143: bool operator!=(const type_info& __arg) const noexcept 10143: { return !operator==(__arg); } 10143: 10143: 10143: size_t hash_code() const noexcept 10143: { 10143: 10143: return _Hash_bytes(name(), __builtin_strlen(name()), 10143: static_cast(0xc70f6907UL)); 10143: 10143: 10143: 10143: } 10143: 10143: 10143: 10143: virtual bool __is_pointer_p() const; 10143: 10143: 10143: virtual bool __is_function_p() const; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj, 10143: unsigned __outer) const; 10143: 10143: 10143: virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target, 10143: void **__obj_ptr) const; 10143: 10143: protected: 10143: const char *__name; 10143: 10143: explicit type_info(const char *__n): __name(__n) { } 10143: 10143: private: 10143: 10143: type_info& operator=(const type_info&); 10143: type_info(const type_info&); 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: class bad_cast : public exception 10143: { 10143: public: 10143: bad_cast() noexcept { } 10143: 10143: 10143: 10143: virtual ~bad_cast() noexcept; 10143: 10143: 10143: virtual const char* what() const noexcept; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: class bad_typeid : public exception 10143: { 10143: public: 10143: bad_typeid () noexcept { } 10143: 10143: 10143: 10143: virtual ~bad_typeid() noexcept; 10143: 10143: 10143: virtual const char* what() const noexcept; 10143: }; 10143: } 10143: 10143: } 10143: 10143: #pragma GCC visibility pop 10143: # 40 "/usr/include/c++/8/bits/exception_ptr.h" 2 3 10143: # 1 "/usr/include/c++/8/new" 1 3 10143: # 41 "/usr/include/c++/8/bits/exception_ptr.h" 2 3 10143: 10143: extern "C++" { 10143: 10143: namespace std 10143: { 10143: class type_info; 10143: 10143: 10143: 10143: 10143: 10143: namespace __exception_ptr 10143: { 10143: class exception_ptr; 10143: } 10143: 10143: using __exception_ptr::exception_ptr; 10143: 10143: 10143: 10143: 10143: 10143: exception_ptr current_exception() noexcept; 10143: 10143: template 10143: exception_ptr make_exception_ptr(_Ex) noexcept; 10143: 10143: 10143: void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__)); 10143: 10143: namespace __exception_ptr 10143: { 10143: using std::rethrow_exception; 10143: 10143: 10143: 10143: 10143: 10143: class exception_ptr 10143: { 10143: void* _M_exception_object; 10143: 10143: explicit exception_ptr(void* __e) noexcept; 10143: 10143: void _M_addref() noexcept; 10143: void _M_release() noexcept; 10143: 10143: void *_M_get() const noexcept __attribute__ ((__pure__)); 10143: 10143: friend exception_ptr std::current_exception() noexcept; 10143: friend void std::rethrow_exception(exception_ptr); 10143: template 10143: friend exception_ptr std::make_exception_ptr(_Ex) noexcept; 10143: 10143: public: 10143: exception_ptr() noexcept; 10143: 10143: exception_ptr(const exception_ptr&) noexcept; 10143: 10143: 10143: exception_ptr(nullptr_t) noexcept 10143: : _M_exception_object(0) 10143: { } 10143: 10143: exception_ptr(exception_ptr&& __o) noexcept 10143: : _M_exception_object(__o._M_exception_object) 10143: { __o._M_exception_object = 0; } 10143: # 117 "/usr/include/c++/8/bits/exception_ptr.h" 3 10143: exception_ptr& 10143: operator=(const exception_ptr&) noexcept; 10143: 10143: 10143: exception_ptr& 10143: operator=(exception_ptr&& __o) noexcept 10143: { 10143: exception_ptr(static_cast(__o)).swap(*this); 10143: return *this; 10143: } 10143: 10143: 10143: ~exception_ptr() noexcept; 10143: 10143: void 10143: swap(exception_ptr&) noexcept; 10143: # 144 "/usr/include/c++/8/bits/exception_ptr.h" 3 10143: explicit operator bool() const 10143: { return _M_exception_object; } 10143: 10143: 10143: friend bool 10143: operator==(const exception_ptr&, const exception_ptr&) 10143: noexcept __attribute__ ((__pure__)); 10143: 10143: const class std::type_info* 10143: __cxa_exception_type() const noexcept 10143: __attribute__ ((__pure__)); 10143: }; 10143: 10143: bool 10143: operator==(const exception_ptr&, const exception_ptr&) 10143: noexcept __attribute__ ((__pure__)); 10143: 10143: bool 10143: operator!=(const exception_ptr&, const exception_ptr&) 10143: noexcept __attribute__ ((__pure__)); 10143: 10143: inline void 10143: swap(exception_ptr& __lhs, exception_ptr& __rhs) 10143: { __lhs.swap(__rhs); } 10143: 10143: template 10143: inline void 10143: __dest_thunk(void* __x) 10143: { static_cast<_Ex*>(__x)->~_Ex(); } 10143: 10143: } 10143: 10143: 10143: template 10143: exception_ptr 10143: make_exception_ptr(_Ex __ex) noexcept 10143: { 10143: # 200 "/usr/include/c++/8/bits/exception_ptr.h" 3 10143: return exception_ptr(); 10143: 10143: } 10143: 10143: 10143: } 10143: 10143: } 10143: 10143: #pragma GCC visibility pop 10143: # 144 "/usr/include/c++/8/exception" 2 3 10143: # 1 "/usr/include/c++/8/bits/nested_exception.h" 1 3 10143: # 33 "/usr/include/c++/8/bits/nested_exception.h" 3 10143: #pragma GCC visibility push(default) 10143: # 42 "/usr/include/c++/8/bits/nested_exception.h" 3 10143: extern "C++" { 10143: 10143: namespace std 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: class nested_exception 10143: { 10143: exception_ptr _M_ptr; 10143: 10143: public: 10143: nested_exception() noexcept : _M_ptr(current_exception()) { } 10143: 10143: nested_exception(const nested_exception&) noexcept = default; 10143: 10143: nested_exception& operator=(const nested_exception&) noexcept = default; 10143: 10143: virtual ~nested_exception() noexcept; 10143: 10143: [[noreturn]] 10143: void 10143: rethrow_nested() const 10143: { 10143: if (_M_ptr) 10143: rethrow_exception(_M_ptr); 10143: std::terminate(); 10143: } 10143: 10143: exception_ptr 10143: nested_ptr() const noexcept 10143: { return _M_ptr; } 10143: }; 10143: 10143: template 10143: struct _Nested_exception : public _Except, public nested_exception 10143: { 10143: explicit _Nested_exception(const _Except& __ex) 10143: : _Except(__ex) 10143: { } 10143: 10143: explicit _Nested_exception(_Except&& __ex) 10143: : _Except(static_cast<_Except&&>(__ex)) 10143: { } 10143: }; 10143: 10143: 10143: 10143: 10143: template 10143: [[noreturn]] 10143: inline void 10143: __throw_with_nested_impl(_Tp&& __t, true_type) 10143: { 10143: using _Up = typename remove_reference<_Tp>::type; 10143: throw _Nested_exception<_Up>{std::forward<_Tp>(__t)}; 10143: } 10143: 10143: template 10143: [[noreturn]] 10143: inline void 10143: __throw_with_nested_impl(_Tp&& __t, false_type) 10143: { throw std::forward<_Tp>(__t); } 10143: 10143: 10143: 10143: template 10143: [[noreturn]] 10143: inline void 10143: throw_with_nested(_Tp&& __t) 10143: { 10143: using _Up = typename decay<_Tp>::type; 10143: using _CopyConstructible 10143: = __and_, is_move_constructible<_Up>>; 10143: static_assert(_CopyConstructible::value, 10143: "throw_with_nested argument must be CopyConstructible"); 10143: using __nest = __and_, __bool_constant, 10143: __not_>>; 10143: std::__throw_with_nested_impl(std::forward<_Tp>(__t), __nest{}); 10143: } 10143: 10143: 10143: template 10143: using __rethrow_if_nested_cond = typename enable_if< 10143: __and_, 10143: __or_<__not_>, 10143: is_convertible<_Tp*, nested_exception*>>>::value 10143: >::type; 10143: 10143: 10143: template 10143: inline __rethrow_if_nested_cond<_Ex> 10143: __rethrow_if_nested_impl(const _Ex* __ptr) 10143: { 10143: if (auto __ne_ptr = dynamic_cast(__ptr)) 10143: __ne_ptr->rethrow_nested(); 10143: } 10143: 10143: 10143: inline void 10143: __rethrow_if_nested_impl(const void*) 10143: { } 10143: 10143: 10143: template 10143: inline void 10143: rethrow_if_nested(const _Ex& __ex) 10143: { std::__rethrow_if_nested_impl(std::__addressof(__ex)); } 10143: 10143: 10143: } 10143: 10143: } 10143: 10143: 10143: 10143: #pragma GCC visibility pop 10143: # 145 "/usr/include/c++/8/exception" 2 3 10143: # 41 "/usr/include/c++/8/new" 2 3 10143: 10143: #pragma GCC visibility push(default) 10143: 10143: extern "C++" { 10143: 10143: namespace std 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: class bad_alloc : public exception 10143: { 10143: public: 10143: bad_alloc() throw() { } 10143: 10143: 10143: 10143: virtual ~bad_alloc() throw(); 10143: 10143: 10143: virtual const char* what() const throw(); 10143: }; 10143: 10143: 10143: class bad_array_new_length : public bad_alloc 10143: { 10143: public: 10143: bad_array_new_length() throw() { } 10143: 10143: 10143: 10143: virtual ~bad_array_new_length() throw(); 10143: 10143: 10143: virtual const char* what() const throw(); 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: struct nothrow_t 10143: { 10143: 10143: explicit nothrow_t() = default; 10143: 10143: }; 10143: 10143: extern const nothrow_t nothrow; 10143: 10143: 10143: 10143: typedef void (*new_handler)(); 10143: 10143: 10143: 10143: new_handler set_new_handler(new_handler) throw(); 10143: 10143: 10143: 10143: new_handler get_new_handler() noexcept; 10143: 10143: } 10143: # 120 "/usr/include/c++/8/new" 3 10143: void* operator new(std::size_t) 10143: __attribute__((__externally_visible__)); 10143: void* operator new[](std::size_t) 10143: __attribute__((__externally_visible__)); 10143: void operator delete(void*) noexcept 10143: __attribute__((__externally_visible__)); 10143: void operator delete[](void*) noexcept 10143: __attribute__((__externally_visible__)); 10143: 10143: 10143: 10143: 10143: 10143: 10143: void* operator new(std::size_t, const std::nothrow_t&) noexcept 10143: __attribute__((__externally_visible__)); 10143: void* operator new[](std::size_t, const std::nothrow_t&) noexcept 10143: __attribute__((__externally_visible__)); 10143: void operator delete(void*, const std::nothrow_t&) noexcept 10143: __attribute__((__externally_visible__)); 10143: void operator delete[](void*, const std::nothrow_t&) noexcept 10143: __attribute__((__externally_visible__)); 10143: # 168 "/usr/include/c++/8/new" 3 10143: inline void* operator new(std::size_t, void* __p) noexcept 10143: { return __p; } 10143: inline void* operator new[](std::size_t, void* __p) noexcept 10143: { return __p; } 10143: 10143: 10143: inline void operator delete (void*, void*) noexcept { } 10143: inline void operator delete[](void*, void*) noexcept { } 10143: 10143: } 10143: # 216 "/usr/include/c++/8/new" 3 10143: #pragma GCC visibility pop 10143: # 60 "/usr/include/c++/8/bits/stl_construct.h" 2 3 10143: 10143: # 1 "/usr/include/c++/8/ext/alloc_traits.h" 1 3 10143: # 32 "/usr/include/c++/8/ext/alloc_traits.h" 3 10143: 10143: # 33 "/usr/include/c++/8/ext/alloc_traits.h" 3 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/alloc_traits.h" 1 3 10143: # 35 "/usr/include/c++/8/bits/alloc_traits.h" 3 10143: # 1 "/usr/include/c++/8/bits/memoryfwd.h" 1 3 10143: # 46 "/usr/include/c++/8/bits/memoryfwd.h" 3 10143: 10143: # 47 "/usr/include/c++/8/bits/memoryfwd.h" 3 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 63 "/usr/include/c++/8/bits/memoryfwd.h" 3 10143: template 10143: class allocator; 10143: 10143: template<> 10143: class allocator; 10143: 10143: 10143: template 10143: struct uses_allocator; 10143: 10143: 10143: 10143: 10143: } 10143: # 36 "/usr/include/c++/8/bits/alloc_traits.h" 2 3 10143: 10143: 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: struct __allocator_traits_base 10143: { 10143: template 10143: struct __rebind : __replace_first_arg<_Tp, _Up> { }; 10143: 10143: template 10143: struct __rebind<_Tp, _Up, 10143: __void_t::other>> 10143: { using type = typename _Tp::template rebind<_Up>::other; }; 10143: 10143: protected: 10143: template 10143: using __pointer = typename _Tp::pointer; 10143: template 10143: using __c_pointer = typename _Tp::const_pointer; 10143: template 10143: using __v_pointer = typename _Tp::void_pointer; 10143: template 10143: using __cv_pointer = typename _Tp::const_void_pointer; 10143: template 10143: using __pocca = typename _Tp::propagate_on_container_copy_assignment; 10143: template 10143: using __pocma = typename _Tp::propagate_on_container_move_assignment; 10143: template 10143: using __pocs = typename _Tp::propagate_on_container_swap; 10143: template 10143: using __equal = typename _Tp::is_always_equal; 10143: }; 10143: 10143: template 10143: using __alloc_rebind 10143: = typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct allocator_traits : __allocator_traits_base 10143: { 10143: 10143: typedef _Alloc allocator_type; 10143: 10143: typedef typename _Alloc::value_type value_type; 10143: 10143: 10143: 10143: 10143: 10143: 10143: using pointer = __detected_or_t; 10143: 10143: private: 10143: 10143: template class _Func, typename _Tp, typename = void> 10143: struct _Ptr 10143: { 10143: using type = typename pointer_traits::template rebind<_Tp>; 10143: }; 10143: 10143: template class _Func, typename _Tp> 10143: struct _Ptr<_Func, _Tp, __void_t<_Func<_Alloc>>> 10143: { 10143: using type = _Func<_Alloc>; 10143: }; 10143: 10143: 10143: template 10143: struct _Diff 10143: { using type = typename pointer_traits<_PtrT>::difference_type; }; 10143: 10143: template 10143: struct _Diff<_A2, _PtrT, __void_t> 10143: { using type = typename _A2::difference_type; }; 10143: 10143: 10143: template 10143: struct _Size : make_unsigned<_DiffT> { }; 10143: 10143: template 10143: struct _Size<_A2, _DiffT, __void_t> 10143: { using type = typename _A2::size_type; }; 10143: 10143: public: 10143: 10143: 10143: 10143: 10143: 10143: 10143: using const_pointer = typename _Ptr<__c_pointer, const value_type>::type; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: using void_pointer = typename _Ptr<__v_pointer, void>::type; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: using const_void_pointer = typename _Ptr<__cv_pointer, const void>::type; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: using difference_type = typename _Diff<_Alloc, pointer>::type; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: using size_type = typename _Size<_Alloc, difference_type>::type; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: using propagate_on_container_copy_assignment 10143: = __detected_or_t; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: using propagate_on_container_move_assignment 10143: = __detected_or_t; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: using propagate_on_container_swap 10143: = __detected_or_t; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: using is_always_equal 10143: = __detected_or_t::type, __equal, _Alloc>; 10143: 10143: template 10143: using rebind_alloc = __alloc_rebind<_Alloc, _Tp>; 10143: template 10143: using rebind_traits = allocator_traits>; 10143: 10143: private: 10143: template 10143: static auto 10143: _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer __hint, int) 10143: -> decltype(__a.allocate(__n, __hint)) 10143: { return __a.allocate(__n, __hint); } 10143: 10143: template 10143: static pointer 10143: _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer, ...) 10143: { return __a.allocate(__n); } 10143: 10143: template 10143: struct __construct_helper 10143: { 10143: template()->construct( 10143: std::declval<_Tp*>(), std::declval<_Args>()...))> 10143: static true_type __test(int); 10143: 10143: template 10143: static false_type __test(...); 10143: 10143: using type = decltype(__test<_Alloc>(0)); 10143: }; 10143: 10143: template 10143: using __has_construct 10143: = typename __construct_helper<_Tp, _Args...>::type; 10143: 10143: template 10143: static _Require<__has_construct<_Tp, _Args...>> 10143: _S_construct(_Alloc& __a, _Tp* __p, _Args&&... __args) 10143: { __a.construct(__p, std::forward<_Args>(__args)...); } 10143: 10143: template 10143: static 10143: _Require<__and_<__not_<__has_construct<_Tp, _Args...>>, 10143: is_constructible<_Tp, _Args...>>> 10143: _S_construct(_Alloc&, _Tp* __p, _Args&&... __args) 10143: { ::new((void*)__p) _Tp(std::forward<_Args>(__args)...); } 10143: 10143: template 10143: static auto 10143: _S_destroy(_Alloc2& __a, _Tp* __p, int) 10143: -> decltype(__a.destroy(__p)) 10143: { __a.destroy(__p); } 10143: 10143: template 10143: static void 10143: _S_destroy(_Alloc2&, _Tp* __p, ...) 10143: { __p->~_Tp(); } 10143: 10143: template 10143: static auto 10143: _S_max_size(_Alloc2& __a, int) 10143: -> decltype(__a.max_size()) 10143: { return __a.max_size(); } 10143: 10143: template 10143: static size_type 10143: _S_max_size(_Alloc2&, ...) 10143: { 10143: 10143: 10143: return __gnu_cxx::__numeric_traits::__max 10143: / sizeof(value_type); 10143: } 10143: 10143: template 10143: static auto 10143: _S_select(_Alloc2& __a, int) 10143: -> decltype(__a.select_on_container_copy_construction()) 10143: { return __a.select_on_container_copy_construction(); } 10143: 10143: template 10143: static _Alloc2 10143: _S_select(_Alloc2& __a, ...) 10143: { return __a; } 10143: 10143: public: 10143: # 299 "/usr/include/c++/8/bits/alloc_traits.h" 3 10143: static pointer 10143: allocate(_Alloc& __a, size_type __n) 10143: { return __a.allocate(__n); } 10143: # 314 "/usr/include/c++/8/bits/alloc_traits.h" 3 10143: static pointer 10143: allocate(_Alloc& __a, size_type __n, const_void_pointer __hint) 10143: { return _S_allocate(__a, __n, __hint, 0); } 10143: # 326 "/usr/include/c++/8/bits/alloc_traits.h" 3 10143: static void 10143: deallocate(_Alloc& __a, pointer __p, size_type __n) 10143: { __a.deallocate(__p, __n); } 10143: # 341 "/usr/include/c++/8/bits/alloc_traits.h" 3 10143: template 10143: static auto construct(_Alloc& __a, _Tp* __p, _Args&&... __args) 10143: -> decltype(_S_construct(__a, __p, std::forward<_Args>(__args)...)) 10143: { _S_construct(__a, __p, std::forward<_Args>(__args)...); } 10143: # 354 "/usr/include/c++/8/bits/alloc_traits.h" 3 10143: template 10143: static void destroy(_Alloc& __a, _Tp* __p) 10143: { _S_destroy(__a, __p, 0); } 10143: # 366 "/usr/include/c++/8/bits/alloc_traits.h" 3 10143: static size_type max_size(const _Alloc& __a) noexcept 10143: { return _S_max_size(__a, 0); } 10143: # 377 "/usr/include/c++/8/bits/alloc_traits.h" 3 10143: static _Alloc 10143: select_on_container_copy_construction(const _Alloc& __rhs) 10143: { return _S_select(__rhs, 0); } 10143: }; 10143: 10143: 10143: template 10143: struct allocator_traits> 10143: { 10143: 10143: using allocator_type = allocator<_Tp>; 10143: 10143: using value_type = _Tp; 10143: 10143: 10143: using pointer = _Tp*; 10143: 10143: 10143: using const_pointer = const _Tp*; 10143: 10143: 10143: using void_pointer = void*; 10143: 10143: 10143: using const_void_pointer = const void*; 10143: 10143: 10143: using difference_type = std::ptrdiff_t; 10143: 10143: 10143: using size_type = std::size_t; 10143: 10143: 10143: using propagate_on_container_copy_assignment = false_type; 10143: 10143: 10143: using propagate_on_container_move_assignment = true_type; 10143: 10143: 10143: using propagate_on_container_swap = false_type; 10143: 10143: 10143: using is_always_equal = true_type; 10143: 10143: template 10143: using rebind_alloc = allocator<_Up>; 10143: 10143: template 10143: using rebind_traits = allocator_traits>; 10143: # 434 "/usr/include/c++/8/bits/alloc_traits.h" 3 10143: static pointer 10143: allocate(allocator_type& __a, size_type __n) 10143: { return __a.allocate(__n); } 10143: # 448 "/usr/include/c++/8/bits/alloc_traits.h" 3 10143: static pointer 10143: allocate(allocator_type& __a, size_type __n, const_void_pointer __hint) 10143: { return __a.allocate(__n, __hint); } 10143: # 460 "/usr/include/c++/8/bits/alloc_traits.h" 3 10143: static void 10143: deallocate(allocator_type& __a, pointer __p, size_type __n) 10143: { __a.deallocate(__p, __n); } 10143: # 472 "/usr/include/c++/8/bits/alloc_traits.h" 3 10143: template 10143: static void 10143: construct(allocator_type& __a, _Up* __p, _Args&&... __args) 10143: { __a.construct(__p, std::forward<_Args>(__args)...); } 10143: # 484 "/usr/include/c++/8/bits/alloc_traits.h" 3 10143: template 10143: static void 10143: destroy(allocator_type& __a, _Up* __p) 10143: { __a.destroy(__p); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: static size_type 10143: max_size(const allocator_type& __a) noexcept 10143: { return __a.max_size(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: static allocator_type 10143: select_on_container_copy_construction(const allocator_type& __rhs) 10143: { return __rhs; } 10143: }; 10143: 10143: 10143: template 10143: inline void 10143: __do_alloc_on_copy(_Alloc& __one, const _Alloc& __two, true_type) 10143: { __one = __two; } 10143: 10143: template 10143: inline void 10143: __do_alloc_on_copy(_Alloc&, const _Alloc&, false_type) 10143: { } 10143: 10143: template 10143: inline void __alloc_on_copy(_Alloc& __one, const _Alloc& __two) 10143: { 10143: typedef allocator_traits<_Alloc> __traits; 10143: typedef typename __traits::propagate_on_container_copy_assignment __pocca; 10143: __do_alloc_on_copy(__one, __two, __pocca()); 10143: } 10143: 10143: template 10143: inline _Alloc __alloc_on_copy(const _Alloc& __a) 10143: { 10143: typedef allocator_traits<_Alloc> __traits; 10143: return __traits::select_on_container_copy_construction(__a); 10143: } 10143: 10143: template 10143: inline void __do_alloc_on_move(_Alloc& __one, _Alloc& __two, true_type) 10143: { __one = std::move(__two); } 10143: 10143: template 10143: inline void __do_alloc_on_move(_Alloc&, _Alloc&, false_type) 10143: { } 10143: 10143: template 10143: inline void __alloc_on_move(_Alloc& __one, _Alloc& __two) 10143: { 10143: typedef allocator_traits<_Alloc> __traits; 10143: typedef typename __traits::propagate_on_container_move_assignment __pocma; 10143: __do_alloc_on_move(__one, __two, __pocma()); 10143: } 10143: 10143: template 10143: inline void __do_alloc_on_swap(_Alloc& __one, _Alloc& __two, true_type) 10143: { 10143: using std::swap; 10143: swap(__one, __two); 10143: } 10143: 10143: template 10143: inline void __do_alloc_on_swap(_Alloc&, _Alloc&, false_type) 10143: { } 10143: 10143: template 10143: inline void __alloc_on_swap(_Alloc& __one, _Alloc& __two) 10143: { 10143: typedef allocator_traits<_Alloc> __traits; 10143: typedef typename __traits::propagate_on_container_swap __pocs; 10143: __do_alloc_on_swap(__one, __two, __pocs()); 10143: } 10143: 10143: template 10143: class __is_copy_insertable_impl 10143: { 10143: typedef allocator_traits<_Alloc> _Traits; 10143: 10143: template(), 10143: std::declval<_Up*>(), 10143: std::declval()))> 10143: static true_type 10143: _M_select(int); 10143: 10143: template 10143: static false_type 10143: _M_select(...); 10143: 10143: public: 10143: typedef decltype(_M_select(0)) type; 10143: }; 10143: 10143: 10143: template 10143: struct __is_copy_insertable 10143: : __is_copy_insertable_impl<_Alloc>::type 10143: { }; 10143: 10143: 10143: template 10143: struct __is_copy_insertable> 10143: : is_copy_constructible<_Tp> 10143: { }; 10143: 10143: 10143: 10143: template 10143: struct __is_allocator : false_type { }; 10143: 10143: template 10143: struct __is_allocator<_Alloc, 10143: __void_t().allocate(size_t{}))>> 10143: : true_type { }; 10143: 10143: template 10143: using _RequireAllocator 10143: = typename enable_if<__is_allocator<_Alloc>::value, _Alloc>::type; 10143: 10143: 10143: 10143: } 10143: # 37 "/usr/include/c++/8/ext/alloc_traits.h" 2 3 10143: 10143: 10143: 10143: 10143: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct __alloc_traits 10143: 10143: : std::allocator_traits<_Alloc> 10143: 10143: { 10143: typedef _Alloc allocator_type; 10143: 10143: typedef std::allocator_traits<_Alloc> _Base_type; 10143: typedef typename _Base_type::value_type value_type; 10143: typedef typename _Base_type::pointer pointer; 10143: typedef typename _Base_type::const_pointer const_pointer; 10143: typedef typename _Base_type::size_type size_type; 10143: typedef typename _Base_type::difference_type difference_type; 10143: 10143: typedef value_type& reference; 10143: typedef const value_type& const_reference; 10143: using _Base_type::allocate; 10143: using _Base_type::deallocate; 10143: using _Base_type::construct; 10143: using _Base_type::destroy; 10143: using _Base_type::max_size; 10143: 10143: private: 10143: template 10143: using __is_custom_pointer 10143: = std::__and_, 10143: std::__not_>>; 10143: 10143: public: 10143: 10143: template 10143: static typename std::enable_if<__is_custom_pointer<_Ptr>::value>::type 10143: construct(_Alloc& __a, _Ptr __p, _Args&&... __args) 10143: { 10143: _Base_type::construct(__a, std::__to_address(__p), 10143: std::forward<_Args>(__args)...); 10143: } 10143: 10143: 10143: template 10143: static typename std::enable_if<__is_custom_pointer<_Ptr>::value>::type 10143: destroy(_Alloc& __a, _Ptr __p) 10143: { _Base_type::destroy(__a, std::__to_address(__p)); } 10143: 10143: static _Alloc _S_select_on_copy(const _Alloc& __a) 10143: { return _Base_type::select_on_container_copy_construction(__a); } 10143: 10143: static void _S_on_swap(_Alloc& __a, _Alloc& __b) 10143: { std::__alloc_on_swap(__a, __b); } 10143: 10143: static constexpr bool _S_propagate_on_copy_assign() 10143: { return _Base_type::propagate_on_container_copy_assignment::value; } 10143: 10143: static constexpr bool _S_propagate_on_move_assign() 10143: { return _Base_type::propagate_on_container_move_assignment::value; } 10143: 10143: static constexpr bool _S_propagate_on_swap() 10143: { return _Base_type::propagate_on_container_swap::value; } 10143: 10143: static constexpr bool _S_always_equal() 10143: { return _Base_type::is_always_equal::value; } 10143: 10143: static constexpr bool _S_nothrow_move() 10143: { return _S_propagate_on_move_assign() || _S_always_equal(); } 10143: 10143: template 10143: struct rebind 10143: { typedef typename _Base_type::template rebind_alloc<_Tp> other; }; 10143: # 158 "/usr/include/c++/8/ext/alloc_traits.h" 3 10143: }; 10143: 10143: 10143: } 10143: # 62 "/usr/include/c++/8/bits/stl_construct.h" 2 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline void 10143: _Construct(_T1* __p, _Args&&... __args) 10143: { ::new(static_cast(__p)) _T1(std::forward<_Args>(__args)...); } 10143: # 87 "/usr/include/c++/8/bits/stl_construct.h" 3 10143: template 10143: inline void 10143: _Construct_novalue(_T1* __p) 10143: { ::new(static_cast(__p)) _T1; } 10143: 10143: 10143: 10143: 10143: template 10143: inline void 10143: _Destroy(_Tp* __pointer) 10143: { __pointer->~_Tp(); } 10143: 10143: template 10143: struct _Destroy_aux 10143: { 10143: template 10143: static void 10143: __destroy(_ForwardIterator __first, _ForwardIterator __last) 10143: { 10143: for (; __first != __last; ++__first) 10143: std::_Destroy(std::__addressof(*__first)); 10143: } 10143: }; 10143: 10143: template<> 10143: struct _Destroy_aux 10143: { 10143: template 10143: static void 10143: __destroy(_ForwardIterator, _ForwardIterator) { } 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline void 10143: _Destroy(_ForwardIterator __first, _ForwardIterator __last) 10143: { 10143: typedef typename iterator_traits<_ForwardIterator>::value_type 10143: _Value_type; 10143: 10143: 10143: static_assert(is_destructible<_Value_type>::value, 10143: "value type is destructible"); 10143: 10143: std::_Destroy_aux<__has_trivial_destructor(_Value_type)>:: 10143: __destroy(__first, __last); 10143: } 10143: 10143: template 10143: struct _Destroy_n_aux 10143: { 10143: template 10143: static _ForwardIterator 10143: __destroy_n(_ForwardIterator __first, _Size __count) 10143: { 10143: for (; __count > 0; (void)++__first, --__count) 10143: std::_Destroy(std::__addressof(*__first)); 10143: return __first; 10143: } 10143: }; 10143: 10143: template<> 10143: struct _Destroy_n_aux 10143: { 10143: template 10143: static _ForwardIterator 10143: __destroy_n(_ForwardIterator __first, _Size __count) 10143: { 10143: std::advance(__first, __count); 10143: return __first; 10143: } 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline _ForwardIterator 10143: _Destroy_n(_ForwardIterator __first, _Size __count) 10143: { 10143: typedef typename iterator_traits<_ForwardIterator>::value_type 10143: _Value_type; 10143: 10143: 10143: static_assert(is_destructible<_Value_type>::value, 10143: "value type is destructible"); 10143: 10143: return std::_Destroy_n_aux<__has_trivial_destructor(_Value_type)>:: 10143: __destroy_n(__first, __count); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: void 10143: _Destroy(_ForwardIterator __first, _ForwardIterator __last, 10143: _Allocator& __alloc) 10143: { 10143: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 10143: for (; __first != __last; ++__first) 10143: __traits::destroy(__alloc, std::__addressof(*__first)); 10143: } 10143: 10143: template 10143: inline void 10143: _Destroy(_ForwardIterator __first, _ForwardIterator __last, 10143: allocator<_Tp>&) 10143: { 10143: _Destroy(__first, __last); 10143: } 10143: # 232 "/usr/include/c++/8/bits/stl_construct.h" 3 10143: 10143: } 10143: # 61 "/usr/include/c++/8/bits/stl_tempbuf.h" 2 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 83 "/usr/include/c++/8/bits/stl_tempbuf.h" 3 10143: template 10143: pair<_Tp*, ptrdiff_t> 10143: get_temporary_buffer(ptrdiff_t __len) noexcept 10143: { 10143: const ptrdiff_t __max = 10143: __gnu_cxx::__numeric_traits::__max / sizeof(_Tp); 10143: if (__len > __max) 10143: __len = __max; 10143: 10143: while (__len > 0) 10143: { 10143: _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp), 10143: std::nothrow)); 10143: if (__tmp != 0) 10143: return std::pair<_Tp*, ptrdiff_t>(__tmp, __len); 10143: __len /= 2; 10143: } 10143: return std::pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0); 10143: } 10143: # 110 "/usr/include/c++/8/bits/stl_tempbuf.h" 3 10143: template 10143: inline void 10143: return_temporary_buffer(_Tp* __p) 10143: { ::operator delete(__p, std::nothrow); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: class _Temporary_buffer 10143: { 10143: 10143: 10143: 10143: public: 10143: typedef _Tp value_type; 10143: typedef value_type* pointer; 10143: typedef pointer iterator; 10143: typedef ptrdiff_t size_type; 10143: 10143: protected: 10143: size_type _M_original_len; 10143: size_type _M_len; 10143: pointer _M_buffer; 10143: 10143: public: 10143: 10143: size_type 10143: size() const 10143: { return _M_len; } 10143: 10143: 10143: size_type 10143: requested_size() const 10143: { return _M_original_len; } 10143: 10143: 10143: iterator 10143: begin() 10143: { return _M_buffer; } 10143: 10143: 10143: iterator 10143: end() 10143: { return _M_buffer + _M_len; } 10143: 10143: 10143: 10143: 10143: 10143: _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last); 10143: 10143: ~_Temporary_buffer() 10143: { 10143: std::_Destroy(_M_buffer, _M_buffer + _M_len); 10143: std::return_temporary_buffer(_M_buffer); 10143: } 10143: 10143: private: 10143: 10143: _Temporary_buffer(const _Temporary_buffer&); 10143: 10143: void 10143: operator=(const _Temporary_buffer&); 10143: }; 10143: 10143: 10143: template 10143: struct __uninitialized_construct_buf_dispatch 10143: { 10143: template 10143: static void 10143: __ucr(_Pointer __first, _Pointer __last, 10143: _ForwardIterator __seed) 10143: { 10143: if(__first == __last) 10143: return; 10143: 10143: _Pointer __cur = __first; 10143: if (true) 10143: { 10143: std::_Construct(std::__addressof(*__first), 10143: std::move(*__seed)); 10143: _Pointer __prev = __cur; 10143: ++__cur; 10143: for(; __cur != __last; ++__cur, ++__prev) 10143: std::_Construct(std::__addressof(*__cur), 10143: std::move(*__prev)); 10143: *__seed = std::move(*__prev); 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__first, __cur); 10143: ; 10143: } 10143: } 10143: }; 10143: 10143: template<> 10143: struct __uninitialized_construct_buf_dispatch 10143: { 10143: template 10143: static void 10143: __ucr(_Pointer, _Pointer, _ForwardIterator) { } 10143: }; 10143: # 229 "/usr/include/c++/8/bits/stl_tempbuf.h" 3 10143: template 10143: inline void 10143: __uninitialized_construct_buf(_Pointer __first, _Pointer __last, 10143: _ForwardIterator __seed) 10143: { 10143: typedef typename std::iterator_traits<_Pointer>::value_type 10143: _ValueType; 10143: 10143: std::__uninitialized_construct_buf_dispatch< 10143: __has_trivial_constructor(_ValueType)>:: 10143: __ucr(__first, __last, __seed); 10143: } 10143: 10143: template 10143: _Temporary_buffer<_ForwardIterator, _Tp>:: 10143: _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last) 10143: : _M_original_len(std::distance(__first, __last)), 10143: _M_len(0), _M_buffer(0) 10143: { 10143: if (true) 10143: { 10143: std::pair __p(std::get_temporary_buffer< 10143: value_type>(_M_original_len)); 10143: _M_buffer = __p.first; 10143: _M_len = __p.second; 10143: if (_M_buffer) 10143: std::__uninitialized_construct_buf(_M_buffer, _M_buffer + _M_len, 10143: __first); 10143: } 10143: if (false) 10143: { 10143: std::return_temporary_buffer(_M_buffer); 10143: _M_buffer = 0; 10143: _M_len = 0; 10143: ; 10143: } 10143: } 10143: 10143: 10143: } 10143: # 63 "/usr/include/c++/8/bits/stl_algo.h" 2 3 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/uniform_int_dist.h" 1 3 10143: # 35 "/usr/include/c++/8/bits/uniform_int_dist.h" 3 10143: # 1 "/usr/include/c++/8/limits" 1 3 10143: # 40 "/usr/include/c++/8/limits" 3 10143: 10143: # 41 "/usr/include/c++/8/limits" 3 10143: # 158 "/usr/include/c++/8/limits" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: enum float_round_style 10143: { 10143: round_indeterminate = -1, 10143: round_toward_zero = 0, 10143: round_to_nearest = 1, 10143: round_toward_infinity = 2, 10143: round_toward_neg_infinity = 3 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: enum float_denorm_style 10143: { 10143: 10143: denorm_indeterminate = -1, 10143: 10143: denorm_absent = 0, 10143: 10143: denorm_present = 1 10143: }; 10143: # 202 "/usr/include/c++/8/limits" 3 10143: struct __numeric_limits_base 10143: { 10143: 10143: 10143: static constexpr bool is_specialized = false; 10143: 10143: 10143: 10143: 10143: static constexpr int digits = 0; 10143: 10143: 10143: static constexpr int digits10 = 0; 10143: 10143: 10143: 10143: 10143: static constexpr int max_digits10 = 0; 10143: 10143: 10143: 10143: static constexpr bool is_signed = false; 10143: 10143: 10143: static constexpr bool is_integer = false; 10143: 10143: 10143: 10143: 10143: static constexpr bool is_exact = false; 10143: 10143: 10143: 10143: static constexpr int radix = 0; 10143: 10143: 10143: 10143: static constexpr int min_exponent = 0; 10143: 10143: 10143: 10143: static constexpr int min_exponent10 = 0; 10143: 10143: 10143: 10143: 10143: static constexpr int max_exponent = 0; 10143: 10143: 10143: 10143: static constexpr int max_exponent10 = 0; 10143: 10143: 10143: static constexpr bool has_infinity = false; 10143: 10143: 10143: 10143: static constexpr bool has_quiet_NaN = false; 10143: 10143: 10143: 10143: static constexpr bool has_signaling_NaN = false; 10143: 10143: 10143: static constexpr float_denorm_style has_denorm = denorm_absent; 10143: 10143: 10143: 10143: static constexpr bool has_denorm_loss = false; 10143: 10143: 10143: 10143: static constexpr bool is_iec559 = false; 10143: 10143: 10143: 10143: 10143: static constexpr bool is_bounded = false; 10143: # 288 "/usr/include/c++/8/limits" 3 10143: static constexpr bool is_modulo = false; 10143: 10143: 10143: static constexpr bool traps = false; 10143: 10143: 10143: static constexpr bool tinyness_before = false; 10143: 10143: 10143: 10143: 10143: static constexpr float_round_style round_style = 10143: round_toward_zero; 10143: }; 10143: # 311 "/usr/include/c++/8/limits" 3 10143: template 10143: struct numeric_limits : public __numeric_limits_base 10143: { 10143: 10143: 10143: static constexpr _Tp 10143: min() noexcept { return _Tp(); } 10143: 10143: 10143: static constexpr _Tp 10143: max() noexcept { return _Tp(); } 10143: 10143: 10143: 10143: 10143: static constexpr _Tp 10143: lowest() noexcept { return _Tp(); } 10143: 10143: 10143: 10143: 10143: static constexpr _Tp 10143: epsilon() noexcept { return _Tp(); } 10143: 10143: 10143: static constexpr _Tp 10143: round_error() noexcept { return _Tp(); } 10143: 10143: 10143: static constexpr _Tp 10143: infinity() noexcept { return _Tp(); } 10143: 10143: 10143: 10143: static constexpr _Tp 10143: quiet_NaN() noexcept { return _Tp(); } 10143: 10143: 10143: 10143: static constexpr _Tp 10143: signaling_NaN() noexcept { return _Tp(); } 10143: 10143: 10143: 10143: 10143: static constexpr _Tp 10143: denorm_min() noexcept { return _Tp(); } 10143: }; 10143: 10143: 10143: 10143: 10143: template 10143: struct numeric_limits 10143: : public numeric_limits<_Tp> { }; 10143: 10143: template 10143: struct numeric_limits 10143: : public numeric_limits<_Tp> { }; 10143: 10143: template 10143: struct numeric_limits 10143: : public numeric_limits<_Tp> { }; 10143: # 382 "/usr/include/c++/8/limits" 3 10143: template<> 10143: struct numeric_limits 10143: { 10143: static constexpr bool is_specialized = true; 10143: 10143: static constexpr bool 10143: min() noexcept { return false; } 10143: 10143: static constexpr bool 10143: max() noexcept { return true; } 10143: 10143: 10143: static constexpr bool 10143: lowest() noexcept { return min(); } 10143: 10143: static constexpr int digits = 1; 10143: static constexpr int digits10 = 0; 10143: 10143: static constexpr int max_digits10 = 0; 10143: 10143: static constexpr bool is_signed = false; 10143: static constexpr bool is_integer = true; 10143: static constexpr bool is_exact = true; 10143: static constexpr int radix = 2; 10143: 10143: static constexpr bool 10143: epsilon() noexcept { return false; } 10143: 10143: static constexpr bool 10143: round_error() noexcept { return false; } 10143: 10143: static constexpr int min_exponent = 0; 10143: static constexpr int min_exponent10 = 0; 10143: static constexpr int max_exponent = 0; 10143: static constexpr int max_exponent10 = 0; 10143: 10143: static constexpr bool has_infinity = false; 10143: static constexpr bool has_quiet_NaN = false; 10143: static constexpr bool has_signaling_NaN = false; 10143: static constexpr float_denorm_style has_denorm 10143: = denorm_absent; 10143: static constexpr bool has_denorm_loss = false; 10143: 10143: static constexpr bool 10143: infinity() noexcept { return false; } 10143: 10143: static constexpr bool 10143: quiet_NaN() noexcept { return false; } 10143: 10143: static constexpr bool 10143: signaling_NaN() noexcept { return false; } 10143: 10143: static constexpr bool 10143: denorm_min() noexcept { return false; } 10143: 10143: static constexpr bool is_iec559 = false; 10143: static constexpr bool is_bounded = true; 10143: static constexpr bool is_modulo = false; 10143: 10143: 10143: 10143: 10143: static constexpr bool traps = false; 10143: static constexpr bool tinyness_before = false; 10143: static constexpr float_round_style round_style 10143: = round_toward_zero; 10143: }; 10143: 10143: 10143: template<> 10143: struct numeric_limits 10143: { 10143: static constexpr bool is_specialized = true; 10143: 10143: static constexpr char 10143: min() noexcept { return (((char)(-1) < 0) ? -(((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char)0) - 1 : (char)0); } 10143: 10143: static constexpr char 10143: max() noexcept { return (((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char)0); } 10143: 10143: 10143: static constexpr char 10143: lowest() noexcept { return min(); } 10143: 10143: 10143: static constexpr int digits = (sizeof(char) * 8 - ((char)(-1) < 0)); 10143: static constexpr int digits10 = ((sizeof(char) * 8 - ((char)(-1) < 0)) * 643L / 2136); 10143: 10143: static constexpr int max_digits10 = 0; 10143: 10143: static constexpr bool is_signed = ((char)(-1) < 0); 10143: static constexpr bool is_integer = true; 10143: static constexpr bool is_exact = true; 10143: static constexpr int radix = 2; 10143: 10143: static constexpr char 10143: epsilon() noexcept { return 0; } 10143: 10143: static constexpr char 10143: round_error() noexcept { return 0; } 10143: 10143: static constexpr int min_exponent = 0; 10143: static constexpr int min_exponent10 = 0; 10143: static constexpr int max_exponent = 0; 10143: static constexpr int max_exponent10 = 0; 10143: 10143: static constexpr bool has_infinity = false; 10143: static constexpr bool has_quiet_NaN = false; 10143: static constexpr bool has_signaling_NaN = false; 10143: static constexpr float_denorm_style has_denorm 10143: = denorm_absent; 10143: static constexpr bool has_denorm_loss = false; 10143: 10143: static constexpr 10143: char infinity() noexcept { return char(); } 10143: 10143: static constexpr char 10143: quiet_NaN() noexcept { return char(); } 10143: 10143: static constexpr char 10143: signaling_NaN() noexcept { return char(); } 10143: 10143: static constexpr char 10143: denorm_min() noexcept { return static_cast(0); } 10143: 10143: static constexpr bool is_iec559 = false; 10143: static constexpr bool is_bounded = true; 10143: static constexpr bool is_modulo = !is_signed; 10143: 10143: static constexpr bool traps = false; 10143: static constexpr bool tinyness_before = false; 10143: static constexpr float_round_style round_style 10143: = round_toward_zero; 10143: }; 10143: 10143: 10143: template<> 10143: struct numeric_limits 10143: { 10143: static constexpr bool is_specialized = true; 10143: 10143: static constexpr signed char 10143: min() noexcept { return -0x7f - 1; } 10143: 10143: static constexpr signed char 10143: max() noexcept { return 0x7f; } 10143: 10143: 10143: static constexpr signed char 10143: lowest() noexcept { return min(); } 10143: 10143: 10143: static constexpr int digits = (sizeof(signed char) * 8 - ((signed char)(-1) < 0)); 10143: static constexpr int digits10 10143: = ((sizeof(signed char) * 8 - ((signed char)(-1) < 0)) * 643L / 2136); 10143: 10143: static constexpr int max_digits10 = 0; 10143: 10143: static constexpr bool is_signed = true; 10143: static constexpr bool is_integer = true; 10143: static constexpr bool is_exact = true; 10143: static constexpr int radix = 2; 10143: 10143: static constexpr signed char 10143: epsilon() noexcept { return 0; } 10143: 10143: static constexpr signed char 10143: round_error() noexcept { return 0; } 10143: 10143: static constexpr int min_exponent = 0; 10143: static constexpr int min_exponent10 = 0; 10143: static constexpr int max_exponent = 0; 10143: static constexpr int max_exponent10 = 0; 10143: 10143: static constexpr bool has_infinity = false; 10143: static constexpr bool has_quiet_NaN = false; 10143: static constexpr bool has_signaling_NaN = false; 10143: static constexpr float_denorm_style has_denorm 10143: = denorm_absent; 10143: static constexpr bool has_denorm_loss = false; 10143: 10143: static constexpr signed char 10143: infinity() noexcept { return static_cast(0); } 10143: 10143: static constexpr signed char 10143: quiet_NaN() noexcept { return static_cast(0); } 10143: 10143: static constexpr signed char 10143: signaling_NaN() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr signed char 10143: denorm_min() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr bool is_iec559 = false; 10143: static constexpr bool is_bounded = true; 10143: static constexpr bool is_modulo = false; 10143: 10143: static constexpr bool traps = false; 10143: static constexpr bool tinyness_before = false; 10143: static constexpr float_round_style round_style 10143: = round_toward_zero; 10143: }; 10143: 10143: 10143: template<> 10143: struct numeric_limits 10143: { 10143: static constexpr bool is_specialized = true; 10143: 10143: static constexpr unsigned char 10143: min() noexcept { return 0; } 10143: 10143: static constexpr unsigned char 10143: max() noexcept { return 0x7f * 2U + 1; } 10143: 10143: 10143: static constexpr unsigned char 10143: lowest() noexcept { return min(); } 10143: 10143: 10143: static constexpr int digits 10143: = (sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)); 10143: static constexpr int digits10 10143: = ((sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)) * 643L / 2136); 10143: 10143: static constexpr int max_digits10 = 0; 10143: 10143: static constexpr bool is_signed = false; 10143: static constexpr bool is_integer = true; 10143: static constexpr bool is_exact = true; 10143: static constexpr int radix = 2; 10143: 10143: static constexpr unsigned char 10143: epsilon() noexcept { return 0; } 10143: 10143: static constexpr unsigned char 10143: round_error() noexcept { return 0; } 10143: 10143: static constexpr int min_exponent = 0; 10143: static constexpr int min_exponent10 = 0; 10143: static constexpr int max_exponent = 0; 10143: static constexpr int max_exponent10 = 0; 10143: 10143: static constexpr bool has_infinity = false; 10143: static constexpr bool has_quiet_NaN = false; 10143: static constexpr bool has_signaling_NaN = false; 10143: static constexpr float_denorm_style has_denorm 10143: = denorm_absent; 10143: static constexpr bool has_denorm_loss = false; 10143: 10143: static constexpr unsigned char 10143: infinity() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr unsigned char 10143: quiet_NaN() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr unsigned char 10143: signaling_NaN() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr unsigned char 10143: denorm_min() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr bool is_iec559 = false; 10143: static constexpr bool is_bounded = true; 10143: static constexpr bool is_modulo = true; 10143: 10143: static constexpr bool traps = false; 10143: static constexpr bool tinyness_before = false; 10143: static constexpr float_round_style round_style 10143: = round_toward_zero; 10143: }; 10143: 10143: 10143: template<> 10143: struct numeric_limits 10143: { 10143: static constexpr bool is_specialized = true; 10143: 10143: static constexpr wchar_t 10143: min() noexcept { return (((wchar_t)(-1) < 0) ? -(((wchar_t)(-1) < 0) ? (((((wchar_t)1 << ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(wchar_t)0) - 1 : (wchar_t)0); } 10143: 10143: static constexpr wchar_t 10143: max() noexcept { return (((wchar_t)(-1) < 0) ? (((((wchar_t)1 << ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(wchar_t)0); } 10143: 10143: 10143: static constexpr wchar_t 10143: lowest() noexcept { return min(); } 10143: 10143: 10143: static constexpr int digits = (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)); 10143: static constexpr int digits10 10143: = ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) * 643L / 2136); 10143: 10143: static constexpr int max_digits10 = 0; 10143: 10143: static constexpr bool is_signed = ((wchar_t)(-1) < 0); 10143: static constexpr bool is_integer = true; 10143: static constexpr bool is_exact = true; 10143: static constexpr int radix = 2; 10143: 10143: static constexpr wchar_t 10143: epsilon() noexcept { return 0; } 10143: 10143: static constexpr wchar_t 10143: round_error() noexcept { return 0; } 10143: 10143: static constexpr int min_exponent = 0; 10143: static constexpr int min_exponent10 = 0; 10143: static constexpr int max_exponent = 0; 10143: static constexpr int max_exponent10 = 0; 10143: 10143: static constexpr bool has_infinity = false; 10143: static constexpr bool has_quiet_NaN = false; 10143: static constexpr bool has_signaling_NaN = false; 10143: static constexpr float_denorm_style has_denorm 10143: = denorm_absent; 10143: static constexpr bool has_denorm_loss = false; 10143: 10143: static constexpr wchar_t 10143: infinity() noexcept { return wchar_t(); } 10143: 10143: static constexpr wchar_t 10143: quiet_NaN() noexcept { return wchar_t(); } 10143: 10143: static constexpr wchar_t 10143: signaling_NaN() noexcept { return wchar_t(); } 10143: 10143: static constexpr wchar_t 10143: denorm_min() noexcept { return wchar_t(); } 10143: 10143: static constexpr bool is_iec559 = false; 10143: static constexpr bool is_bounded = true; 10143: static constexpr bool is_modulo = !is_signed; 10143: 10143: static constexpr bool traps = false; 10143: static constexpr bool tinyness_before = false; 10143: static constexpr float_round_style round_style 10143: = round_toward_zero; 10143: }; 10143: 10143: 10143: 10143: template<> 10143: struct numeric_limits 10143: { 10143: static constexpr bool is_specialized = true; 10143: 10143: static constexpr char16_t 10143: min() noexcept { return (((char16_t)(-1) < 0) ? -(((char16_t)(-1) < 0) ? (((((char16_t)1 << ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char16_t)0) - 1 : (char16_t)0); } 10143: 10143: static constexpr char16_t 10143: max() noexcept { return (((char16_t)(-1) < 0) ? (((((char16_t)1 << ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char16_t)0); } 10143: 10143: static constexpr char16_t 10143: lowest() noexcept { return min(); } 10143: 10143: static constexpr int digits = (sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)); 10143: static constexpr int digits10 = ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) * 643L / 2136); 10143: static constexpr int max_digits10 = 0; 10143: static constexpr bool is_signed = ((char16_t)(-1) < 0); 10143: static constexpr bool is_integer = true; 10143: static constexpr bool is_exact = true; 10143: static constexpr int radix = 2; 10143: 10143: static constexpr char16_t 10143: epsilon() noexcept { return 0; } 10143: 10143: static constexpr char16_t 10143: round_error() noexcept { return 0; } 10143: 10143: static constexpr int min_exponent = 0; 10143: static constexpr int min_exponent10 = 0; 10143: static constexpr int max_exponent = 0; 10143: static constexpr int max_exponent10 = 0; 10143: 10143: static constexpr bool has_infinity = false; 10143: static constexpr bool has_quiet_NaN = false; 10143: static constexpr bool has_signaling_NaN = false; 10143: static constexpr float_denorm_style has_denorm = denorm_absent; 10143: static constexpr bool has_denorm_loss = false; 10143: 10143: static constexpr char16_t 10143: infinity() noexcept { return char16_t(); } 10143: 10143: static constexpr char16_t 10143: quiet_NaN() noexcept { return char16_t(); } 10143: 10143: static constexpr char16_t 10143: signaling_NaN() noexcept { return char16_t(); } 10143: 10143: static constexpr char16_t 10143: denorm_min() noexcept { return char16_t(); } 10143: 10143: static constexpr bool is_iec559 = false; 10143: static constexpr bool is_bounded = true; 10143: static constexpr bool is_modulo = !is_signed; 10143: 10143: static constexpr bool traps = false; 10143: static constexpr bool tinyness_before = false; 10143: static constexpr float_round_style round_style = round_toward_zero; 10143: }; 10143: 10143: 10143: template<> 10143: struct numeric_limits 10143: { 10143: static constexpr bool is_specialized = true; 10143: 10143: static constexpr char32_t 10143: min() noexcept { return (((char32_t)(-1) < 0) ? -(((char32_t)(-1) < 0) ? (((((char32_t)1 << ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char32_t)0) - 1 : (char32_t)0); } 10143: 10143: static constexpr char32_t 10143: max() noexcept { return (((char32_t)(-1) < 0) ? (((((char32_t)1 << ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char32_t)0); } 10143: 10143: static constexpr char32_t 10143: lowest() noexcept { return min(); } 10143: 10143: static constexpr int digits = (sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)); 10143: static constexpr int digits10 = ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) * 643L / 2136); 10143: static constexpr int max_digits10 = 0; 10143: static constexpr bool is_signed = ((char32_t)(-1) < 0); 10143: static constexpr bool is_integer = true; 10143: static constexpr bool is_exact = true; 10143: static constexpr int radix = 2; 10143: 10143: static constexpr char32_t 10143: epsilon() noexcept { return 0; } 10143: 10143: static constexpr char32_t 10143: round_error() noexcept { return 0; } 10143: 10143: static constexpr int min_exponent = 0; 10143: static constexpr int min_exponent10 = 0; 10143: static constexpr int max_exponent = 0; 10143: static constexpr int max_exponent10 = 0; 10143: 10143: static constexpr bool has_infinity = false; 10143: static constexpr bool has_quiet_NaN = false; 10143: static constexpr bool has_signaling_NaN = false; 10143: static constexpr float_denorm_style has_denorm = denorm_absent; 10143: static constexpr bool has_denorm_loss = false; 10143: 10143: static constexpr char32_t 10143: infinity() noexcept { return char32_t(); } 10143: 10143: static constexpr char32_t 10143: quiet_NaN() noexcept { return char32_t(); } 10143: 10143: static constexpr char32_t 10143: signaling_NaN() noexcept { return char32_t(); } 10143: 10143: static constexpr char32_t 10143: denorm_min() noexcept { return char32_t(); } 10143: 10143: static constexpr bool is_iec559 = false; 10143: static constexpr bool is_bounded = true; 10143: static constexpr bool is_modulo = !is_signed; 10143: 10143: static constexpr bool traps = false; 10143: static constexpr bool tinyness_before = false; 10143: static constexpr float_round_style round_style = round_toward_zero; 10143: }; 10143: 10143: 10143: 10143: template<> 10143: struct numeric_limits 10143: { 10143: static constexpr bool is_specialized = true; 10143: 10143: static constexpr short 10143: min() noexcept { return -0x7fff - 1; } 10143: 10143: static constexpr short 10143: max() noexcept { return 0x7fff; } 10143: 10143: 10143: static constexpr short 10143: lowest() noexcept { return min(); } 10143: 10143: 10143: static constexpr int digits = (sizeof(short) * 8 - ((short)(-1) < 0)); 10143: static constexpr int digits10 = ((sizeof(short) * 8 - ((short)(-1) < 0)) * 643L / 2136); 10143: 10143: static constexpr int max_digits10 = 0; 10143: 10143: static constexpr bool is_signed = true; 10143: static constexpr bool is_integer = true; 10143: static constexpr bool is_exact = true; 10143: static constexpr int radix = 2; 10143: 10143: static constexpr short 10143: epsilon() noexcept { return 0; } 10143: 10143: static constexpr short 10143: round_error() noexcept { return 0; } 10143: 10143: static constexpr int min_exponent = 0; 10143: static constexpr int min_exponent10 = 0; 10143: static constexpr int max_exponent = 0; 10143: static constexpr int max_exponent10 = 0; 10143: 10143: static constexpr bool has_infinity = false; 10143: static constexpr bool has_quiet_NaN = false; 10143: static constexpr bool has_signaling_NaN = false; 10143: static constexpr float_denorm_style has_denorm 10143: = denorm_absent; 10143: static constexpr bool has_denorm_loss = false; 10143: 10143: static constexpr short 10143: infinity() noexcept { return short(); } 10143: 10143: static constexpr short 10143: quiet_NaN() noexcept { return short(); } 10143: 10143: static constexpr short 10143: signaling_NaN() noexcept { return short(); } 10143: 10143: static constexpr short 10143: denorm_min() noexcept { return short(); } 10143: 10143: static constexpr bool is_iec559 = false; 10143: static constexpr bool is_bounded = true; 10143: static constexpr bool is_modulo = false; 10143: 10143: static constexpr bool traps = false; 10143: static constexpr bool tinyness_before = false; 10143: static constexpr float_round_style round_style 10143: = round_toward_zero; 10143: }; 10143: 10143: 10143: template<> 10143: struct numeric_limits 10143: { 10143: static constexpr bool is_specialized = true; 10143: 10143: static constexpr unsigned short 10143: min() noexcept { return 0; } 10143: 10143: static constexpr unsigned short 10143: max() noexcept { return 0x7fff * 2U + 1; } 10143: 10143: 10143: static constexpr unsigned short 10143: lowest() noexcept { return min(); } 10143: 10143: 10143: static constexpr int digits 10143: = (sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)); 10143: static constexpr int digits10 10143: = ((sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)) * 643L / 2136); 10143: 10143: static constexpr int max_digits10 = 0; 10143: 10143: static constexpr bool is_signed = false; 10143: static constexpr bool is_integer = true; 10143: static constexpr bool is_exact = true; 10143: static constexpr int radix = 2; 10143: 10143: static constexpr unsigned short 10143: epsilon() noexcept { return 0; } 10143: 10143: static constexpr unsigned short 10143: round_error() noexcept { return 0; } 10143: 10143: static constexpr int min_exponent = 0; 10143: static constexpr int min_exponent10 = 0; 10143: static constexpr int max_exponent = 0; 10143: static constexpr int max_exponent10 = 0; 10143: 10143: static constexpr bool has_infinity = false; 10143: static constexpr bool has_quiet_NaN = false; 10143: static constexpr bool has_signaling_NaN = false; 10143: static constexpr float_denorm_style has_denorm 10143: = denorm_absent; 10143: static constexpr bool has_denorm_loss = false; 10143: 10143: static constexpr unsigned short 10143: infinity() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr unsigned short 10143: quiet_NaN() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr unsigned short 10143: signaling_NaN() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr unsigned short 10143: denorm_min() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr bool is_iec559 = false; 10143: static constexpr bool is_bounded = true; 10143: static constexpr bool is_modulo = true; 10143: 10143: static constexpr bool traps = false; 10143: static constexpr bool tinyness_before = false; 10143: static constexpr float_round_style round_style 10143: = round_toward_zero; 10143: }; 10143: 10143: 10143: template<> 10143: struct numeric_limits 10143: { 10143: static constexpr bool is_specialized = true; 10143: 10143: static constexpr int 10143: min() noexcept { return -0x7fffffff - 1; } 10143: 10143: static constexpr int 10143: max() noexcept { return 0x7fffffff; } 10143: 10143: 10143: static constexpr int 10143: lowest() noexcept { return min(); } 10143: 10143: 10143: static constexpr int digits = (sizeof(int) * 8 - ((int)(-1) < 0)); 10143: static constexpr int digits10 = ((sizeof(int) * 8 - ((int)(-1) < 0)) * 643L / 2136); 10143: 10143: static constexpr int max_digits10 = 0; 10143: 10143: static constexpr bool is_signed = true; 10143: static constexpr bool is_integer = true; 10143: static constexpr bool is_exact = true; 10143: static constexpr int radix = 2; 10143: 10143: static constexpr int 10143: epsilon() noexcept { return 0; } 10143: 10143: static constexpr int 10143: round_error() noexcept { return 0; } 10143: 10143: static constexpr int min_exponent = 0; 10143: static constexpr int min_exponent10 = 0; 10143: static constexpr int max_exponent = 0; 10143: static constexpr int max_exponent10 = 0; 10143: 10143: static constexpr bool has_infinity = false; 10143: static constexpr bool has_quiet_NaN = false; 10143: static constexpr bool has_signaling_NaN = false; 10143: static constexpr float_denorm_style has_denorm 10143: = denorm_absent; 10143: static constexpr bool has_denorm_loss = false; 10143: 10143: static constexpr int 10143: infinity() noexcept { return static_cast(0); } 10143: 10143: static constexpr int 10143: quiet_NaN() noexcept { return static_cast(0); } 10143: 10143: static constexpr int 10143: signaling_NaN() noexcept { return static_cast(0); } 10143: 10143: static constexpr int 10143: denorm_min() noexcept { return static_cast(0); } 10143: 10143: static constexpr bool is_iec559 = false; 10143: static constexpr bool is_bounded = true; 10143: static constexpr bool is_modulo = false; 10143: 10143: static constexpr bool traps = false; 10143: static constexpr bool tinyness_before = false; 10143: static constexpr float_round_style round_style 10143: = round_toward_zero; 10143: }; 10143: 10143: 10143: template<> 10143: struct numeric_limits 10143: { 10143: static constexpr bool is_specialized = true; 10143: 10143: static constexpr unsigned int 10143: min() noexcept { return 0; } 10143: 10143: static constexpr unsigned int 10143: max() noexcept { return 0x7fffffff * 2U + 1; } 10143: 10143: 10143: static constexpr unsigned int 10143: lowest() noexcept { return min(); } 10143: 10143: 10143: static constexpr int digits 10143: = (sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)); 10143: static constexpr int digits10 10143: = ((sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)) * 643L / 2136); 10143: 10143: static constexpr int max_digits10 = 0; 10143: 10143: static constexpr bool is_signed = false; 10143: static constexpr bool is_integer = true; 10143: static constexpr bool is_exact = true; 10143: static constexpr int radix = 2; 10143: 10143: static constexpr unsigned int 10143: epsilon() noexcept { return 0; } 10143: 10143: static constexpr unsigned int 10143: round_error() noexcept { return 0; } 10143: 10143: static constexpr int min_exponent = 0; 10143: static constexpr int min_exponent10 = 0; 10143: static constexpr int max_exponent = 0; 10143: static constexpr int max_exponent10 = 0; 10143: 10143: static constexpr bool has_infinity = false; 10143: static constexpr bool has_quiet_NaN = false; 10143: static constexpr bool has_signaling_NaN = false; 10143: static constexpr float_denorm_style has_denorm 10143: = denorm_absent; 10143: static constexpr bool has_denorm_loss = false; 10143: 10143: static constexpr unsigned int 10143: infinity() noexcept { return static_cast(0); } 10143: 10143: static constexpr unsigned int 10143: quiet_NaN() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr unsigned int 10143: signaling_NaN() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr unsigned int 10143: denorm_min() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr bool is_iec559 = false; 10143: static constexpr bool is_bounded = true; 10143: static constexpr bool is_modulo = true; 10143: 10143: static constexpr bool traps = false; 10143: static constexpr bool tinyness_before = false; 10143: static constexpr float_round_style round_style 10143: = round_toward_zero; 10143: }; 10143: 10143: 10143: template<> 10143: struct numeric_limits 10143: { 10143: static constexpr bool is_specialized = true; 10143: 10143: static constexpr long 10143: min() noexcept { return -0x7fffffffffffffffL - 1; } 10143: 10143: static constexpr long 10143: max() noexcept { return 0x7fffffffffffffffL; } 10143: 10143: 10143: static constexpr long 10143: lowest() noexcept { return min(); } 10143: 10143: 10143: static constexpr int digits = (sizeof(long) * 8 - ((long)(-1) < 0)); 10143: static constexpr int digits10 = ((sizeof(long) * 8 - ((long)(-1) < 0)) * 643L / 2136); 10143: 10143: static constexpr int max_digits10 = 0; 10143: 10143: static constexpr bool is_signed = true; 10143: static constexpr bool is_integer = true; 10143: static constexpr bool is_exact = true; 10143: static constexpr int radix = 2; 10143: 10143: static constexpr long 10143: epsilon() noexcept { return 0; } 10143: 10143: static constexpr long 10143: round_error() noexcept { return 0; } 10143: 10143: static constexpr int min_exponent = 0; 10143: static constexpr int min_exponent10 = 0; 10143: static constexpr int max_exponent = 0; 10143: static constexpr int max_exponent10 = 0; 10143: 10143: static constexpr bool has_infinity = false; 10143: static constexpr bool has_quiet_NaN = false; 10143: static constexpr bool has_signaling_NaN = false; 10143: static constexpr float_denorm_style has_denorm 10143: = denorm_absent; 10143: static constexpr bool has_denorm_loss = false; 10143: 10143: static constexpr long 10143: infinity() noexcept { return static_cast(0); } 10143: 10143: static constexpr long 10143: quiet_NaN() noexcept { return static_cast(0); } 10143: 10143: static constexpr long 10143: signaling_NaN() noexcept { return static_cast(0); } 10143: 10143: static constexpr long 10143: denorm_min() noexcept { return static_cast(0); } 10143: 10143: static constexpr bool is_iec559 = false; 10143: static constexpr bool is_bounded = true; 10143: static constexpr bool is_modulo = false; 10143: 10143: static constexpr bool traps = false; 10143: static constexpr bool tinyness_before = false; 10143: static constexpr float_round_style round_style 10143: = round_toward_zero; 10143: }; 10143: 10143: 10143: template<> 10143: struct numeric_limits 10143: { 10143: static constexpr bool is_specialized = true; 10143: 10143: static constexpr unsigned long 10143: min() noexcept { return 0; } 10143: 10143: static constexpr unsigned long 10143: max() noexcept { return 0x7fffffffffffffffL * 2UL + 1; } 10143: 10143: 10143: static constexpr unsigned long 10143: lowest() noexcept { return min(); } 10143: 10143: 10143: static constexpr int digits 10143: = (sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)); 10143: static constexpr int digits10 10143: = ((sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)) * 643L / 2136); 10143: 10143: static constexpr int max_digits10 = 0; 10143: 10143: static constexpr bool is_signed = false; 10143: static constexpr bool is_integer = true; 10143: static constexpr bool is_exact = true; 10143: static constexpr int radix = 2; 10143: 10143: static constexpr unsigned long 10143: epsilon() noexcept { return 0; } 10143: 10143: static constexpr unsigned long 10143: round_error() noexcept { return 0; } 10143: 10143: static constexpr int min_exponent = 0; 10143: static constexpr int min_exponent10 = 0; 10143: static constexpr int max_exponent = 0; 10143: static constexpr int max_exponent10 = 0; 10143: 10143: static constexpr bool has_infinity = false; 10143: static constexpr bool has_quiet_NaN = false; 10143: static constexpr bool has_signaling_NaN = false; 10143: static constexpr float_denorm_style has_denorm 10143: = denorm_absent; 10143: static constexpr bool has_denorm_loss = false; 10143: 10143: static constexpr unsigned long 10143: infinity() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr unsigned long 10143: quiet_NaN() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr unsigned long 10143: signaling_NaN() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr unsigned long 10143: denorm_min() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr bool is_iec559 = false; 10143: static constexpr bool is_bounded = true; 10143: static constexpr bool is_modulo = true; 10143: 10143: static constexpr bool traps = false; 10143: static constexpr bool tinyness_before = false; 10143: static constexpr float_round_style round_style 10143: = round_toward_zero; 10143: }; 10143: 10143: 10143: template<> 10143: struct numeric_limits 10143: { 10143: static constexpr bool is_specialized = true; 10143: 10143: static constexpr long long 10143: min() noexcept { return -0x7fffffffffffffffLL - 1; } 10143: 10143: static constexpr long long 10143: max() noexcept { return 0x7fffffffffffffffLL; } 10143: 10143: 10143: static constexpr long long 10143: lowest() noexcept { return min(); } 10143: 10143: 10143: static constexpr int digits 10143: = (sizeof(long long) * 8 - ((long long)(-1) < 0)); 10143: static constexpr int digits10 10143: = ((sizeof(long long) * 8 - ((long long)(-1) < 0)) * 643L / 2136); 10143: 10143: static constexpr int max_digits10 = 0; 10143: 10143: static constexpr bool is_signed = true; 10143: static constexpr bool is_integer = true; 10143: static constexpr bool is_exact = true; 10143: static constexpr int radix = 2; 10143: 10143: static constexpr long long 10143: epsilon() noexcept { return 0; } 10143: 10143: static constexpr long long 10143: round_error() noexcept { return 0; } 10143: 10143: static constexpr int min_exponent = 0; 10143: static constexpr int min_exponent10 = 0; 10143: static constexpr int max_exponent = 0; 10143: static constexpr int max_exponent10 = 0; 10143: 10143: static constexpr bool has_infinity = false; 10143: static constexpr bool has_quiet_NaN = false; 10143: static constexpr bool has_signaling_NaN = false; 10143: static constexpr float_denorm_style has_denorm 10143: = denorm_absent; 10143: static constexpr bool has_denorm_loss = false; 10143: 10143: static constexpr long long 10143: infinity() noexcept { return static_cast(0); } 10143: 10143: static constexpr long long 10143: quiet_NaN() noexcept { return static_cast(0); } 10143: 10143: static constexpr long long 10143: signaling_NaN() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr long long 10143: denorm_min() noexcept { return static_cast(0); } 10143: 10143: static constexpr bool is_iec559 = false; 10143: static constexpr bool is_bounded = true; 10143: static constexpr bool is_modulo = false; 10143: 10143: static constexpr bool traps = false; 10143: static constexpr bool tinyness_before = false; 10143: static constexpr float_round_style round_style 10143: = round_toward_zero; 10143: }; 10143: 10143: 10143: template<> 10143: struct numeric_limits 10143: { 10143: static constexpr bool is_specialized = true; 10143: 10143: static constexpr unsigned long long 10143: min() noexcept { return 0; } 10143: 10143: static constexpr unsigned long long 10143: max() noexcept { return 0x7fffffffffffffffLL * 2ULL + 1; } 10143: 10143: 10143: static constexpr unsigned long long 10143: lowest() noexcept { return min(); } 10143: 10143: 10143: static constexpr int digits 10143: = (sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)); 10143: static constexpr int digits10 10143: = ((sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)) * 643L / 2136); 10143: 10143: static constexpr int max_digits10 = 0; 10143: 10143: static constexpr bool is_signed = false; 10143: static constexpr bool is_integer = true; 10143: static constexpr bool is_exact = true; 10143: static constexpr int radix = 2; 10143: 10143: static constexpr unsigned long long 10143: epsilon() noexcept { return 0; } 10143: 10143: static constexpr unsigned long long 10143: round_error() noexcept { return 0; } 10143: 10143: static constexpr int min_exponent = 0; 10143: static constexpr int min_exponent10 = 0; 10143: static constexpr int max_exponent = 0; 10143: static constexpr int max_exponent10 = 0; 10143: 10143: static constexpr bool has_infinity = false; 10143: static constexpr bool has_quiet_NaN = false; 10143: static constexpr bool has_signaling_NaN = false; 10143: static constexpr float_denorm_style has_denorm 10143: = denorm_absent; 10143: static constexpr bool has_denorm_loss = false; 10143: 10143: static constexpr unsigned long long 10143: infinity() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr unsigned long long 10143: quiet_NaN() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr unsigned long long 10143: signaling_NaN() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr unsigned long long 10143: denorm_min() noexcept 10143: { return static_cast(0); } 10143: 10143: static constexpr bool is_iec559 = false; 10143: static constexpr bool is_bounded = true; 10143: static constexpr bool is_modulo = true; 10143: 10143: static constexpr bool traps = false; 10143: static constexpr bool tinyness_before = false; 10143: static constexpr float_round_style round_style 10143: = round_toward_zero; 10143: }; 10143: # 1570 "/usr/include/c++/8/limits" 3 10143: template<> struct numeric_limits<__int128> { static constexpr bool is_specialized = true; static constexpr __int128 min() noexcept { return (((__int128)(-1) < 0) ? -(((__int128)(-1) < 0) ? (((((__int128)1 << ((128 - ((__int128)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(__int128)0) - 1 : (__int128)0); } static constexpr __int128 max() noexcept { return (((__int128)(-1) < 0) ? (((((__int128)1 << ((128 - ((__int128)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(__int128)0); } static constexpr int digits = 128 - 1; static constexpr int digits10 = (128 - 1) * 643L / 2136; static constexpr bool is_signed = true; static constexpr bool is_integer = true; static constexpr bool is_exact = true; static constexpr int radix = 2; static constexpr __int128 epsilon() noexcept { return 0; } static constexpr __int128 round_error() noexcept { return 0; } static constexpr __int128 lowest() noexcept { return min(); } static constexpr int max_digits10 = 0; static constexpr int min_exponent = 0; static constexpr int min_exponent10 = 0; static constexpr int max_exponent = 0; static constexpr int max_exponent10 = 0; static constexpr bool has_infinity = false; static constexpr bool has_quiet_NaN = false; static constexpr bool has_signaling_NaN = false; static constexpr float_denorm_style has_denorm = denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr __int128 infinity() noexcept { return static_cast<__int128>(0); } static constexpr __int128 quiet_NaN() noexcept { return static_cast<__int128>(0); } static constexpr __int128 signaling_NaN() noexcept { return static_cast<__int128>(0); } static constexpr __int128 denorm_min() noexcept { return static_cast<__int128>(0); } static constexpr bool is_iec559 = false; static constexpr bool is_bounded = true; static constexpr bool is_modulo = false; static constexpr bool traps = false; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static constexpr bool is_specialized = true; static constexpr unsigned __int128 min() noexcept { return 0; } static constexpr unsigned __int128 max() noexcept { return (((unsigned __int128)(-1) < 0) ? (((((unsigned __int128)1 << ((128 - ((unsigned __int128)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(unsigned __int128)0); } static constexpr unsigned __int128 lowest() noexcept { return min(); } static constexpr int max_digits10 = 0; static constexpr int digits = 128; static constexpr int digits10 = 128 * 643L / 2136; static constexpr bool is_signed = false; static constexpr bool is_integer = true; static constexpr bool is_exact = true; static constexpr int radix = 2; static constexpr unsigned __int128 epsilon() noexcept { return 0; } static constexpr unsigned __int128 round_error() noexcept { return 0; } static constexpr int min_exponent = 0; static constexpr int min_exponent10 = 0; static constexpr int max_exponent = 0; static constexpr int max_exponent10 = 0; static constexpr bool has_infinity = false; static constexpr bool has_quiet_NaN = false; static constexpr bool has_signaling_NaN = false; static constexpr float_denorm_style has_denorm = denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr unsigned __int128 infinity() noexcept { return static_cast(0); } static constexpr unsigned __int128 quiet_NaN() noexcept { return static_cast(0); } static constexpr unsigned __int128 signaling_NaN() noexcept { return static_cast(0); } static constexpr unsigned __int128 denorm_min() noexcept { return static_cast(0); } static constexpr bool is_iec559 = false; static constexpr bool is_bounded = true; static constexpr bool is_modulo = true; static constexpr bool traps = false; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_toward_zero; }; 10143: # 1593 "/usr/include/c++/8/limits" 3 10143: template<> 10143: struct numeric_limits 10143: { 10143: static constexpr bool is_specialized = true; 10143: 10143: static constexpr float 10143: min() noexcept { return 1.17549435082228750796873653722224568e-38F; } 10143: 10143: static constexpr float 10143: max() noexcept { return 3.40282346638528859811704183484516925e+38F; } 10143: 10143: 10143: static constexpr float 10143: lowest() noexcept { return -3.40282346638528859811704183484516925e+38F; } 10143: 10143: 10143: static constexpr int digits = 24; 10143: static constexpr int digits10 = 6; 10143: 10143: static constexpr int max_digits10 10143: = (2 + (24) * 643L / 2136); 10143: 10143: static constexpr bool is_signed = true; 10143: static constexpr bool is_integer = false; 10143: static constexpr bool is_exact = false; 10143: static constexpr int radix = 2; 10143: 10143: static constexpr float 10143: epsilon() noexcept { return 1.19209289550781250000000000000000000e-7F; } 10143: 10143: static constexpr float 10143: round_error() noexcept { return 0.5F; } 10143: 10143: static constexpr int min_exponent = (-125); 10143: static constexpr int min_exponent10 = (-37); 10143: static constexpr int max_exponent = 128; 10143: static constexpr int max_exponent10 = 38; 10143: 10143: static constexpr bool has_infinity = 1; 10143: static constexpr bool has_quiet_NaN = 1; 10143: static constexpr bool has_signaling_NaN = has_quiet_NaN; 10143: static constexpr float_denorm_style has_denorm 10143: = bool(1) ? denorm_present : denorm_absent; 10143: static constexpr bool has_denorm_loss 10143: = false; 10143: 10143: static constexpr float 10143: infinity() noexcept { return __builtin_huge_valf(); } 10143: 10143: static constexpr float 10143: quiet_NaN() noexcept { return __builtin_nanf(""); } 10143: 10143: static constexpr float 10143: signaling_NaN() noexcept { return __builtin_nansf(""); } 10143: 10143: static constexpr float 10143: denorm_min() noexcept { return 1.40129846432481707092372958328991613e-45F; } 10143: 10143: static constexpr bool is_iec559 10143: = has_infinity && has_quiet_NaN && has_denorm == denorm_present; 10143: static constexpr bool is_bounded = true; 10143: static constexpr bool is_modulo = false; 10143: 10143: static constexpr bool traps = false; 10143: static constexpr bool tinyness_before 10143: = false; 10143: static constexpr float_round_style round_style 10143: = round_to_nearest; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template<> 10143: struct numeric_limits 10143: { 10143: static constexpr bool is_specialized = true; 10143: 10143: static constexpr double 10143: min() noexcept { return double(2.22507385850720138309023271733240406e-308L); } 10143: 10143: static constexpr double 10143: max() noexcept { return double(1.79769313486231570814527423731704357e+308L); } 10143: 10143: 10143: static constexpr double 10143: lowest() noexcept { return -double(1.79769313486231570814527423731704357e+308L); } 10143: 10143: 10143: static constexpr int digits = 53; 10143: static constexpr int digits10 = 15; 10143: 10143: static constexpr int max_digits10 10143: = (2 + (53) * 643L / 2136); 10143: 10143: static constexpr bool is_signed = true; 10143: static constexpr bool is_integer = false; 10143: static constexpr bool is_exact = false; 10143: static constexpr int radix = 2; 10143: 10143: static constexpr double 10143: epsilon() noexcept { return double(2.22044604925031308084726333618164062e-16L); } 10143: 10143: static constexpr double 10143: round_error() noexcept { return 0.5; } 10143: 10143: static constexpr int min_exponent = (-1021); 10143: static constexpr int min_exponent10 = (-307); 10143: static constexpr int max_exponent = 1024; 10143: static constexpr int max_exponent10 = 308; 10143: 10143: static constexpr bool has_infinity = 1; 10143: static constexpr bool has_quiet_NaN = 1; 10143: static constexpr bool has_signaling_NaN = has_quiet_NaN; 10143: static constexpr float_denorm_style has_denorm 10143: = bool(1) ? denorm_present : denorm_absent; 10143: static constexpr bool has_denorm_loss 10143: = false; 10143: 10143: static constexpr double 10143: infinity() noexcept { return __builtin_huge_val(); } 10143: 10143: static constexpr double 10143: quiet_NaN() noexcept { return __builtin_nan(""); } 10143: 10143: static constexpr double 10143: signaling_NaN() noexcept { return __builtin_nans(""); } 10143: 10143: static constexpr double 10143: denorm_min() noexcept { return double(4.94065645841246544176568792868221372e-324L); } 10143: 10143: static constexpr bool is_iec559 10143: = has_infinity && has_quiet_NaN && has_denorm == denorm_present; 10143: static constexpr bool is_bounded = true; 10143: static constexpr bool is_modulo = false; 10143: 10143: static constexpr bool traps = false; 10143: static constexpr bool tinyness_before 10143: = false; 10143: static constexpr float_round_style round_style 10143: = round_to_nearest; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template<> 10143: struct numeric_limits 10143: { 10143: static constexpr bool is_specialized = true; 10143: 10143: static constexpr long double 10143: min() noexcept { return 2.00416836000897277799610805135016205e-292L; } 10143: 10143: static constexpr long double 10143: max() noexcept { return 1.79769313486231580793728971405301199e+308L; } 10143: 10143: 10143: static constexpr long double 10143: lowest() noexcept { return -1.79769313486231580793728971405301199e+308L; } 10143: 10143: 10143: static constexpr int digits = 106; 10143: static constexpr int digits10 = 31; 10143: 10143: static constexpr int max_digits10 10143: = (2 + (106) * 643L / 2136); 10143: 10143: static constexpr bool is_signed = true; 10143: static constexpr bool is_integer = false; 10143: static constexpr bool is_exact = false; 10143: static constexpr int radix = 2; 10143: 10143: static constexpr long double 10143: epsilon() noexcept { return 4.94065645841246544176568792868221372e-324L; } 10143: 10143: static constexpr long double 10143: round_error() noexcept { return 0.5L; } 10143: 10143: static constexpr int min_exponent = (-968); 10143: static constexpr int min_exponent10 = (-291); 10143: static constexpr int max_exponent = 1024; 10143: static constexpr int max_exponent10 = 308; 10143: 10143: static constexpr bool has_infinity = 1; 10143: static constexpr bool has_quiet_NaN = 1; 10143: static constexpr bool has_signaling_NaN = has_quiet_NaN; 10143: static constexpr float_denorm_style has_denorm 10143: = bool(1) ? denorm_present : denorm_absent; 10143: static constexpr bool has_denorm_loss 10143: = false; 10143: 10143: static constexpr long double 10143: infinity() noexcept { return __builtin_huge_vall(); } 10143: 10143: static constexpr long double 10143: quiet_NaN() noexcept { return __builtin_nanl(""); } 10143: 10143: static constexpr long double 10143: signaling_NaN() noexcept { return __builtin_nansl(""); } 10143: 10143: static constexpr long double 10143: denorm_min() noexcept { return 4.94065645841246544176568792868221372e-324L; } 10143: 10143: static constexpr bool is_iec559 10143: = has_infinity && has_quiet_NaN && has_denorm == denorm_present; 10143: static constexpr bool is_bounded = true; 10143: static constexpr bool is_modulo = false; 10143: 10143: static constexpr bool traps = false; 10143: static constexpr bool tinyness_before = 10143: false; 10143: static constexpr float_round_style round_style = 10143: round_to_nearest; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: } 10143: # 36 "/usr/include/c++/8/bits/uniform_int_dist.h" 2 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: namespace __detail 10143: { 10143: 10143: template 10143: inline bool 10143: _Power_of_2(_Tp __x) 10143: { 10143: return ((__x - 1) & __x) == 0; 10143: } 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: class uniform_int_distribution 10143: { 10143: static_assert(std::is_integral<_IntType>::value, 10143: "template argument must be an integral type"); 10143: 10143: public: 10143: 10143: typedef _IntType result_type; 10143: 10143: struct param_type 10143: { 10143: typedef uniform_int_distribution<_IntType> distribution_type; 10143: 10143: explicit 10143: param_type(_IntType __a = 0, 10143: _IntType __b = std::numeric_limits<_IntType>::max()) 10143: : _M_a(__a), _M_b(__b) 10143: { 10143: ; 10143: } 10143: 10143: result_type 10143: a() const 10143: { return _M_a; } 10143: 10143: result_type 10143: b() const 10143: { return _M_b; } 10143: 10143: friend bool 10143: operator==(const param_type& __p1, const param_type& __p2) 10143: { return __p1._M_a == __p2._M_a && __p1._M_b == __p2._M_b; } 10143: 10143: friend bool 10143: operator!=(const param_type& __p1, const param_type& __p2) 10143: { return !(__p1 == __p2); } 10143: 10143: private: 10143: _IntType _M_a; 10143: _IntType _M_b; 10143: }; 10143: 10143: public: 10143: 10143: 10143: 10143: explicit 10143: uniform_int_distribution(_IntType __a = 0, 10143: _IntType __b = std::numeric_limits<_IntType>::max()) 10143: : _M_param(__a, __b) 10143: { } 10143: 10143: explicit 10143: uniform_int_distribution(const param_type& __p) 10143: : _M_param(__p) 10143: { } 10143: 10143: 10143: 10143: 10143: 10143: 10143: void 10143: reset() { } 10143: 10143: result_type 10143: a() const 10143: { return _M_param.a(); } 10143: 10143: result_type 10143: b() const 10143: { return _M_param.b(); } 10143: 10143: 10143: 10143: 10143: param_type 10143: param() const 10143: { return _M_param; } 10143: 10143: 10143: 10143: 10143: 10143: void 10143: param(const param_type& __param) 10143: { _M_param = __param; } 10143: 10143: 10143: 10143: 10143: result_type 10143: min() const 10143: { return this->a(); } 10143: 10143: 10143: 10143: 10143: result_type 10143: max() const 10143: { return this->b(); } 10143: 10143: 10143: 10143: 10143: template 10143: result_type 10143: operator()(_UniformRandomNumberGenerator& __urng) 10143: { return this->operator()(__urng, _M_param); } 10143: 10143: template 10143: result_type 10143: operator()(_UniformRandomNumberGenerator& __urng, 10143: const param_type& __p); 10143: 10143: template 10143: void 10143: __generate(_ForwardIterator __f, _ForwardIterator __t, 10143: _UniformRandomNumberGenerator& __urng) 10143: { this->__generate(__f, __t, __urng, _M_param); } 10143: 10143: template 10143: void 10143: __generate(_ForwardIterator __f, _ForwardIterator __t, 10143: _UniformRandomNumberGenerator& __urng, 10143: const param_type& __p) 10143: { this->__generate_impl(__f, __t, __urng, __p); } 10143: 10143: template 10143: void 10143: __generate(result_type* __f, result_type* __t, 10143: _UniformRandomNumberGenerator& __urng, 10143: const param_type& __p) 10143: { this->__generate_impl(__f, __t, __urng, __p); } 10143: 10143: 10143: 10143: 10143: 10143: friend bool 10143: operator==(const uniform_int_distribution& __d1, 10143: const uniform_int_distribution& __d2) 10143: { return __d1._M_param == __d2._M_param; } 10143: 10143: private: 10143: template 10143: void 10143: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, 10143: _UniformRandomNumberGenerator& __urng, 10143: const param_type& __p); 10143: 10143: param_type _M_param; 10143: }; 10143: 10143: template 10143: template 10143: typename uniform_int_distribution<_IntType>::result_type 10143: uniform_int_distribution<_IntType>:: 10143: operator()(_UniformRandomNumberGenerator& __urng, 10143: const param_type& __param) 10143: { 10143: typedef typename _UniformRandomNumberGenerator::result_type 10143: _Gresult_type; 10143: typedef typename std::make_unsigned::type __utype; 10143: typedef typename std::common_type<_Gresult_type, __utype>::type 10143: __uctype; 10143: 10143: const __uctype __urngmin = __urng.min(); 10143: const __uctype __urngmax = __urng.max(); 10143: const __uctype __urngrange = __urngmax - __urngmin; 10143: const __uctype __urange 10143: = __uctype(__param.b()) - __uctype(__param.a()); 10143: 10143: __uctype __ret; 10143: 10143: if (__urngrange > __urange) 10143: { 10143: 10143: const __uctype __uerange = __urange + 1; 10143: const __uctype __scaling = __urngrange / __uerange; 10143: const __uctype __past = __uerange * __scaling; 10143: do 10143: __ret = __uctype(__urng()) - __urngmin; 10143: while (__ret >= __past); 10143: __ret /= __scaling; 10143: } 10143: else if (__urngrange < __urange) 10143: { 10143: # 264 "/usr/include/c++/8/bits/uniform_int_dist.h" 3 10143: __uctype __tmp; 10143: do 10143: { 10143: const __uctype __uerngrange = __urngrange + 1; 10143: __tmp = (__uerngrange * operator() 10143: (__urng, param_type(0, __urange / __uerngrange))); 10143: __ret = __tmp + (__uctype(__urng()) - __urngmin); 10143: } 10143: while (__ret > __urange || __ret < __tmp); 10143: } 10143: else 10143: __ret = __uctype(__urng()) - __urngmin; 10143: 10143: return __ret + __param.a(); 10143: } 10143: 10143: 10143: template 10143: template 10143: void 10143: uniform_int_distribution<_IntType>:: 10143: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, 10143: _UniformRandomNumberGenerator& __urng, 10143: const param_type& __param) 10143: { 10143: 10143: typedef typename _UniformRandomNumberGenerator::result_type 10143: _Gresult_type; 10143: typedef typename std::make_unsigned::type __utype; 10143: typedef typename std::common_type<_Gresult_type, __utype>::type 10143: __uctype; 10143: 10143: const __uctype __urngmin = __urng.min(); 10143: const __uctype __urngmax = __urng.max(); 10143: const __uctype __urngrange = __urngmax - __urngmin; 10143: const __uctype __urange 10143: = __uctype(__param.b()) - __uctype(__param.a()); 10143: 10143: __uctype __ret; 10143: 10143: if (__urngrange > __urange) 10143: { 10143: if (__detail::_Power_of_2(__urngrange + 1) 10143: && __detail::_Power_of_2(__urange + 1)) 10143: { 10143: while (__f != __t) 10143: { 10143: __ret = __uctype(__urng()) - __urngmin; 10143: *__f++ = (__ret & __urange) + __param.a(); 10143: } 10143: } 10143: else 10143: { 10143: 10143: const __uctype __uerange = __urange + 1; 10143: const __uctype __scaling = __urngrange / __uerange; 10143: const __uctype __past = __uerange * __scaling; 10143: while (__f != __t) 10143: { 10143: do 10143: __ret = __uctype(__urng()) - __urngmin; 10143: while (__ret >= __past); 10143: *__f++ = __ret / __scaling + __param.a(); 10143: } 10143: } 10143: } 10143: else if (__urngrange < __urange) 10143: { 10143: # 348 "/usr/include/c++/8/bits/uniform_int_dist.h" 3 10143: __uctype __tmp; 10143: while (__f != __t) 10143: { 10143: do 10143: { 10143: const __uctype __uerngrange = __urngrange + 1; 10143: __tmp = (__uerngrange * operator() 10143: (__urng, param_type(0, __urange / __uerngrange))); 10143: __ret = __tmp + (__uctype(__urng()) - __urngmin); 10143: } 10143: while (__ret > __urange || __ret < __tmp); 10143: *__f++ = __ret; 10143: } 10143: } 10143: else 10143: while (__f != __t) 10143: *__f++ = __uctype(__urng()) - __urngmin + __param.a(); 10143: } 10143: 10143: 10143: 10143: 10143: } 10143: # 67 "/usr/include/c++/8/bits/stl_algo.h" 2 3 10143: 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: template 10143: void 10143: __move_median_to_first(_Iterator __result,_Iterator __a, _Iterator __b, 10143: _Iterator __c, _Compare __comp) 10143: { 10143: if (__comp(__a, __b)) 10143: { 10143: if (__comp(__b, __c)) 10143: std::iter_swap(__result, __b); 10143: else if (__comp(__a, __c)) 10143: std::iter_swap(__result, __c); 10143: else 10143: std::iter_swap(__result, __a); 10143: } 10143: else if (__comp(__a, __c)) 10143: std::iter_swap(__result, __a); 10143: else if (__comp(__b, __c)) 10143: std::iter_swap(__result, __c); 10143: else 10143: std::iter_swap(__result, __b); 10143: } 10143: 10143: 10143: template 10143: inline _InputIterator 10143: __find_if(_InputIterator __first, _InputIterator __last, 10143: _Predicate __pred, input_iterator_tag) 10143: { 10143: while (__first != __last && !__pred(__first)) 10143: ++__first; 10143: return __first; 10143: } 10143: 10143: 10143: template 10143: _RandomAccessIterator 10143: __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last, 10143: _Predicate __pred, random_access_iterator_tag) 10143: { 10143: typename iterator_traits<_RandomAccessIterator>::difference_type 10143: __trip_count = (__last - __first) >> 2; 10143: 10143: for (; __trip_count > 0; --__trip_count) 10143: { 10143: if (__pred(__first)) 10143: return __first; 10143: ++__first; 10143: 10143: if (__pred(__first)) 10143: return __first; 10143: ++__first; 10143: 10143: if (__pred(__first)) 10143: return __first; 10143: ++__first; 10143: 10143: if (__pred(__first)) 10143: return __first; 10143: ++__first; 10143: } 10143: 10143: switch (__last - __first) 10143: { 10143: case 3: 10143: if (__pred(__first)) 10143: return __first; 10143: ++__first; 10143: case 2: 10143: if (__pred(__first)) 10143: return __first; 10143: ++__first; 10143: case 1: 10143: if (__pred(__first)) 10143: return __first; 10143: ++__first; 10143: case 0: 10143: default: 10143: return __last; 10143: } 10143: } 10143: 10143: template 10143: inline _Iterator 10143: __find_if(_Iterator __first, _Iterator __last, _Predicate __pred) 10143: { 10143: return __find_if(__first, __last, __pred, 10143: std::__iterator_category(__first)); 10143: } 10143: 10143: 10143: template 10143: inline _InputIterator 10143: __find_if_not(_InputIterator __first, _InputIterator __last, 10143: _Predicate __pred) 10143: { 10143: return std::__find_if(__first, __last, 10143: __gnu_cxx::__ops::__negate(__pred), 10143: std::__iterator_category(__first)); 10143: } 10143: 10143: 10143: 10143: 10143: template 10143: _InputIterator 10143: __find_if_not_n(_InputIterator __first, _Distance& __len, _Predicate __pred) 10143: { 10143: for (; __len; --__len, (void) ++__first) 10143: if (!__pred(__first)) 10143: break; 10143: return __first; 10143: } 10143: # 202 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: _ForwardIterator1 10143: __search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 10143: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 10143: _BinaryPredicate __predicate) 10143: { 10143: 10143: if (__first1 == __last1 || __first2 == __last2) 10143: return __first1; 10143: 10143: 10143: _ForwardIterator2 __p1(__first2); 10143: if (++__p1 == __last2) 10143: return std::__find_if(__first1, __last1, 10143: __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2)); 10143: 10143: 10143: _ForwardIterator2 __p; 10143: _ForwardIterator1 __current = __first1; 10143: 10143: for (;;) 10143: { 10143: __first1 = 10143: std::__find_if(__first1, __last1, 10143: __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2)); 10143: 10143: if (__first1 == __last1) 10143: return __last1; 10143: 10143: __p = __p1; 10143: __current = __first1; 10143: if (++__current == __last1) 10143: return __last1; 10143: 10143: while (__predicate(__current, __p)) 10143: { 10143: if (++__p == __last2) 10143: return __first1; 10143: if (++__current == __last1) 10143: return __last1; 10143: } 10143: ++__first1; 10143: } 10143: return __first1; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: _ForwardIterator 10143: __search_n_aux(_ForwardIterator __first, _ForwardIterator __last, 10143: _Integer __count, _UnaryPredicate __unary_pred, 10143: std::forward_iterator_tag) 10143: { 10143: __first = std::__find_if(__first, __last, __unary_pred); 10143: while (__first != __last) 10143: { 10143: typename iterator_traits<_ForwardIterator>::difference_type 10143: __n = __count; 10143: _ForwardIterator __i = __first; 10143: ++__i; 10143: while (__i != __last && __n != 1 && __unary_pred(__i)) 10143: { 10143: ++__i; 10143: --__n; 10143: } 10143: if (__n == 1) 10143: return __first; 10143: if (__i == __last) 10143: return __last; 10143: __first = std::__find_if(++__i, __last, __unary_pred); 10143: } 10143: return __last; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: template 10143: _RandomAccessIter 10143: __search_n_aux(_RandomAccessIter __first, _RandomAccessIter __last, 10143: _Integer __count, _UnaryPredicate __unary_pred, 10143: std::random_access_iterator_tag) 10143: { 10143: typedef typename std::iterator_traits<_RandomAccessIter>::difference_type 10143: _DistanceType; 10143: 10143: _DistanceType __tailSize = __last - __first; 10143: _DistanceType __remainder = __count; 10143: 10143: while (__remainder <= __tailSize) 10143: { 10143: __first += __remainder; 10143: __tailSize -= __remainder; 10143: 10143: 10143: _RandomAccessIter __backTrack = __first; 10143: while (__unary_pred(--__backTrack)) 10143: { 10143: if (--__remainder == 0) 10143: return (__first - __count); 10143: } 10143: __remainder = __count + 1 - (__first - __backTrack); 10143: } 10143: return __last; 10143: } 10143: 10143: template 10143: _ForwardIterator 10143: __search_n(_ForwardIterator __first, _ForwardIterator __last, 10143: _Integer __count, 10143: _UnaryPredicate __unary_pred) 10143: { 10143: if (__count <= 0) 10143: return __first; 10143: 10143: if (__count == 1) 10143: return std::__find_if(__first, __last, __unary_pred); 10143: 10143: return std::__search_n_aux(__first, __last, __count, __unary_pred, 10143: std::__iterator_category(__first)); 10143: } 10143: 10143: 10143: template 10143: _ForwardIterator1 10143: __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 10143: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 10143: forward_iterator_tag, forward_iterator_tag, 10143: _BinaryPredicate __comp) 10143: { 10143: if (__first2 == __last2) 10143: return __last1; 10143: 10143: _ForwardIterator1 __result = __last1; 10143: while (1) 10143: { 10143: _ForwardIterator1 __new_result 10143: = std::__search(__first1, __last1, __first2, __last2, __comp); 10143: if (__new_result == __last1) 10143: return __result; 10143: else 10143: { 10143: __result = __new_result; 10143: __first1 = __new_result; 10143: ++__first1; 10143: } 10143: } 10143: } 10143: 10143: 10143: template 10143: _BidirectionalIterator1 10143: __find_end(_BidirectionalIterator1 __first1, 10143: _BidirectionalIterator1 __last1, 10143: _BidirectionalIterator2 __first2, 10143: _BidirectionalIterator2 __last2, 10143: bidirectional_iterator_tag, bidirectional_iterator_tag, 10143: _BinaryPredicate __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1; 10143: typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2; 10143: 10143: _RevIterator1 __rlast1(__first1); 10143: _RevIterator2 __rlast2(__first2); 10143: _RevIterator1 __rresult = std::__search(_RevIterator1(__last1), __rlast1, 10143: _RevIterator2(__last2), __rlast2, 10143: __comp); 10143: 10143: if (__rresult == __rlast1) 10143: return __last1; 10143: else 10143: { 10143: _BidirectionalIterator1 __result = __rresult.base(); 10143: std::advance(__result, -std::distance(__first2, __last2)); 10143: return __result; 10143: } 10143: } 10143: # 423 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _ForwardIterator1 10143: find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 10143: _ForwardIterator2 __first2, _ForwardIterator2 __last2) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::__find_end(__first1, __last1, __first2, __last2, 10143: std::__iterator_category(__first1), 10143: std::__iterator_category(__first2), 10143: __gnu_cxx::__ops::__iter_equal_to_iter()); 10143: } 10143: # 471 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _ForwardIterator1 10143: find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 10143: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 10143: _BinaryPredicate __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::__find_end(__first1, __last1, __first2, __last2, 10143: std::__iterator_category(__first1), 10143: std::__iterator_category(__first2), 10143: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 10143: } 10143: # 506 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline bool 10143: all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) 10143: { return __last == std::find_if_not(__first, __last, __pred); } 10143: # 523 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline bool 10143: none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) 10143: { return __last == std::find_if(__first, __last, __pred); } 10143: # 541 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline bool 10143: any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) 10143: { return !std::none_of(__first, __last, __pred); } 10143: # 556 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _InputIterator 10143: find_if_not(_InputIterator __first, _InputIterator __last, 10143: _Predicate __pred) 10143: { 10143: 10143: 10143: 10143: 10143: ; 10143: return std::__find_if_not(__first, __last, 10143: __gnu_cxx::__ops::__pred_iter(__pred)); 10143: } 10143: # 580 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline bool 10143: is_partitioned(_InputIterator __first, _InputIterator __last, 10143: _Predicate __pred) 10143: { 10143: __first = std::find_if_not(__first, __last, __pred); 10143: if (__first == __last) 10143: return true; 10143: ++__first; 10143: return std::none_of(__first, __last, __pred); 10143: } 10143: # 601 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: _ForwardIterator 10143: partition_point(_ForwardIterator __first, _ForwardIterator __last, 10143: _Predicate __pred) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: typedef typename iterator_traits<_ForwardIterator>::difference_type 10143: _DistanceType; 10143: 10143: _DistanceType __len = std::distance(__first, __last); 10143: _DistanceType __half; 10143: _ForwardIterator __middle; 10143: 10143: while (__len > 0) 10143: { 10143: __half = __len >> 1; 10143: __middle = __first; 10143: std::advance(__middle, __half); 10143: if (__pred(*__middle)) 10143: { 10143: __first = __middle; 10143: ++__first; 10143: __len = __len - __half - 1; 10143: } 10143: else 10143: __len = __half; 10143: } 10143: return __first; 10143: } 10143: 10143: 10143: template 10143: _OutputIterator 10143: __remove_copy_if(_InputIterator __first, _InputIterator __last, 10143: _OutputIterator __result, _Predicate __pred) 10143: { 10143: for (; __first != __last; ++__first) 10143: if (!__pred(__first)) 10143: { 10143: *__result = *__first; 10143: ++__result; 10143: } 10143: return __result; 10143: } 10143: # 668 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _OutputIterator 10143: remove_copy(_InputIterator __first, _InputIterator __last, 10143: _OutputIterator __result, const _Tp& __value) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__remove_copy_if(__first, __last, __result, 10143: __gnu_cxx::__ops::__iter_equals_val(__value)); 10143: } 10143: # 700 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _OutputIterator 10143: remove_copy_if(_InputIterator __first, _InputIterator __last, 10143: _OutputIterator __result, _Predicate __pred) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__remove_copy_if(__first, __last, __result, 10143: __gnu_cxx::__ops::__pred_iter(__pred)); 10143: } 10143: # 734 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: _OutputIterator 10143: copy_if(_InputIterator __first, _InputIterator __last, 10143: _OutputIterator __result, _Predicate __pred) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: for (; __first != __last; ++__first) 10143: if (__pred(*__first)) 10143: { 10143: *__result = *__first; 10143: ++__result; 10143: } 10143: return __result; 10143: } 10143: 10143: template 10143: _OutputIterator 10143: __copy_n(_InputIterator __first, _Size __n, 10143: _OutputIterator __result, input_iterator_tag) 10143: { 10143: if (__n > 0) 10143: { 10143: while (true) 10143: { 10143: *__result = *__first; 10143: ++__result; 10143: if (--__n > 0) 10143: ++__first; 10143: else 10143: break; 10143: } 10143: } 10143: return __result; 10143: } 10143: 10143: template 10143: inline _OutputIterator 10143: __copy_n(_RandomAccessIterator __first, _Size __n, 10143: _OutputIterator __result, random_access_iterator_tag) 10143: { return std::copy(__first, __first + __n, __result); } 10143: # 797 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _OutputIterator 10143: copy_n(_InputIterator __first, _Size __n, _OutputIterator __result) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: return std::__copy_n(__first, __n, __result, 10143: std::__iterator_category(__first)); 10143: } 10143: # 825 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: pair<_OutputIterator1, _OutputIterator2> 10143: partition_copy(_InputIterator __first, _InputIterator __last, 10143: _OutputIterator1 __out_true, _OutputIterator2 __out_false, 10143: _Predicate __pred) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: for (; __first != __last; ++__first) 10143: if (__pred(*__first)) 10143: { 10143: *__out_true = *__first; 10143: ++__out_true; 10143: } 10143: else 10143: { 10143: *__out_false = *__first; 10143: ++__out_false; 10143: } 10143: 10143: return pair<_OutputIterator1, _OutputIterator2>(__out_true, __out_false); 10143: } 10143: 10143: 10143: template 10143: _ForwardIterator 10143: __remove_if(_ForwardIterator __first, _ForwardIterator __last, 10143: _Predicate __pred) 10143: { 10143: __first = std::__find_if(__first, __last, __pred); 10143: if (__first == __last) 10143: return __first; 10143: _ForwardIterator __result = __first; 10143: ++__first; 10143: for (; __first != __last; ++__first) 10143: if (!__pred(__first)) 10143: { 10143: *__result = std::move(*__first); 10143: ++__result; 10143: } 10143: return __result; 10143: } 10143: # 894 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _ForwardIterator 10143: remove(_ForwardIterator __first, _ForwardIterator __last, 10143: const _Tp& __value) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__remove_if(__first, __last, 10143: __gnu_cxx::__ops::__iter_equals_val(__value)); 10143: } 10143: # 927 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _ForwardIterator 10143: remove_if(_ForwardIterator __first, _ForwardIterator __last, 10143: _Predicate __pred) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__remove_if(__first, __last, 10143: __gnu_cxx::__ops::__pred_iter(__pred)); 10143: } 10143: 10143: template 10143: _ForwardIterator 10143: __adjacent_find(_ForwardIterator __first, _ForwardIterator __last, 10143: _BinaryPredicate __binary_pred) 10143: { 10143: if (__first == __last) 10143: return __last; 10143: _ForwardIterator __next = __first; 10143: while (++__next != __last) 10143: { 10143: if (__binary_pred(__first, __next)) 10143: return __first; 10143: __first = __next; 10143: } 10143: return __last; 10143: } 10143: 10143: template 10143: _ForwardIterator 10143: __unique(_ForwardIterator __first, _ForwardIterator __last, 10143: _BinaryPredicate __binary_pred) 10143: { 10143: 10143: __first = std::__adjacent_find(__first, __last, __binary_pred); 10143: if (__first == __last) 10143: return __last; 10143: 10143: 10143: _ForwardIterator __dest = __first; 10143: ++__first; 10143: while (++__first != __last) 10143: if (!__binary_pred(__dest, __first)) 10143: *++__dest = std::move(*__first); 10143: return ++__dest; 10143: } 10143: # 993 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _ForwardIterator 10143: unique(_ForwardIterator __first, _ForwardIterator __last) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__unique(__first, __last, 10143: __gnu_cxx::__ops::__iter_equal_to_iter()); 10143: } 10143: # 1023 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _ForwardIterator 10143: unique(_ForwardIterator __first, _ForwardIterator __last, 10143: _BinaryPredicate __binary_pred) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__unique(__first, __last, 10143: __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: _OutputIterator 10143: __unique_copy(_ForwardIterator __first, _ForwardIterator __last, 10143: _OutputIterator __result, _BinaryPredicate __binary_pred, 10143: forward_iterator_tag, output_iterator_tag) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: _ForwardIterator __next = __first; 10143: *__result = *__first; 10143: while (++__next != __last) 10143: if (!__binary_pred(__first, __next)) 10143: { 10143: __first = __next; 10143: *++__result = *__first; 10143: } 10143: return ++__result; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: _OutputIterator 10143: __unique_copy(_InputIterator __first, _InputIterator __last, 10143: _OutputIterator __result, _BinaryPredicate __binary_pred, 10143: input_iterator_tag, output_iterator_tag) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: typename iterator_traits<_InputIterator>::value_type __value = *__first; 10143: __decltype(__gnu_cxx::__ops::__iter_comp_val(__binary_pred)) 10143: __rebound_pred 10143: = __gnu_cxx::__ops::__iter_comp_val(__binary_pred); 10143: *__result = __value; 10143: while (++__first != __last) 10143: if (!__rebound_pred(__first, __value)) 10143: { 10143: __value = *__first; 10143: *++__result = __value; 10143: } 10143: return ++__result; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: _ForwardIterator 10143: __unique_copy(_InputIterator __first, _InputIterator __last, 10143: _ForwardIterator __result, _BinaryPredicate __binary_pred, 10143: input_iterator_tag, forward_iterator_tag) 10143: { 10143: 10143: 10143: 10143: 10143: *__result = *__first; 10143: while (++__first != __last) 10143: if (!__binary_pred(__result, __first)) 10143: *++__result = *__first; 10143: return ++__result; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: void 10143: __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last, 10143: bidirectional_iterator_tag) 10143: { 10143: while (true) 10143: if (__first == __last || __first == --__last) 10143: return; 10143: else 10143: { 10143: std::iter_swap(__first, __last); 10143: ++__first; 10143: } 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: void 10143: __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last, 10143: random_access_iterator_tag) 10143: { 10143: if (__first == __last) 10143: return; 10143: --__last; 10143: while (__first < __last) 10143: { 10143: std::iter_swap(__first, __last); 10143: ++__first; 10143: --__last; 10143: } 10143: } 10143: # 1178 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline void 10143: reverse(_BidirectionalIterator __first, _BidirectionalIterator __last) 10143: { 10143: 10143: 10143: 10143: ; 10143: std::__reverse(__first, __last, std::__iterator_category(__first)); 10143: } 10143: # 1205 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: _OutputIterator 10143: reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last, 10143: _OutputIterator __result) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: while (__first != __last) 10143: { 10143: --__last; 10143: *__result = *__last; 10143: ++__result; 10143: } 10143: return __result; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: template 10143: _EuclideanRingElement 10143: __gcd(_EuclideanRingElement __m, _EuclideanRingElement __n) 10143: { 10143: while (__n != 0) 10143: { 10143: _EuclideanRingElement __t = __m % __n; 10143: __m = __n; 10143: __n = __t; 10143: } 10143: return __m; 10143: } 10143: 10143: inline namespace _V2 10143: { 10143: 10143: 10143: template 10143: _ForwardIterator 10143: __rotate(_ForwardIterator __first, 10143: _ForwardIterator __middle, 10143: _ForwardIterator __last, 10143: forward_iterator_tag) 10143: { 10143: if (__first == __middle) 10143: return __last; 10143: else if (__last == __middle) 10143: return __first; 10143: 10143: _ForwardIterator __first2 = __middle; 10143: do 10143: { 10143: std::iter_swap(__first, __first2); 10143: ++__first; 10143: ++__first2; 10143: if (__first == __middle) 10143: __middle = __first2; 10143: } 10143: while (__first2 != __last); 10143: 10143: _ForwardIterator __ret = __first; 10143: 10143: __first2 = __middle; 10143: 10143: while (__first2 != __last) 10143: { 10143: std::iter_swap(__first, __first2); 10143: ++__first; 10143: ++__first2; 10143: if (__first == __middle) 10143: __middle = __first2; 10143: else if (__first2 == __last) 10143: __first2 = __middle; 10143: } 10143: return __ret; 10143: } 10143: 10143: 10143: template 10143: _BidirectionalIterator 10143: __rotate(_BidirectionalIterator __first, 10143: _BidirectionalIterator __middle, 10143: _BidirectionalIterator __last, 10143: bidirectional_iterator_tag) 10143: { 10143: 10143: 10143: 10143: 10143: if (__first == __middle) 10143: return __last; 10143: else if (__last == __middle) 10143: return __first; 10143: 10143: std::__reverse(__first, __middle, bidirectional_iterator_tag()); 10143: std::__reverse(__middle, __last, bidirectional_iterator_tag()); 10143: 10143: while (__first != __middle && __middle != __last) 10143: { 10143: std::iter_swap(__first, --__last); 10143: ++__first; 10143: } 10143: 10143: if (__first == __middle) 10143: { 10143: std::__reverse(__middle, __last, bidirectional_iterator_tag()); 10143: return __last; 10143: } 10143: else 10143: { 10143: std::__reverse(__first, __middle, bidirectional_iterator_tag()); 10143: return __first; 10143: } 10143: } 10143: 10143: 10143: template 10143: _RandomAccessIterator 10143: __rotate(_RandomAccessIterator __first, 10143: _RandomAccessIterator __middle, 10143: _RandomAccessIterator __last, 10143: random_access_iterator_tag) 10143: { 10143: 10143: 10143: 10143: 10143: if (__first == __middle) 10143: return __last; 10143: else if (__last == __middle) 10143: return __first; 10143: 10143: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 10143: _Distance; 10143: typedef typename iterator_traits<_RandomAccessIterator>::value_type 10143: _ValueType; 10143: 10143: _Distance __n = __last - __first; 10143: _Distance __k = __middle - __first; 10143: 10143: if (__k == __n - __k) 10143: { 10143: std::swap_ranges(__first, __middle, __middle); 10143: return __middle; 10143: } 10143: 10143: _RandomAccessIterator __p = __first; 10143: _RandomAccessIterator __ret = __first + (__last - __middle); 10143: 10143: for (;;) 10143: { 10143: if (__k < __n - __k) 10143: { 10143: if (__is_pod(_ValueType) && __k == 1) 10143: { 10143: _ValueType __t = std::move(*__p); 10143: std::move(__p + 1, __p + __n, __p); 10143: *(__p + __n - 1) = std::move(__t); 10143: return __ret; 10143: } 10143: _RandomAccessIterator __q = __p + __k; 10143: for (_Distance __i = 0; __i < __n - __k; ++ __i) 10143: { 10143: std::iter_swap(__p, __q); 10143: ++__p; 10143: ++__q; 10143: } 10143: __n %= __k; 10143: if (__n == 0) 10143: return __ret; 10143: std::swap(__n, __k); 10143: __k = __n - __k; 10143: } 10143: else 10143: { 10143: __k = __n - __k; 10143: if (__is_pod(_ValueType) && __k == 1) 10143: { 10143: _ValueType __t = std::move(*(__p + __n - 1)); 10143: std::move_backward(__p, __p + __n - 1, __p + __n); 10143: *__p = std::move(__t); 10143: return __ret; 10143: } 10143: _RandomAccessIterator __q = __p + __n; 10143: __p = __q - __k; 10143: for (_Distance __i = 0; __i < __n - __k; ++ __i) 10143: { 10143: --__p; 10143: --__q; 10143: std::iter_swap(__p, __q); 10143: } 10143: __n %= __k; 10143: if (__n == 0) 10143: return __ret; 10143: std::swap(__n, __k); 10143: } 10143: } 10143: } 10143: # 1432 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _ForwardIterator 10143: rotate(_ForwardIterator __first, _ForwardIterator __middle, 10143: _ForwardIterator __last) 10143: { 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::__rotate(__first, __middle, __last, 10143: std::__iterator_category(__first)); 10143: } 10143: 10143: } 10143: # 1469 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _OutputIterator 10143: rotate_copy(_ForwardIterator __first, _ForwardIterator __middle, 10143: _ForwardIterator __last, _OutputIterator __result) 10143: { 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::copy(__first, __middle, 10143: std::copy(__middle, __last, __result)); 10143: } 10143: 10143: 10143: template 10143: _ForwardIterator 10143: __partition(_ForwardIterator __first, _ForwardIterator __last, 10143: _Predicate __pred, forward_iterator_tag) 10143: { 10143: if (__first == __last) 10143: return __first; 10143: 10143: while (__pred(*__first)) 10143: if (++__first == __last) 10143: return __first; 10143: 10143: _ForwardIterator __next = __first; 10143: 10143: while (++__next != __last) 10143: if (__pred(*__next)) 10143: { 10143: std::iter_swap(__first, __next); 10143: ++__first; 10143: } 10143: 10143: return __first; 10143: } 10143: 10143: 10143: template 10143: _BidirectionalIterator 10143: __partition(_BidirectionalIterator __first, _BidirectionalIterator __last, 10143: _Predicate __pred, bidirectional_iterator_tag) 10143: { 10143: while (true) 10143: { 10143: while (true) 10143: if (__first == __last) 10143: return __first; 10143: else if (__pred(*__first)) 10143: ++__first; 10143: else 10143: break; 10143: --__last; 10143: while (true) 10143: if (__first == __last) 10143: return __first; 10143: else if (!bool(__pred(*__last))) 10143: --__last; 10143: else 10143: break; 10143: std::iter_swap(__first, __last); 10143: ++__first; 10143: } 10143: } 10143: # 1546 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: _ForwardIterator 10143: __stable_partition_adaptive(_ForwardIterator __first, 10143: _ForwardIterator __last, 10143: _Predicate __pred, _Distance __len, 10143: _Pointer __buffer, 10143: _Distance __buffer_size) 10143: { 10143: if (__len == 1) 10143: return __first; 10143: 10143: if (__len <= __buffer_size) 10143: { 10143: _ForwardIterator __result1 = __first; 10143: _Pointer __result2 = __buffer; 10143: 10143: 10143: 10143: 10143: *__result2 = std::move(*__first); 10143: ++__result2; 10143: ++__first; 10143: for (; __first != __last; ++__first) 10143: if (__pred(__first)) 10143: { 10143: *__result1 = std::move(*__first); 10143: ++__result1; 10143: } 10143: else 10143: { 10143: *__result2 = std::move(*__first); 10143: ++__result2; 10143: } 10143: 10143: std::move(__buffer, __result2, __result1); 10143: return __result1; 10143: } 10143: 10143: _ForwardIterator __middle = __first; 10143: std::advance(__middle, __len / 2); 10143: _ForwardIterator __left_split = 10143: std::__stable_partition_adaptive(__first, __middle, __pred, 10143: __len / 2, __buffer, 10143: __buffer_size); 10143: 10143: 10143: 10143: _Distance __right_len = __len - __len / 2; 10143: _ForwardIterator __right_split = 10143: std::__find_if_not_n(__middle, __right_len, __pred); 10143: 10143: if (__right_len) 10143: __right_split = 10143: std::__stable_partition_adaptive(__right_split, __last, __pred, 10143: __right_len, 10143: __buffer, __buffer_size); 10143: 10143: std::rotate(__left_split, __middle, __right_split); 10143: std::advance(__left_split, std::distance(__middle, __right_split)); 10143: return __left_split; 10143: } 10143: 10143: template 10143: _ForwardIterator 10143: __stable_partition(_ForwardIterator __first, _ForwardIterator __last, 10143: _Predicate __pred) 10143: { 10143: __first = std::__find_if_not(__first, __last, __pred); 10143: 10143: if (__first == __last) 10143: return __first; 10143: 10143: typedef typename iterator_traits<_ForwardIterator>::value_type 10143: _ValueType; 10143: typedef typename iterator_traits<_ForwardIterator>::difference_type 10143: _DistanceType; 10143: 10143: _Temporary_buffer<_ForwardIterator, _ValueType> __buf(__first, __last); 10143: return 10143: std::__stable_partition_adaptive(__first, __last, __pred, 10143: _DistanceType(__buf.requested_size()), 10143: __buf.begin(), 10143: _DistanceType(__buf.size())); 10143: } 10143: # 1649 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _ForwardIterator 10143: stable_partition(_ForwardIterator __first, _ForwardIterator __last, 10143: _Predicate __pred) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__stable_partition(__first, __last, 10143: __gnu_cxx::__ops::__pred_iter(__pred)); 10143: } 10143: 10143: 10143: template 10143: void 10143: __heap_select(_RandomAccessIterator __first, 10143: _RandomAccessIterator __middle, 10143: _RandomAccessIterator __last, _Compare __comp) 10143: { 10143: std::__make_heap(__first, __middle, __comp); 10143: for (_RandomAccessIterator __i = __middle; __i < __last; ++__i) 10143: if (__comp(__i, __first)) 10143: std::__pop_heap(__first, __middle, __i, __comp); 10143: } 10143: 10143: 10143: 10143: template 10143: _RandomAccessIterator 10143: __partial_sort_copy(_InputIterator __first, _InputIterator __last, 10143: _RandomAccessIterator __result_first, 10143: _RandomAccessIterator __result_last, 10143: _Compare __comp) 10143: { 10143: typedef typename iterator_traits<_InputIterator>::value_type 10143: _InputValueType; 10143: typedef iterator_traits<_RandomAccessIterator> _RItTraits; 10143: typedef typename _RItTraits::difference_type _DistanceType; 10143: 10143: if (__result_first == __result_last) 10143: return __result_last; 10143: _RandomAccessIterator __result_real_last = __result_first; 10143: while (__first != __last && __result_real_last != __result_last) 10143: { 10143: *__result_real_last = *__first; 10143: ++__result_real_last; 10143: ++__first; 10143: } 10143: 10143: std::__make_heap(__result_first, __result_real_last, __comp); 10143: while (__first != __last) 10143: { 10143: if (__comp(__first, __result_first)) 10143: std::__adjust_heap(__result_first, _DistanceType(0), 10143: _DistanceType(__result_real_last 10143: - __result_first), 10143: _InputValueType(*__first), __comp); 10143: ++__first; 10143: } 10143: std::__sort_heap(__result_first, __result_real_last, __comp); 10143: return __result_real_last; 10143: } 10143: # 1735 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _RandomAccessIterator 10143: partial_sort_copy(_InputIterator __first, _InputIterator __last, 10143: _RandomAccessIterator __result_first, 10143: _RandomAccessIterator __result_last) 10143: { 10143: # 1749 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: 10143: return std::__partial_sort_copy(__first, __last, 10143: __result_first, __result_last, 10143: __gnu_cxx::__ops::__iter_less_iter()); 10143: } 10143: # 1784 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _RandomAccessIterator 10143: partial_sort_copy(_InputIterator __first, _InputIterator __last, 10143: _RandomAccessIterator __result_first, 10143: _RandomAccessIterator __result_last, 10143: _Compare __comp) 10143: { 10143: # 1800 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: 10143: return std::__partial_sort_copy(__first, __last, 10143: __result_first, __result_last, 10143: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 10143: } 10143: 10143: 10143: template 10143: void 10143: __unguarded_linear_insert(_RandomAccessIterator __last, 10143: _Compare __comp) 10143: { 10143: typename iterator_traits<_RandomAccessIterator>::value_type 10143: __val = std::move(*__last); 10143: _RandomAccessIterator __next = __last; 10143: --__next; 10143: while (__comp(__val, __next)) 10143: { 10143: *__last = std::move(*__next); 10143: __last = __next; 10143: --__next; 10143: } 10143: *__last = std::move(__val); 10143: } 10143: 10143: 10143: template 10143: void 10143: __insertion_sort(_RandomAccessIterator __first, 10143: _RandomAccessIterator __last, _Compare __comp) 10143: { 10143: if (__first == __last) return; 10143: 10143: for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) 10143: { 10143: if (__comp(__i, __first)) 10143: { 10143: typename iterator_traits<_RandomAccessIterator>::value_type 10143: __val = std::move(*__i); 10143: std::move_backward(__first, __i, __i + 1); 10143: *__first = std::move(__val); 10143: } 10143: else 10143: std::__unguarded_linear_insert(__i, 10143: __gnu_cxx::__ops::__val_comp_iter(__comp)); 10143: } 10143: } 10143: 10143: 10143: template 10143: inline void 10143: __unguarded_insertion_sort(_RandomAccessIterator __first, 10143: _RandomAccessIterator __last, _Compare __comp) 10143: { 10143: for (_RandomAccessIterator __i = __first; __i != __last; ++__i) 10143: std::__unguarded_linear_insert(__i, 10143: __gnu_cxx::__ops::__val_comp_iter(__comp)); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: enum { _S_threshold = 16 }; 10143: 10143: 10143: template 10143: void 10143: __final_insertion_sort(_RandomAccessIterator __first, 10143: _RandomAccessIterator __last, _Compare __comp) 10143: { 10143: if (__last - __first > int(_S_threshold)) 10143: { 10143: std::__insertion_sort(__first, __first + int(_S_threshold), __comp); 10143: std::__unguarded_insertion_sort(__first + int(_S_threshold), __last, 10143: __comp); 10143: } 10143: else 10143: std::__insertion_sort(__first, __last, __comp); 10143: } 10143: 10143: 10143: template 10143: _RandomAccessIterator 10143: __unguarded_partition(_RandomAccessIterator __first, 10143: _RandomAccessIterator __last, 10143: _RandomAccessIterator __pivot, _Compare __comp) 10143: { 10143: while (true) 10143: { 10143: while (__comp(__first, __pivot)) 10143: ++__first; 10143: --__last; 10143: while (__comp(__pivot, __last)) 10143: --__last; 10143: if (!(__first < __last)) 10143: return __first; 10143: std::iter_swap(__first, __last); 10143: ++__first; 10143: } 10143: } 10143: 10143: 10143: template 10143: inline _RandomAccessIterator 10143: __unguarded_partition_pivot(_RandomAccessIterator __first, 10143: _RandomAccessIterator __last, _Compare __comp) 10143: { 10143: _RandomAccessIterator __mid = __first + (__last - __first) / 2; 10143: std::__move_median_to_first(__first, __first + 1, __mid, __last - 1, 10143: __comp); 10143: return std::__unguarded_partition(__first + 1, __last, __first, __comp); 10143: } 10143: 10143: template 10143: inline void 10143: __partial_sort(_RandomAccessIterator __first, 10143: _RandomAccessIterator __middle, 10143: _RandomAccessIterator __last, 10143: _Compare __comp) 10143: { 10143: std::__heap_select(__first, __middle, __last, __comp); 10143: std::__sort_heap(__first, __middle, __comp); 10143: } 10143: 10143: 10143: template 10143: void 10143: __introsort_loop(_RandomAccessIterator __first, 10143: _RandomAccessIterator __last, 10143: _Size __depth_limit, _Compare __comp) 10143: { 10143: while (__last - __first > int(_S_threshold)) 10143: { 10143: if (__depth_limit == 0) 10143: { 10143: std::__partial_sort(__first, __last, __last, __comp); 10143: return; 10143: } 10143: --__depth_limit; 10143: _RandomAccessIterator __cut = 10143: std::__unguarded_partition_pivot(__first, __last, __comp); 10143: std::__introsort_loop(__cut, __last, __depth_limit, __comp); 10143: __last = __cut; 10143: } 10143: } 10143: 10143: 10143: 10143: template 10143: inline void 10143: __sort(_RandomAccessIterator __first, _RandomAccessIterator __last, 10143: _Compare __comp) 10143: { 10143: if (__first != __last) 10143: { 10143: std::__introsort_loop(__first, __last, 10143: std::__lg(__last - __first) * 2, 10143: __comp); 10143: std::__final_insertion_sort(__first, __last, __comp); 10143: } 10143: } 10143: 10143: template 10143: void 10143: __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth, 10143: _RandomAccessIterator __last, _Size __depth_limit, 10143: _Compare __comp) 10143: { 10143: while (__last - __first > 3) 10143: { 10143: if (__depth_limit == 0) 10143: { 10143: std::__heap_select(__first, __nth + 1, __last, __comp); 10143: 10143: std::iter_swap(__first, __nth); 10143: return; 10143: } 10143: --__depth_limit; 10143: _RandomAccessIterator __cut = 10143: std::__unguarded_partition_pivot(__first, __last, __comp); 10143: if (__cut <= __nth) 10143: __first = __cut; 10143: else 10143: __last = __cut; 10143: } 10143: std::__insertion_sort(__first, __last, __comp); 10143: } 10143: # 2021 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _ForwardIterator 10143: lower_bound(_ForwardIterator __first, _ForwardIterator __last, 10143: const _Tp& __val, _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__lower_bound(__first, __last, __val, 10143: __gnu_cxx::__ops::__iter_comp_val(__comp)); 10143: } 10143: 10143: template 10143: _ForwardIterator 10143: __upper_bound(_ForwardIterator __first, _ForwardIterator __last, 10143: const _Tp& __val, _Compare __comp) 10143: { 10143: typedef typename iterator_traits<_ForwardIterator>::difference_type 10143: _DistanceType; 10143: 10143: _DistanceType __len = std::distance(__first, __last); 10143: 10143: while (__len > 0) 10143: { 10143: _DistanceType __half = __len >> 1; 10143: _ForwardIterator __middle = __first; 10143: std::advance(__middle, __half); 10143: if (__comp(__val, __middle)) 10143: __len = __half; 10143: else 10143: { 10143: __first = __middle; 10143: ++__first; 10143: __len = __len - __half - 1; 10143: } 10143: } 10143: return __first; 10143: } 10143: # 2075 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _ForwardIterator 10143: upper_bound(_ForwardIterator __first, _ForwardIterator __last, 10143: const _Tp& __val) 10143: { 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__upper_bound(__first, __last, __val, 10143: __gnu_cxx::__ops::__val_less_iter()); 10143: } 10143: # 2105 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _ForwardIterator 10143: upper_bound(_ForwardIterator __first, _ForwardIterator __last, 10143: const _Tp& __val, _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__upper_bound(__first, __last, __val, 10143: __gnu_cxx::__ops::__val_comp_iter(__comp)); 10143: } 10143: 10143: template 10143: pair<_ForwardIterator, _ForwardIterator> 10143: __equal_range(_ForwardIterator __first, _ForwardIterator __last, 10143: const _Tp& __val, 10143: _CompareItTp __comp_it_val, _CompareTpIt __comp_val_it) 10143: { 10143: typedef typename iterator_traits<_ForwardIterator>::difference_type 10143: _DistanceType; 10143: 10143: _DistanceType __len = std::distance(__first, __last); 10143: 10143: while (__len > 0) 10143: { 10143: _DistanceType __half = __len >> 1; 10143: _ForwardIterator __middle = __first; 10143: std::advance(__middle, __half); 10143: if (__comp_it_val(__middle, __val)) 10143: { 10143: __first = __middle; 10143: ++__first; 10143: __len = __len - __half - 1; 10143: } 10143: else if (__comp_val_it(__val, __middle)) 10143: __len = __half; 10143: else 10143: { 10143: _ForwardIterator __left 10143: = std::__lower_bound(__first, __middle, __val, __comp_it_val); 10143: std::advance(__first, __len); 10143: _ForwardIterator __right 10143: = std::__upper_bound(++__middle, __first, __val, __comp_val_it); 10143: return pair<_ForwardIterator, _ForwardIterator>(__left, __right); 10143: } 10143: } 10143: return pair<_ForwardIterator, _ForwardIterator>(__first, __first); 10143: } 10143: # 2176 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline pair<_ForwardIterator, _ForwardIterator> 10143: equal_range(_ForwardIterator __first, _ForwardIterator __last, 10143: const _Tp& __val) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::__equal_range(__first, __last, __val, 10143: __gnu_cxx::__ops::__iter_less_val(), 10143: __gnu_cxx::__ops::__val_less_iter()); 10143: } 10143: # 2212 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline pair<_ForwardIterator, _ForwardIterator> 10143: equal_range(_ForwardIterator __first, _ForwardIterator __last, 10143: const _Tp& __val, _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: ; 10143: 10143: return std::__equal_range(__first, __last, __val, 10143: __gnu_cxx::__ops::__iter_comp_val(__comp), 10143: __gnu_cxx::__ops::__val_comp_iter(__comp)); 10143: } 10143: # 2245 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: bool 10143: binary_search(_ForwardIterator __first, _ForwardIterator __last, 10143: const _Tp& __val) 10143: { 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: _ForwardIterator __i 10143: = std::__lower_bound(__first, __last, __val, 10143: __gnu_cxx::__ops::__iter_less_val()); 10143: return __i != __last && !(__val < *__i); 10143: } 10143: # 2278 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: bool 10143: binary_search(_ForwardIterator __first, _ForwardIterator __last, 10143: const _Tp& __val, _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: ; 10143: 10143: _ForwardIterator __i 10143: = std::__lower_bound(__first, __last, __val, 10143: __gnu_cxx::__ops::__iter_comp_val(__comp)); 10143: return __i != __last && !bool(__comp(__val, *__i)); 10143: } 10143: 10143: 10143: 10143: 10143: template 10143: void 10143: __move_merge_adaptive(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _InputIterator2 __last2, 10143: _OutputIterator __result, _Compare __comp) 10143: { 10143: while (__first1 != __last1 && __first2 != __last2) 10143: { 10143: if (__comp(__first2, __first1)) 10143: { 10143: *__result = std::move(*__first2); 10143: ++__first2; 10143: } 10143: else 10143: { 10143: *__result = std::move(*__first1); 10143: ++__first1; 10143: } 10143: ++__result; 10143: } 10143: if (__first1 != __last1) 10143: std::move(__first1, __last1, __result); 10143: } 10143: 10143: 10143: template 10143: void 10143: __move_merge_adaptive_backward(_BidirectionalIterator1 __first1, 10143: _BidirectionalIterator1 __last1, 10143: _BidirectionalIterator2 __first2, 10143: _BidirectionalIterator2 __last2, 10143: _BidirectionalIterator3 __result, 10143: _Compare __comp) 10143: { 10143: if (__first1 == __last1) 10143: { 10143: std::move_backward(__first2, __last2, __result); 10143: return; 10143: } 10143: else if (__first2 == __last2) 10143: return; 10143: 10143: --__last1; 10143: --__last2; 10143: while (true) 10143: { 10143: if (__comp(__last2, __last1)) 10143: { 10143: *--__result = std::move(*__last1); 10143: if (__first1 == __last1) 10143: { 10143: std::move_backward(__first2, ++__last2, __result); 10143: return; 10143: } 10143: --__last1; 10143: } 10143: else 10143: { 10143: *--__result = std::move(*__last2); 10143: if (__first2 == __last2) 10143: return; 10143: --__last2; 10143: } 10143: } 10143: } 10143: 10143: 10143: template 10143: _BidirectionalIterator1 10143: __rotate_adaptive(_BidirectionalIterator1 __first, 10143: _BidirectionalIterator1 __middle, 10143: _BidirectionalIterator1 __last, 10143: _Distance __len1, _Distance __len2, 10143: _BidirectionalIterator2 __buffer, 10143: _Distance __buffer_size) 10143: { 10143: _BidirectionalIterator2 __buffer_end; 10143: if (__len1 > __len2 && __len2 <= __buffer_size) 10143: { 10143: if (__len2) 10143: { 10143: __buffer_end = std::move(__middle, __last, __buffer); 10143: std::move_backward(__first, __middle, __last); 10143: return std::move(__buffer, __buffer_end, __first); 10143: } 10143: else 10143: return __first; 10143: } 10143: else if (__len1 <= __buffer_size) 10143: { 10143: if (__len1) 10143: { 10143: __buffer_end = std::move(__first, __middle, __buffer); 10143: std::move(__middle, __last, __first); 10143: return std::move_backward(__buffer, __buffer_end, __last); 10143: } 10143: else 10143: return __last; 10143: } 10143: else 10143: { 10143: std::rotate(__first, __middle, __last); 10143: std::advance(__first, std::distance(__middle, __last)); 10143: return __first; 10143: } 10143: } 10143: 10143: 10143: template 10143: void 10143: __merge_adaptive(_BidirectionalIterator __first, 10143: _BidirectionalIterator __middle, 10143: _BidirectionalIterator __last, 10143: _Distance __len1, _Distance __len2, 10143: _Pointer __buffer, _Distance __buffer_size, 10143: _Compare __comp) 10143: { 10143: if (__len1 <= __len2 && __len1 <= __buffer_size) 10143: { 10143: _Pointer __buffer_end = std::move(__first, __middle, __buffer); 10143: std::__move_merge_adaptive(__buffer, __buffer_end, __middle, __last, 10143: __first, __comp); 10143: } 10143: else if (__len2 <= __buffer_size) 10143: { 10143: _Pointer __buffer_end = std::move(__middle, __last, __buffer); 10143: std::__move_merge_adaptive_backward(__first, __middle, __buffer, 10143: __buffer_end, __last, __comp); 10143: } 10143: else 10143: { 10143: _BidirectionalIterator __first_cut = __first; 10143: _BidirectionalIterator __second_cut = __middle; 10143: _Distance __len11 = 0; 10143: _Distance __len22 = 0; 10143: if (__len1 > __len2) 10143: { 10143: __len11 = __len1 / 2; 10143: std::advance(__first_cut, __len11); 10143: __second_cut 10143: = std::__lower_bound(__middle, __last, *__first_cut, 10143: __gnu_cxx::__ops::__iter_comp_val(__comp)); 10143: __len22 = std::distance(__middle, __second_cut); 10143: } 10143: else 10143: { 10143: __len22 = __len2 / 2; 10143: std::advance(__second_cut, __len22); 10143: __first_cut 10143: = std::__upper_bound(__first, __middle, *__second_cut, 10143: __gnu_cxx::__ops::__val_comp_iter(__comp)); 10143: __len11 = std::distance(__first, __first_cut); 10143: } 10143: 10143: _BidirectionalIterator __new_middle 10143: = std::__rotate_adaptive(__first_cut, __middle, __second_cut, 10143: __len1 - __len11, __len22, __buffer, 10143: __buffer_size); 10143: std::__merge_adaptive(__first, __first_cut, __new_middle, __len11, 10143: __len22, __buffer, __buffer_size, __comp); 10143: std::__merge_adaptive(__new_middle, __second_cut, __last, 10143: __len1 - __len11, 10143: __len2 - __len22, __buffer, 10143: __buffer_size, __comp); 10143: } 10143: } 10143: 10143: 10143: template 10143: void 10143: __merge_without_buffer(_BidirectionalIterator __first, 10143: _BidirectionalIterator __middle, 10143: _BidirectionalIterator __last, 10143: _Distance __len1, _Distance __len2, 10143: _Compare __comp) 10143: { 10143: if (__len1 == 0 || __len2 == 0) 10143: return; 10143: 10143: if (__len1 + __len2 == 2) 10143: { 10143: if (__comp(__middle, __first)) 10143: std::iter_swap(__first, __middle); 10143: return; 10143: } 10143: 10143: _BidirectionalIterator __first_cut = __first; 10143: _BidirectionalIterator __second_cut = __middle; 10143: _Distance __len11 = 0; 10143: _Distance __len22 = 0; 10143: if (__len1 > __len2) 10143: { 10143: __len11 = __len1 / 2; 10143: std::advance(__first_cut, __len11); 10143: __second_cut 10143: = std::__lower_bound(__middle, __last, *__first_cut, 10143: __gnu_cxx::__ops::__iter_comp_val(__comp)); 10143: __len22 = std::distance(__middle, __second_cut); 10143: } 10143: else 10143: { 10143: __len22 = __len2 / 2; 10143: std::advance(__second_cut, __len22); 10143: __first_cut 10143: = std::__upper_bound(__first, __middle, *__second_cut, 10143: __gnu_cxx::__ops::__val_comp_iter(__comp)); 10143: __len11 = std::distance(__first, __first_cut); 10143: } 10143: 10143: std::rotate(__first_cut, __middle, __second_cut); 10143: _BidirectionalIterator __new_middle = __first_cut; 10143: std::advance(__new_middle, std::distance(__middle, __second_cut)); 10143: std::__merge_without_buffer(__first, __first_cut, __new_middle, 10143: __len11, __len22, __comp); 10143: std::__merge_without_buffer(__new_middle, __second_cut, __last, 10143: __len1 - __len11, __len2 - __len22, __comp); 10143: } 10143: 10143: template 10143: void 10143: __inplace_merge(_BidirectionalIterator __first, 10143: _BidirectionalIterator __middle, 10143: _BidirectionalIterator __last, 10143: _Compare __comp) 10143: { 10143: typedef typename iterator_traits<_BidirectionalIterator>::value_type 10143: _ValueType; 10143: typedef typename iterator_traits<_BidirectionalIterator>::difference_type 10143: _DistanceType; 10143: 10143: if (__first == __middle || __middle == __last) 10143: return; 10143: 10143: const _DistanceType __len1 = std::distance(__first, __middle); 10143: const _DistanceType __len2 = std::distance(__middle, __last); 10143: 10143: typedef _Temporary_buffer<_BidirectionalIterator, _ValueType> _TmpBuf; 10143: _TmpBuf __buf(__first, __last); 10143: 10143: if (__buf.begin() == 0) 10143: std::__merge_without_buffer 10143: (__first, __middle, __last, __len1, __len2, __comp); 10143: else 10143: std::__merge_adaptive 10143: (__first, __middle, __last, __len1, __len2, __buf.begin(), 10143: _DistanceType(__buf.size()), __comp); 10143: } 10143: # 2572 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline void 10143: inplace_merge(_BidirectionalIterator __first, 10143: _BidirectionalIterator __middle, 10143: _BidirectionalIterator __last) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: 10143: std::__inplace_merge(__first, __middle, __last, 10143: __gnu_cxx::__ops::__iter_less_iter()); 10143: } 10143: # 2613 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline void 10143: inplace_merge(_BidirectionalIterator __first, 10143: _BidirectionalIterator __middle, 10143: _BidirectionalIterator __last, 10143: _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: 10143: std::__inplace_merge(__first, __middle, __last, 10143: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 10143: } 10143: 10143: 10143: 10143: template 10143: _OutputIterator 10143: __move_merge(_InputIterator __first1, _InputIterator __last1, 10143: _InputIterator __first2, _InputIterator __last2, 10143: _OutputIterator __result, _Compare __comp) 10143: { 10143: while (__first1 != __last1 && __first2 != __last2) 10143: { 10143: if (__comp(__first2, __first1)) 10143: { 10143: *__result = std::move(*__first2); 10143: ++__first2; 10143: } 10143: else 10143: { 10143: *__result = std::move(*__first1); 10143: ++__first1; 10143: } 10143: ++__result; 10143: } 10143: return std::move(__first2, __last2, std::move(__first1, __last1, __result)) 10143: 10143: ; 10143: } 10143: 10143: template 10143: void 10143: __merge_sort_loop(_RandomAccessIterator1 __first, 10143: _RandomAccessIterator1 __last, 10143: _RandomAccessIterator2 __result, _Distance __step_size, 10143: _Compare __comp) 10143: { 10143: const _Distance __two_step = 2 * __step_size; 10143: 10143: while (__last - __first >= __two_step) 10143: { 10143: __result = std::__move_merge(__first, __first + __step_size, 10143: __first + __step_size, 10143: __first + __two_step, 10143: __result, __comp); 10143: __first += __two_step; 10143: } 10143: __step_size = std::min(_Distance(__last - __first), __step_size); 10143: 10143: std::__move_merge(__first, __first + __step_size, 10143: __first + __step_size, __last, __result, __comp); 10143: } 10143: 10143: template 10143: void 10143: __chunk_insertion_sort(_RandomAccessIterator __first, 10143: _RandomAccessIterator __last, 10143: _Distance __chunk_size, _Compare __comp) 10143: { 10143: while (__last - __first >= __chunk_size) 10143: { 10143: std::__insertion_sort(__first, __first + __chunk_size, __comp); 10143: __first += __chunk_size; 10143: } 10143: std::__insertion_sort(__first, __last, __comp); 10143: } 10143: 10143: enum { _S_chunk_size = 7 }; 10143: 10143: template 10143: void 10143: __merge_sort_with_buffer(_RandomAccessIterator __first, 10143: _RandomAccessIterator __last, 10143: _Pointer __buffer, _Compare __comp) 10143: { 10143: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 10143: _Distance; 10143: 10143: const _Distance __len = __last - __first; 10143: const _Pointer __buffer_last = __buffer + __len; 10143: 10143: _Distance __step_size = _S_chunk_size; 10143: std::__chunk_insertion_sort(__first, __last, __step_size, __comp); 10143: 10143: while (__step_size < __len) 10143: { 10143: std::__merge_sort_loop(__first, __last, __buffer, 10143: __step_size, __comp); 10143: __step_size *= 2; 10143: std::__merge_sort_loop(__buffer, __buffer_last, __first, 10143: __step_size, __comp); 10143: __step_size *= 2; 10143: } 10143: } 10143: 10143: template 10143: void 10143: __stable_sort_adaptive(_RandomAccessIterator __first, 10143: _RandomAccessIterator __last, 10143: _Pointer __buffer, _Distance __buffer_size, 10143: _Compare __comp) 10143: { 10143: const _Distance __len = (__last - __first + 1) / 2; 10143: const _RandomAccessIterator __middle = __first + __len; 10143: if (__len > __buffer_size) 10143: { 10143: std::__stable_sort_adaptive(__first, __middle, __buffer, 10143: __buffer_size, __comp); 10143: std::__stable_sort_adaptive(__middle, __last, __buffer, 10143: __buffer_size, __comp); 10143: } 10143: else 10143: { 10143: std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp); 10143: std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp); 10143: } 10143: std::__merge_adaptive(__first, __middle, __last, 10143: _Distance(__middle - __first), 10143: _Distance(__last - __middle), 10143: __buffer, __buffer_size, 10143: __comp); 10143: } 10143: 10143: 10143: template 10143: void 10143: __inplace_stable_sort(_RandomAccessIterator __first, 10143: _RandomAccessIterator __last, _Compare __comp) 10143: { 10143: if (__last - __first < 15) 10143: { 10143: std::__insertion_sort(__first, __last, __comp); 10143: return; 10143: } 10143: _RandomAccessIterator __middle = __first + (__last - __first) / 2; 10143: std::__inplace_stable_sort(__first, __middle, __comp); 10143: std::__inplace_stable_sort(__middle, __last, __comp); 10143: std::__merge_without_buffer(__first, __middle, __last, 10143: __middle - __first, 10143: __last - __middle, 10143: __comp); 10143: } 10143: # 2785 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: bool 10143: __includes(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _InputIterator2 __last2, 10143: _Compare __comp) 10143: { 10143: while (__first1 != __last1 && __first2 != __last2) 10143: if (__comp(__first2, __first1)) 10143: return false; 10143: else if (__comp(__first1, __first2)) 10143: ++__first1; 10143: else 10143: { 10143: ++__first1; 10143: ++__first2; 10143: } 10143: 10143: return __first2 == __last2; 10143: } 10143: # 2824 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline bool 10143: includes(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _InputIterator2 __last2) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: ; 10143: 10143: return std::__includes(__first1, __last1, __first2, __last2, 10143: __gnu_cxx::__ops::__iter_less_iter()); 10143: } 10143: # 2868 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline bool 10143: includes(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _InputIterator2 __last2, 10143: _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: ; 10143: 10143: return std::__includes(__first1, __last1, __first2, __last2, 10143: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 10143: } 10143: # 2903 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: bool 10143: __next_permutation(_BidirectionalIterator __first, 10143: _BidirectionalIterator __last, _Compare __comp) 10143: { 10143: if (__first == __last) 10143: return false; 10143: _BidirectionalIterator __i = __first; 10143: ++__i; 10143: if (__i == __last) 10143: return false; 10143: __i = __last; 10143: --__i; 10143: 10143: for(;;) 10143: { 10143: _BidirectionalIterator __ii = __i; 10143: --__i; 10143: if (__comp(__i, __ii)) 10143: { 10143: _BidirectionalIterator __j = __last; 10143: while (!__comp(__i, --__j)) 10143: {} 10143: std::iter_swap(__i, __j); 10143: std::__reverse(__ii, __last, 10143: std::__iterator_category(__first)); 10143: return true; 10143: } 10143: if (__i == __first) 10143: { 10143: std::__reverse(__first, __last, 10143: std::__iterator_category(__first)); 10143: return false; 10143: } 10143: } 10143: } 10143: # 2952 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline bool 10143: next_permutation(_BidirectionalIterator __first, 10143: _BidirectionalIterator __last) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::__next_permutation 10143: (__first, __last, __gnu_cxx::__ops::__iter_less_iter()); 10143: } 10143: # 2984 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline bool 10143: next_permutation(_BidirectionalIterator __first, 10143: _BidirectionalIterator __last, _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::__next_permutation 10143: (__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); 10143: } 10143: 10143: template 10143: bool 10143: __prev_permutation(_BidirectionalIterator __first, 10143: _BidirectionalIterator __last, _Compare __comp) 10143: { 10143: if (__first == __last) 10143: return false; 10143: _BidirectionalIterator __i = __first; 10143: ++__i; 10143: if (__i == __last) 10143: return false; 10143: __i = __last; 10143: --__i; 10143: 10143: for(;;) 10143: { 10143: _BidirectionalIterator __ii = __i; 10143: --__i; 10143: if (__comp(__ii, __i)) 10143: { 10143: _BidirectionalIterator __j = __last; 10143: while (!__comp(--__j, __i)) 10143: {} 10143: std::iter_swap(__i, __j); 10143: std::__reverse(__ii, __last, 10143: std::__iterator_category(__first)); 10143: return true; 10143: } 10143: if (__i == __first) 10143: { 10143: std::__reverse(__first, __last, 10143: std::__iterator_category(__first)); 10143: return false; 10143: } 10143: } 10143: } 10143: # 3052 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline bool 10143: prev_permutation(_BidirectionalIterator __first, 10143: _BidirectionalIterator __last) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::__prev_permutation(__first, __last, 10143: __gnu_cxx::__ops::__iter_less_iter()); 10143: } 10143: # 3084 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline bool 10143: prev_permutation(_BidirectionalIterator __first, 10143: _BidirectionalIterator __last, _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::__prev_permutation(__first, __last, 10143: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 10143: } 10143: 10143: 10143: 10143: 10143: template 10143: _OutputIterator 10143: __replace_copy_if(_InputIterator __first, _InputIterator __last, 10143: _OutputIterator __result, 10143: _Predicate __pred, const _Tp& __new_value) 10143: { 10143: for (; __first != __last; ++__first, (void)++__result) 10143: if (__pred(__first)) 10143: *__result = __new_value; 10143: else 10143: *__result = *__first; 10143: return __result; 10143: } 10143: # 3134 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _OutputIterator 10143: replace_copy(_InputIterator __first, _InputIterator __last, 10143: _OutputIterator __result, 10143: const _Tp& __old_value, const _Tp& __new_value) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__replace_copy_if(__first, __last, __result, 10143: __gnu_cxx::__ops::__iter_equals_val(__old_value), 10143: __new_value); 10143: } 10143: # 3168 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _OutputIterator 10143: replace_copy_if(_InputIterator __first, _InputIterator __last, 10143: _OutputIterator __result, 10143: _Predicate __pred, const _Tp& __new_value) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__replace_copy_if(__first, __last, __result, 10143: __gnu_cxx::__ops::__pred_iter(__pred), 10143: __new_value); 10143: } 10143: 10143: template 10143: typename iterator_traits<_InputIterator>::difference_type 10143: __count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) 10143: { 10143: typename iterator_traits<_InputIterator>::difference_type __n = 0; 10143: for (; __first != __last; ++__first) 10143: if (__pred(__first)) 10143: ++__n; 10143: return __n; 10143: } 10143: # 3207 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline bool 10143: is_sorted(_ForwardIterator __first, _ForwardIterator __last) 10143: { return std::is_sorted_until(__first, __last) == __last; } 10143: # 3221 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline bool 10143: is_sorted(_ForwardIterator __first, _ForwardIterator __last, 10143: _Compare __comp) 10143: { return std::is_sorted_until(__first, __last, __comp) == __last; } 10143: 10143: template 10143: _ForwardIterator 10143: __is_sorted_until(_ForwardIterator __first, _ForwardIterator __last, 10143: _Compare __comp) 10143: { 10143: if (__first == __last) 10143: return __last; 10143: 10143: _ForwardIterator __next = __first; 10143: for (++__next; __next != __last; __first = __next, (void)++__next) 10143: if (__comp(__next, __first)) 10143: return __next; 10143: return __next; 10143: } 10143: # 3250 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _ForwardIterator 10143: is_sorted_until(_ForwardIterator __first, _ForwardIterator __last) 10143: { 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::__is_sorted_until(__first, __last, 10143: __gnu_cxx::__ops::__iter_less_iter()); 10143: } 10143: # 3274 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _ForwardIterator 10143: is_sorted_until(_ForwardIterator __first, _ForwardIterator __last, 10143: _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::__is_sorted_until(__first, __last, 10143: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 10143: } 10143: # 3299 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: 10143: inline pair 10143: minmax(const _Tp& __a, const _Tp& __b) 10143: { 10143: 10143: 10143: 10143: return __b < __a ? pair(__b, __a) 10143: : pair(__a, __b); 10143: } 10143: # 3320 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: 10143: inline pair 10143: minmax(const _Tp& __a, const _Tp& __b, _Compare __comp) 10143: { 10143: return __comp(__b, __a) ? pair(__b, __a) 10143: : pair(__a, __b); 10143: } 10143: 10143: template 10143: 10143: pair<_ForwardIterator, _ForwardIterator> 10143: __minmax_element(_ForwardIterator __first, _ForwardIterator __last, 10143: _Compare __comp) 10143: { 10143: _ForwardIterator __next = __first; 10143: if (__first == __last 10143: || ++__next == __last) 10143: return std::make_pair(__first, __first); 10143: 10143: _ForwardIterator __min{}, __max{}; 10143: if (__comp(__next, __first)) 10143: { 10143: __min = __next; 10143: __max = __first; 10143: } 10143: else 10143: { 10143: __min = __first; 10143: __max = __next; 10143: } 10143: 10143: __first = __next; 10143: ++__first; 10143: 10143: while (__first != __last) 10143: { 10143: __next = __first; 10143: if (++__next == __last) 10143: { 10143: if (__comp(__first, __min)) 10143: __min = __first; 10143: else if (!__comp(__first, __max)) 10143: __max = __first; 10143: break; 10143: } 10143: 10143: if (__comp(__next, __first)) 10143: { 10143: if (__comp(__next, __min)) 10143: __min = __next; 10143: if (!__comp(__first, __max)) 10143: __max = __first; 10143: } 10143: else 10143: { 10143: if (__comp(__first, __min)) 10143: __min = __first; 10143: if (!__comp(__next, __max)) 10143: __max = __next; 10143: } 10143: 10143: __first = __next; 10143: ++__first; 10143: } 10143: 10143: return std::make_pair(__min, __max); 10143: } 10143: # 3400 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: 10143: inline pair<_ForwardIterator, _ForwardIterator> 10143: minmax_element(_ForwardIterator __first, _ForwardIterator __last) 10143: { 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::__minmax_element(__first, __last, 10143: __gnu_cxx::__ops::__iter_less_iter()); 10143: } 10143: # 3428 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: 10143: inline pair<_ForwardIterator, _ForwardIterator> 10143: minmax_element(_ForwardIterator __first, _ForwardIterator __last, 10143: _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::__minmax_element(__first, __last, 10143: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 10143: } 10143: 10143: 10143: template 10143: 10143: inline _Tp 10143: min(initializer_list<_Tp> __l) 10143: { return *std::min_element(__l.begin(), __l.end()); } 10143: 10143: template 10143: 10143: inline _Tp 10143: min(initializer_list<_Tp> __l, _Compare __comp) 10143: { return *std::min_element(__l.begin(), __l.end(), __comp); } 10143: 10143: template 10143: 10143: inline _Tp 10143: max(initializer_list<_Tp> __l) 10143: { return *std::max_element(__l.begin(), __l.end()); } 10143: 10143: template 10143: 10143: inline _Tp 10143: max(initializer_list<_Tp> __l, _Compare __comp) 10143: { return *std::max_element(__l.begin(), __l.end(), __comp); } 10143: 10143: template 10143: 10143: inline pair<_Tp, _Tp> 10143: minmax(initializer_list<_Tp> __l) 10143: { 10143: pair __p = 10143: std::minmax_element(__l.begin(), __l.end()); 10143: return std::make_pair(*__p.first, *__p.second); 10143: } 10143: 10143: template 10143: 10143: inline pair<_Tp, _Tp> 10143: minmax(initializer_list<_Tp> __l, _Compare __comp) 10143: { 10143: pair __p = 10143: std::minmax_element(__l.begin(), __l.end(), __comp); 10143: return std::make_pair(*__p.first, *__p.second); 10143: } 10143: 10143: template 10143: bool 10143: __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 10143: _ForwardIterator2 __first2, _BinaryPredicate __pred) 10143: { 10143: 10143: 10143: for (; __first1 != __last1; ++__first1, (void)++__first2) 10143: if (!__pred(__first1, __first2)) 10143: break; 10143: 10143: if (__first1 == __last1) 10143: return true; 10143: 10143: 10143: 10143: _ForwardIterator2 __last2 = __first2; 10143: std::advance(__last2, std::distance(__first1, __last1)); 10143: for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan) 10143: { 10143: if (__scan != std::__find_if(__first1, __scan, 10143: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))) 10143: continue; 10143: 10143: auto __matches 10143: = std::__count_if(__first2, __last2, 10143: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)); 10143: if (0 == __matches || 10143: std::__count_if(__scan, __last1, 10143: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)) 10143: != __matches) 10143: return false; 10143: } 10143: return true; 10143: } 10143: # 3540 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline bool 10143: is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 10143: _ForwardIterator2 __first2) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__is_permutation(__first1, __last1, __first2, 10143: __gnu_cxx::__ops::__iter_equal_to_iter()); 10143: } 10143: # 3571 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline bool 10143: is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 10143: _ForwardIterator2 __first2, _BinaryPredicate __pred) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__is_permutation(__first1, __last1, __first2, 10143: __gnu_cxx::__ops::__iter_comp_iter(__pred)); 10143: } 10143: # 3767 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: pair<_IntType, _IntType> 10143: __gen_two_uniform_ints(_IntType __b0, _IntType __b1, 10143: _UniformRandomBitGenerator&& __g) 10143: { 10143: _IntType __x 10143: = uniform_int_distribution<_IntType>{0, (__b0 * __b1) - 1}(__g); 10143: return std::make_pair(__x / __b1, __x % __b1); 10143: } 10143: # 3789 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: void 10143: shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last, 10143: _UniformRandomNumberGenerator&& __g) 10143: { 10143: 10143: 10143: 10143: ; 10143: 10143: if (__first == __last) 10143: return; 10143: 10143: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 10143: _DistanceType; 10143: 10143: typedef typename std::make_unsigned<_DistanceType>::type __ud_type; 10143: typedef typename std::uniform_int_distribution<__ud_type> __distr_type; 10143: typedef typename __distr_type::param_type __p_type; 10143: 10143: typedef typename remove_reference<_UniformRandomNumberGenerator>::type 10143: _Gen; 10143: typedef typename common_type::type 10143: __uc_type; 10143: 10143: const __uc_type __urngrange = __g.max() - __g.min(); 10143: const __uc_type __urange = __uc_type(__last - __first); 10143: 10143: if (__urngrange / __urange >= __urange) 10143: 10143: { 10143: _RandomAccessIterator __i = __first + 1; 10143: 10143: 10143: 10143: 10143: 10143: if ((__urange % 2) == 0) 10143: { 10143: __distr_type __d{0, 1}; 10143: std::iter_swap(__i++, __first + __d(__g)); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: while (__i != __last) 10143: { 10143: const __uc_type __swap_range = __uc_type(__i - __first) + 1; 10143: 10143: const pair<__uc_type, __uc_type> __pospos = 10143: __gen_two_uniform_ints(__swap_range, __swap_range + 1, __g); 10143: 10143: std::iter_swap(__i++, __first + __pospos.first); 10143: std::iter_swap(__i++, __first + __pospos.second); 10143: } 10143: 10143: return; 10143: } 10143: 10143: __distr_type __d; 10143: 10143: for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) 10143: std::iter_swap(__i, __first + __d(__g, __p_type(0, __i - __first))); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: # 3874 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: _Function 10143: for_each(_InputIterator __first, _InputIterator __last, _Function __f) 10143: { 10143: 10143: 10143: ; 10143: for (; __first != __last; ++__first) 10143: __f(*__first); 10143: return __f; 10143: } 10143: # 3895 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _InputIterator 10143: find(_InputIterator __first, _InputIterator __last, 10143: const _Tp& __val) 10143: { 10143: 10143: 10143: 10143: 10143: ; 10143: return std::__find_if(__first, __last, 10143: __gnu_cxx::__ops::__iter_equals_val(__val)); 10143: } 10143: # 3919 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _InputIterator 10143: find_if(_InputIterator __first, _InputIterator __last, 10143: _Predicate __pred) 10143: { 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__find_if(__first, __last, 10143: __gnu_cxx::__ops::__pred_iter(__pred)); 10143: } 10143: # 3950 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: _InputIterator 10143: find_first_of(_InputIterator __first1, _InputIterator __last1, 10143: _ForwardIterator __first2, _ForwardIterator __last2) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: for (; __first1 != __last1; ++__first1) 10143: for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) 10143: if (*__first1 == *__iter) 10143: return __first1; 10143: return __last1; 10143: } 10143: # 3990 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: _InputIterator 10143: find_first_of(_InputIterator __first1, _InputIterator __last1, 10143: _ForwardIterator __first2, _ForwardIterator __last2, 10143: _BinaryPredicate __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: for (; __first1 != __last1; ++__first1) 10143: for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) 10143: if (__comp(*__first1, *__iter)) 10143: return __first1; 10143: return __last1; 10143: } 10143: # 4022 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _ForwardIterator 10143: adjacent_find(_ForwardIterator __first, _ForwardIterator __last) 10143: { 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__adjacent_find(__first, __last, 10143: __gnu_cxx::__ops::__iter_equal_to_iter()); 10143: } 10143: # 4047 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _ForwardIterator 10143: adjacent_find(_ForwardIterator __first, _ForwardIterator __last, 10143: _BinaryPredicate __binary_pred) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__adjacent_find(__first, __last, 10143: __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); 10143: } 10143: # 4072 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline typename iterator_traits<_InputIterator>::difference_type 10143: count(_InputIterator __first, _InputIterator __last, const _Tp& __value) 10143: { 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__count_if(__first, __last, 10143: __gnu_cxx::__ops::__iter_equals_val(__value)); 10143: } 10143: # 4095 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline typename iterator_traits<_InputIterator>::difference_type 10143: count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) 10143: { 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__count_if(__first, __last, 10143: __gnu_cxx::__ops::__pred_iter(__pred)); 10143: } 10143: # 4135 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _ForwardIterator1 10143: search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 10143: _ForwardIterator2 __first2, _ForwardIterator2 __last2) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::__search(__first1, __last1, __first2, __last2, 10143: __gnu_cxx::__ops::__iter_equal_to_iter()); 10143: } 10143: # 4174 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _ForwardIterator1 10143: search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 10143: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 10143: _BinaryPredicate __predicate) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::__search(__first1, __last1, __first2, __last2, 10143: __gnu_cxx::__ops::__iter_comp_iter(__predicate)); 10143: } 10143: # 4209 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _ForwardIterator 10143: search_n(_ForwardIterator __first, _ForwardIterator __last, 10143: _Integer __count, const _Tp& __val) 10143: { 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__search_n(__first, __last, __count, 10143: __gnu_cxx::__ops::__iter_equals_val(__val)); 10143: } 10143: # 4242 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _ForwardIterator 10143: search_n(_ForwardIterator __first, _ForwardIterator __last, 10143: _Integer __count, const _Tp& __val, 10143: _BinaryPredicate __binary_pred) 10143: { 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__search_n(__first, __last, __count, 10143: __gnu_cxx::__ops::__iter_comp_val(__binary_pred, __val)); 10143: } 10143: # 4290 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: _OutputIterator 10143: transform(_InputIterator __first, _InputIterator __last, 10143: _OutputIterator __result, _UnaryOperation __unary_op) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: for (; __first != __last; ++__first, (void)++__result) 10143: *__result = __unary_op(*__first); 10143: return __result; 10143: } 10143: # 4327 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: _OutputIterator 10143: transform(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _OutputIterator __result, 10143: _BinaryOperation __binary_op) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: for (; __first1 != __last1; ++__first1, (void)++__first2, ++__result) 10143: *__result = __binary_op(*__first1, *__first2); 10143: return __result; 10143: } 10143: # 4360 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: void 10143: replace(_ForwardIterator __first, _ForwardIterator __last, 10143: const _Tp& __old_value, const _Tp& __new_value) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: for (; __first != __last; ++__first) 10143: if (*__first == __old_value) 10143: *__first = __new_value; 10143: } 10143: # 4392 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: void 10143: replace_if(_ForwardIterator __first, _ForwardIterator __last, 10143: _Predicate __pred, const _Tp& __new_value) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: for (; __first != __last; ++__first) 10143: if (__pred(*__first)) 10143: *__first = __new_value; 10143: } 10143: # 4424 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: void 10143: generate(_ForwardIterator __first, _ForwardIterator __last, 10143: _Generator __gen) 10143: { 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: for (; __first != __last; ++__first) 10143: *__first = __gen(); 10143: } 10143: # 4455 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: _OutputIterator 10143: generate_n(_OutputIterator __first, _Size __n, _Generator __gen) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: for (__decltype(__n + 0) __niter = __n; 10143: __niter > 0; --__niter, (void) ++__first) 10143: *__first = __gen(); 10143: return __first; 10143: } 10143: # 4491 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _OutputIterator 10143: unique_copy(_InputIterator __first, _InputIterator __last, 10143: _OutputIterator __result) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: if (__first == __last) 10143: return __result; 10143: return std::__unique_copy(__first, __last, __result, 10143: __gnu_cxx::__ops::__iter_equal_to_iter(), 10143: std::__iterator_category(__first), 10143: std::__iterator_category(__result)); 10143: } 10143: # 4531 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _OutputIterator 10143: unique_copy(_InputIterator __first, _InputIterator __last, 10143: _OutputIterator __result, 10143: _BinaryPredicate __binary_pred) 10143: { 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: if (__first == __last) 10143: return __result; 10143: return std::__unique_copy(__first, __last, __result, 10143: __gnu_cxx::__ops::__iter_comp_iter(__binary_pred), 10143: std::__iterator_category(__first), 10143: std::__iterator_category(__result)); 10143: } 10143: # 4564 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline void 10143: random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last) 10143: { 10143: 10143: 10143: 10143: ; 10143: 10143: if (__first != __last) 10143: for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) 10143: { 10143: 10143: _RandomAccessIterator __j = __first 10143: + std::rand() % ((__i - __first) + 1); 10143: if (__i != __j) 10143: std::iter_swap(__i, __j); 10143: } 10143: } 10143: # 4599 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: void 10143: random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last, 10143: 10143: _RandomNumberGenerator&& __rand) 10143: 10143: 10143: 10143: { 10143: 10143: 10143: 10143: ; 10143: 10143: if (__first == __last) 10143: return; 10143: for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) 10143: { 10143: _RandomAccessIterator __j = __first + __rand((__i - __first) + 1); 10143: if (__i != __j) 10143: std::iter_swap(__i, __j); 10143: } 10143: } 10143: # 4639 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _ForwardIterator 10143: partition(_ForwardIterator __first, _ForwardIterator __last, 10143: _Predicate __pred) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: return std::__partition(__first, __last, __pred, 10143: std::__iterator_category(__first)); 10143: } 10143: # 4672 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline void 10143: partial_sort(_RandomAccessIterator __first, 10143: _RandomAccessIterator __middle, 10143: _RandomAccessIterator __last) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: 10143: std::__partial_sort(__first, __middle, __last, 10143: __gnu_cxx::__ops::__iter_less_iter()); 10143: } 10143: # 4710 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline void 10143: partial_sort(_RandomAccessIterator __first, 10143: _RandomAccessIterator __middle, 10143: _RandomAccessIterator __last, 10143: _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: 10143: std::__partial_sort(__first, __middle, __last, 10143: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 10143: } 10143: # 4746 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline void 10143: nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, 10143: _RandomAccessIterator __last) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: 10143: if (__first == __last || __nth == __last) 10143: return; 10143: 10143: std::__introselect(__first, __nth, __last, 10143: std::__lg(__last - __first) * 2, 10143: __gnu_cxx::__ops::__iter_less_iter()); 10143: } 10143: # 4785 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline void 10143: nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, 10143: _RandomAccessIterator __last, _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: 10143: if (__first == __last || __nth == __last) 10143: return; 10143: 10143: std::__introselect(__first, __nth, __last, 10143: std::__lg(__last - __first) * 2, 10143: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 10143: } 10143: # 4822 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline void 10143: sort(_RandomAccessIterator __first, _RandomAccessIterator __last) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: std::__sort(__first, __last, __gnu_cxx::__ops::__iter_less_iter()); 10143: } 10143: # 4852 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline void 10143: sort(_RandomAccessIterator __first, _RandomAccessIterator __last, 10143: _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); 10143: } 10143: 10143: template 10143: _OutputIterator 10143: __merge(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _InputIterator2 __last2, 10143: _OutputIterator __result, _Compare __comp) 10143: { 10143: while (__first1 != __last1 && __first2 != __last2) 10143: { 10143: if (__comp(__first2, __first1)) 10143: { 10143: *__result = *__first2; 10143: ++__first2; 10143: } 10143: else 10143: { 10143: *__result = *__first1; 10143: ++__first1; 10143: } 10143: ++__result; 10143: } 10143: return std::copy(__first2, __last2, 10143: std::copy(__first1, __last1, __result)); 10143: } 10143: # 4913 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _OutputIterator 10143: merge(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _InputIterator2 __last2, 10143: _OutputIterator __result) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: ; 10143: 10143: return std::__merge(__first1, __last1, 10143: __first2, __last2, __result, 10143: __gnu_cxx::__ops::__iter_less_iter()); 10143: } 10143: # 4963 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _OutputIterator 10143: merge(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _InputIterator2 __last2, 10143: _OutputIterator __result, _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: ; 10143: 10143: return std::__merge(__first1, __last1, 10143: __first2, __last2, __result, 10143: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 10143: } 10143: 10143: template 10143: inline void 10143: __stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, 10143: _Compare __comp) 10143: { 10143: typedef typename iterator_traits<_RandomAccessIterator>::value_type 10143: _ValueType; 10143: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 10143: _DistanceType; 10143: 10143: typedef _Temporary_buffer<_RandomAccessIterator, _ValueType> _TmpBuf; 10143: _TmpBuf __buf(__first, __last); 10143: 10143: if (__buf.begin() == 0) 10143: std::__inplace_stable_sort(__first, __last, __comp); 10143: else 10143: std::__stable_sort_adaptive(__first, __last, __buf.begin(), 10143: _DistanceType(__buf.size()), __comp); 10143: } 10143: # 5027 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline void 10143: stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: std::__stable_sort(__first, __last, 10143: __gnu_cxx::__ops::__iter_less_iter()); 10143: } 10143: # 5061 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline void 10143: stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, 10143: _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: std::__stable_sort(__first, __last, 10143: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 10143: } 10143: 10143: template 10143: _OutputIterator 10143: __set_union(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _InputIterator2 __last2, 10143: _OutputIterator __result, _Compare __comp) 10143: { 10143: while (__first1 != __last1 && __first2 != __last2) 10143: { 10143: if (__comp(__first1, __first2)) 10143: { 10143: *__result = *__first1; 10143: ++__first1; 10143: } 10143: else if (__comp(__first2, __first1)) 10143: { 10143: *__result = *__first2; 10143: ++__first2; 10143: } 10143: else 10143: { 10143: *__result = *__first1; 10143: ++__first1; 10143: ++__first2; 10143: } 10143: ++__result; 10143: } 10143: return std::copy(__first2, __last2, 10143: std::copy(__first1, __last1, __result)); 10143: } 10143: # 5130 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _OutputIterator 10143: set_union(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _InputIterator2 __last2, 10143: _OutputIterator __result) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: ; 10143: 10143: return std::__set_union(__first1, __last1, 10143: __first2, __last2, __result, 10143: __gnu_cxx::__ops::__iter_less_iter()); 10143: } 10143: # 5180 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _OutputIterator 10143: set_union(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _InputIterator2 __last2, 10143: _OutputIterator __result, _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: ; 10143: 10143: return std::__set_union(__first1, __last1, 10143: __first2, __last2, __result, 10143: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 10143: } 10143: 10143: template 10143: _OutputIterator 10143: __set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _InputIterator2 __last2, 10143: _OutputIterator __result, _Compare __comp) 10143: { 10143: while (__first1 != __last1 && __first2 != __last2) 10143: if (__comp(__first1, __first2)) 10143: ++__first1; 10143: else if (__comp(__first2, __first1)) 10143: ++__first2; 10143: else 10143: { 10143: *__result = *__first1; 10143: ++__first1; 10143: ++__first2; 10143: ++__result; 10143: } 10143: return __result; 10143: } 10143: # 5251 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _OutputIterator 10143: set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _InputIterator2 __last2, 10143: _OutputIterator __result) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: ; 10143: 10143: return std::__set_intersection(__first1, __last1, 10143: __first2, __last2, __result, 10143: __gnu_cxx::__ops::__iter_less_iter()); 10143: } 10143: # 5300 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _OutputIterator 10143: set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _InputIterator2 __last2, 10143: _OutputIterator __result, _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: ; 10143: 10143: return std::__set_intersection(__first1, __last1, 10143: __first2, __last2, __result, 10143: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 10143: } 10143: 10143: template 10143: _OutputIterator 10143: __set_difference(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _InputIterator2 __last2, 10143: _OutputIterator __result, _Compare __comp) 10143: { 10143: while (__first1 != __last1 && __first2 != __last2) 10143: if (__comp(__first1, __first2)) 10143: { 10143: *__result = *__first1; 10143: ++__first1; 10143: ++__result; 10143: } 10143: else if (__comp(__first2, __first1)) 10143: ++__first2; 10143: else 10143: { 10143: ++__first1; 10143: ++__first2; 10143: } 10143: return std::copy(__first1, __last1, __result); 10143: } 10143: # 5373 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _OutputIterator 10143: set_difference(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _InputIterator2 __last2, 10143: _OutputIterator __result) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: ; 10143: 10143: return std::__set_difference(__first1, __last1, 10143: __first2, __last2, __result, 10143: __gnu_cxx::__ops::__iter_less_iter()); 10143: } 10143: # 5424 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _OutputIterator 10143: set_difference(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _InputIterator2 __last2, 10143: _OutputIterator __result, _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: ; 10143: 10143: return std::__set_difference(__first1, __last1, 10143: __first2, __last2, __result, 10143: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 10143: } 10143: 10143: template 10143: _OutputIterator 10143: __set_symmetric_difference(_InputIterator1 __first1, 10143: _InputIterator1 __last1, 10143: _InputIterator2 __first2, 10143: _InputIterator2 __last2, 10143: _OutputIterator __result, 10143: _Compare __comp) 10143: { 10143: while (__first1 != __last1 && __first2 != __last2) 10143: if (__comp(__first1, __first2)) 10143: { 10143: *__result = *__first1; 10143: ++__first1; 10143: ++__result; 10143: } 10143: else if (__comp(__first2, __first1)) 10143: { 10143: *__result = *__first2; 10143: ++__first2; 10143: ++__result; 10143: } 10143: else 10143: { 10143: ++__first1; 10143: ++__first2; 10143: } 10143: return std::copy(__first2, __last2, 10143: std::copy(__first1, __last1, __result)); 10143: } 10143: # 5503 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _OutputIterator 10143: set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _InputIterator2 __last2, 10143: _OutputIterator __result) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: ; 10143: 10143: return std::__set_symmetric_difference(__first1, __last1, 10143: __first2, __last2, __result, 10143: __gnu_cxx::__ops::__iter_less_iter()); 10143: } 10143: # 5554 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: inline _OutputIterator 10143: set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _InputIterator2 __last2, 10143: _OutputIterator __result, 10143: _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: ; 10143: ; 10143: 10143: return std::__set_symmetric_difference(__first1, __last1, 10143: __first2, __last2, __result, 10143: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 10143: } 10143: 10143: template 10143: 10143: _ForwardIterator 10143: __min_element(_ForwardIterator __first, _ForwardIterator __last, 10143: _Compare __comp) 10143: { 10143: if (__first == __last) 10143: return __first; 10143: _ForwardIterator __result = __first; 10143: while (++__first != __last) 10143: if (__comp(__first, __result)) 10143: __result = __first; 10143: return __result; 10143: } 10143: # 5607 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: 10143: _ForwardIterator 10143: inline min_element(_ForwardIterator __first, _ForwardIterator __last) 10143: { 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::__min_element(__first, __last, 10143: __gnu_cxx::__ops::__iter_less_iter()); 10143: } 10143: # 5632 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: 10143: inline _ForwardIterator 10143: min_element(_ForwardIterator __first, _ForwardIterator __last, 10143: _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::__min_element(__first, __last, 10143: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 10143: } 10143: 10143: template 10143: 10143: _ForwardIterator 10143: __max_element(_ForwardIterator __first, _ForwardIterator __last, 10143: _Compare __comp) 10143: { 10143: if (__first == __last) return __first; 10143: _ForwardIterator __result = __first; 10143: while (++__first != __last) 10143: if (__comp(__result, __first)) 10143: __result = __first; 10143: return __result; 10143: } 10143: # 5671 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: 10143: inline _ForwardIterator 10143: max_element(_ForwardIterator __first, _ForwardIterator __last) 10143: { 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::__max_element(__first, __last, 10143: __gnu_cxx::__ops::__iter_less_iter()); 10143: } 10143: # 5696 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: template 10143: 10143: inline _ForwardIterator 10143: max_element(_ForwardIterator __first, _ForwardIterator __last, 10143: _Compare __comp) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: ; 10143: 10143: return std::__max_element(__first, __last, 10143: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 10143: } 10143: # 5839 "/usr/include/c++/8/bits/stl_algo.h" 3 10143: 10143: 10143: } 10143: # 63 "/usr/include/c++/8/algorithm" 2 3 10143: # 110 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 10143: # 191 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef signed char qint8; 10143: typedef unsigned char quint8; 10143: typedef short qint16; 10143: typedef unsigned short quint16; 10143: typedef int qint32; 10143: typedef unsigned int quint32; 10143: # 213 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: typedef long long qint64; 10143: typedef unsigned long long quint64; 10143: 10143: 10143: typedef qint64 qlonglong; 10143: typedef quint64 qulonglong; 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef unsigned char uchar; 10143: typedef unsigned short ushort; 10143: typedef unsigned int uint; 10143: typedef unsigned long ulong; 10143: 10143: 10143: 10143: 10143: 10143: typedef double qreal; 10143: # 356 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: extern "C" 10143: 10143: __attribute__((visibility("default"))) const char *qVersion(void) noexcept; 10143: # 384 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: namespace QtPrivate { 10143: template 10143: struct AlignOfHelper 10143: { 10143: char c; 10143: T type; 10143: 10143: AlignOfHelper(); 10143: ~AlignOfHelper(); 10143: }; 10143: 10143: template 10143: struct AlignOf_Default 10143: { 10143: enum { Value = sizeof(AlignOfHelper) - sizeof(T) }; 10143: }; 10143: 10143: template struct AlignOf : AlignOf_Default { }; 10143: template struct AlignOf : AlignOf {}; 10143: template struct AlignOf : AlignOf {}; 10143: 10143: 10143: template struct AlignOf : AlignOf {}; 10143: # 424 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: } 10143: # 440 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: template struct QIntegerForSize; 10143: template <> struct QIntegerForSize<1> { typedef quint8 Unsigned; typedef qint8 Signed; }; 10143: template <> struct QIntegerForSize<2> { typedef quint16 Unsigned; typedef qint16 Signed; }; 10143: template <> struct QIntegerForSize<4> { typedef quint32 Unsigned; typedef qint32 Signed; }; 10143: template <> struct QIntegerForSize<8> { typedef quint64 Unsigned; typedef qint64 Signed; }; 10143: 10143: template <> struct QIntegerForSize<16> { __extension__ typedef unsigned __int128 Unsigned; __extension__ typedef __int128 Signed; }; 10143: 10143: template struct QIntegerForSizeof: QIntegerForSize { }; 10143: typedef QIntegerForSize<8>::Signed qregisterint; 10143: typedef QIntegerForSize<8>::Unsigned qregisteruint; 10143: typedef QIntegerForSizeof::Unsigned quintptr; 10143: typedef QIntegerForSizeof::Signed qptrdiff; 10143: typedef qptrdiff qintptr; 10143: # 516 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: typedef int QNoImplicitBoolCast; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: constexpr inline T qAbs(const T &t) { return t >= 0 ? t : -t; } 10143: 10143: constexpr inline int qRound(double d) 10143: { return d >= 0.0 ? int(d + 0.5) : int(d - double(int(d-1)) + 0.5) + int(d-1); } 10143: constexpr inline int qRound(float d) 10143: { return d >= 0.0f ? int(d + 0.5f) : int(d - float(int(d-1)) + 0.5f) + int(d-1); } 10143: 10143: constexpr inline qint64 qRound64(double d) 10143: { return d >= 0.0 ? qint64(d + 0.5) : qint64(d - double(qint64(d-1)) + 0.5) + qint64(d-1); } 10143: constexpr inline qint64 qRound64(float d) 10143: { return d >= 0.0f ? qint64(d + 0.5f) : qint64(d - float(qint64(d-1)) + 0.5f) + qint64(d-1); } 10143: 10143: template 10143: constexpr inline const T &qMin(const T &a, const T &b) { return (a < b) ? a : b; } 10143: template 10143: constexpr inline const T &qMax(const T &a, const T &b) { return (a < b) ? b : a; } 10143: template 10143: constexpr inline const T &qBound(const T &min, const T &val, const T &max) 10143: { return qMax(min, qMin(max, val)); } 10143: # 621 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: class QDataStream; 10143: 10143: inline void qt_noop(void) {} 10143: # 663 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: __attribute__((visibility("default"))) bool qSharedBuild() noexcept; 10143: # 702 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: class QString; 10143: __attribute__((visibility("default"))) QString qt_error_string(int errorCode = -1); 10143: 10143: 10143: __attribute__((__noreturn__)) 10143: 10143: __attribute__((visibility("default"))) void qt_assert(const char *assertion, const char *file, int line) noexcept; 10143: # 723 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: __attribute__((__noreturn__)) 10143: 10143: __attribute__((visibility("default"))) void qt_assert_x(const char *where, const char *what, const char *file, int line) noexcept; 10143: # 756 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: __attribute__((__noreturn__)) __attribute__((visibility("default"))) void qt_check_pointer(const char *, int) noexcept; 10143: __attribute__((visibility("default"))) void qBadAlloc(); 10143: # 769 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: template 10143: inline T *q_check_ptr(T *p) { qt_noop(); return p; } 10143: 10143: typedef void (*QFunctionPointer)(); 10143: 10143: 10143: 10143: 10143: 10143: [[nodiscard]] constexpr static inline __attribute__((__unused__)) bool qFuzzyCompare(double p1, double p2) 10143: { 10143: return (qAbs(p1 - p2) * 1000000000000. <= qMin(qAbs(p1), qAbs(p2))); 10143: } 10143: 10143: [[nodiscard]] constexpr static inline __attribute__((__unused__)) bool qFuzzyCompare(float p1, float p2) 10143: { 10143: return (qAbs(p1 - p2) * 100000.f <= qMin(qAbs(p1), qAbs(p2))); 10143: } 10143: 10143: [[nodiscard]] constexpr static inline __attribute__((__unused__)) bool qFuzzyIsNull(double d) 10143: { 10143: return qAbs(d) <= 0.000000000001; 10143: } 10143: 10143: [[nodiscard]] constexpr static inline __attribute__((__unused__)) bool qFuzzyIsNull(float f) 10143: { 10143: return qAbs(f) <= 0.00001f; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: [[nodiscard]] static inline __attribute__((__unused__)) bool qIsNull(double d) 10143: { 10143: union U { 10143: double d; 10143: quint64 u; 10143: }; 10143: U val; 10143: val.d = d; 10143: return (val.u & static_cast(0x7fffffffffffffffULL)) == 0; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: [[nodiscard]] static inline __attribute__((__unused__)) bool qIsNull(float f) 10143: { 10143: union U { 10143: float f; 10143: quint32 u; 10143: }; 10143: U val; 10143: val.f = f; 10143: return (val.u & 0x7fffffff) == 0; 10143: } 10143: # 850 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: namespace QtPrivate 10143: { 10143: namespace SwapExceptionTester { 10143: using std::swap; 10143: template 10143: void checkSwap(T &t) 10143: noexcept(noexcept(swap(t, t))); 10143: 10143: } 10143: } 10143: 10143: template 10143: inline void qSwap(T &value1, T &value2) 10143: noexcept(noexcept(QtPrivate::SwapExceptionTester::checkSwap(value1))) 10143: { 10143: using std::swap; 10143: swap(value1, value2); 10143: } 10143: # 876 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: __attribute__((visibility("default"))) void *qMallocAligned(size_t size, size_t alignment) __attribute__((alloc_size(1))); 10143: __attribute__((visibility("default"))) void *qReallocAligned(void *ptr, size_t size, size_t oldsize, size_t alignment) __attribute__((alloc_size(2))); 10143: __attribute__((visibility("default"))) void qFreeAligned(void *ptr); 10143: # 918 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: namespace QtPrivate { 10143: template struct QAddConst { typedef const T Type; }; 10143: } 10143: 10143: 10143: template 10143: constexpr typename QtPrivate::QAddConst::Type &qAsConst(T &t) noexcept { return t; } 10143: 10143: template 10143: void qAsConst(const T &&) = delete; 10143: 10143: 10143: 10143: namespace QtPrivate { 10143: 10143: template 10143: class QForeachContainer { 10143: QForeachContainer(const QForeachContainer &) = delete; QForeachContainer &operator=(const QForeachContainer &) = delete; 10143: public: 10143: QForeachContainer(const T &t) : c(t), i(qAsConst(c).begin()), e(qAsConst(c).end()) {} 10143: QForeachContainer(T &&t) : c(std::move(t)), i(qAsConst(c).begin()), e(qAsConst(c).end()) {} 10143: 10143: QForeachContainer(QForeachContainer &&other) 10143: : c(std::move(other.c)), 10143: i(qAsConst(c).begin()), 10143: e(qAsConst(c).end()), 10143: control(std::move(other.control)) 10143: { 10143: } 10143: 10143: QForeachContainer &operator=(QForeachContainer &&other) 10143: { 10143: c = std::move(other.c); 10143: i = qAsConst(c).begin(); 10143: e = qAsConst(c).end(); 10143: control = std::move(other.control); 10143: return *this; 10143: } 10143: 10143: T c; 10143: typename T::const_iterator i, e; 10143: int control = 1; 10143: }; 10143: 10143: template 10143: QForeachContainer::type> qMakeForeachContainer(T &&t) 10143: { 10143: return QForeachContainer::type>(std::forward(t)); 10143: } 10143: 10143: } 10143: # 998 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: template static inline T *qGetPtrHelper(T *ptr) { return ptr; } 10143: template static inline typename Wrapper::pointer qGetPtrHelper(const Wrapper &p) { return p.data(); } 10143: # 1031 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: __attribute__((visibility("default"))) QString qtTrId(const char *id, int n = -1); 10143: # 1063 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: template 10143: struct QNonConstOverload 10143: { 10143: template 10143: constexpr auto operator()(R (T::*ptr)(Args...)) const noexcept -> decltype(ptr) 10143: { return ptr; } 10143: 10143: template 10143: static constexpr auto of(R (T::*ptr)(Args...)) noexcept -> decltype(ptr) 10143: { return ptr; } 10143: }; 10143: 10143: template 10143: struct QConstOverload 10143: { 10143: template 10143: constexpr auto operator()(R (T::*ptr)(Args...) const) const noexcept -> decltype(ptr) 10143: { return ptr; } 10143: 10143: template 10143: static constexpr auto of(R (T::*ptr)(Args...) const) noexcept -> decltype(ptr) 10143: { return ptr; } 10143: }; 10143: 10143: template 10143: struct QOverload : QConstOverload, QNonConstOverload 10143: { 10143: using QConstOverload::of; 10143: using QConstOverload::operator(); 10143: using QNonConstOverload::of; 10143: using QNonConstOverload::operator(); 10143: 10143: template 10143: constexpr auto operator()(R (*ptr)(Args...)) const noexcept -> decltype(ptr) 10143: { return ptr; } 10143: 10143: template 10143: static constexpr auto of(R (*ptr)(Args...)) noexcept -> decltype(ptr) 10143: { return ptr; } 10143: }; 10143: # 1113 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: class QByteArray; 10143: __attribute__((visibility("default"))) QByteArray qgetenv(const char *varName); 10143: __attribute__((visibility("default"))) bool qputenv(const char *varName, const QByteArray& value); 10143: __attribute__((visibility("default"))) bool qunsetenv(const char *varName); 10143: 10143: __attribute__((visibility("default"))) bool qEnvironmentVariableIsEmpty(const char *varName) noexcept; 10143: __attribute__((visibility("default"))) bool qEnvironmentVariableIsSet(const char *varName) noexcept; 10143: __attribute__((visibility("default"))) int qEnvironmentVariableIntValue(const char *varName, bool *ok=nullptr) noexcept; 10143: 10143: inline int qIntCast(double f) { return int(f); } 10143: inline int qIntCast(float f) { return int(f); } 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) void qsrand(uint seed); 10143: __attribute__((visibility("default"))) int qrand(); 10143: # 1139 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 3 4 10143: namespace QtPrivate { 10143: 10143: template struct QEnableIf; 10143: template struct QEnableIf { typedef T Type; }; 10143: 10143: template struct QConditional { typedef T Type; }; 10143: template struct QConditional { typedef F Type; }; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qtypeinfo.h" 1 3 4 10143: # 41 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qtypeinfo.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 1 3 4 10143: # 42 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qtypeinfo.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: # 56 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qtypeinfo.h" 3 4 10143: template 10143: class QTypeInfo 10143: { 10143: public: 10143: enum { 10143: isSpecialized = std::is_enum::value, 10143: isPointer = false, 10143: isIntegral = std::is_integral::value, 10143: isComplex = !isIntegral && !std::is_enum::value, 10143: isStatic = true, 10143: isRelocatable = std::is_enum::value, 10143: isLarge = (sizeof(T)>sizeof(void*)), 10143: isDummy = false, 10143: sizeOf = sizeof(T) 10143: }; 10143: }; 10143: 10143: template<> 10143: class QTypeInfo 10143: { 10143: public: 10143: enum { 10143: isSpecialized = true, 10143: isPointer = false, 10143: isIntegral = false, 10143: isComplex = false, 10143: isStatic = false, 10143: isRelocatable = false, 10143: isLarge = false, 10143: isDummy = false, 10143: sizeOf = 0 10143: }; 10143: }; 10143: 10143: template 10143: class QTypeInfo 10143: { 10143: public: 10143: enum { 10143: isSpecialized = true, 10143: isPointer = true, 10143: isIntegral = false, 10143: isComplex = false, 10143: isStatic = false, 10143: isRelocatable = true, 10143: isLarge = false, 10143: isDummy = false, 10143: sizeOf = sizeof(T*) 10143: }; 10143: }; 10143: # 122 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qtypeinfo.h" 3 4 10143: template 10143: struct QTypeInfoQuery : public QTypeInfo 10143: { 10143: enum { isRelocatable = !QTypeInfo::isStatic }; 10143: }; 10143: 10143: 10143: template 10143: struct QTypeInfoQuery::isRelocatable || true>::type> : public QTypeInfo 10143: {}; 10143: # 153 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qtypeinfo.h" 3 4 10143: template 10143: class QTypeInfoMerger 10143: { 10143: public: 10143: enum { 10143: isSpecialized = true, 10143: isComplex = QTypeInfoQuery::isComplex || QTypeInfoQuery::isComplex 10143: || QTypeInfoQuery::isComplex || QTypeInfoQuery::isComplex, 10143: isStatic = QTypeInfoQuery::isStatic || QTypeInfoQuery::isStatic 10143: || QTypeInfoQuery::isStatic || QTypeInfoQuery::isStatic, 10143: isRelocatable = QTypeInfoQuery::isRelocatable && QTypeInfoQuery::isRelocatable 10143: && QTypeInfoQuery::isRelocatable && QTypeInfoQuery::isRelocatable, 10143: isLarge = sizeof(T) > sizeof(void*), 10143: isPointer = false, 10143: isIntegral = false, 10143: isDummy = false, 10143: sizeOf = sizeof(T) 10143: }; 10143: }; 10143: # 192 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qtypeinfo.h" 3 4 10143: template class QList; template class QTypeInfo< QList > { public: enum { isSpecialized = true, isPointer = false, isIntegral = false, isComplex = true, isRelocatable = true, isStatic = false, isLarge = (sizeof(QList) > sizeof(void*)), isDummy = false, sizeOf = sizeof(QList) }; }; 10143: template class QVector; template class QTypeInfo< QVector > { public: enum { isSpecialized = true, isPointer = false, isIntegral = false, isComplex = true, isRelocatable = true, isStatic = false, isLarge = (sizeof(QVector) > sizeof(void*)), isDummy = false, sizeOf = sizeof(QVector) }; }; 10143: template class QQueue; template class QTypeInfo< QQueue > { public: enum { isSpecialized = true, isPointer = false, isIntegral = false, isComplex = true, isRelocatable = true, isStatic = false, isLarge = (sizeof(QQueue) > sizeof(void*)), isDummy = false, sizeOf = sizeof(QQueue) }; }; 10143: template class QStack; template class QTypeInfo< QStack > { public: enum { isSpecialized = true, isPointer = false, isIntegral = false, isComplex = true, isRelocatable = true, isStatic = false, isLarge = (sizeof(QStack) > sizeof(void*)), isDummy = false, sizeOf = sizeof(QStack) }; }; 10143: template class QLinkedList; template class QTypeInfo< QLinkedList > { public: enum { isSpecialized = true, isPointer = false, isIntegral = false, isComplex = true, isRelocatable = true, isStatic = false, isLarge = (sizeof(QLinkedList) > sizeof(void*)), isDummy = false, sizeOf = sizeof(QLinkedList) }; }; 10143: template class QSet; template class QTypeInfo< QSet > { public: enum { isSpecialized = true, isPointer = false, isIntegral = false, isComplex = true, isRelocatable = true, isStatic = false, isLarge = (sizeof(QSet) > sizeof(void*)), isDummy = false, sizeOf = sizeof(QSet) }; }; 10143: # 221 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qtypeinfo.h" 3 4 10143: template class QMap; template class QTypeInfo< QMap > { public: enum { isSpecialized = true, isPointer = false, isIntegral = false, isComplex = true, isStatic = (((5<<16)|(9<<8)|(3)) < ((6<<16)|(0<<8)|(0))), isRelocatable = true, isLarge = (sizeof(QMap) > sizeof(void*)), isDummy = false, sizeOf = sizeof(QMap) }; }; 10143: template class QMultiMap; template class QTypeInfo< QMultiMap > { public: enum { isSpecialized = true, isPointer = false, isIntegral = false, isComplex = true, isStatic = (((5<<16)|(9<<8)|(3)) < ((6<<16)|(0<<8)|(0))), isRelocatable = true, isLarge = (sizeof(QMultiMap) > sizeof(void*)), isDummy = false, sizeOf = sizeof(QMultiMap) }; }; 10143: template class QHash; template class QTypeInfo< QHash > { public: enum { isSpecialized = true, isPointer = false, isIntegral = false, isComplex = true, isStatic = (((5<<16)|(9<<8)|(3)) < ((6<<16)|(0<<8)|(0))), isRelocatable = true, isLarge = (sizeof(QHash) > sizeof(void*)), isDummy = false, sizeOf = sizeof(QHash) }; }; 10143: template class QMultiHash; template class QTypeInfo< QMultiHash > { public: enum { isSpecialized = true, isPointer = false, isIntegral = false, isComplex = true, isStatic = (((5<<16)|(9<<8)|(3)) < ((6<<16)|(0<<8)|(0))), isRelocatable = true, isLarge = (sizeof(QMultiHash) > sizeof(void*)), isDummy = false, sizeOf = sizeof(QMultiHash) }; }; 10143: # 236 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qtypeinfo.h" 3 4 10143: enum { 10143: Q_COMPLEX_TYPE = 0, 10143: Q_PRIMITIVE_TYPE = 0x1, 10143: Q_STATIC_TYPE = 0, 10143: Q_MOVABLE_TYPE = 0x2, 10143: Q_DUMMY_TYPE = 0x4, 10143: Q_RELOCATABLE_TYPE = 0x8 10143: }; 10143: # 268 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qtypeinfo.h" 3 4 10143: template class QFlags; 10143: template 10143: class QTypeInfo > { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QFlags)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QFlags >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QFlags) }; static inline const char *name() { return "QFlags"; } }; 10143: # 300 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qtypeinfo.h" 3 4 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(bool)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< bool >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(bool) }; static inline const char *name() { return "bool"; } }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(char)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< char >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(char) }; static inline const char *name() { return "char"; } }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(signed char)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< signed char >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(signed char) }; static inline const char *name() { return "signed char"; } }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(uchar)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< uchar >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(uchar) }; static inline const char *name() { return "uchar"; } }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(short)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< short >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(short) }; static inline const char *name() { return "short"; } }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(ushort)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< ushort >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(ushort) }; static inline const char *name() { return "ushort"; } }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(int)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< int >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(int) }; static inline const char *name() { return "int"; } }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(uint)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< uint >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(uint) }; static inline const char *name() { return "uint"; } }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(long)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< long >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(long) }; static inline const char *name() { return "long"; } }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(ulong)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< ulong >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(ulong) }; static inline const char *name() { return "ulong"; } }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(qint64)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< qint64 >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(qint64) }; static inline const char *name() { return "qint64"; } }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(quint64)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< quint64 >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(quint64) }; static inline const char *name() { return "quint64"; } }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(float)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< float >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(float) }; static inline const char *name() { return "float"; } }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(double)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< double >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(double) }; static inline const char *name() { return "double"; } }; 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(long double)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< long double >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(long double) }; static inline const char *name() { return "long double"; } }; 10143: # 331 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qtypeinfo.h" 3 4 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_RELOCATABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_RELOCATABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_RELOCATABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(char16_t)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< char16_t >::value, isDummy = (((Q_RELOCATABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(char16_t) }; static inline const char *name() { return "char16_t"; } }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_RELOCATABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_RELOCATABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_RELOCATABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(char32_t)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< char32_t >::value, isDummy = (((Q_RELOCATABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(char32_t) }; static inline const char *name() { return "char32_t"; } }; 10143: 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_RELOCATABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_RELOCATABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_RELOCATABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(wchar_t)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< wchar_t >::value, isDummy = (((Q_RELOCATABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(wchar_t) }; static inline const char *name() { return "wchar_t"; } }; 10143: 10143: 10143: 10143: 10143: # 1153 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsysinfo.h" 1 3 4 10143: # 46 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsysinfo.h" 3 4 10143: 10143: # 69 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsysinfo.h" 3 4 10143: class QString; 10143: class __attribute__((visibility("default"))) QSysInfo { 10143: public: 10143: enum Sizes { 10143: WordSize = (sizeof(void *)<<3) 10143: }; 10143: # 84 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsysinfo.h" 3 4 10143: enum Endian { 10143: BigEndian, 10143: LittleEndian 10143: 10143: 10143: 10143: 10143: 10143: 10143: , ByteOrder = LittleEndian 10143: 10143: 10143: 10143: }; 10143: 10143: 10143: enum WinVersion { 10143: WV_None = 0x0000, 10143: 10143: WV_32s = 0x0001, 10143: WV_95 = 0x0002, 10143: WV_98 = 0x0003, 10143: WV_Me = 0x0004, 10143: WV_DOS_based= 0x000f, 10143: 10143: 10143: WV_NT = 0x0010, 10143: WV_2000 = 0x0020, 10143: WV_XP = 0x0030, 10143: WV_2003 = 0x0040, 10143: WV_VISTA = 0x0080, 10143: WV_WINDOWS7 = 0x0090, 10143: WV_WINDOWS8 = 0x00a0, 10143: WV_WINDOWS8_1 = 0x00b0, 10143: WV_WINDOWS10 = 0x00c0, 10143: WV_NT_based = 0x00f0, 10143: 10143: 10143: WV_4_0 = WV_NT, 10143: WV_5_0 = WV_2000, 10143: WV_5_1 = WV_XP, 10143: WV_5_2 = WV_2003, 10143: WV_6_0 = WV_VISTA, 10143: WV_6_1 = WV_WINDOWS7, 10143: WV_6_2 = WV_WINDOWS8, 10143: WV_6_3 = WV_WINDOWS8_1, 10143: WV_10_0 = WV_WINDOWS10, 10143: 10143: WV_CE = 0x0100, 10143: WV_CENET = 0x0200, 10143: WV_CE_5 = 0x0300, 10143: WV_CE_6 = 0x0400, 10143: WV_CE_based = 0x0f00 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: enum MacVersion { 10143: MV_None = 0xffff, 10143: MV_Unknown = 0x0000, 10143: 10143: 10143: MV_9 = (9 == 10 ? 0 + 2 : (9 == 9 ? 1 : 0)), 10143: MV_10_0 = (10 == 10 ? 0 + 2 : (10 == 9 ? 1 : 0)), 10143: MV_10_1 = (10 == 10 ? 1 + 2 : (10 == 9 ? 1 : 0)), 10143: MV_10_2 = (10 == 10 ? 2 + 2 : (10 == 9 ? 1 : 0)), 10143: MV_10_3 = (10 == 10 ? 3 + 2 : (10 == 9 ? 1 : 0)), 10143: MV_10_4 = (10 == 10 ? 4 + 2 : (10 == 9 ? 1 : 0)), 10143: MV_10_5 = (10 == 10 ? 5 + 2 : (10 == 9 ? 1 : 0)), 10143: MV_10_6 = (10 == 10 ? 6 + 2 : (10 == 9 ? 1 : 0)), 10143: MV_10_7 = (10 == 10 ? 7 + 2 : (10 == 9 ? 1 : 0)), 10143: MV_10_8 = (10 == 10 ? 8 + 2 : (10 == 9 ? 1 : 0)), 10143: MV_10_9 = (10 == 10 ? 9 + 2 : (10 == 9 ? 1 : 0)), 10143: MV_10_10 = (10 == 10 ? 10 + 2 : (10 == 9 ? 1 : 0)), 10143: MV_10_11 = (10 == 10 ? 11 + 2 : (10 == 9 ? 1 : 0)), 10143: MV_10_12 = (10 == 10 ? 12 + 2 : (10 == 9 ? 1 : 0)), 10143: 10143: 10143: MV_CHEETAH = MV_10_0, 10143: MV_PUMA = MV_10_1, 10143: MV_JAGUAR = MV_10_2, 10143: MV_PANTHER = MV_10_3, 10143: MV_TIGER = MV_10_4, 10143: MV_LEOPARD = MV_10_5, 10143: MV_SNOWLEOPARD = MV_10_6, 10143: MV_LION = MV_10_7, 10143: MV_MOUNTAINLION = MV_10_8, 10143: MV_MAVERICKS = MV_10_9, 10143: MV_YOSEMITE = MV_10_10, 10143: MV_ELCAPITAN = MV_10_11, 10143: MV_SIERRA = MV_10_12, 10143: 10143: 10143: MV_IOS = 1 << 8, 10143: MV_IOS_4_3 = (QSysInfo::MV_IOS | 4 << 4 | 3), 10143: MV_IOS_5_0 = (QSysInfo::MV_IOS | 5 << 4 | 0), 10143: MV_IOS_5_1 = (QSysInfo::MV_IOS | 5 << 4 | 1), 10143: MV_IOS_6_0 = (QSysInfo::MV_IOS | 6 << 4 | 0), 10143: MV_IOS_6_1 = (QSysInfo::MV_IOS | 6 << 4 | 1), 10143: MV_IOS_7_0 = (QSysInfo::MV_IOS | 7 << 4 | 0), 10143: MV_IOS_7_1 = (QSysInfo::MV_IOS | 7 << 4 | 1), 10143: MV_IOS_8_0 = (QSysInfo::MV_IOS | 8 << 4 | 0), 10143: MV_IOS_8_1 = (QSysInfo::MV_IOS | 8 << 4 | 1), 10143: MV_IOS_8_2 = (QSysInfo::MV_IOS | 8 << 4 | 2), 10143: MV_IOS_8_3 = (QSysInfo::MV_IOS | 8 << 4 | 3), 10143: MV_IOS_8_4 = (QSysInfo::MV_IOS | 8 << 4 | 4), 10143: MV_IOS_9_0 = (QSysInfo::MV_IOS | 9 << 4 | 0), 10143: MV_IOS_9_1 = (QSysInfo::MV_IOS | 9 << 4 | 1), 10143: MV_IOS_9_2 = (QSysInfo::MV_IOS | 9 << 4 | 2), 10143: MV_IOS_9_3 = (QSysInfo::MV_IOS | 9 << 4 | 3), 10143: MV_IOS_10_0 = (QSysInfo::MV_IOS | 10 << 4 | 0), 10143: 10143: 10143: MV_TVOS = 1 << 9, 10143: MV_TVOS_9_0 = (QSysInfo::MV_TVOS | 9 << 4 | 0), 10143: MV_TVOS_9_1 = (QSysInfo::MV_TVOS | 9 << 4 | 1), 10143: MV_TVOS_9_2 = (QSysInfo::MV_TVOS | 9 << 4 | 2), 10143: MV_TVOS_10_0 = (QSysInfo::MV_TVOS | 10 << 4 | 0), 10143: 10143: 10143: MV_WATCHOS = 1 << 10, 10143: MV_WATCHOS_2_0 = (QSysInfo::MV_WATCHOS | 2 << 4 | 0), 10143: MV_WATCHOS_2_1 = (QSysInfo::MV_WATCHOS | 2 << 4 | 1), 10143: MV_WATCHOS_2_2 = (QSysInfo::MV_WATCHOS | 2 << 4 | 2), 10143: MV_WATCHOS_3_0 = (QSysInfo::MV_WATCHOS | 3 << 4 | 0) 10143: }; 10143: 10143: 10143: # 213 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsysinfo.h" 3 4 10143: #pragma GCC diagnostic push 10143: # 213 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsysinfo.h" 3 4 10143: 10143: 10143: # 214 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsysinfo.h" 3 4 10143: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 10143: # 214 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsysinfo.h" 3 4 10143: 10143: 10143: 10143: 10143: 10143: static const WinVersion WindowsVersion = WV_None; 10143: static WinVersion windowsVersion() { return WV_None; } 10143: 10143: 10143: 10143: 10143: 10143: static const MacVersion MacintoshVersion = MV_None; 10143: static MacVersion macVersion() { return MV_None; } 10143: 10143: 10143: # 229 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsysinfo.h" 3 4 10143: #pragma GCC diagnostic pop 10143: # 229 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsysinfo.h" 3 4 10143: 10143: 10143: 10143: static QString buildCpuArchitecture(); 10143: static QString currentCpuArchitecture(); 10143: static QString buildAbi(); 10143: 10143: static QString kernelType(); 10143: static QString kernelVersion(); 10143: static QString productType(); 10143: static QString productVersion(); 10143: static QString prettyProductName(); 10143: 10143: static QString machineHostName(); 10143: }; 10143: 10143: 10143: 10143: 10143: # 1154 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qlogging.h" 1 3 4 10143: # 50 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qlogging.h" 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: class QDebug; 10143: class QNoDebug; 10143: 10143: enum QtMsgType { QtDebugMsg, QtWarningMsg, QtCriticalMsg, QtFatalMsg, QtInfoMsg, QtSystemMsg = QtCriticalMsg }; 10143: 10143: class QMessageLogContext 10143: { 10143: QMessageLogContext(const QMessageLogContext &) = delete; QMessageLogContext &operator=(const QMessageLogContext &) = delete; 10143: public: 10143: constexpr QMessageLogContext() 10143: : version(2), line(0), file(nullptr), function(nullptr), category(nullptr) {} 10143: constexpr QMessageLogContext(const char *fileName, int lineNumber, const char *functionName, const char *categoryName) 10143: : version(2), line(lineNumber), file(fileName), function(functionName), category(categoryName) {} 10143: 10143: void copy(const QMessageLogContext &logContext); 10143: 10143: int version; 10143: int line; 10143: const char *file; 10143: const char *function; 10143: const char *category; 10143: 10143: private: 10143: friend class QMessageLogger; 10143: friend class QDebug; 10143: }; 10143: 10143: class QLoggingCategory; 10143: 10143: class __attribute__((visibility("default"))) QMessageLogger 10143: { 10143: QMessageLogger(const QMessageLogger &) = delete; QMessageLogger &operator=(const QMessageLogger &) = delete; 10143: public: 10143: constexpr QMessageLogger() : context() {} 10143: constexpr QMessageLogger(const char *file, int line, const char *function) 10143: : context(file, line, function, "default") {} 10143: constexpr QMessageLogger(const char *file, int line, const char *function, const char *category) 10143: : context(file, line, function, category) {} 10143: 10143: void debug(const char *msg, ...) const __attribute__((format(printf, (2), (3)))); 10143: void noDebug(const char *, ...) const __attribute__((format(printf, (2), (3)))) 10143: {} 10143: void info(const char *msg, ...) const __attribute__((format(printf, (2), (3)))); 10143: void warning(const char *msg, ...) const __attribute__((format(printf, (2), (3)))); 10143: void critical(const char *msg, ...) const __attribute__((format(printf, (2), (3)))); 10143: 10143: typedef const QLoggingCategory &(*CategoryFunction)(); 10143: 10143: void debug(const QLoggingCategory &cat, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 10143: void debug(CategoryFunction catFunc, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 10143: void info(const QLoggingCategory &cat, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 10143: void info(CategoryFunction catFunc, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 10143: void warning(const QLoggingCategory &cat, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 10143: void warning(CategoryFunction catFunc, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 10143: void critical(const QLoggingCategory &cat, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 10143: void critical(CategoryFunction catFunc, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 10143: 10143: 10143: __attribute__((__noreturn__)) 10143: 10143: void fatal(const char *msg, ...) const noexcept __attribute__((format(printf, (2), (3)))); 10143: 10143: 10143: QDebug debug() const; 10143: QDebug debug(const QLoggingCategory &cat) const; 10143: QDebug debug(CategoryFunction catFunc) const; 10143: QDebug info() const; 10143: QDebug info(const QLoggingCategory &cat) const; 10143: QDebug info(CategoryFunction catFunc) const; 10143: QDebug warning() const; 10143: QDebug warning(const QLoggingCategory &cat) const; 10143: QDebug warning(CategoryFunction catFunc) const; 10143: QDebug critical() const; 10143: QDebug critical(const QLoggingCategory &cat) const; 10143: QDebug critical(CategoryFunction catFunc) const; 10143: 10143: QNoDebug noDebug() const noexcept; 10143: 10143: 10143: private: 10143: QMessageLogContext context; 10143: }; 10143: # 179 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qlogging.h" 3 4 10143: __attribute__((visibility("default"))) void qt_message_output(QtMsgType, const QMessageLogContext &context, 10143: const QString &message); 10143: 10143: __attribute__((visibility("default"))) void qErrnoWarning(int code, const char *msg, ...); 10143: __attribute__((visibility("default"))) void qErrnoWarning(const char *msg, ...); 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef void (*QtMessageHandler)(QtMsgType, const QMessageLogContext &, const QString &); 10143: __attribute__((visibility("default"))) QtMessageHandler qInstallMessageHandler(QtMessageHandler); 10143: 10143: __attribute__((visibility("default"))) void qSetMessagePattern(const QString &messagePattern); 10143: __attribute__((visibility("default"))) QString qFormatLogMessage(QtMsgType type, const QMessageLogContext &context, 10143: const QString &buf); 10143: 10143: 10143: # 1155 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qflags.h" 1 3 4 10143: # 49 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qflags.h" 3 4 10143: 10143: 10143: class QDataStream; 10143: 10143: class QFlag 10143: { 10143: int i; 10143: public: 10143: constexpr inline QFlag(int ai) noexcept : i(ai) {} 10143: constexpr inline operator int() const noexcept { return i; } 10143: # 68 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qflags.h" 3 4 10143: constexpr inline QFlag(uint ai) noexcept : i(int(ai)) {} 10143: constexpr inline QFlag(short ai) noexcept : i(int(ai)) {} 10143: constexpr inline QFlag(ushort ai) noexcept : i(int(uint(ai))) {} 10143: constexpr inline operator uint() const noexcept { return uint(i); } 10143: 10143: }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QFlag)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QFlag >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QFlag) }; static inline const char *name() { return "QFlag"; } }; 10143: 10143: class QIncompatibleFlag 10143: { 10143: int i; 10143: public: 10143: constexpr inline explicit QIncompatibleFlag(int i) noexcept; 10143: constexpr inline operator int() const noexcept { return i; } 10143: }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QIncompatibleFlag)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QIncompatibleFlag >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QIncompatibleFlag) }; static inline const char *name() { return "QIncompatibleFlag"; } }; 10143: 10143: constexpr inline QIncompatibleFlag::QIncompatibleFlag(int ai) noexcept : i(ai) {} 10143: 10143: 10143: 10143: 10143: template 10143: class QFlags 10143: { 10143: static_assert(bool((sizeof(Enum) <= sizeof(int))), "QFlags uses an int as storage, so an enum with underlying " "long long will overflow.") 10143: 10143: ; 10143: static_assert(bool((std::is_enum::value)), "QFlags is only usable on enumeration types."); 10143: 10143: struct Private; 10143: typedef int (Private::*Zero); 10143: template friend QDataStream &operator>>(QDataStream &, QFlags &); 10143: template friend QDataStream &operator<<(QDataStream &, QFlags); 10143: public: 10143: 10143: 10143: 10143: 10143: 10143: typedef typename std::conditional< 10143: std::is_unsigned::type>::value, 10143: unsigned int, 10143: signed int 10143: >::type Int; 10143: 10143: typedef Enum enum_type; 10143: 10143: 10143: 10143: 10143: 10143: constexpr inline QFlags(Enum f) noexcept : i(Int(f)) {} 10143: constexpr inline QFlags(Zero = nullptr) noexcept : i(0) {} 10143: constexpr inline QFlags(QFlag f) noexcept : i(f) {} 10143: 10143: 10143: constexpr inline QFlags(std::initializer_list flags) noexcept 10143: : i(initializer_list_helper(flags.begin(), flags.end())) {} 10143: 10143: 10143: inline QFlags &operator&=(int mask) noexcept { i &= mask; return *this; } 10143: inline QFlags &operator&=(uint mask) noexcept { i &= mask; return *this; } 10143: inline QFlags &operator&=(Enum mask) noexcept { i &= Int(mask); return *this; } 10143: inline QFlags &operator|=(QFlags f) noexcept { i |= f.i; return *this; } 10143: inline QFlags &operator|=(Enum f) noexcept { i |= Int(f); return *this; } 10143: inline QFlags &operator^=(QFlags f) noexcept { i ^= f.i; return *this; } 10143: inline QFlags &operator^=(Enum f) noexcept { i ^= Int(f); return *this; } 10143: 10143: constexpr inline operator Int() const noexcept { return i; } 10143: 10143: constexpr inline QFlags operator|(QFlags f) const noexcept { return QFlags(QFlag(i | f.i)); } 10143: constexpr inline QFlags operator|(Enum f) const noexcept { return QFlags(QFlag(i | Int(f))); } 10143: constexpr inline QFlags operator^(QFlags f) const noexcept { return QFlags(QFlag(i ^ f.i)); } 10143: constexpr inline QFlags operator^(Enum f) const noexcept { return QFlags(QFlag(i ^ Int(f))); } 10143: constexpr inline QFlags operator&(int mask) const noexcept { return QFlags(QFlag(i & mask)); } 10143: constexpr inline QFlags operator&(uint mask) const noexcept { return QFlags(QFlag(i & mask)); } 10143: constexpr inline QFlags operator&(Enum f) const noexcept { return QFlags(QFlag(i & Int(f))); } 10143: constexpr inline QFlags operator~() const noexcept { return QFlags(QFlag(~i)); } 10143: 10143: constexpr inline bool operator!() const noexcept { return !i; } 10143: 10143: constexpr inline bool testFlag(Enum f) const noexcept { return (i & Int(f)) == Int(f) && (Int(f) != 0 || i == Int(f) ); } 10143: inline QFlags &setFlag(Enum f, bool on = true) noexcept 10143: { 10143: return on ? (*this |= f) : (*this &= ~f); 10143: } 10143: 10143: private: 10143: 10143: constexpr static inline Int initializer_list_helper(typename std::initializer_list::const_iterator it, 10143: typename std::initializer_list::const_iterator end) 10143: noexcept 10143: { 10143: return (it == end ? Int(0) : (Int(*it) | initializer_list_helper(it + 1, end))); 10143: } 10143: 10143: 10143: Int i; 10143: }; 10143: # 196 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qflags.h" 3 4 10143: 10143: # 1157 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 10143: # 46 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbasicatomic.h" 1 3 4 10143: # 41 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbasicatomic.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 10143: # 42 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbasicatomic.h" 2 3 4 10143: # 53 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbasicatomic.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic_cxx11.h" 1 3 4 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic_cxx11.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qgenericatomic.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qgenericatomic.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qtypeinfo.h" 1 3 4 10143: # 46 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qgenericatomic.h" 2 3 4 10143: 10143: 10143: # 56 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qgenericatomic.h" 3 4 10143: template struct QAtomicOpsSupport { enum { IsSupported = 0 }; }; 10143: template<> struct QAtomicOpsSupport<4> { enum { IsSupported = 1 }; }; 10143: 10143: template struct QAtomicAdditiveType 10143: { 10143: typedef T AdditiveT; 10143: static const int AddScale = 1; 10143: }; 10143: template struct QAtomicAdditiveType 10143: { 10143: typedef qptrdiff AdditiveT; 10143: static const int AddScale = sizeof(T); 10143: }; 10143: 10143: 10143: template struct QGenericAtomicOps 10143: { 10143: template struct AtomicType { typedef T Type; typedef T *PointerType; }; 10143: 10143: template static void acquireMemoryFence(const T &_q_value) noexcept 10143: { 10143: BaseClass::orderedMemoryFence(_q_value); 10143: } 10143: template static void releaseMemoryFence(const T &_q_value) noexcept 10143: { 10143: BaseClass::orderedMemoryFence(_q_value); 10143: } 10143: template static void orderedMemoryFence(const T &) noexcept 10143: { 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T load(const T &_q_value) noexcept 10143: { 10143: return _q_value; 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: void store(T &_q_value, X newValue) noexcept 10143: { 10143: _q_value = newValue; 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T loadAcquire(const T &_q_value) noexcept 10143: { 10143: T tmp = *static_cast(&_q_value); 10143: BaseClass::acquireMemoryFence(_q_value); 10143: return tmp; 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: void storeRelease(T &_q_value, X newValue) noexcept 10143: { 10143: BaseClass::releaseMemoryFence(_q_value); 10143: *static_cast(&_q_value) = newValue; 10143: } 10143: 10143: static inline constexpr bool isReferenceCountingNative() noexcept 10143: { return BaseClass::isFetchAndAddNative(); } 10143: static inline constexpr bool isReferenceCountingWaitFree() noexcept 10143: { return BaseClass::isFetchAndAddWaitFree(); } 10143: template static inline __attribute__((always_inline)) 10143: bool ref(T &_q_value) noexcept 10143: { 10143: return BaseClass::fetchAndAddRelaxed(_q_value, 1) != T(-1); 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: bool deref(T &_q_value) noexcept 10143: { 10143: return BaseClass::fetchAndAddRelaxed(_q_value, -1) != 1; 10143: } 10143: # 141 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qgenericatomic.h" 3 4 10143: template static inline __attribute__((always_inline)) 10143: bool testAndSetAcquire(T &_q_value, X expectedValue, X newValue) noexcept 10143: { 10143: bool tmp = BaseClass::testAndSetRelaxed(_q_value, expectedValue, newValue); 10143: BaseClass::acquireMemoryFence(_q_value); 10143: return tmp; 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: bool testAndSetRelease(T &_q_value, X expectedValue, X newValue) noexcept 10143: { 10143: BaseClass::releaseMemoryFence(_q_value); 10143: return BaseClass::testAndSetRelaxed(_q_value, expectedValue, newValue); 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: bool testAndSetOrdered(T &_q_value, X expectedValue, X newValue) noexcept 10143: { 10143: BaseClass::orderedMemoryFence(_q_value); 10143: return BaseClass::testAndSetRelaxed(_q_value, expectedValue, newValue); 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: bool testAndSetAcquire(T &_q_value, X expectedValue, X newValue, X *currentValue) noexcept 10143: { 10143: bool tmp = BaseClass::testAndSetRelaxed(_q_value, expectedValue, newValue, currentValue); 10143: BaseClass::acquireMemoryFence(_q_value); 10143: return tmp; 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: bool testAndSetRelease(T &_q_value, X expectedValue, X newValue, X *currentValue) noexcept 10143: { 10143: BaseClass::releaseMemoryFence(_q_value); 10143: return BaseClass::testAndSetRelaxed(_q_value, expectedValue, newValue, currentValue); 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: bool testAndSetOrdered(T &_q_value, X expectedValue, X newValue, X *currentValue) noexcept 10143: { 10143: BaseClass::orderedMemoryFence(_q_value); 10143: return BaseClass::testAndSetRelaxed(_q_value, expectedValue, newValue, currentValue); 10143: } 10143: 10143: static inline constexpr bool isFetchAndStoreNative() noexcept { return false; } 10143: static inline constexpr bool isFetchAndStoreWaitFree() noexcept { return false; } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndStoreRelaxed(T &_q_value, X newValue) noexcept 10143: { 10143: 10143: for(;;) { 10143: T tmp = load(_q_value); 10143: if (BaseClass::testAndSetRelaxed(_q_value, tmp, newValue)) 10143: return tmp; 10143: } 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndStoreAcquire(T &_q_value, X newValue) noexcept 10143: { 10143: T tmp = BaseClass::fetchAndStoreRelaxed(_q_value, newValue); 10143: BaseClass::acquireMemoryFence(_q_value); 10143: return tmp; 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndStoreRelease(T &_q_value, X newValue) noexcept 10143: { 10143: BaseClass::releaseMemoryFence(_q_value); 10143: return BaseClass::fetchAndStoreRelaxed(_q_value, newValue); 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndStoreOrdered(T &_q_value, X newValue) noexcept 10143: { 10143: BaseClass::orderedMemoryFence(_q_value); 10143: return BaseClass::fetchAndStoreRelaxed(_q_value, newValue); 10143: } 10143: 10143: static inline constexpr bool isFetchAndAddNative() noexcept { return false; } 10143: static inline constexpr bool isFetchAndAddWaitFree() noexcept { return false; } 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndAddRelaxed(T &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: 10143: for(;;) { 10143: T tmp = BaseClass::load(_q_value); 10143: if (BaseClass::testAndSetRelaxed(_q_value, tmp, T(tmp + valueToAdd))) 10143: return tmp; 10143: } 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndAddAcquire(T &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: T tmp = BaseClass::fetchAndAddRelaxed(_q_value, valueToAdd); 10143: BaseClass::acquireMemoryFence(_q_value); 10143: return tmp; 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndAddRelease(T &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: BaseClass::releaseMemoryFence(_q_value); 10143: return BaseClass::fetchAndAddRelaxed(_q_value, valueToAdd); 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndAddOrdered(T &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: BaseClass::orderedMemoryFence(_q_value); 10143: return BaseClass::fetchAndAddRelaxed(_q_value, valueToAdd); 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndSubRelaxed(T &_q_value, typename QAtomicAdditiveType::AdditiveT operand) noexcept 10143: { 10143: 10143: return fetchAndAddRelaxed(_q_value, -operand); 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndSubAcquire(T &_q_value, typename QAtomicAdditiveType::AdditiveT operand) noexcept 10143: { 10143: T tmp = BaseClass::fetchAndSubRelaxed(_q_value, operand); 10143: BaseClass::acquireMemoryFence(_q_value); 10143: return tmp; 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndSubRelease(T &_q_value, typename QAtomicAdditiveType::AdditiveT operand) noexcept 10143: { 10143: BaseClass::releaseMemoryFence(_q_value); 10143: return BaseClass::fetchAndSubRelaxed(_q_value, operand); 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndSubOrdered(T &_q_value, typename QAtomicAdditiveType::AdditiveT operand) noexcept 10143: { 10143: BaseClass::orderedMemoryFence(_q_value); 10143: return BaseClass::fetchAndSubRelaxed(_q_value, operand); 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndAndRelaxed(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 10143: { 10143: 10143: T tmp = BaseClass::load(_q_value); 10143: for(;;) { 10143: if (BaseClass::testAndSetRelaxed(_q_value, tmp, T(tmp & operand), &tmp)) 10143: return tmp; 10143: } 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndAndAcquire(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 10143: { 10143: T tmp = BaseClass::fetchAndAndRelaxed(_q_value, operand); 10143: BaseClass::acquireMemoryFence(_q_value); 10143: return tmp; 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndAndRelease(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 10143: { 10143: BaseClass::releaseMemoryFence(_q_value); 10143: return BaseClass::fetchAndAndRelaxed(_q_value, operand); 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndAndOrdered(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 10143: { 10143: BaseClass::orderedMemoryFence(_q_value); 10143: return BaseClass::fetchAndAndRelaxed(_q_value, operand); 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndOrRelaxed(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 10143: { 10143: 10143: T tmp = BaseClass::load(_q_value); 10143: for(;;) { 10143: if (BaseClass::testAndSetRelaxed(_q_value, tmp, T(tmp | operand), &tmp)) 10143: return tmp; 10143: } 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndOrAcquire(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 10143: { 10143: T tmp = BaseClass::fetchAndOrRelaxed(_q_value, operand); 10143: BaseClass::acquireMemoryFence(_q_value); 10143: return tmp; 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndOrRelease(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 10143: { 10143: BaseClass::releaseMemoryFence(_q_value); 10143: return BaseClass::fetchAndOrRelaxed(_q_value, operand); 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndOrOrdered(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 10143: { 10143: BaseClass::orderedMemoryFence(_q_value); 10143: return BaseClass::fetchAndOrRelaxed(_q_value, operand); 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndXorRelaxed(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 10143: { 10143: 10143: T tmp = BaseClass::load(_q_value); 10143: for(;;) { 10143: if (BaseClass::testAndSetRelaxed(_q_value, tmp, T(tmp ^ operand), &tmp)) 10143: return tmp; 10143: } 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndXorAcquire(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 10143: { 10143: T tmp = BaseClass::fetchAndXorRelaxed(_q_value, operand); 10143: BaseClass::acquireMemoryFence(_q_value); 10143: return tmp; 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndXorRelease(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 10143: { 10143: BaseClass::releaseMemoryFence(_q_value); 10143: return BaseClass::fetchAndXorRelaxed(_q_value, operand); 10143: } 10143: 10143: template static inline __attribute__((always_inline)) 10143: T fetchAndXorOrdered(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 10143: { 10143: BaseClass::orderedMemoryFence(_q_value); 10143: return BaseClass::fetchAndXorRelaxed(_q_value, operand); 10143: } 10143: }; 10143: 10143: 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic_cxx11.h" 2 3 4 10143: # 1 "/usr/include/c++/8/atomic" 1 3 4 10143: # 35 "/usr/include/c++/8/atomic" 3 4 10143: 10143: # 36 "/usr/include/c++/8/atomic" 3 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/atomic_base.h" 1 3 10143: # 33 "/usr/include/c++/8/bits/atomic_base.h" 3 10143: 10143: # 34 "/usr/include/c++/8/bits/atomic_base.h" 3 10143: 10143: 10143: # 1 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stdint.h" 1 3 4 10143: # 9 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stdint.h" 3 4 10143: # 1 "/usr/include/stdint.h" 1 3 4 10143: # 26 "/usr/include/stdint.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/libc-header-start.h" 1 3 4 10143: # 27 "/usr/include/stdint.h" 2 3 4 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/wchar.h" 1 3 4 10143: # 29 "/usr/include/stdint.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/wordsize.h" 1 3 4 10143: # 30 "/usr/include/stdint.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/stdint-uintn.h" 1 3 4 10143: # 24 "/usr/include/powerpc64le-linux-gnu/bits/stdint-uintn.h" 3 4 10143: typedef __uint8_t uint8_t; 10143: typedef __uint16_t uint16_t; 10143: typedef __uint32_t uint32_t; 10143: typedef __uint64_t uint64_t; 10143: # 38 "/usr/include/stdint.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: typedef signed char int_least8_t; 10143: typedef short int int_least16_t; 10143: typedef int int_least32_t; 10143: 10143: typedef long int int_least64_t; 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef unsigned char uint_least8_t; 10143: typedef unsigned short int uint_least16_t; 10143: typedef unsigned int uint_least32_t; 10143: 10143: typedef unsigned long int uint_least64_t; 10143: # 68 "/usr/include/stdint.h" 3 4 10143: typedef signed char int_fast8_t; 10143: 10143: typedef long int int_fast16_t; 10143: typedef long int int_fast32_t; 10143: typedef long int int_fast64_t; 10143: # 81 "/usr/include/stdint.h" 3 4 10143: typedef unsigned char uint_fast8_t; 10143: 10143: typedef unsigned long int uint_fast16_t; 10143: typedef unsigned long int uint_fast32_t; 10143: typedef unsigned long int uint_fast64_t; 10143: # 97 "/usr/include/stdint.h" 3 4 10143: typedef long int intptr_t; 10143: 10143: 10143: typedef unsigned long int uintptr_t; 10143: # 111 "/usr/include/stdint.h" 3 4 10143: typedef __intmax_t intmax_t; 10143: typedef __uintmax_t uintmax_t; 10143: # 10 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stdint.h" 2 3 4 10143: # 37 "/usr/include/c++/8/bits/atomic_base.h" 2 3 10143: # 1 "/usr/include/c++/8/bits/atomic_lockfree_defines.h" 1 3 10143: # 33 "/usr/include/c++/8/bits/atomic_lockfree_defines.h" 3 10143: 10143: # 34 "/usr/include/c++/8/bits/atomic_lockfree_defines.h" 3 10143: # 38 "/usr/include/c++/8/bits/atomic_base.h" 2 3 10143: 10143: 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 55 "/usr/include/c++/8/bits/atomic_base.h" 3 10143: typedef enum memory_order 10143: { 10143: memory_order_relaxed, 10143: memory_order_consume, 10143: memory_order_acquire, 10143: memory_order_release, 10143: memory_order_acq_rel, 10143: memory_order_seq_cst 10143: } memory_order; 10143: 10143: enum __memory_order_modifier 10143: { 10143: __memory_order_mask = 0x0ffff, 10143: __memory_order_modifier_mask = 0xffff0000, 10143: __memory_order_hle_acquire = 0x10000, 10143: __memory_order_hle_release = 0x20000 10143: }; 10143: 10143: constexpr memory_order 10143: operator|(memory_order __m, __memory_order_modifier __mod) 10143: { 10143: return memory_order(__m | int(__mod)); 10143: } 10143: 10143: constexpr memory_order 10143: operator&(memory_order __m, __memory_order_modifier __mod) 10143: { 10143: return memory_order(__m & int(__mod)); 10143: } 10143: 10143: 10143: constexpr memory_order 10143: __cmpexch_failure_order2(memory_order __m) noexcept 10143: { 10143: return __m == memory_order_acq_rel ? memory_order_acquire 10143: : __m == memory_order_release ? memory_order_relaxed : __m; 10143: } 10143: 10143: constexpr memory_order 10143: __cmpexch_failure_order(memory_order __m) noexcept 10143: { 10143: return memory_order(__cmpexch_failure_order2(__m & __memory_order_mask) 10143: | (__m & __memory_order_modifier_mask)); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) void 10143: atomic_thread_fence(memory_order __m) noexcept 10143: { __atomic_thread_fence(__m); } 10143: 10143: inline __attribute__((__always_inline__)) void 10143: atomic_signal_fence(memory_order __m) noexcept 10143: { __atomic_signal_fence(__m); } 10143: 10143: 10143: template 10143: inline _Tp 10143: kill_dependency(_Tp __y) noexcept 10143: { 10143: _Tp __ret(__y); 10143: return __ret; 10143: } 10143: 10143: 10143: 10143: template 10143: struct __atomic_base; 10143: 10143: 10143: 10143: 10143: template 10143: struct atomic; 10143: 10143: template 10143: struct atomic<_Tp*>; 10143: 10143: 10143: 10143: typedef bool __atomic_flag_data_type; 10143: # 148 "/usr/include/c++/8/bits/atomic_base.h" 3 10143: extern "C" { 10143: 10143: struct __atomic_flag_base 10143: { 10143: __atomic_flag_data_type _M_i; 10143: }; 10143: 10143: } 10143: 10143: 10143: 10143: 10143: struct atomic_flag : public __atomic_flag_base 10143: { 10143: atomic_flag() noexcept = default; 10143: ~atomic_flag() noexcept = default; 10143: atomic_flag(const atomic_flag&) = delete; 10143: atomic_flag& operator=(const atomic_flag&) = delete; 10143: atomic_flag& operator=(const atomic_flag&) volatile = delete; 10143: 10143: 10143: constexpr atomic_flag(bool __i) noexcept 10143: : __atomic_flag_base{ _S_init(__i) } 10143: { } 10143: 10143: inline __attribute__((__always_inline__)) bool 10143: test_and_set(memory_order __m = memory_order_seq_cst) noexcept 10143: { 10143: return __atomic_test_and_set (&_M_i, __m); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) bool 10143: test_and_set(memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { 10143: return __atomic_test_and_set (&_M_i, __m); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) void 10143: clear(memory_order __m = memory_order_seq_cst) noexcept 10143: { 10143: memory_order __b = __m & __memory_order_mask; 10143: ; 10143: ; 10143: ; 10143: 10143: __atomic_clear (&_M_i, __m); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) void 10143: clear(memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { 10143: memory_order __b = __m & __memory_order_mask; 10143: ; 10143: ; 10143: ; 10143: 10143: __atomic_clear (&_M_i, __m); 10143: } 10143: 10143: private: 10143: static constexpr __atomic_flag_data_type 10143: _S_init(bool __i) 10143: { return __i ? 1 : 0; } 10143: }; 10143: # 237 "/usr/include/c++/8/bits/atomic_base.h" 3 10143: template 10143: struct __atomic_base 10143: { 10143: private: 10143: typedef _ITp __int_type; 10143: 10143: static constexpr int _S_alignment = 10143: sizeof(_ITp) > alignof(_ITp) ? sizeof(_ITp) : alignof(_ITp); 10143: 10143: alignas(_S_alignment) __int_type _M_i; 10143: 10143: public: 10143: __atomic_base() noexcept = default; 10143: ~__atomic_base() noexcept = default; 10143: __atomic_base(const __atomic_base&) = delete; 10143: __atomic_base& operator=(const __atomic_base&) = delete; 10143: __atomic_base& operator=(const __atomic_base&) volatile = delete; 10143: 10143: 10143: constexpr __atomic_base(__int_type __i) noexcept : _M_i (__i) { } 10143: 10143: operator __int_type() const noexcept 10143: { return load(); } 10143: 10143: operator __int_type() const volatile noexcept 10143: { return load(); } 10143: 10143: __int_type 10143: operator=(__int_type __i) noexcept 10143: { 10143: store(__i); 10143: return __i; 10143: } 10143: 10143: __int_type 10143: operator=(__int_type __i) volatile noexcept 10143: { 10143: store(__i); 10143: return __i; 10143: } 10143: 10143: __int_type 10143: operator++(int) noexcept 10143: { return fetch_add(1); } 10143: 10143: __int_type 10143: operator++(int) volatile noexcept 10143: { return fetch_add(1); } 10143: 10143: __int_type 10143: operator--(int) noexcept 10143: { return fetch_sub(1); } 10143: 10143: __int_type 10143: operator--(int) volatile noexcept 10143: { return fetch_sub(1); } 10143: 10143: __int_type 10143: operator++() noexcept 10143: { return __atomic_add_fetch(&_M_i, 1, memory_order_seq_cst); } 10143: 10143: __int_type 10143: operator++() volatile noexcept 10143: { return __atomic_add_fetch(&_M_i, 1, memory_order_seq_cst); } 10143: 10143: __int_type 10143: operator--() noexcept 10143: { return __atomic_sub_fetch(&_M_i, 1, memory_order_seq_cst); } 10143: 10143: __int_type 10143: operator--() volatile noexcept 10143: { return __atomic_sub_fetch(&_M_i, 1, memory_order_seq_cst); } 10143: 10143: __int_type 10143: operator+=(__int_type __i) noexcept 10143: { return __atomic_add_fetch(&_M_i, __i, memory_order_seq_cst); } 10143: 10143: __int_type 10143: operator+=(__int_type __i) volatile noexcept 10143: { return __atomic_add_fetch(&_M_i, __i, memory_order_seq_cst); } 10143: 10143: __int_type 10143: operator-=(__int_type __i) noexcept 10143: { return __atomic_sub_fetch(&_M_i, __i, memory_order_seq_cst); } 10143: 10143: __int_type 10143: operator-=(__int_type __i) volatile noexcept 10143: { return __atomic_sub_fetch(&_M_i, __i, memory_order_seq_cst); } 10143: 10143: __int_type 10143: operator&=(__int_type __i) noexcept 10143: { return __atomic_and_fetch(&_M_i, __i, memory_order_seq_cst); } 10143: 10143: __int_type 10143: operator&=(__int_type __i) volatile noexcept 10143: { return __atomic_and_fetch(&_M_i, __i, memory_order_seq_cst); } 10143: 10143: __int_type 10143: operator|=(__int_type __i) noexcept 10143: { return __atomic_or_fetch(&_M_i, __i, memory_order_seq_cst); } 10143: 10143: __int_type 10143: operator|=(__int_type __i) volatile noexcept 10143: { return __atomic_or_fetch(&_M_i, __i, memory_order_seq_cst); } 10143: 10143: __int_type 10143: operator^=(__int_type __i) noexcept 10143: { return __atomic_xor_fetch(&_M_i, __i, memory_order_seq_cst); } 10143: 10143: __int_type 10143: operator^=(__int_type __i) volatile noexcept 10143: { return __atomic_xor_fetch(&_M_i, __i, memory_order_seq_cst); } 10143: 10143: bool 10143: is_lock_free() const noexcept 10143: { 10143: 10143: return __atomic_is_lock_free(sizeof(_M_i), 10143: reinterpret_cast(-__alignof(_M_i))); 10143: } 10143: 10143: bool 10143: is_lock_free() const volatile noexcept 10143: { 10143: 10143: return __atomic_is_lock_free(sizeof(_M_i), 10143: reinterpret_cast(-__alignof(_M_i))); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) void 10143: store(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept 10143: { 10143: memory_order __b = __m & __memory_order_mask; 10143: ; 10143: ; 10143: ; 10143: 10143: __atomic_store_n(&_M_i, __i, __m); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) void 10143: store(__int_type __i, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { 10143: memory_order __b = __m & __memory_order_mask; 10143: ; 10143: ; 10143: ; 10143: 10143: __atomic_store_n(&_M_i, __i, __m); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) __int_type 10143: load(memory_order __m = memory_order_seq_cst) const noexcept 10143: { 10143: memory_order __b = __m & __memory_order_mask; 10143: ; 10143: ; 10143: 10143: return __atomic_load_n(&_M_i, __m); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) __int_type 10143: load(memory_order __m = memory_order_seq_cst) const volatile noexcept 10143: { 10143: memory_order __b = __m & __memory_order_mask; 10143: ; 10143: ; 10143: 10143: return __atomic_load_n(&_M_i, __m); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) __int_type 10143: exchange(__int_type __i, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { 10143: return __atomic_exchange_n(&_M_i, __i, __m); 10143: } 10143: 10143: 10143: inline __attribute__((__always_inline__)) __int_type 10143: exchange(__int_type __i, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { 10143: return __atomic_exchange_n(&_M_i, __i, __m); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) bool 10143: compare_exchange_weak(__int_type& __i1, __int_type __i2, 10143: memory_order __m1, memory_order __m2) noexcept 10143: { 10143: memory_order __b2 = __m2 & __memory_order_mask; 10143: memory_order __b1 = __m1 & __memory_order_mask; 10143: ; 10143: ; 10143: ; 10143: 10143: return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1, __m1, __m2); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) bool 10143: compare_exchange_weak(__int_type& __i1, __int_type __i2, 10143: memory_order __m1, 10143: memory_order __m2) volatile noexcept 10143: { 10143: memory_order __b2 = __m2 & __memory_order_mask; 10143: memory_order __b1 = __m1 & __memory_order_mask; 10143: ; 10143: ; 10143: ; 10143: 10143: return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1, __m1, __m2); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) bool 10143: compare_exchange_weak(__int_type& __i1, __int_type __i2, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { 10143: return compare_exchange_weak(__i1, __i2, __m, 10143: __cmpexch_failure_order(__m)); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) bool 10143: compare_exchange_weak(__int_type& __i1, __int_type __i2, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { 10143: return compare_exchange_weak(__i1, __i2, __m, 10143: __cmpexch_failure_order(__m)); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) bool 10143: compare_exchange_strong(__int_type& __i1, __int_type __i2, 10143: memory_order __m1, memory_order __m2) noexcept 10143: { 10143: memory_order __b2 = __m2 & __memory_order_mask; 10143: memory_order __b1 = __m1 & __memory_order_mask; 10143: ; 10143: ; 10143: ; 10143: 10143: return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0, __m1, __m2); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) bool 10143: compare_exchange_strong(__int_type& __i1, __int_type __i2, 10143: memory_order __m1, 10143: memory_order __m2) volatile noexcept 10143: { 10143: memory_order __b2 = __m2 & __memory_order_mask; 10143: memory_order __b1 = __m1 & __memory_order_mask; 10143: 10143: ; 10143: ; 10143: ; 10143: 10143: return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0, __m1, __m2); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) bool 10143: compare_exchange_strong(__int_type& __i1, __int_type __i2, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { 10143: return compare_exchange_strong(__i1, __i2, __m, 10143: __cmpexch_failure_order(__m)); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) bool 10143: compare_exchange_strong(__int_type& __i1, __int_type __i2, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { 10143: return compare_exchange_strong(__i1, __i2, __m, 10143: __cmpexch_failure_order(__m)); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) __int_type 10143: fetch_add(__int_type __i, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { return __atomic_fetch_add(&_M_i, __i, __m); } 10143: 10143: inline __attribute__((__always_inline__)) __int_type 10143: fetch_add(__int_type __i, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { return __atomic_fetch_add(&_M_i, __i, __m); } 10143: 10143: inline __attribute__((__always_inline__)) __int_type 10143: fetch_sub(__int_type __i, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { return __atomic_fetch_sub(&_M_i, __i, __m); } 10143: 10143: inline __attribute__((__always_inline__)) __int_type 10143: fetch_sub(__int_type __i, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { return __atomic_fetch_sub(&_M_i, __i, __m); } 10143: 10143: inline __attribute__((__always_inline__)) __int_type 10143: fetch_and(__int_type __i, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { return __atomic_fetch_and(&_M_i, __i, __m); } 10143: 10143: inline __attribute__((__always_inline__)) __int_type 10143: fetch_and(__int_type __i, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { return __atomic_fetch_and(&_M_i, __i, __m); } 10143: 10143: inline __attribute__((__always_inline__)) __int_type 10143: fetch_or(__int_type __i, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { return __atomic_fetch_or(&_M_i, __i, __m); } 10143: 10143: inline __attribute__((__always_inline__)) __int_type 10143: fetch_or(__int_type __i, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { return __atomic_fetch_or(&_M_i, __i, __m); } 10143: 10143: inline __attribute__((__always_inline__)) __int_type 10143: fetch_xor(__int_type __i, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { return __atomic_fetch_xor(&_M_i, __i, __m); } 10143: 10143: inline __attribute__((__always_inline__)) __int_type 10143: fetch_xor(__int_type __i, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { return __atomic_fetch_xor(&_M_i, __i, __m); } 10143: }; 10143: 10143: 10143: 10143: template 10143: struct __atomic_base<_PTp*> 10143: { 10143: private: 10143: typedef _PTp* __pointer_type; 10143: 10143: __pointer_type _M_p; 10143: 10143: 10143: constexpr ptrdiff_t 10143: _M_type_size(ptrdiff_t __d) const { return __d * sizeof(_PTp); } 10143: 10143: constexpr ptrdiff_t 10143: _M_type_size(ptrdiff_t __d) const volatile { return __d * sizeof(_PTp); } 10143: 10143: public: 10143: __atomic_base() noexcept = default; 10143: ~__atomic_base() noexcept = default; 10143: __atomic_base(const __atomic_base&) = delete; 10143: __atomic_base& operator=(const __atomic_base&) = delete; 10143: __atomic_base& operator=(const __atomic_base&) volatile = delete; 10143: 10143: 10143: constexpr __atomic_base(__pointer_type __p) noexcept : _M_p (__p) { } 10143: 10143: operator __pointer_type() const noexcept 10143: { return load(); } 10143: 10143: operator __pointer_type() const volatile noexcept 10143: { return load(); } 10143: 10143: __pointer_type 10143: operator=(__pointer_type __p) noexcept 10143: { 10143: store(__p); 10143: return __p; 10143: } 10143: 10143: __pointer_type 10143: operator=(__pointer_type __p) volatile noexcept 10143: { 10143: store(__p); 10143: return __p; 10143: } 10143: 10143: __pointer_type 10143: operator++(int) noexcept 10143: { return fetch_add(1); } 10143: 10143: __pointer_type 10143: operator++(int) volatile noexcept 10143: { return fetch_add(1); } 10143: 10143: __pointer_type 10143: operator--(int) noexcept 10143: { return fetch_sub(1); } 10143: 10143: __pointer_type 10143: operator--(int) volatile noexcept 10143: { return fetch_sub(1); } 10143: 10143: __pointer_type 10143: operator++() noexcept 10143: { return __atomic_add_fetch(&_M_p, _M_type_size(1), 10143: memory_order_seq_cst); } 10143: 10143: __pointer_type 10143: operator++() volatile noexcept 10143: { return __atomic_add_fetch(&_M_p, _M_type_size(1), 10143: memory_order_seq_cst); } 10143: 10143: __pointer_type 10143: operator--() noexcept 10143: { return __atomic_sub_fetch(&_M_p, _M_type_size(1), 10143: memory_order_seq_cst); } 10143: 10143: __pointer_type 10143: operator--() volatile noexcept 10143: { return __atomic_sub_fetch(&_M_p, _M_type_size(1), 10143: memory_order_seq_cst); } 10143: 10143: __pointer_type 10143: operator+=(ptrdiff_t __d) noexcept 10143: { return __atomic_add_fetch(&_M_p, _M_type_size(__d), 10143: memory_order_seq_cst); } 10143: 10143: __pointer_type 10143: operator+=(ptrdiff_t __d) volatile noexcept 10143: { return __atomic_add_fetch(&_M_p, _M_type_size(__d), 10143: memory_order_seq_cst); } 10143: 10143: __pointer_type 10143: operator-=(ptrdiff_t __d) noexcept 10143: { return __atomic_sub_fetch(&_M_p, _M_type_size(__d), 10143: memory_order_seq_cst); } 10143: 10143: __pointer_type 10143: operator-=(ptrdiff_t __d) volatile noexcept 10143: { return __atomic_sub_fetch(&_M_p, _M_type_size(__d), 10143: memory_order_seq_cst); } 10143: 10143: bool 10143: is_lock_free() const noexcept 10143: { 10143: 10143: return __atomic_is_lock_free(sizeof(_M_p), 10143: reinterpret_cast(-__alignof(_M_p))); 10143: } 10143: 10143: bool 10143: is_lock_free() const volatile noexcept 10143: { 10143: 10143: return __atomic_is_lock_free(sizeof(_M_p), 10143: reinterpret_cast(-__alignof(_M_p))); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) void 10143: store(__pointer_type __p, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { 10143: memory_order __b = __m & __memory_order_mask; 10143: 10143: ; 10143: ; 10143: ; 10143: 10143: __atomic_store_n(&_M_p, __p, __m); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) void 10143: store(__pointer_type __p, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { 10143: memory_order __b = __m & __memory_order_mask; 10143: ; 10143: ; 10143: ; 10143: 10143: __atomic_store_n(&_M_p, __p, __m); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) __pointer_type 10143: load(memory_order __m = memory_order_seq_cst) const noexcept 10143: { 10143: memory_order __b = __m & __memory_order_mask; 10143: ; 10143: ; 10143: 10143: return __atomic_load_n(&_M_p, __m); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) __pointer_type 10143: load(memory_order __m = memory_order_seq_cst) const volatile noexcept 10143: { 10143: memory_order __b = __m & __memory_order_mask; 10143: ; 10143: ; 10143: 10143: return __atomic_load_n(&_M_p, __m); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) __pointer_type 10143: exchange(__pointer_type __p, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { 10143: return __atomic_exchange_n(&_M_p, __p, __m); 10143: } 10143: 10143: 10143: inline __attribute__((__always_inline__)) __pointer_type 10143: exchange(__pointer_type __p, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { 10143: return __atomic_exchange_n(&_M_p, __p, __m); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) bool 10143: compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, 10143: memory_order __m1, 10143: memory_order __m2) noexcept 10143: { 10143: memory_order __b2 = __m2 & __memory_order_mask; 10143: memory_order __b1 = __m1 & __memory_order_mask; 10143: ; 10143: ; 10143: ; 10143: 10143: return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0, __m1, __m2); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) bool 10143: compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, 10143: memory_order __m1, 10143: memory_order __m2) volatile noexcept 10143: { 10143: memory_order __b2 = __m2 & __memory_order_mask; 10143: memory_order __b1 = __m1 & __memory_order_mask; 10143: 10143: ; 10143: ; 10143: ; 10143: 10143: return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0, __m1, __m2); 10143: } 10143: 10143: inline __attribute__((__always_inline__)) __pointer_type 10143: fetch_add(ptrdiff_t __d, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { return __atomic_fetch_add(&_M_p, _M_type_size(__d), __m); } 10143: 10143: inline __attribute__((__always_inline__)) __pointer_type 10143: fetch_add(ptrdiff_t __d, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { return __atomic_fetch_add(&_M_p, _M_type_size(__d), __m); } 10143: 10143: inline __attribute__((__always_inline__)) __pointer_type 10143: fetch_sub(ptrdiff_t __d, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), __m); } 10143: 10143: inline __attribute__((__always_inline__)) __pointer_type 10143: fetch_sub(ptrdiff_t __d, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), __m); } 10143: }; 10143: 10143: 10143: 10143: 10143: } 10143: # 42 "/usr/include/c++/8/atomic" 2 3 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 57 "/usr/include/c++/8/atomic" 3 10143: template 10143: struct atomic; 10143: 10143: 10143: 10143: template<> 10143: struct atomic 10143: { 10143: private: 10143: __atomic_base _M_base; 10143: 10143: public: 10143: atomic() noexcept = default; 10143: ~atomic() noexcept = default; 10143: atomic(const atomic&) = delete; 10143: atomic& operator=(const atomic&) = delete; 10143: atomic& operator=(const atomic&) volatile = delete; 10143: 10143: constexpr atomic(bool __i) noexcept : _M_base(__i) { } 10143: 10143: bool 10143: operator=(bool __i) noexcept 10143: { return _M_base.operator=(__i); } 10143: 10143: bool 10143: operator=(bool __i) volatile noexcept 10143: { return _M_base.operator=(__i); } 10143: 10143: operator bool() const noexcept 10143: { return _M_base.load(); } 10143: 10143: operator bool() const volatile noexcept 10143: { return _M_base.load(); } 10143: 10143: bool 10143: is_lock_free() const noexcept { return _M_base.is_lock_free(); } 10143: 10143: bool 10143: is_lock_free() const volatile noexcept { return _M_base.is_lock_free(); } 10143: 10143: 10143: 10143: 10143: 10143: void 10143: store(bool __i, memory_order __m = memory_order_seq_cst) noexcept 10143: { _M_base.store(__i, __m); } 10143: 10143: void 10143: store(bool __i, memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { _M_base.store(__i, __m); } 10143: 10143: bool 10143: load(memory_order __m = memory_order_seq_cst) const noexcept 10143: { return _M_base.load(__m); } 10143: 10143: bool 10143: load(memory_order __m = memory_order_seq_cst) const volatile noexcept 10143: { return _M_base.load(__m); } 10143: 10143: bool 10143: exchange(bool __i, memory_order __m = memory_order_seq_cst) noexcept 10143: { return _M_base.exchange(__i, __m); } 10143: 10143: bool 10143: exchange(bool __i, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { return _M_base.exchange(__i, __m); } 10143: 10143: bool 10143: compare_exchange_weak(bool& __i1, bool __i2, memory_order __m1, 10143: memory_order __m2) noexcept 10143: { return _M_base.compare_exchange_weak(__i1, __i2, __m1, __m2); } 10143: 10143: bool 10143: compare_exchange_weak(bool& __i1, bool __i2, memory_order __m1, 10143: memory_order __m2) volatile noexcept 10143: { return _M_base.compare_exchange_weak(__i1, __i2, __m1, __m2); } 10143: 10143: bool 10143: compare_exchange_weak(bool& __i1, bool __i2, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { return _M_base.compare_exchange_weak(__i1, __i2, __m); } 10143: 10143: bool 10143: compare_exchange_weak(bool& __i1, bool __i2, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { return _M_base.compare_exchange_weak(__i1, __i2, __m); } 10143: 10143: bool 10143: compare_exchange_strong(bool& __i1, bool __i2, memory_order __m1, 10143: memory_order __m2) noexcept 10143: { return _M_base.compare_exchange_strong(__i1, __i2, __m1, __m2); } 10143: 10143: bool 10143: compare_exchange_strong(bool& __i1, bool __i2, memory_order __m1, 10143: memory_order __m2) volatile noexcept 10143: { return _M_base.compare_exchange_strong(__i1, __i2, __m1, __m2); } 10143: 10143: bool 10143: compare_exchange_strong(bool& __i1, bool __i2, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { return _M_base.compare_exchange_strong(__i1, __i2, __m); } 10143: 10143: bool 10143: compare_exchange_strong(bool& __i1, bool __i2, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { return _M_base.compare_exchange_strong(__i1, __i2, __m); } 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct atomic 10143: { 10143: private: 10143: 10143: static constexpr int _S_min_alignment 10143: = (sizeof(_Tp) & (sizeof(_Tp) - 1)) || sizeof(_Tp) > 16 10143: ? 0 : sizeof(_Tp); 10143: 10143: static constexpr int _S_alignment 10143: = _S_min_alignment > alignof(_Tp) ? _S_min_alignment : alignof(_Tp); 10143: 10143: alignas(_S_alignment) _Tp _M_i; 10143: 10143: static_assert(__is_trivially_copyable(_Tp), 10143: "std::atomic requires a trivially copyable type"); 10143: 10143: static_assert(sizeof(_Tp) > 0, 10143: "Incomplete or zero-sized types are not supported"); 10143: 10143: public: 10143: atomic() noexcept = default; 10143: ~atomic() noexcept = default; 10143: atomic(const atomic&) = delete; 10143: atomic& operator=(const atomic&) = delete; 10143: atomic& operator=(const atomic&) volatile = delete; 10143: 10143: constexpr atomic(_Tp __i) noexcept : _M_i(__i) { } 10143: 10143: operator _Tp() const noexcept 10143: { return load(); } 10143: 10143: operator _Tp() const volatile noexcept 10143: { return load(); } 10143: 10143: _Tp 10143: operator=(_Tp __i) noexcept 10143: { store(__i); return __i; } 10143: 10143: _Tp 10143: operator=(_Tp __i) volatile noexcept 10143: { store(__i); return __i; } 10143: 10143: bool 10143: is_lock_free() const noexcept 10143: { 10143: 10143: return __atomic_is_lock_free(sizeof(_M_i), 10143: reinterpret_cast(-__alignof(_M_i))); 10143: } 10143: 10143: bool 10143: is_lock_free() const volatile noexcept 10143: { 10143: 10143: return __atomic_is_lock_free(sizeof(_M_i), 10143: reinterpret_cast(-__alignof(_M_i))); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: void 10143: store(_Tp __i, memory_order __m = memory_order_seq_cst) noexcept 10143: { __atomic_store(std::__addressof(_M_i), std::__addressof(__i), __m); } 10143: 10143: void 10143: store(_Tp __i, memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { __atomic_store(std::__addressof(_M_i), std::__addressof(__i), __m); } 10143: 10143: _Tp 10143: load(memory_order __m = memory_order_seq_cst) const noexcept 10143: { 10143: alignas(_Tp) unsigned char __buf[sizeof(_Tp)]; 10143: _Tp* __ptr = reinterpret_cast<_Tp*>(__buf); 10143: __atomic_load(std::__addressof(_M_i), __ptr, __m); 10143: return *__ptr; 10143: } 10143: 10143: _Tp 10143: load(memory_order __m = memory_order_seq_cst) const volatile noexcept 10143: { 10143: alignas(_Tp) unsigned char __buf[sizeof(_Tp)]; 10143: _Tp* __ptr = reinterpret_cast<_Tp*>(__buf); 10143: __atomic_load(std::__addressof(_M_i), __ptr, __m); 10143: return *__ptr; 10143: } 10143: 10143: _Tp 10143: exchange(_Tp __i, memory_order __m = memory_order_seq_cst) noexcept 10143: { 10143: alignas(_Tp) unsigned char __buf[sizeof(_Tp)]; 10143: _Tp* __ptr = reinterpret_cast<_Tp*>(__buf); 10143: __atomic_exchange(std::__addressof(_M_i), std::__addressof(__i), 10143: __ptr, __m); 10143: return *__ptr; 10143: } 10143: 10143: _Tp 10143: exchange(_Tp __i, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { 10143: alignas(_Tp) unsigned char __buf[sizeof(_Tp)]; 10143: _Tp* __ptr = reinterpret_cast<_Tp*>(__buf); 10143: __atomic_exchange(std::__addressof(_M_i), std::__addressof(__i), 10143: __ptr, __m); 10143: return *__ptr; 10143: } 10143: 10143: bool 10143: compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s, 10143: memory_order __f) noexcept 10143: { 10143: return __atomic_compare_exchange(std::__addressof(_M_i), 10143: std::__addressof(__e), 10143: std::__addressof(__i), 10143: true, __s, __f); 10143: } 10143: 10143: bool 10143: compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s, 10143: memory_order __f) volatile noexcept 10143: { 10143: return __atomic_compare_exchange(std::__addressof(_M_i), 10143: std::__addressof(__e), 10143: std::__addressof(__i), 10143: true, __s, __f); 10143: } 10143: 10143: bool 10143: compare_exchange_weak(_Tp& __e, _Tp __i, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { return compare_exchange_weak(__e, __i, __m, 10143: __cmpexch_failure_order(__m)); } 10143: 10143: bool 10143: compare_exchange_weak(_Tp& __e, _Tp __i, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { return compare_exchange_weak(__e, __i, __m, 10143: __cmpexch_failure_order(__m)); } 10143: 10143: bool 10143: compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s, 10143: memory_order __f) noexcept 10143: { 10143: return __atomic_compare_exchange(std::__addressof(_M_i), 10143: std::__addressof(__e), 10143: std::__addressof(__i), 10143: false, __s, __f); 10143: } 10143: 10143: bool 10143: compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s, 10143: memory_order __f) volatile noexcept 10143: { 10143: return __atomic_compare_exchange(std::__addressof(_M_i), 10143: std::__addressof(__e), 10143: std::__addressof(__i), 10143: false, __s, __f); 10143: } 10143: 10143: bool 10143: compare_exchange_strong(_Tp& __e, _Tp __i, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { return compare_exchange_strong(__e, __i, __m, 10143: __cmpexch_failure_order(__m)); } 10143: 10143: bool 10143: compare_exchange_strong(_Tp& __e, _Tp __i, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { return compare_exchange_strong(__e, __i, __m, 10143: __cmpexch_failure_order(__m)); } 10143: }; 10143: 10143: 10143: 10143: template 10143: struct atomic<_Tp*> 10143: { 10143: typedef _Tp* __pointer_type; 10143: typedef __atomic_base<_Tp*> __base_type; 10143: __base_type _M_b; 10143: 10143: atomic() noexcept = default; 10143: ~atomic() noexcept = default; 10143: atomic(const atomic&) = delete; 10143: atomic& operator=(const atomic&) = delete; 10143: atomic& operator=(const atomic&) volatile = delete; 10143: 10143: constexpr atomic(__pointer_type __p) noexcept : _M_b(__p) { } 10143: 10143: operator __pointer_type() const noexcept 10143: { return __pointer_type(_M_b); } 10143: 10143: operator __pointer_type() const volatile noexcept 10143: { return __pointer_type(_M_b); } 10143: 10143: __pointer_type 10143: operator=(__pointer_type __p) noexcept 10143: { return _M_b.operator=(__p); } 10143: 10143: __pointer_type 10143: operator=(__pointer_type __p) volatile noexcept 10143: { return _M_b.operator=(__p); } 10143: 10143: __pointer_type 10143: operator++(int) noexcept 10143: { return _M_b++; } 10143: 10143: __pointer_type 10143: operator++(int) volatile noexcept 10143: { return _M_b++; } 10143: 10143: __pointer_type 10143: operator--(int) noexcept 10143: { return _M_b--; } 10143: 10143: __pointer_type 10143: operator--(int) volatile noexcept 10143: { return _M_b--; } 10143: 10143: __pointer_type 10143: operator++() noexcept 10143: { return ++_M_b; } 10143: 10143: __pointer_type 10143: operator++() volatile noexcept 10143: { return ++_M_b; } 10143: 10143: __pointer_type 10143: operator--() noexcept 10143: { return --_M_b; } 10143: 10143: __pointer_type 10143: operator--() volatile noexcept 10143: { return --_M_b; } 10143: 10143: __pointer_type 10143: operator+=(ptrdiff_t __d) noexcept 10143: { return _M_b.operator+=(__d); } 10143: 10143: __pointer_type 10143: operator+=(ptrdiff_t __d) volatile noexcept 10143: { return _M_b.operator+=(__d); } 10143: 10143: __pointer_type 10143: operator-=(ptrdiff_t __d) noexcept 10143: { return _M_b.operator-=(__d); } 10143: 10143: __pointer_type 10143: operator-=(ptrdiff_t __d) volatile noexcept 10143: { return _M_b.operator-=(__d); } 10143: 10143: bool 10143: is_lock_free() const noexcept 10143: { return _M_b.is_lock_free(); } 10143: 10143: bool 10143: is_lock_free() const volatile noexcept 10143: { return _M_b.is_lock_free(); } 10143: 10143: 10143: 10143: 10143: 10143: void 10143: store(__pointer_type __p, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { return _M_b.store(__p, __m); } 10143: 10143: void 10143: store(__pointer_type __p, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { return _M_b.store(__p, __m); } 10143: 10143: __pointer_type 10143: load(memory_order __m = memory_order_seq_cst) const noexcept 10143: { return _M_b.load(__m); } 10143: 10143: __pointer_type 10143: load(memory_order __m = memory_order_seq_cst) const volatile noexcept 10143: { return _M_b.load(__m); } 10143: 10143: __pointer_type 10143: exchange(__pointer_type __p, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { return _M_b.exchange(__p, __m); } 10143: 10143: __pointer_type 10143: exchange(__pointer_type __p, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { return _M_b.exchange(__p, __m); } 10143: 10143: bool 10143: compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2, 10143: memory_order __m1, memory_order __m2) noexcept 10143: { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); } 10143: 10143: bool 10143: compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2, 10143: memory_order __m1, 10143: memory_order __m2) volatile noexcept 10143: { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); } 10143: 10143: bool 10143: compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { 10143: return compare_exchange_weak(__p1, __p2, __m, 10143: __cmpexch_failure_order(__m)); 10143: } 10143: 10143: bool 10143: compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { 10143: return compare_exchange_weak(__p1, __p2, __m, 10143: __cmpexch_failure_order(__m)); 10143: } 10143: 10143: bool 10143: compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, 10143: memory_order __m1, memory_order __m2) noexcept 10143: { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); } 10143: 10143: bool 10143: compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, 10143: memory_order __m1, 10143: memory_order __m2) volatile noexcept 10143: { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); } 10143: 10143: bool 10143: compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { 10143: return _M_b.compare_exchange_strong(__p1, __p2, __m, 10143: __cmpexch_failure_order(__m)); 10143: } 10143: 10143: bool 10143: compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { 10143: return _M_b.compare_exchange_strong(__p1, __p2, __m, 10143: __cmpexch_failure_order(__m)); 10143: } 10143: 10143: __pointer_type 10143: fetch_add(ptrdiff_t __d, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { return _M_b.fetch_add(__d, __m); } 10143: 10143: __pointer_type 10143: fetch_add(ptrdiff_t __d, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { return _M_b.fetch_add(__d, __m); } 10143: 10143: __pointer_type 10143: fetch_sub(ptrdiff_t __d, 10143: memory_order __m = memory_order_seq_cst) noexcept 10143: { return _M_b.fetch_sub(__d, __m); } 10143: 10143: __pointer_type 10143: fetch_sub(ptrdiff_t __d, 10143: memory_order __m = memory_order_seq_cst) volatile noexcept 10143: { return _M_b.fetch_sub(__d, __m); } 10143: }; 10143: 10143: 10143: 10143: template<> 10143: struct atomic : __atomic_base 10143: { 10143: typedef char __integral_type; 10143: typedef __atomic_base __base_type; 10143: 10143: atomic() noexcept = default; 10143: ~atomic() noexcept = default; 10143: atomic(const atomic&) = delete; 10143: atomic& operator=(const atomic&) = delete; 10143: atomic& operator=(const atomic&) volatile = delete; 10143: 10143: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 10143: 10143: using __base_type::operator __integral_type; 10143: using __base_type::operator=; 10143: 10143: 10143: 10143: 10143: }; 10143: 10143: 10143: template<> 10143: struct atomic : __atomic_base 10143: { 10143: typedef signed char __integral_type; 10143: typedef __atomic_base __base_type; 10143: 10143: atomic() noexcept= default; 10143: ~atomic() noexcept = default; 10143: atomic(const atomic&) = delete; 10143: atomic& operator=(const atomic&) = delete; 10143: atomic& operator=(const atomic&) volatile = delete; 10143: 10143: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 10143: 10143: using __base_type::operator __integral_type; 10143: using __base_type::operator=; 10143: 10143: 10143: 10143: 10143: }; 10143: 10143: 10143: template<> 10143: struct atomic : __atomic_base 10143: { 10143: typedef unsigned char __integral_type; 10143: typedef __atomic_base __base_type; 10143: 10143: atomic() noexcept= default; 10143: ~atomic() noexcept = default; 10143: atomic(const atomic&) = delete; 10143: atomic& operator=(const atomic&) = delete; 10143: atomic& operator=(const atomic&) volatile = delete; 10143: 10143: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 10143: 10143: using __base_type::operator __integral_type; 10143: using __base_type::operator=; 10143: 10143: 10143: 10143: 10143: }; 10143: 10143: 10143: template<> 10143: struct atomic : __atomic_base 10143: { 10143: typedef short __integral_type; 10143: typedef __atomic_base __base_type; 10143: 10143: atomic() noexcept = default; 10143: ~atomic() noexcept = default; 10143: atomic(const atomic&) = delete; 10143: atomic& operator=(const atomic&) = delete; 10143: atomic& operator=(const atomic&) volatile = delete; 10143: 10143: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 10143: 10143: using __base_type::operator __integral_type; 10143: using __base_type::operator=; 10143: 10143: 10143: 10143: 10143: }; 10143: 10143: 10143: template<> 10143: struct atomic : __atomic_base 10143: { 10143: typedef unsigned short __integral_type; 10143: typedef __atomic_base __base_type; 10143: 10143: atomic() noexcept = default; 10143: ~atomic() noexcept = default; 10143: atomic(const atomic&) = delete; 10143: atomic& operator=(const atomic&) = delete; 10143: atomic& operator=(const atomic&) volatile = delete; 10143: 10143: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 10143: 10143: using __base_type::operator __integral_type; 10143: using __base_type::operator=; 10143: 10143: 10143: 10143: 10143: }; 10143: 10143: 10143: template<> 10143: struct atomic : __atomic_base 10143: { 10143: typedef int __integral_type; 10143: typedef __atomic_base __base_type; 10143: 10143: atomic() noexcept = default; 10143: ~atomic() noexcept = default; 10143: atomic(const atomic&) = delete; 10143: atomic& operator=(const atomic&) = delete; 10143: atomic& operator=(const atomic&) volatile = delete; 10143: 10143: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 10143: 10143: using __base_type::operator __integral_type; 10143: using __base_type::operator=; 10143: 10143: 10143: 10143: 10143: }; 10143: 10143: 10143: template<> 10143: struct atomic : __atomic_base 10143: { 10143: typedef unsigned int __integral_type; 10143: typedef __atomic_base __base_type; 10143: 10143: atomic() noexcept = default; 10143: ~atomic() noexcept = default; 10143: atomic(const atomic&) = delete; 10143: atomic& operator=(const atomic&) = delete; 10143: atomic& operator=(const atomic&) volatile = delete; 10143: 10143: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 10143: 10143: using __base_type::operator __integral_type; 10143: using __base_type::operator=; 10143: 10143: 10143: 10143: 10143: }; 10143: 10143: 10143: template<> 10143: struct atomic : __atomic_base 10143: { 10143: typedef long __integral_type; 10143: typedef __atomic_base __base_type; 10143: 10143: atomic() noexcept = default; 10143: ~atomic() noexcept = default; 10143: atomic(const atomic&) = delete; 10143: atomic& operator=(const atomic&) = delete; 10143: atomic& operator=(const atomic&) volatile = delete; 10143: 10143: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 10143: 10143: using __base_type::operator __integral_type; 10143: using __base_type::operator=; 10143: 10143: 10143: 10143: 10143: }; 10143: 10143: 10143: template<> 10143: struct atomic : __atomic_base 10143: { 10143: typedef unsigned long __integral_type; 10143: typedef __atomic_base __base_type; 10143: 10143: atomic() noexcept = default; 10143: ~atomic() noexcept = default; 10143: atomic(const atomic&) = delete; 10143: atomic& operator=(const atomic&) = delete; 10143: atomic& operator=(const atomic&) volatile = delete; 10143: 10143: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 10143: 10143: using __base_type::operator __integral_type; 10143: using __base_type::operator=; 10143: 10143: 10143: 10143: 10143: }; 10143: 10143: 10143: template<> 10143: struct atomic : __atomic_base 10143: { 10143: typedef long long __integral_type; 10143: typedef __atomic_base __base_type; 10143: 10143: atomic() noexcept = default; 10143: ~atomic() noexcept = default; 10143: atomic(const atomic&) = delete; 10143: atomic& operator=(const atomic&) = delete; 10143: atomic& operator=(const atomic&) volatile = delete; 10143: 10143: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 10143: 10143: using __base_type::operator __integral_type; 10143: using __base_type::operator=; 10143: 10143: 10143: 10143: 10143: }; 10143: 10143: 10143: template<> 10143: struct atomic : __atomic_base 10143: { 10143: typedef unsigned long long __integral_type; 10143: typedef __atomic_base __base_type; 10143: 10143: atomic() noexcept = default; 10143: ~atomic() noexcept = default; 10143: atomic(const atomic&) = delete; 10143: atomic& operator=(const atomic&) = delete; 10143: atomic& operator=(const atomic&) volatile = delete; 10143: 10143: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 10143: 10143: using __base_type::operator __integral_type; 10143: using __base_type::operator=; 10143: 10143: 10143: 10143: 10143: }; 10143: 10143: 10143: template<> 10143: struct atomic : __atomic_base 10143: { 10143: typedef wchar_t __integral_type; 10143: typedef __atomic_base __base_type; 10143: 10143: atomic() noexcept = default; 10143: ~atomic() noexcept = default; 10143: atomic(const atomic&) = delete; 10143: atomic& operator=(const atomic&) = delete; 10143: atomic& operator=(const atomic&) volatile = delete; 10143: 10143: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 10143: 10143: using __base_type::operator __integral_type; 10143: using __base_type::operator=; 10143: 10143: 10143: 10143: 10143: }; 10143: 10143: 10143: template<> 10143: struct atomic : __atomic_base 10143: { 10143: typedef char16_t __integral_type; 10143: typedef __atomic_base __base_type; 10143: 10143: atomic() noexcept = default; 10143: ~atomic() noexcept = default; 10143: atomic(const atomic&) = delete; 10143: atomic& operator=(const atomic&) = delete; 10143: atomic& operator=(const atomic&) volatile = delete; 10143: 10143: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 10143: 10143: using __base_type::operator __integral_type; 10143: using __base_type::operator=; 10143: 10143: 10143: 10143: 10143: }; 10143: 10143: 10143: template<> 10143: struct atomic : __atomic_base 10143: { 10143: typedef char32_t __integral_type; 10143: typedef __atomic_base __base_type; 10143: 10143: atomic() noexcept = default; 10143: ~atomic() noexcept = default; 10143: atomic(const atomic&) = delete; 10143: atomic& operator=(const atomic&) = delete; 10143: atomic& operator=(const atomic&) volatile = delete; 10143: 10143: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 10143: 10143: using __base_type::operator __integral_type; 10143: using __base_type::operator=; 10143: 10143: 10143: 10143: 10143: }; 10143: 10143: 10143: 10143: typedef atomic atomic_bool; 10143: 10143: 10143: typedef atomic atomic_char; 10143: 10143: 10143: typedef atomic atomic_schar; 10143: 10143: 10143: typedef atomic atomic_uchar; 10143: 10143: 10143: typedef atomic atomic_short; 10143: 10143: 10143: typedef atomic atomic_ushort; 10143: 10143: 10143: typedef atomic atomic_int; 10143: 10143: 10143: typedef atomic atomic_uint; 10143: 10143: 10143: typedef atomic atomic_long; 10143: 10143: 10143: typedef atomic atomic_ulong; 10143: 10143: 10143: typedef atomic atomic_llong; 10143: 10143: 10143: typedef atomic atomic_ullong; 10143: 10143: 10143: typedef atomic atomic_wchar_t; 10143: 10143: 10143: typedef atomic atomic_char16_t; 10143: 10143: 10143: typedef atomic atomic_char32_t; 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef atomic atomic_int8_t; 10143: 10143: 10143: typedef atomic atomic_uint8_t; 10143: 10143: 10143: typedef atomic atomic_int16_t; 10143: 10143: 10143: typedef atomic atomic_uint16_t; 10143: 10143: 10143: typedef atomic atomic_int32_t; 10143: 10143: 10143: typedef atomic atomic_uint32_t; 10143: 10143: 10143: typedef atomic atomic_int64_t; 10143: 10143: 10143: typedef atomic atomic_uint64_t; 10143: 10143: 10143: 10143: typedef atomic atomic_int_least8_t; 10143: 10143: 10143: typedef atomic atomic_uint_least8_t; 10143: 10143: 10143: typedef atomic atomic_int_least16_t; 10143: 10143: 10143: typedef atomic atomic_uint_least16_t; 10143: 10143: 10143: typedef atomic atomic_int_least32_t; 10143: 10143: 10143: typedef atomic atomic_uint_least32_t; 10143: 10143: 10143: typedef atomic atomic_int_least64_t; 10143: 10143: 10143: typedef atomic atomic_uint_least64_t; 10143: 10143: 10143: 10143: typedef atomic atomic_int_fast8_t; 10143: 10143: 10143: typedef atomic atomic_uint_fast8_t; 10143: 10143: 10143: typedef atomic atomic_int_fast16_t; 10143: 10143: 10143: typedef atomic atomic_uint_fast16_t; 10143: 10143: 10143: typedef atomic atomic_int_fast32_t; 10143: 10143: 10143: typedef atomic atomic_uint_fast32_t; 10143: 10143: 10143: typedef atomic atomic_int_fast64_t; 10143: 10143: 10143: typedef atomic atomic_uint_fast64_t; 10143: 10143: 10143: 10143: 10143: typedef atomic atomic_intptr_t; 10143: 10143: 10143: typedef atomic atomic_uintptr_t; 10143: 10143: 10143: typedef atomic atomic_size_t; 10143: 10143: 10143: typedef atomic atomic_ptrdiff_t; 10143: 10143: 10143: 10143: typedef atomic atomic_intmax_t; 10143: 10143: 10143: typedef atomic atomic_uintmax_t; 10143: 10143: 10143: 10143: inline bool 10143: atomic_flag_test_and_set_explicit(atomic_flag* __a, 10143: memory_order __m) noexcept 10143: { return __a->test_and_set(__m); } 10143: 10143: inline bool 10143: atomic_flag_test_and_set_explicit(volatile atomic_flag* __a, 10143: memory_order __m) noexcept 10143: { return __a->test_and_set(__m); } 10143: 10143: inline void 10143: atomic_flag_clear_explicit(atomic_flag* __a, memory_order __m) noexcept 10143: { __a->clear(__m); } 10143: 10143: inline void 10143: atomic_flag_clear_explicit(volatile atomic_flag* __a, 10143: memory_order __m) noexcept 10143: { __a->clear(__m); } 10143: 10143: inline bool 10143: atomic_flag_test_and_set(atomic_flag* __a) noexcept 10143: { return atomic_flag_test_and_set_explicit(__a, memory_order_seq_cst); } 10143: 10143: inline bool 10143: atomic_flag_test_and_set(volatile atomic_flag* __a) noexcept 10143: { return atomic_flag_test_and_set_explicit(__a, memory_order_seq_cst); } 10143: 10143: inline void 10143: atomic_flag_clear(atomic_flag* __a) noexcept 10143: { atomic_flag_clear_explicit(__a, memory_order_seq_cst); } 10143: 10143: inline void 10143: atomic_flag_clear(volatile atomic_flag* __a) noexcept 10143: { atomic_flag_clear_explicit(__a, memory_order_seq_cst); } 10143: 10143: 10143: 10143: template 10143: inline bool 10143: atomic_is_lock_free(const atomic<_ITp>* __a) noexcept 10143: { return __a->is_lock_free(); } 10143: 10143: template 10143: inline bool 10143: atomic_is_lock_free(const volatile atomic<_ITp>* __a) noexcept 10143: { return __a->is_lock_free(); } 10143: 10143: template 10143: inline void 10143: atomic_init(atomic<_ITp>* __a, _ITp __i) noexcept 10143: { __a->store(__i, memory_order_relaxed); } 10143: 10143: template 10143: inline void 10143: atomic_init(volatile atomic<_ITp>* __a, _ITp __i) noexcept 10143: { __a->store(__i, memory_order_relaxed); } 10143: 10143: template 10143: inline void 10143: atomic_store_explicit(atomic<_ITp>* __a, _ITp __i, 10143: memory_order __m) noexcept 10143: { __a->store(__i, __m); } 10143: 10143: template 10143: inline void 10143: atomic_store_explicit(volatile atomic<_ITp>* __a, _ITp __i, 10143: memory_order __m) noexcept 10143: { __a->store(__i, __m); } 10143: 10143: template 10143: inline _ITp 10143: atomic_load_explicit(const atomic<_ITp>* __a, memory_order __m) noexcept 10143: { return __a->load(__m); } 10143: 10143: template 10143: inline _ITp 10143: atomic_load_explicit(const volatile atomic<_ITp>* __a, 10143: memory_order __m) noexcept 10143: { return __a->load(__m); } 10143: 10143: template 10143: inline _ITp 10143: atomic_exchange_explicit(atomic<_ITp>* __a, _ITp __i, 10143: memory_order __m) noexcept 10143: { return __a->exchange(__i, __m); } 10143: 10143: template 10143: inline _ITp 10143: atomic_exchange_explicit(volatile atomic<_ITp>* __a, _ITp __i, 10143: memory_order __m) noexcept 10143: { return __a->exchange(__i, __m); } 10143: 10143: template 10143: inline bool 10143: atomic_compare_exchange_weak_explicit(atomic<_ITp>* __a, 10143: _ITp* __i1, _ITp __i2, 10143: memory_order __m1, 10143: memory_order __m2) noexcept 10143: { return __a->compare_exchange_weak(*__i1, __i2, __m1, __m2); } 10143: 10143: template 10143: inline bool 10143: atomic_compare_exchange_weak_explicit(volatile atomic<_ITp>* __a, 10143: _ITp* __i1, _ITp __i2, 10143: memory_order __m1, 10143: memory_order __m2) noexcept 10143: { return __a->compare_exchange_weak(*__i1, __i2, __m1, __m2); } 10143: 10143: template 10143: inline bool 10143: atomic_compare_exchange_strong_explicit(atomic<_ITp>* __a, 10143: _ITp* __i1, _ITp __i2, 10143: memory_order __m1, 10143: memory_order __m2) noexcept 10143: { return __a->compare_exchange_strong(*__i1, __i2, __m1, __m2); } 10143: 10143: template 10143: inline bool 10143: atomic_compare_exchange_strong_explicit(volatile atomic<_ITp>* __a, 10143: _ITp* __i1, _ITp __i2, 10143: memory_order __m1, 10143: memory_order __m2) noexcept 10143: { return __a->compare_exchange_strong(*__i1, __i2, __m1, __m2); } 10143: 10143: 10143: template 10143: inline void 10143: atomic_store(atomic<_ITp>* __a, _ITp __i) noexcept 10143: { atomic_store_explicit(__a, __i, memory_order_seq_cst); } 10143: 10143: template 10143: inline void 10143: atomic_store(volatile atomic<_ITp>* __a, _ITp __i) noexcept 10143: { atomic_store_explicit(__a, __i, memory_order_seq_cst); } 10143: 10143: template 10143: inline _ITp 10143: atomic_load(const atomic<_ITp>* __a) noexcept 10143: { return atomic_load_explicit(__a, memory_order_seq_cst); } 10143: 10143: template 10143: inline _ITp 10143: atomic_load(const volatile atomic<_ITp>* __a) noexcept 10143: { return atomic_load_explicit(__a, memory_order_seq_cst); } 10143: 10143: template 10143: inline _ITp 10143: atomic_exchange(atomic<_ITp>* __a, _ITp __i) noexcept 10143: { return atomic_exchange_explicit(__a, __i, memory_order_seq_cst); } 10143: 10143: template 10143: inline _ITp 10143: atomic_exchange(volatile atomic<_ITp>* __a, _ITp __i) noexcept 10143: { return atomic_exchange_explicit(__a, __i, memory_order_seq_cst); } 10143: 10143: template 10143: inline bool 10143: atomic_compare_exchange_weak(atomic<_ITp>* __a, 10143: _ITp* __i1, _ITp __i2) noexcept 10143: { 10143: return atomic_compare_exchange_weak_explicit(__a, __i1, __i2, 10143: memory_order_seq_cst, 10143: memory_order_seq_cst); 10143: } 10143: 10143: template 10143: inline bool 10143: atomic_compare_exchange_weak(volatile atomic<_ITp>* __a, 10143: _ITp* __i1, _ITp __i2) noexcept 10143: { 10143: return atomic_compare_exchange_weak_explicit(__a, __i1, __i2, 10143: memory_order_seq_cst, 10143: memory_order_seq_cst); 10143: } 10143: 10143: template 10143: inline bool 10143: atomic_compare_exchange_strong(atomic<_ITp>* __a, 10143: _ITp* __i1, _ITp __i2) noexcept 10143: { 10143: return atomic_compare_exchange_strong_explicit(__a, __i1, __i2, 10143: memory_order_seq_cst, 10143: memory_order_seq_cst); 10143: } 10143: 10143: template 10143: inline bool 10143: atomic_compare_exchange_strong(volatile atomic<_ITp>* __a, 10143: _ITp* __i1, _ITp __i2) noexcept 10143: { 10143: return atomic_compare_exchange_strong_explicit(__a, __i1, __i2, 10143: memory_order_seq_cst, 10143: memory_order_seq_cst); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline _ITp 10143: atomic_fetch_add_explicit(__atomic_base<_ITp>* __a, _ITp __i, 10143: memory_order __m) noexcept 10143: { return __a->fetch_add(__i, __m); } 10143: 10143: template 10143: inline _ITp 10143: atomic_fetch_add_explicit(volatile __atomic_base<_ITp>* __a, _ITp __i, 10143: memory_order __m) noexcept 10143: { return __a->fetch_add(__i, __m); } 10143: 10143: template 10143: inline _ITp 10143: atomic_fetch_sub_explicit(__atomic_base<_ITp>* __a, _ITp __i, 10143: memory_order __m) noexcept 10143: { return __a->fetch_sub(__i, __m); } 10143: 10143: template 10143: inline _ITp 10143: atomic_fetch_sub_explicit(volatile __atomic_base<_ITp>* __a, _ITp __i, 10143: memory_order __m) noexcept 10143: { return __a->fetch_sub(__i, __m); } 10143: 10143: template 10143: inline _ITp 10143: atomic_fetch_and_explicit(__atomic_base<_ITp>* __a, _ITp __i, 10143: memory_order __m) noexcept 10143: { return __a->fetch_and(__i, __m); } 10143: 10143: template 10143: inline _ITp 10143: atomic_fetch_and_explicit(volatile __atomic_base<_ITp>* __a, _ITp __i, 10143: memory_order __m) noexcept 10143: { return __a->fetch_and(__i, __m); } 10143: 10143: template 10143: inline _ITp 10143: atomic_fetch_or_explicit(__atomic_base<_ITp>* __a, _ITp __i, 10143: memory_order __m) noexcept 10143: { return __a->fetch_or(__i, __m); } 10143: 10143: template 10143: inline _ITp 10143: atomic_fetch_or_explicit(volatile __atomic_base<_ITp>* __a, _ITp __i, 10143: memory_order __m) noexcept 10143: { return __a->fetch_or(__i, __m); } 10143: 10143: template 10143: inline _ITp 10143: atomic_fetch_xor_explicit(__atomic_base<_ITp>* __a, _ITp __i, 10143: memory_order __m) noexcept 10143: { return __a->fetch_xor(__i, __m); } 10143: 10143: template 10143: inline _ITp 10143: atomic_fetch_xor_explicit(volatile __atomic_base<_ITp>* __a, _ITp __i, 10143: memory_order __m) noexcept 10143: { return __a->fetch_xor(__i, __m); } 10143: 10143: template 10143: inline _ITp 10143: atomic_fetch_add(__atomic_base<_ITp>* __a, _ITp __i) noexcept 10143: { return atomic_fetch_add_explicit(__a, __i, memory_order_seq_cst); } 10143: 10143: template 10143: inline _ITp 10143: atomic_fetch_add(volatile __atomic_base<_ITp>* __a, _ITp __i) noexcept 10143: { return atomic_fetch_add_explicit(__a, __i, memory_order_seq_cst); } 10143: 10143: template 10143: inline _ITp 10143: atomic_fetch_sub(__atomic_base<_ITp>* __a, _ITp __i) noexcept 10143: { return atomic_fetch_sub_explicit(__a, __i, memory_order_seq_cst); } 10143: 10143: template 10143: inline _ITp 10143: atomic_fetch_sub(volatile __atomic_base<_ITp>* __a, _ITp __i) noexcept 10143: { return atomic_fetch_sub_explicit(__a, __i, memory_order_seq_cst); } 10143: 10143: template 10143: inline _ITp 10143: atomic_fetch_and(__atomic_base<_ITp>* __a, _ITp __i) noexcept 10143: { return atomic_fetch_and_explicit(__a, __i, memory_order_seq_cst); } 10143: 10143: template 10143: inline _ITp 10143: atomic_fetch_and(volatile __atomic_base<_ITp>* __a, _ITp __i) noexcept 10143: { return atomic_fetch_and_explicit(__a, __i, memory_order_seq_cst); } 10143: 10143: template 10143: inline _ITp 10143: atomic_fetch_or(__atomic_base<_ITp>* __a, _ITp __i) noexcept 10143: { return atomic_fetch_or_explicit(__a, __i, memory_order_seq_cst); } 10143: 10143: template 10143: inline _ITp 10143: atomic_fetch_or(volatile __atomic_base<_ITp>* __a, _ITp __i) noexcept 10143: { return atomic_fetch_or_explicit(__a, __i, memory_order_seq_cst); } 10143: 10143: template 10143: inline _ITp 10143: atomic_fetch_xor(__atomic_base<_ITp>* __a, _ITp __i) noexcept 10143: { return atomic_fetch_xor_explicit(__a, __i, memory_order_seq_cst); } 10143: 10143: template 10143: inline _ITp 10143: atomic_fetch_xor(volatile __atomic_base<_ITp>* __a, _ITp __i) noexcept 10143: { return atomic_fetch_xor_explicit(__a, __i, memory_order_seq_cst); } 10143: 10143: 10143: 10143: template 10143: inline _ITp* 10143: atomic_fetch_add_explicit(atomic<_ITp*>* __a, ptrdiff_t __d, 10143: memory_order __m) noexcept 10143: { return __a->fetch_add(__d, __m); } 10143: 10143: template 10143: inline _ITp* 10143: atomic_fetch_add_explicit(volatile atomic<_ITp*>* __a, ptrdiff_t __d, 10143: memory_order __m) noexcept 10143: { return __a->fetch_add(__d, __m); } 10143: 10143: template 10143: inline _ITp* 10143: atomic_fetch_add(volatile atomic<_ITp*>* __a, ptrdiff_t __d) noexcept 10143: { return __a->fetch_add(__d); } 10143: 10143: template 10143: inline _ITp* 10143: atomic_fetch_add(atomic<_ITp*>* __a, ptrdiff_t __d) noexcept 10143: { return __a->fetch_add(__d); } 10143: 10143: template 10143: inline _ITp* 10143: atomic_fetch_sub_explicit(volatile atomic<_ITp*>* __a, 10143: ptrdiff_t __d, memory_order __m) noexcept 10143: { return __a->fetch_sub(__d, __m); } 10143: 10143: template 10143: inline _ITp* 10143: atomic_fetch_sub_explicit(atomic<_ITp*>* __a, ptrdiff_t __d, 10143: memory_order __m) noexcept 10143: { return __a->fetch_sub(__d, __m); } 10143: 10143: template 10143: inline _ITp* 10143: atomic_fetch_sub(volatile atomic<_ITp*>* __a, ptrdiff_t __d) noexcept 10143: { return __a->fetch_sub(__d); } 10143: 10143: template 10143: inline _ITp* 10143: atomic_fetch_sub(atomic<_ITp*>* __a, ptrdiff_t __d) noexcept 10143: { return __a->fetch_sub(__d); } 10143: 10143: 10143: 10143: } 10143: # 46 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic_cxx11.h" 2 3 4 10143: 10143: 10143: # 75 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic_cxx11.h" 3 4 10143: template struct QAtomicTraits 10143: { static constexpr inline bool isLockFree(); }; 10143: # 89 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic_cxx11.h" 3 4 10143: template <> constexpr inline bool QAtomicTraits<4>::isLockFree() 10143: { return true; } 10143: # 134 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic_cxx11.h" 3 4 10143: template<> struct QAtomicOpsSupport<1> { enum { IsSupported = 1 }; }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template <> constexpr inline bool QAtomicTraits<1>::isLockFree() 10143: { return true; } 10143: # 162 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic_cxx11.h" 3 4 10143: template<> struct QAtomicOpsSupport<2> { enum { IsSupported = 1 }; }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template <> constexpr inline bool QAtomicTraits<2>::isLockFree() 10143: { return false; } 10143: # 191 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic_cxx11.h" 3 4 10143: template<> struct QAtomicOpsSupport<8> { enum { IsSupported = 1 }; }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template <> constexpr inline bool QAtomicTraits<8>::isLockFree() 10143: { return true; } 10143: # 220 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic_cxx11.h" 3 4 10143: template struct QAtomicOps 10143: { 10143: typedef std::atomic Type; 10143: 10143: template static inline 10143: T load(const std::atomic &_q_value) noexcept 10143: { 10143: return _q_value.load(std::memory_order_relaxed); 10143: } 10143: 10143: template static inline 10143: T load(const volatile std::atomic &_q_value) noexcept 10143: { 10143: return _q_value.load(std::memory_order_relaxed); 10143: } 10143: 10143: template static inline 10143: T loadAcquire(const std::atomic &_q_value) noexcept 10143: { 10143: return _q_value.load(std::memory_order_acquire); 10143: } 10143: 10143: template static inline 10143: T loadAcquire(const volatile std::atomic &_q_value) noexcept 10143: { 10143: return _q_value.load(std::memory_order_acquire); 10143: } 10143: 10143: template static inline 10143: void store(std::atomic &_q_value, T newValue) noexcept 10143: { 10143: _q_value.store(newValue, std::memory_order_relaxed); 10143: } 10143: 10143: template static inline 10143: void storeRelease(std::atomic &_q_value, T newValue) noexcept 10143: { 10143: _q_value.store(newValue, std::memory_order_release); 10143: } 10143: 10143: static inline constexpr bool isReferenceCountingNative() noexcept { return isTestAndSetNative(); } 10143: static inline constexpr bool isReferenceCountingWaitFree() noexcept { return false; } 10143: template 10143: static inline bool ref(std::atomic &_q_value) 10143: { 10143: return ++_q_value != 0; 10143: } 10143: 10143: template 10143: static inline bool deref(std::atomic &_q_value) noexcept 10143: { 10143: return --_q_value != 0; 10143: } 10143: 10143: static inline constexpr bool isTestAndSetNative() noexcept 10143: { return QAtomicTraits::isLockFree(); } 10143: static inline constexpr bool isTestAndSetWaitFree() noexcept { return false; } 10143: 10143: template 10143: static bool testAndSetRelaxed(std::atomic &_q_value, T expectedValue, T newValue, T *currentValue = nullptr) noexcept 10143: { 10143: bool tmp = _q_value.compare_exchange_strong(expectedValue, newValue, std::memory_order_relaxed, std::memory_order_relaxed); 10143: if (currentValue) 10143: *currentValue = expectedValue; 10143: return tmp; 10143: } 10143: 10143: template 10143: static bool testAndSetAcquire(std::atomic &_q_value, T expectedValue, T newValue, T *currentValue = nullptr) noexcept 10143: { 10143: bool tmp = _q_value.compare_exchange_strong(expectedValue, newValue, std::memory_order_acquire, std::memory_order_acquire); 10143: if (currentValue) 10143: *currentValue = expectedValue; 10143: return tmp; 10143: } 10143: 10143: template 10143: static bool testAndSetRelease(std::atomic &_q_value, T expectedValue, T newValue, T *currentValue = nullptr) noexcept 10143: { 10143: bool tmp = _q_value.compare_exchange_strong(expectedValue, newValue, std::memory_order_release, std::memory_order_relaxed); 10143: if (currentValue) 10143: *currentValue = expectedValue; 10143: return tmp; 10143: } 10143: 10143: template 10143: static bool testAndSetOrdered(std::atomic &_q_value, T expectedValue, T newValue, T *currentValue = nullptr) noexcept 10143: { 10143: bool tmp = _q_value.compare_exchange_strong(expectedValue, newValue, std::memory_order_acq_rel, std::memory_order_acquire); 10143: if (currentValue) 10143: *currentValue = expectedValue; 10143: return tmp; 10143: } 10143: 10143: static inline constexpr bool isFetchAndStoreNative() noexcept { return isTestAndSetNative(); } 10143: static inline constexpr bool isFetchAndStoreWaitFree() noexcept { return false; } 10143: 10143: template 10143: static T fetchAndStoreRelaxed(std::atomic &_q_value, T newValue) noexcept 10143: { 10143: return _q_value.exchange(newValue, std::memory_order_relaxed); 10143: } 10143: 10143: template 10143: static T fetchAndStoreAcquire(std::atomic &_q_value, T newValue) noexcept 10143: { 10143: return _q_value.exchange(newValue, std::memory_order_acquire); 10143: } 10143: 10143: template 10143: static T fetchAndStoreRelease(std::atomic &_q_value, T newValue) noexcept 10143: { 10143: return _q_value.exchange(newValue, std::memory_order_release); 10143: } 10143: 10143: template 10143: static T fetchAndStoreOrdered(std::atomic &_q_value, T newValue) noexcept 10143: { 10143: return _q_value.exchange(newValue, std::memory_order_acq_rel); 10143: } 10143: 10143: static inline constexpr bool isFetchAndAddNative() noexcept { return isTestAndSetNative(); } 10143: static inline constexpr bool isFetchAndAddWaitFree() noexcept { return false; } 10143: 10143: template static inline 10143: T fetchAndAddRelaxed(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: return _q_value.fetch_add(valueToAdd, std::memory_order_relaxed); 10143: } 10143: 10143: template static inline 10143: T fetchAndAddAcquire(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: return _q_value.fetch_add(valueToAdd, std::memory_order_acquire); 10143: } 10143: 10143: template static inline 10143: T fetchAndAddRelease(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: return _q_value.fetch_add(valueToAdd, std::memory_order_release); 10143: } 10143: 10143: template static inline 10143: T fetchAndAddOrdered(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: return _q_value.fetch_add(valueToAdd, std::memory_order_acq_rel); 10143: } 10143: 10143: template static inline 10143: T fetchAndSubRelaxed(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: return _q_value.fetch_sub(valueToAdd, std::memory_order_relaxed); 10143: } 10143: 10143: template static inline 10143: T fetchAndSubAcquire(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: return _q_value.fetch_sub(valueToAdd, std::memory_order_acquire); 10143: } 10143: 10143: template static inline 10143: T fetchAndSubRelease(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: return _q_value.fetch_sub(valueToAdd, std::memory_order_release); 10143: } 10143: 10143: template static inline 10143: T fetchAndSubOrdered(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: return _q_value.fetch_sub(valueToAdd, std::memory_order_acq_rel); 10143: } 10143: 10143: template static inline 10143: T fetchAndAndRelaxed(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: return _q_value.fetch_and(valueToAdd, std::memory_order_relaxed); 10143: } 10143: 10143: template static inline 10143: T fetchAndAndAcquire(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: return _q_value.fetch_and(valueToAdd, std::memory_order_acquire); 10143: } 10143: 10143: template static inline 10143: T fetchAndAndRelease(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: return _q_value.fetch_and(valueToAdd, std::memory_order_release); 10143: } 10143: 10143: template static inline 10143: T fetchAndAndOrdered(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: return _q_value.fetch_and(valueToAdd, std::memory_order_acq_rel); 10143: } 10143: 10143: template static inline 10143: T fetchAndOrRelaxed(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: return _q_value.fetch_or(valueToAdd, std::memory_order_relaxed); 10143: } 10143: 10143: template static inline 10143: T fetchAndOrAcquire(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: return _q_value.fetch_or(valueToAdd, std::memory_order_acquire); 10143: } 10143: 10143: template static inline 10143: T fetchAndOrRelease(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: return _q_value.fetch_or(valueToAdd, std::memory_order_release); 10143: } 10143: 10143: template static inline 10143: T fetchAndOrOrdered(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: return _q_value.fetch_or(valueToAdd, std::memory_order_acq_rel); 10143: } 10143: 10143: template static inline 10143: T fetchAndXorRelaxed(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: return _q_value.fetch_xor(valueToAdd, std::memory_order_relaxed); 10143: } 10143: 10143: template static inline 10143: T fetchAndXorAcquire(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: return _q_value.fetch_xor(valueToAdd, std::memory_order_acquire); 10143: } 10143: 10143: template static inline 10143: T fetchAndXorRelease(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: return _q_value.fetch_xor(valueToAdd, std::memory_order_release); 10143: } 10143: 10143: template static inline 10143: T fetchAndXorOrdered(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 10143: { 10143: return _q_value.fetch_xor(valueToAdd, std::memory_order_acq_rel); 10143: } 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: # 54 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbasicatomic.h" 2 3 4 10143: # 64 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbasicatomic.h" 3 4 10143: 10143: # 64 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbasicatomic.h" 3 4 10143: #pragma GCC diagnostic push 10143: # 64 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbasicatomic.h" 3 4 10143: 10143: 10143: 10143: 10143: # 89 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbasicatomic.h" 3 4 10143: template 10143: class QBasicAtomicInteger 10143: { 10143: public: 10143: typedef QAtomicOps Ops; 10143: 10143: static_assert(bool(QTypeInfo::isIntegral), "template parameter is not an integral type"); 10143: static_assert(bool(QAtomicOpsSupport::IsSupported), "template parameter is an integral of a size not supported on this platform"); 10143: 10143: typename Ops::Type _q_value; 10143: 10143: 10143: 10143: T load() const noexcept { return Ops::load(_q_value); } 10143: void store(T newValue) noexcept { Ops::store(_q_value, newValue); } 10143: 10143: T loadAcquire() const noexcept { return Ops::loadAcquire(_q_value); } 10143: void storeRelease(T newValue) noexcept { Ops::storeRelease(_q_value, newValue); } 10143: operator T() const noexcept { return loadAcquire(); } 10143: T operator=(T newValue) noexcept { storeRelease(newValue); return newValue; } 10143: 10143: static constexpr bool isReferenceCountingNative() noexcept { return Ops::isReferenceCountingNative(); } 10143: static constexpr bool isReferenceCountingWaitFree() noexcept { return Ops::isReferenceCountingWaitFree(); } 10143: 10143: bool ref() noexcept { return Ops::ref(_q_value); } 10143: bool deref() noexcept { return Ops::deref(_q_value); } 10143: 10143: static constexpr bool isTestAndSetNative() noexcept { return Ops::isTestAndSetNative(); } 10143: static constexpr bool isTestAndSetWaitFree() noexcept { return Ops::isTestAndSetWaitFree(); } 10143: 10143: bool testAndSetRelaxed(T expectedValue, T newValue) noexcept 10143: { return Ops::testAndSetRelaxed(_q_value, expectedValue, newValue); } 10143: bool testAndSetAcquire(T expectedValue, T newValue) noexcept 10143: { return Ops::testAndSetAcquire(_q_value, expectedValue, newValue); } 10143: bool testAndSetRelease(T expectedValue, T newValue) noexcept 10143: { return Ops::testAndSetRelease(_q_value, expectedValue, newValue); } 10143: bool testAndSetOrdered(T expectedValue, T newValue) noexcept 10143: { return Ops::testAndSetOrdered(_q_value, expectedValue, newValue); } 10143: 10143: bool testAndSetRelaxed(T expectedValue, T newValue, T ¤tValue) noexcept 10143: { return Ops::testAndSetRelaxed(_q_value, expectedValue, newValue, ¤tValue); } 10143: bool testAndSetAcquire(T expectedValue, T newValue, T ¤tValue) noexcept 10143: { return Ops::testAndSetAcquire(_q_value, expectedValue, newValue, ¤tValue); } 10143: bool testAndSetRelease(T expectedValue, T newValue, T ¤tValue) noexcept 10143: { return Ops::testAndSetRelease(_q_value, expectedValue, newValue, ¤tValue); } 10143: bool testAndSetOrdered(T expectedValue, T newValue, T ¤tValue) noexcept 10143: { return Ops::testAndSetOrdered(_q_value, expectedValue, newValue, ¤tValue); } 10143: 10143: static constexpr bool isFetchAndStoreNative() noexcept { return Ops::isFetchAndStoreNative(); } 10143: static constexpr bool isFetchAndStoreWaitFree() noexcept { return Ops::isFetchAndStoreWaitFree(); } 10143: 10143: T fetchAndStoreRelaxed(T newValue) noexcept 10143: { return Ops::fetchAndStoreRelaxed(_q_value, newValue); } 10143: T fetchAndStoreAcquire(T newValue) noexcept 10143: { return Ops::fetchAndStoreAcquire(_q_value, newValue); } 10143: T fetchAndStoreRelease(T newValue) noexcept 10143: { return Ops::fetchAndStoreRelease(_q_value, newValue); } 10143: T fetchAndStoreOrdered(T newValue) noexcept 10143: { return Ops::fetchAndStoreOrdered(_q_value, newValue); } 10143: 10143: static constexpr bool isFetchAndAddNative() noexcept { return Ops::isFetchAndAddNative(); } 10143: static constexpr bool isFetchAndAddWaitFree() noexcept { return Ops::isFetchAndAddWaitFree(); } 10143: 10143: T fetchAndAddRelaxed(T valueToAdd) noexcept 10143: { return Ops::fetchAndAddRelaxed(_q_value, valueToAdd); } 10143: T fetchAndAddAcquire(T valueToAdd) noexcept 10143: { return Ops::fetchAndAddAcquire(_q_value, valueToAdd); } 10143: T fetchAndAddRelease(T valueToAdd) noexcept 10143: { return Ops::fetchAndAddRelease(_q_value, valueToAdd); } 10143: T fetchAndAddOrdered(T valueToAdd) noexcept 10143: { return Ops::fetchAndAddOrdered(_q_value, valueToAdd); } 10143: 10143: T fetchAndSubRelaxed(T valueToAdd) noexcept 10143: { return Ops::fetchAndSubRelaxed(_q_value, valueToAdd); } 10143: T fetchAndSubAcquire(T valueToAdd) noexcept 10143: { return Ops::fetchAndSubAcquire(_q_value, valueToAdd); } 10143: T fetchAndSubRelease(T valueToAdd) noexcept 10143: { return Ops::fetchAndSubRelease(_q_value, valueToAdd); } 10143: T fetchAndSubOrdered(T valueToAdd) noexcept 10143: { return Ops::fetchAndSubOrdered(_q_value, valueToAdd); } 10143: 10143: T fetchAndAndRelaxed(T valueToAdd) noexcept 10143: { return Ops::fetchAndAndRelaxed(_q_value, valueToAdd); } 10143: T fetchAndAndAcquire(T valueToAdd) noexcept 10143: { return Ops::fetchAndAndAcquire(_q_value, valueToAdd); } 10143: T fetchAndAndRelease(T valueToAdd) noexcept 10143: { return Ops::fetchAndAndRelease(_q_value, valueToAdd); } 10143: T fetchAndAndOrdered(T valueToAdd) noexcept 10143: { return Ops::fetchAndAndOrdered(_q_value, valueToAdd); } 10143: 10143: T fetchAndOrRelaxed(T valueToAdd) noexcept 10143: { return Ops::fetchAndOrRelaxed(_q_value, valueToAdd); } 10143: T fetchAndOrAcquire(T valueToAdd) noexcept 10143: { return Ops::fetchAndOrAcquire(_q_value, valueToAdd); } 10143: T fetchAndOrRelease(T valueToAdd) noexcept 10143: { return Ops::fetchAndOrRelease(_q_value, valueToAdd); } 10143: T fetchAndOrOrdered(T valueToAdd) noexcept 10143: { return Ops::fetchAndOrOrdered(_q_value, valueToAdd); } 10143: 10143: T fetchAndXorRelaxed(T valueToAdd) noexcept 10143: { return Ops::fetchAndXorRelaxed(_q_value, valueToAdd); } 10143: T fetchAndXorAcquire(T valueToAdd) noexcept 10143: { return Ops::fetchAndXorAcquire(_q_value, valueToAdd); } 10143: T fetchAndXorRelease(T valueToAdd) noexcept 10143: { return Ops::fetchAndXorRelease(_q_value, valueToAdd); } 10143: T fetchAndXorOrdered(T valueToAdd) noexcept 10143: { return Ops::fetchAndXorOrdered(_q_value, valueToAdd); } 10143: 10143: T operator++() noexcept 10143: { return fetchAndAddOrdered(1) + 1; } 10143: T operator++(int) noexcept 10143: { return fetchAndAddOrdered(1); } 10143: T operator--() noexcept 10143: { return fetchAndSubOrdered(1) - 1; } 10143: T operator--(int) noexcept 10143: { return fetchAndSubOrdered(1); } 10143: 10143: T operator+=(T v) noexcept 10143: { return fetchAndAddOrdered(v) + v; } 10143: T operator-=(T v) noexcept 10143: { return fetchAndSubOrdered(v) - v; } 10143: T operator&=(T v) noexcept 10143: { return fetchAndAndOrdered(v) & v; } 10143: T operator|=(T v) noexcept 10143: { return fetchAndOrOrdered(v) | v; } 10143: T operator^=(T v) noexcept 10143: { return fetchAndXorOrdered(v) ^ v; } 10143: 10143: 10143: 10143: QBasicAtomicInteger() = default; 10143: constexpr QBasicAtomicInteger(T value) noexcept : _q_value(value) {} 10143: QBasicAtomicInteger(const QBasicAtomicInteger &) = delete; 10143: QBasicAtomicInteger &operator=(const QBasicAtomicInteger &) = delete; 10143: QBasicAtomicInteger &operator=(const QBasicAtomicInteger &) volatile = delete; 10143: 10143: }; 10143: typedef QBasicAtomicInteger QBasicAtomicInt; 10143: 10143: template 10143: class QBasicAtomicPointer 10143: { 10143: public: 10143: typedef X *Type; 10143: typedef QAtomicOps Ops; 10143: typedef typename Ops::Type AtomicType; 10143: 10143: AtomicType _q_value; 10143: 10143: Type load() const noexcept { return Ops::load(_q_value); } 10143: void store(Type newValue) noexcept { Ops::store(_q_value, newValue); } 10143: operator Type() const noexcept { return loadAcquire(); } 10143: Type operator=(Type newValue) noexcept { storeRelease(newValue); return newValue; } 10143: 10143: 10143: Type loadAcquire() const noexcept { return Ops::loadAcquire(_q_value); } 10143: void storeRelease(Type newValue) noexcept { Ops::storeRelease(_q_value, newValue); } 10143: 10143: static constexpr bool isTestAndSetNative() noexcept { return Ops::isTestAndSetNative(); } 10143: static constexpr bool isTestAndSetWaitFree() noexcept { return Ops::isTestAndSetWaitFree(); } 10143: 10143: bool testAndSetRelaxed(Type expectedValue, Type newValue) noexcept 10143: { return Ops::testAndSetRelaxed(_q_value, expectedValue, newValue); } 10143: bool testAndSetAcquire(Type expectedValue, Type newValue) noexcept 10143: { return Ops::testAndSetAcquire(_q_value, expectedValue, newValue); } 10143: bool testAndSetRelease(Type expectedValue, Type newValue) noexcept 10143: { return Ops::testAndSetRelease(_q_value, expectedValue, newValue); } 10143: bool testAndSetOrdered(Type expectedValue, Type newValue) noexcept 10143: { return Ops::testAndSetOrdered(_q_value, expectedValue, newValue); } 10143: 10143: bool testAndSetRelaxed(Type expectedValue, Type newValue, Type ¤tValue) noexcept 10143: { return Ops::testAndSetRelaxed(_q_value, expectedValue, newValue, ¤tValue); } 10143: bool testAndSetAcquire(Type expectedValue, Type newValue, Type ¤tValue) noexcept 10143: { return Ops::testAndSetAcquire(_q_value, expectedValue, newValue, ¤tValue); } 10143: bool testAndSetRelease(Type expectedValue, Type newValue, Type ¤tValue) noexcept 10143: { return Ops::testAndSetRelease(_q_value, expectedValue, newValue, ¤tValue); } 10143: bool testAndSetOrdered(Type expectedValue, Type newValue, Type ¤tValue) noexcept 10143: { return Ops::testAndSetOrdered(_q_value, expectedValue, newValue, ¤tValue); } 10143: 10143: static constexpr bool isFetchAndStoreNative() noexcept { return Ops::isFetchAndStoreNative(); } 10143: static constexpr bool isFetchAndStoreWaitFree() noexcept { return Ops::isFetchAndStoreWaitFree(); } 10143: 10143: Type fetchAndStoreRelaxed(Type newValue) noexcept 10143: { return Ops::fetchAndStoreRelaxed(_q_value, newValue); } 10143: Type fetchAndStoreAcquire(Type newValue) noexcept 10143: { return Ops::fetchAndStoreAcquire(_q_value, newValue); } 10143: Type fetchAndStoreRelease(Type newValue) noexcept 10143: { return Ops::fetchAndStoreRelease(_q_value, newValue); } 10143: Type fetchAndStoreOrdered(Type newValue) noexcept 10143: { return Ops::fetchAndStoreOrdered(_q_value, newValue); } 10143: 10143: static constexpr bool isFetchAndAddNative() noexcept { return Ops::isFetchAndAddNative(); } 10143: static constexpr bool isFetchAndAddWaitFree() noexcept { return Ops::isFetchAndAddWaitFree(); } 10143: 10143: Type fetchAndAddRelaxed(qptrdiff valueToAdd) noexcept 10143: { return Ops::fetchAndAddRelaxed(_q_value, valueToAdd); } 10143: Type fetchAndAddAcquire(qptrdiff valueToAdd) noexcept 10143: { return Ops::fetchAndAddAcquire(_q_value, valueToAdd); } 10143: Type fetchAndAddRelease(qptrdiff valueToAdd) noexcept 10143: { return Ops::fetchAndAddRelease(_q_value, valueToAdd); } 10143: Type fetchAndAddOrdered(qptrdiff valueToAdd) noexcept 10143: { return Ops::fetchAndAddOrdered(_q_value, valueToAdd); } 10143: 10143: Type fetchAndSubRelaxed(qptrdiff valueToAdd) noexcept 10143: { return Ops::fetchAndSubRelaxed(_q_value, valueToAdd); } 10143: Type fetchAndSubAcquire(qptrdiff valueToAdd) noexcept 10143: { return Ops::fetchAndSubAcquire(_q_value, valueToAdd); } 10143: Type fetchAndSubRelease(qptrdiff valueToAdd) noexcept 10143: { return Ops::fetchAndSubRelease(_q_value, valueToAdd); } 10143: Type fetchAndSubOrdered(qptrdiff valueToAdd) noexcept 10143: { return Ops::fetchAndSubOrdered(_q_value, valueToAdd); } 10143: 10143: Type operator++() noexcept 10143: { return fetchAndAddOrdered(1) + 1; } 10143: Type operator++(int) noexcept 10143: { return fetchAndAddOrdered(1); } 10143: Type operator--() noexcept 10143: { return fetchAndSubOrdered(1) - 1; } 10143: Type operator--(int) noexcept 10143: { return fetchAndSubOrdered(1); } 10143: Type operator+=(qptrdiff valueToAdd) noexcept 10143: { return fetchAndAddOrdered(valueToAdd) + valueToAdd; } 10143: Type operator-=(qptrdiff valueToSub) noexcept 10143: { return fetchAndSubOrdered(valueToSub) - valueToSub; } 10143: 10143: 10143: QBasicAtomicPointer() = default; 10143: constexpr QBasicAtomicPointer(Type value) noexcept : _q_value(value) {} 10143: QBasicAtomicPointer(const QBasicAtomicPointer &) = delete; 10143: QBasicAtomicPointer &operator=(const QBasicAtomicPointer &) = delete; 10143: QBasicAtomicPointer &operator=(const QBasicAtomicPointer &) volatile = delete; 10143: 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: # 329 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbasicatomic.h" 3 4 10143: #pragma GCC diagnostic pop 10143: # 329 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbasicatomic.h" 3 4 10143: 10143: # 47 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 2 3 4 10143: 10143: 10143: 10143: 10143: # 50 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 3 4 10143: #pragma GCC diagnostic push 10143: # 50 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 3 4 10143: 10143: 10143: # 51 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 3 4 10143: #pragma GCC diagnostic ignored "-Wextra" 10143: # 51 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 3 4 10143: 10143: 10143: 10143: template 10143: class QAtomicInteger : public QBasicAtomicInteger 10143: { 10143: public: 10143: 10143: 10143: constexpr QAtomicInteger(T value = 0) noexcept : QBasicAtomicInteger(value) {} 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: inline QAtomicInteger(const QAtomicInteger &other) noexcept 10143: 10143: : QBasicAtomicInteger() 10143: 10143: { 10143: this->storeRelease(other.loadAcquire()); 10143: } 10143: 10143: inline QAtomicInteger &operator=(const QAtomicInteger &other) noexcept 10143: { 10143: this->storeRelease(other.loadAcquire()); 10143: return *this; 10143: } 10143: # 151 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 3 4 10143: }; 10143: 10143: class QAtomicInt : public QAtomicInteger 10143: { 10143: public: 10143: 10143: 10143: 10143: 10143: constexpr 10143: 10143: QAtomicInt(int value = 0) noexcept : QAtomicInteger(value) {} 10143: }; 10143: 10143: 10143: template 10143: class QAtomicPointer : public QBasicAtomicPointer 10143: { 10143: public: 10143: 10143: constexpr QAtomicPointer(T *value = 0) noexcept : QBasicAtomicPointer(value) {} 10143: 10143: 10143: 10143: 10143: 10143: 10143: inline QAtomicPointer(const QAtomicPointer &other) noexcept 10143: 10143: : QBasicAtomicPointer() 10143: 10143: { 10143: this->storeRelease(other.loadAcquire()); 10143: } 10143: 10143: inline QAtomicPointer &operator=(const QAtomicPointer &other) noexcept 10143: { 10143: this->storeRelease(other.loadAcquire()); 10143: return *this; 10143: } 10143: # 222 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 3 4 10143: }; 10143: 10143: 10143: # 224 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 3 4 10143: #pragma GCC diagnostic pop 10143: # 224 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 3 4 10143: 10143: # 236 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 3 4 10143: template 10143: inline void qAtomicAssign(T *&d, T *x) 10143: { 10143: if (d == x) 10143: return; 10143: x->ref.ref(); 10143: if (!d->ref.deref()) 10143: delete d; 10143: d = x; 10143: } 10143: # 255 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 3 4 10143: template 10143: inline void qAtomicDetach(T *&d) 10143: { 10143: if (d->ref.load() == 1) 10143: return; 10143: T *x = d; 10143: d = new T(*d); 10143: if (!x->ref.deref()) 10143: delete x; 10143: } 10143: 10143: 10143: # 1159 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobalstatic.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobalstatic.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 10143: # 46 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobalstatic.h" 2 3 4 10143: 10143: 10143: 10143: namespace QtGlobalStatic { 10143: enum GuardValues { 10143: Destroyed = -2, 10143: Initialized = -1, 10143: Uninitialized = 0, 10143: Initializing = 1 10143: }; 10143: } 10143: # 127 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobalstatic.h" 3 4 10143: template 10143: struct QGlobalStatic 10143: { 10143: typedef T Type; 10143: 10143: bool isDestroyed() const { return guard.load() <= QtGlobalStatic::Destroyed; } 10143: bool exists() const { return guard.load() == QtGlobalStatic::Initialized; } 10143: operator Type *() { if (isDestroyed()) return 0; return innerFunction(); } 10143: Type *operator()() { if (isDestroyed()) return 0; return innerFunction(); } 10143: Type *operator->() 10143: { 10143: do { } while ((false) && (!isDestroyed())); 10143: return innerFunction(); 10143: } 10143: Type &operator*() 10143: { 10143: do { } while ((false) && (!isDestroyed())); 10143: return *innerFunction(); 10143: } 10143: }; 10143: # 161 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobalstatic.h" 3 4 10143: 10143: # 1160 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qnumeric.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qnumeric.h" 3 4 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) bool qIsInf(double d); 10143: __attribute__((visibility("default"))) bool qIsNaN(double d); 10143: __attribute__((visibility("default"))) bool qIsFinite(double d); 10143: __attribute__((visibility("default"))) bool qIsInf(float f); 10143: __attribute__((visibility("default"))) bool qIsNaN(float f); 10143: __attribute__((visibility("default"))) bool qIsFinite(float f); 10143: __attribute__((visibility("default"))) double qSNaN(); 10143: __attribute__((visibility("default"))) double qQNaN(); 10143: __attribute__((visibility("default"))) double qInf(); 10143: 10143: __attribute__((visibility("default"))) quint32 qFloatDistance(float a, float b); 10143: __attribute__((visibility("default"))) quint64 qFloatDistance(double a, double b); 10143: 10143: 10143: 10143: 10143: 10143: 10143: # 1161 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qversiontagging.h" 1 3 4 10143: # 46 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qversiontagging.h" 3 4 10143: 10143: # 88 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qversiontagging.h" 3 4 10143: 10143: # 1162 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qnamespace.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: struct QMetaObject; 10143: const QMetaObject *qt_getQtMetaObject() noexcept; 10143: # 64 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qnamespace.h" 3 4 10143: namespace 10143: 10143: 10143: 10143: Qt { 10143: 10143: 10143: 10143: 10143: 10143: 10143: enum GlobalColor { 10143: color0, 10143: color1, 10143: black, 10143: white, 10143: darkGray, 10143: gray, 10143: lightGray, 10143: red, 10143: green, 10143: blue, 10143: cyan, 10143: magenta, 10143: yellow, 10143: darkRed, 10143: darkGreen, 10143: darkBlue, 10143: darkCyan, 10143: darkMagenta, 10143: darkYellow, 10143: transparent 10143: }; 10143: 10143: enum KeyboardModifier { 10143: NoModifier = 0x00000000, 10143: ShiftModifier = 0x02000000, 10143: ControlModifier = 0x04000000, 10143: AltModifier = 0x08000000, 10143: MetaModifier = 0x10000000, 10143: KeypadModifier = 0x20000000, 10143: GroupSwitchModifier = 0x40000000, 10143: 10143: KeyboardModifierMask = 0xfe000000 10143: }; 10143: typedef QFlags KeyboardModifiers; 10143: 10143: 10143: 10143: 10143: 10143: 10143: enum Modifier { 10143: META = Qt::MetaModifier, 10143: SHIFT = Qt::ShiftModifier, 10143: CTRL = Qt::ControlModifier, 10143: ALT = Qt::AltModifier, 10143: MODIFIER_MASK = KeyboardModifierMask, 10143: UNICODE_ACCEL = 0x00000000 10143: }; 10143: 10143: enum MouseButton { 10143: NoButton = 0x00000000, 10143: LeftButton = 0x00000001, 10143: RightButton = 0x00000002, 10143: MidButton = 0x00000004, 10143: MiddleButton = MidButton, 10143: BackButton = 0x00000008, 10143: XButton1 = BackButton, 10143: ExtraButton1 = XButton1, 10143: ForwardButton = 0x00000010, 10143: XButton2 = ForwardButton, 10143: ExtraButton2 = ForwardButton, 10143: TaskButton = 0x00000020, 10143: ExtraButton3 = TaskButton, 10143: ExtraButton4 = 0x00000040, 10143: ExtraButton5 = 0x00000080, 10143: ExtraButton6 = 0x00000100, 10143: ExtraButton7 = 0x00000200, 10143: ExtraButton8 = 0x00000400, 10143: ExtraButton9 = 0x00000800, 10143: ExtraButton10 = 0x00001000, 10143: ExtraButton11 = 0x00002000, 10143: ExtraButton12 = 0x00004000, 10143: ExtraButton13 = 0x00008000, 10143: ExtraButton14 = 0x00010000, 10143: ExtraButton15 = 0x00020000, 10143: ExtraButton16 = 0x00040000, 10143: ExtraButton17 = 0x00080000, 10143: ExtraButton18 = 0x00100000, 10143: ExtraButton19 = 0x00200000, 10143: ExtraButton20 = 0x00400000, 10143: ExtraButton21 = 0x00800000, 10143: ExtraButton22 = 0x01000000, 10143: ExtraButton23 = 0x02000000, 10143: ExtraButton24 = 0x04000000, 10143: AllButtons = 0x07ffffff, 10143: MaxMouseButton = ExtraButton24, 10143: 10143: MouseButtonMask = 0xffffffff 10143: }; 10143: typedef QFlags MouseButtons; 10143: 10143: enum Orientation { 10143: Horizontal = 0x1, 10143: Vertical = 0x2 10143: }; 10143: 10143: typedef QFlags Orientations; 10143: 10143: enum FocusPolicy { 10143: NoFocus = 0, 10143: TabFocus = 0x1, 10143: ClickFocus = 0x2, 10143: StrongFocus = TabFocus | ClickFocus | 0x8, 10143: WheelFocus = StrongFocus | 0x4 10143: }; 10143: 10143: enum TabFocusBehavior { 10143: NoTabFocus = 0x00, 10143: TabFocusTextControls = 0x01, 10143: TabFocusListControls = 0x02, 10143: TabFocusAllControls = 0xff 10143: }; 10143: 10143: enum SortOrder { 10143: AscendingOrder, 10143: DescendingOrder 10143: }; 10143: 10143: enum TileRule { 10143: StretchTile, 10143: RepeatTile, 10143: RoundTile 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: enum AlignmentFlag { 10143: AlignLeft = 0x0001, 10143: AlignLeading = AlignLeft, 10143: AlignRight = 0x0002, 10143: AlignTrailing = AlignRight, 10143: AlignHCenter = 0x0004, 10143: AlignJustify = 0x0008, 10143: AlignAbsolute = 0x0010, 10143: AlignHorizontal_Mask = AlignLeft | AlignRight | AlignHCenter | AlignJustify | AlignAbsolute, 10143: 10143: AlignTop = 0x0020, 10143: AlignBottom = 0x0040, 10143: AlignVCenter = 0x0080, 10143: AlignBaseline = 0x0100, 10143: 10143: 10143: 10143: 10143: AlignVertical_Mask = AlignTop | AlignBottom | AlignVCenter | AlignBaseline, 10143: 10143: AlignCenter = AlignVCenter | AlignHCenter 10143: }; 10143: 10143: typedef QFlags Alignment; 10143: 10143: enum TextFlag { 10143: TextSingleLine = 0x0100, 10143: TextDontClip = 0x0200, 10143: TextExpandTabs = 0x0400, 10143: TextShowMnemonic = 0x0800, 10143: TextWordWrap = 0x1000, 10143: TextWrapAnywhere = 0x2000, 10143: TextDontPrint = 0x4000, 10143: TextIncludeTrailingSpaces = 0x08000000, 10143: TextHideMnemonic = 0x8000, 10143: TextJustificationForced = 0x10000, 10143: TextForceLeftToRight = 0x20000, 10143: TextForceRightToLeft = 0x40000, 10143: 10143: 10143: TextLongestVariant = 0x80000, 10143: TextBypassShaping = 0x100000 10143: }; 10143: 10143: enum TextElideMode { 10143: ElideLeft, 10143: ElideRight, 10143: ElideMiddle, 10143: ElideNone 10143: }; 10143: 10143: enum WhiteSpaceMode { 10143: WhiteSpaceNormal, 10143: WhiteSpacePre, 10143: WhiteSpaceNoWrap, 10143: WhiteSpaceModeUndefined = -1 10143: }; 10143: 10143: enum HitTestAccuracy { ExactHit, FuzzyHit }; 10143: 10143: enum WindowType { 10143: Widget = 0x00000000, 10143: Window = 0x00000001, 10143: Dialog = 0x00000002 | Window, 10143: Sheet = 0x00000004 | Window, 10143: Drawer = Sheet | Dialog, 10143: Popup = 0x00000008 | Window, 10143: Tool = Popup | Dialog, 10143: ToolTip = Popup | Sheet, 10143: SplashScreen = ToolTip | Dialog, 10143: Desktop = 0x00000010 | Window, 10143: SubWindow = 0x00000012, 10143: ForeignWindow = 0x00000020 | Window, 10143: CoverWindow = 0x00000040 | Window, 10143: 10143: WindowType_Mask = 0x000000ff, 10143: MSWindowsFixedSizeDialogHint = 0x00000100, 10143: MSWindowsOwnDC = 0x00000200, 10143: BypassWindowManagerHint = 0x00000400, 10143: X11BypassWindowManagerHint = BypassWindowManagerHint, 10143: FramelessWindowHint = 0x00000800, 10143: WindowTitleHint = 0x00001000, 10143: WindowSystemMenuHint = 0x00002000, 10143: WindowMinimizeButtonHint = 0x00004000, 10143: WindowMaximizeButtonHint = 0x00008000, 10143: WindowMinMaxButtonsHint = WindowMinimizeButtonHint | WindowMaximizeButtonHint, 10143: WindowContextHelpButtonHint = 0x00010000, 10143: WindowShadeButtonHint = 0x00020000, 10143: WindowStaysOnTopHint = 0x00040000, 10143: WindowTransparentForInput = 0x00080000, 10143: WindowOverridesSystemGestures = 0x00100000, 10143: WindowDoesNotAcceptFocus = 0x00200000, 10143: MaximizeUsingFullscreenGeometryHint = 0x00400000, 10143: 10143: CustomizeWindowHint = 0x02000000, 10143: WindowStaysOnBottomHint = 0x04000000, 10143: WindowCloseButtonHint = 0x08000000, 10143: MacWindowToolBarButtonHint = 0x10000000, 10143: BypassGraphicsProxyWidget = 0x20000000, 10143: NoDropShadowWindowHint = 0x40000000, 10143: WindowFullscreenButtonHint = 0x80000000 10143: }; 10143: 10143: typedef QFlags WindowFlags; 10143: 10143: enum WindowState { 10143: WindowNoState = 0x00000000, 10143: WindowMinimized = 0x00000001, 10143: WindowMaximized = 0x00000002, 10143: WindowFullScreen = 0x00000004, 10143: WindowActive = 0x00000008 10143: }; 10143: 10143: typedef QFlags WindowStates; 10143: 10143: enum ApplicationState { 10143: ApplicationSuspended = 0x00000000, 10143: ApplicationHidden = 0x00000001, 10143: ApplicationInactive = 0x00000002, 10143: ApplicationActive = 0x00000004 10143: }; 10143: 10143: typedef QFlags ApplicationStates; 10143: 10143: enum ScreenOrientation { 10143: PrimaryOrientation = 0x00000000, 10143: PortraitOrientation = 0x00000001, 10143: LandscapeOrientation = 0x00000002, 10143: InvertedPortraitOrientation = 0x00000004, 10143: InvertedLandscapeOrientation = 0x00000008 10143: }; 10143: 10143: typedef QFlags ScreenOrientations; 10143: 10143: enum WidgetAttribute { 10143: WA_Disabled = 0, 10143: WA_UnderMouse = 1, 10143: WA_MouseTracking = 2, 10143: WA_ContentsPropagated = 3, 10143: WA_OpaquePaintEvent = 4, 10143: WA_NoBackground = WA_OpaquePaintEvent, 10143: WA_StaticContents = 5, 10143: WA_LaidOut = 7, 10143: WA_PaintOnScreen = 8, 10143: WA_NoSystemBackground = 9, 10143: WA_UpdatesDisabled = 10, 10143: WA_Mapped = 11, 10143: WA_MacNoClickThrough = 12, 10143: WA_InputMethodEnabled = 14, 10143: WA_WState_Visible = 15, 10143: WA_WState_Hidden = 16, 10143: 10143: WA_ForceDisabled = 32, 10143: WA_KeyCompression = 33, 10143: WA_PendingMoveEvent = 34, 10143: WA_PendingResizeEvent = 35, 10143: WA_SetPalette = 36, 10143: WA_SetFont = 37, 10143: WA_SetCursor = 38, 10143: WA_NoChildEventsFromChildren = 39, 10143: WA_WindowModified = 41, 10143: WA_Resized = 42, 10143: WA_Moved = 43, 10143: WA_PendingUpdate = 44, 10143: WA_InvalidSize = 45, 10143: WA_MacBrushedMetal = 46, 10143: WA_MacMetalStyle = WA_MacBrushedMetal, 10143: WA_CustomWhatsThis = 47, 10143: WA_LayoutOnEntireRect = 48, 10143: WA_OutsideWSRange = 49, 10143: WA_GrabbedShortcut = 50, 10143: WA_TransparentForMouseEvents = 51, 10143: WA_PaintUnclipped = 52, 10143: WA_SetWindowIcon = 53, 10143: WA_NoMouseReplay = 54, 10143: WA_DeleteOnClose = 55, 10143: WA_RightToLeft = 56, 10143: WA_SetLayoutDirection = 57, 10143: WA_NoChildEventsForParent = 58, 10143: WA_ForceUpdatesDisabled = 59, 10143: 10143: WA_WState_Created = 60, 10143: WA_WState_CompressKeys = 61, 10143: WA_WState_InPaintEvent = 62, 10143: WA_WState_Reparented = 63, 10143: WA_WState_ConfigPending = 64, 10143: WA_WState_Polished = 66, 10143: WA_WState_DND = 67, 10143: WA_WState_OwnSizePolicy = 68, 10143: WA_WState_ExplicitShowHide = 69, 10143: 10143: WA_ShowModal = 70, 10143: WA_MouseNoMask = 71, 10143: WA_GroupLeader = 72, 10143: WA_NoMousePropagation = 73, 10143: WA_Hover = 74, 10143: WA_InputMethodTransparent = 75, 10143: WA_QuitOnClose = 76, 10143: 10143: WA_KeyboardFocusChange = 77, 10143: 10143: WA_AcceptDrops = 78, 10143: WA_DropSiteRegistered = 79, 10143: WA_ForceAcceptDrops = WA_DropSiteRegistered, 10143: 10143: WA_WindowPropagation = 80, 10143: 10143: WA_NoX11EventCompression = 81, 10143: WA_TintedBackground = 82, 10143: WA_X11OpenGLOverlay = 83, 10143: WA_AlwaysShowToolTips = 84, 10143: WA_MacOpaqueSizeGrip = 85, 10143: WA_SetStyle = 86, 10143: 10143: WA_SetLocale = 87, 10143: WA_MacShowFocusRect = 88, 10143: 10143: WA_MacNormalSize = 89, 10143: WA_MacSmallSize = 90, 10143: WA_MacMiniSize = 91, 10143: 10143: WA_LayoutUsesWidgetRect = 92, 10143: WA_StyledBackground = 93, 10143: WA_MSWindowsUseDirect3D = 94, 10143: WA_CanHostQMdiSubWindowTitleBar = 95, 10143: 10143: WA_MacAlwaysShowToolWindow = 96, 10143: 10143: WA_StyleSheet = 97, 10143: 10143: WA_ShowWithoutActivating = 98, 10143: 10143: WA_X11BypassTransientForHint = 99, 10143: 10143: WA_NativeWindow = 100, 10143: WA_DontCreateNativeAncestors = 101, 10143: 10143: WA_MacVariableSize = 102, 10143: 10143: WA_DontShowOnScreen = 103, 10143: 10143: 10143: WA_X11NetWmWindowTypeDesktop = 104, 10143: WA_X11NetWmWindowTypeDock = 105, 10143: WA_X11NetWmWindowTypeToolBar = 106, 10143: WA_X11NetWmWindowTypeMenu = 107, 10143: WA_X11NetWmWindowTypeUtility = 108, 10143: WA_X11NetWmWindowTypeSplash = 109, 10143: WA_X11NetWmWindowTypeDialog = 110, 10143: WA_X11NetWmWindowTypeDropDownMenu = 111, 10143: WA_X11NetWmWindowTypePopupMenu = 112, 10143: WA_X11NetWmWindowTypeToolTip = 113, 10143: WA_X11NetWmWindowTypeNotification = 114, 10143: WA_X11NetWmWindowTypeCombo = 115, 10143: WA_X11NetWmWindowTypeDND = 116, 10143: 10143: WA_MacFrameworkScaled = 117, 10143: 10143: WA_SetWindowModality = 118, 10143: WA_WState_WindowOpacitySet = 119, 10143: WA_TranslucentBackground = 120, 10143: 10143: WA_AcceptTouchEvents = 121, 10143: WA_WState_AcceptedTouchBeginEvent = 122, 10143: WA_TouchPadAcceptSingleTouchEvents = 123, 10143: 10143: WA_X11DoNotAcceptFocus = 126, 10143: WA_MacNoShadow = 127, 10143: 10143: WA_AlwaysStackOnTop = 128, 10143: 10143: WA_TabletTracking = 129, 10143: 10143: 10143: WA_AttributeCount 10143: }; 10143: 10143: enum ApplicationAttribute 10143: { 10143: AA_ImmediateWidgetCreation = 0, 10143: AA_MSWindowsUseDirect3DByDefault = 1, 10143: AA_DontShowIconsInMenus = 2, 10143: AA_NativeWindows = 3, 10143: AA_DontCreateNativeWidgetSiblings = 4, 10143: AA_PluginApplication = 5, 10143: AA_MacPluginApplication = AA_PluginApplication, 10143: AA_DontUseNativeMenuBar = 6, 10143: AA_MacDontSwapCtrlAndMeta = 7, 10143: AA_Use96Dpi = 8, 10143: AA_X11InitThreads = 10, 10143: AA_SynthesizeTouchForUnhandledMouseEvents = 11, 10143: AA_SynthesizeMouseForUnhandledTouchEvents = 12, 10143: AA_UseHighDpiPixmaps = 13, 10143: AA_ForceRasterWidgets = 14, 10143: AA_UseDesktopOpenGL = 15, 10143: AA_UseOpenGLES = 16, 10143: AA_UseSoftwareOpenGL = 17, 10143: AA_ShareOpenGLContexts = 18, 10143: AA_SetPalette = 19, 10143: AA_EnableHighDpiScaling = 20, 10143: AA_DisableHighDpiScaling = 21, 10143: AA_UseStyleSheetPropagationInWidgetStyles = 22, 10143: AA_DontUseNativeDialogs = 23, 10143: AA_SynthesizeMouseForUnhandledTabletEvents = 24, 10143: AA_CompressHighFrequencyEvents = 25, 10143: AA_DontCheckOpenGLContextThreadAffinity = 26, 10143: AA_DisableShaderDiskCache = 27, 10143: 10143: 10143: AA_AttributeCount 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: enum ImageConversionFlag { 10143: ColorMode_Mask = 0x00000003, 10143: AutoColor = 0x00000000, 10143: ColorOnly = 0x00000003, 10143: MonoOnly = 0x00000002, 10143: 10143: 10143: AlphaDither_Mask = 0x0000000c, 10143: ThresholdAlphaDither = 0x00000000, 10143: OrderedAlphaDither = 0x00000004, 10143: DiffuseAlphaDither = 0x00000008, 10143: NoAlpha = 0x0000000c, 10143: 10143: Dither_Mask = 0x00000030, 10143: DiffuseDither = 0x00000000, 10143: OrderedDither = 0x00000010, 10143: ThresholdDither = 0x00000020, 10143: 10143: 10143: DitherMode_Mask = 0x000000c0, 10143: AutoDither = 0x00000000, 10143: PreferDither = 0x00000040, 10143: AvoidDither = 0x00000080, 10143: 10143: NoOpaqueDetection = 0x00000100, 10143: NoFormatConversion = 0x00000200 10143: }; 10143: typedef QFlags ImageConversionFlags; 10143: 10143: enum BGMode { 10143: TransparentMode, 10143: OpaqueMode 10143: }; 10143: 10143: enum Key { 10143: Key_Escape = 0x01000000, 10143: Key_Tab = 0x01000001, 10143: Key_Backtab = 0x01000002, 10143: Key_Backspace = 0x01000003, 10143: Key_Return = 0x01000004, 10143: Key_Enter = 0x01000005, 10143: Key_Insert = 0x01000006, 10143: Key_Delete = 0x01000007, 10143: Key_Pause = 0x01000008, 10143: Key_Print = 0x01000009, 10143: Key_SysReq = 0x0100000a, 10143: Key_Clear = 0x0100000b, 10143: Key_Home = 0x01000010, 10143: Key_End = 0x01000011, 10143: Key_Left = 0x01000012, 10143: Key_Up = 0x01000013, 10143: Key_Right = 0x01000014, 10143: Key_Down = 0x01000015, 10143: Key_PageUp = 0x01000016, 10143: Key_PageDown = 0x01000017, 10143: Key_Shift = 0x01000020, 10143: Key_Control = 0x01000021, 10143: Key_Meta = 0x01000022, 10143: Key_Alt = 0x01000023, 10143: Key_CapsLock = 0x01000024, 10143: Key_NumLock = 0x01000025, 10143: Key_ScrollLock = 0x01000026, 10143: Key_F1 = 0x01000030, 10143: Key_F2 = 0x01000031, 10143: Key_F3 = 0x01000032, 10143: Key_F4 = 0x01000033, 10143: Key_F5 = 0x01000034, 10143: Key_F6 = 0x01000035, 10143: Key_F7 = 0x01000036, 10143: Key_F8 = 0x01000037, 10143: Key_F9 = 0x01000038, 10143: Key_F10 = 0x01000039, 10143: Key_F11 = 0x0100003a, 10143: Key_F12 = 0x0100003b, 10143: Key_F13 = 0x0100003c, 10143: Key_F14 = 0x0100003d, 10143: Key_F15 = 0x0100003e, 10143: Key_F16 = 0x0100003f, 10143: Key_F17 = 0x01000040, 10143: Key_F18 = 0x01000041, 10143: Key_F19 = 0x01000042, 10143: Key_F20 = 0x01000043, 10143: Key_F21 = 0x01000044, 10143: Key_F22 = 0x01000045, 10143: Key_F23 = 0x01000046, 10143: Key_F24 = 0x01000047, 10143: Key_F25 = 0x01000048, 10143: Key_F26 = 0x01000049, 10143: Key_F27 = 0x0100004a, 10143: Key_F28 = 0x0100004b, 10143: Key_F29 = 0x0100004c, 10143: Key_F30 = 0x0100004d, 10143: Key_F31 = 0x0100004e, 10143: Key_F32 = 0x0100004f, 10143: Key_F33 = 0x01000050, 10143: Key_F34 = 0x01000051, 10143: Key_F35 = 0x01000052, 10143: Key_Super_L = 0x01000053, 10143: Key_Super_R = 0x01000054, 10143: Key_Menu = 0x01000055, 10143: Key_Hyper_L = 0x01000056, 10143: Key_Hyper_R = 0x01000057, 10143: Key_Help = 0x01000058, 10143: Key_Direction_L = 0x01000059, 10143: Key_Direction_R = 0x01000060, 10143: Key_Space = 0x20, 10143: Key_Any = Key_Space, 10143: Key_Exclam = 0x21, 10143: Key_QuoteDbl = 0x22, 10143: Key_NumberSign = 0x23, 10143: Key_Dollar = 0x24, 10143: Key_Percent = 0x25, 10143: Key_Ampersand = 0x26, 10143: Key_Apostrophe = 0x27, 10143: Key_ParenLeft = 0x28, 10143: Key_ParenRight = 0x29, 10143: Key_Asterisk = 0x2a, 10143: Key_Plus = 0x2b, 10143: Key_Comma = 0x2c, 10143: Key_Minus = 0x2d, 10143: Key_Period = 0x2e, 10143: Key_Slash = 0x2f, 10143: Key_0 = 0x30, 10143: Key_1 = 0x31, 10143: Key_2 = 0x32, 10143: Key_3 = 0x33, 10143: Key_4 = 0x34, 10143: Key_5 = 0x35, 10143: Key_6 = 0x36, 10143: Key_7 = 0x37, 10143: Key_8 = 0x38, 10143: Key_9 = 0x39, 10143: Key_Colon = 0x3a, 10143: Key_Semicolon = 0x3b, 10143: Key_Less = 0x3c, 10143: Key_Equal = 0x3d, 10143: Key_Greater = 0x3e, 10143: Key_Question = 0x3f, 10143: Key_At = 0x40, 10143: Key_A = 0x41, 10143: Key_B = 0x42, 10143: Key_C = 0x43, 10143: Key_D = 0x44, 10143: Key_E = 0x45, 10143: Key_F = 0x46, 10143: Key_G = 0x47, 10143: Key_H = 0x48, 10143: Key_I = 0x49, 10143: Key_J = 0x4a, 10143: Key_K = 0x4b, 10143: Key_L = 0x4c, 10143: Key_M = 0x4d, 10143: Key_N = 0x4e, 10143: Key_O = 0x4f, 10143: Key_P = 0x50, 10143: Key_Q = 0x51, 10143: Key_R = 0x52, 10143: Key_S = 0x53, 10143: Key_T = 0x54, 10143: Key_U = 0x55, 10143: Key_V = 0x56, 10143: Key_W = 0x57, 10143: Key_X = 0x58, 10143: Key_Y = 0x59, 10143: Key_Z = 0x5a, 10143: Key_BracketLeft = 0x5b, 10143: Key_Backslash = 0x5c, 10143: Key_BracketRight = 0x5d, 10143: Key_AsciiCircum = 0x5e, 10143: Key_Underscore = 0x5f, 10143: Key_QuoteLeft = 0x60, 10143: Key_BraceLeft = 0x7b, 10143: Key_Bar = 0x7c, 10143: Key_BraceRight = 0x7d, 10143: Key_AsciiTilde = 0x7e, 10143: 10143: Key_nobreakspace = 0x0a0, 10143: Key_exclamdown = 0x0a1, 10143: Key_cent = 0x0a2, 10143: Key_sterling = 0x0a3, 10143: Key_currency = 0x0a4, 10143: Key_yen = 0x0a5, 10143: Key_brokenbar = 0x0a6, 10143: Key_section = 0x0a7, 10143: Key_diaeresis = 0x0a8, 10143: Key_copyright = 0x0a9, 10143: Key_ordfeminine = 0x0aa, 10143: Key_guillemotleft = 0x0ab, 10143: Key_notsign = 0x0ac, 10143: Key_hyphen = 0x0ad, 10143: Key_registered = 0x0ae, 10143: Key_macron = 0x0af, 10143: Key_degree = 0x0b0, 10143: Key_plusminus = 0x0b1, 10143: Key_twosuperior = 0x0b2, 10143: Key_threesuperior = 0x0b3, 10143: Key_acute = 0x0b4, 10143: Key_mu = 0x0b5, 10143: Key_paragraph = 0x0b6, 10143: Key_periodcentered = 0x0b7, 10143: Key_cedilla = 0x0b8, 10143: Key_onesuperior = 0x0b9, 10143: Key_masculine = 0x0ba, 10143: Key_guillemotright = 0x0bb, 10143: Key_onequarter = 0x0bc, 10143: Key_onehalf = 0x0bd, 10143: Key_threequarters = 0x0be, 10143: Key_questiondown = 0x0bf, 10143: Key_Agrave = 0x0c0, 10143: Key_Aacute = 0x0c1, 10143: Key_Acircumflex = 0x0c2, 10143: Key_Atilde = 0x0c3, 10143: Key_Adiaeresis = 0x0c4, 10143: Key_Aring = 0x0c5, 10143: Key_AE = 0x0c6, 10143: Key_Ccedilla = 0x0c7, 10143: Key_Egrave = 0x0c8, 10143: Key_Eacute = 0x0c9, 10143: Key_Ecircumflex = 0x0ca, 10143: Key_Ediaeresis = 0x0cb, 10143: Key_Igrave = 0x0cc, 10143: Key_Iacute = 0x0cd, 10143: Key_Icircumflex = 0x0ce, 10143: Key_Idiaeresis = 0x0cf, 10143: Key_ETH = 0x0d0, 10143: Key_Ntilde = 0x0d1, 10143: Key_Ograve = 0x0d2, 10143: Key_Oacute = 0x0d3, 10143: Key_Ocircumflex = 0x0d4, 10143: Key_Otilde = 0x0d5, 10143: Key_Odiaeresis = 0x0d6, 10143: Key_multiply = 0x0d7, 10143: Key_Ooblique = 0x0d8, 10143: Key_Ugrave = 0x0d9, 10143: Key_Uacute = 0x0da, 10143: Key_Ucircumflex = 0x0db, 10143: Key_Udiaeresis = 0x0dc, 10143: Key_Yacute = 0x0dd, 10143: Key_THORN = 0x0de, 10143: Key_ssharp = 0x0df, 10143: Key_division = 0x0f7, 10143: Key_ydiaeresis = 0x0ff, 10143: 10143: 10143: 10143: 10143: 10143: 10143: Key_AltGr = 0x01001103, 10143: Key_Multi_key = 0x01001120, 10143: Key_Codeinput = 0x01001137, 10143: Key_SingleCandidate = 0x0100113c, 10143: Key_MultipleCandidate = 0x0100113d, 10143: Key_PreviousCandidate = 0x0100113e, 10143: 10143: 10143: Key_Mode_switch = 0x0100117e, 10143: 10143: 10143: 10143: Key_Kanji = 0x01001121, 10143: Key_Muhenkan = 0x01001122, 10143: 10143: Key_Henkan = 0x01001123, 10143: Key_Romaji = 0x01001124, 10143: Key_Hiragana = 0x01001125, 10143: Key_Katakana = 0x01001126, 10143: Key_Hiragana_Katakana = 0x01001127, 10143: Key_Zenkaku = 0x01001128, 10143: Key_Hankaku = 0x01001129, 10143: Key_Zenkaku_Hankaku = 0x0100112a, 10143: Key_Touroku = 0x0100112b, 10143: Key_Massyo = 0x0100112c, 10143: Key_Kana_Lock = 0x0100112d, 10143: Key_Kana_Shift = 0x0100112e, 10143: Key_Eisu_Shift = 0x0100112f, 10143: Key_Eisu_toggle = 0x01001130, 10143: # 806 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qnamespace.h" 3 4 10143: Key_Hangul = 0x01001131, 10143: Key_Hangul_Start = 0x01001132, 10143: Key_Hangul_End = 0x01001133, 10143: Key_Hangul_Hanja = 0x01001134, 10143: Key_Hangul_Jamo = 0x01001135, 10143: Key_Hangul_Romaja = 0x01001136, 10143: 10143: Key_Hangul_Jeonja = 0x01001138, 10143: Key_Hangul_Banja = 0x01001139, 10143: Key_Hangul_PreHanja = 0x0100113a, 10143: Key_Hangul_PostHanja = 0x0100113b, 10143: 10143: 10143: 10143: Key_Hangul_Special = 0x0100113f, 10143: 10143: 10143: 10143: Key_Dead_Grave = 0x01001250, 10143: Key_Dead_Acute = 0x01001251, 10143: Key_Dead_Circumflex = 0x01001252, 10143: Key_Dead_Tilde = 0x01001253, 10143: Key_Dead_Macron = 0x01001254, 10143: Key_Dead_Breve = 0x01001255, 10143: Key_Dead_Abovedot = 0x01001256, 10143: Key_Dead_Diaeresis = 0x01001257, 10143: Key_Dead_Abovering = 0x01001258, 10143: Key_Dead_Doubleacute = 0x01001259, 10143: Key_Dead_Caron = 0x0100125a, 10143: Key_Dead_Cedilla = 0x0100125b, 10143: Key_Dead_Ogonek = 0x0100125c, 10143: Key_Dead_Iota = 0x0100125d, 10143: Key_Dead_Voiced_Sound = 0x0100125e, 10143: Key_Dead_Semivoiced_Sound = 0x0100125f, 10143: Key_Dead_Belowdot = 0x01001260, 10143: Key_Dead_Hook = 0x01001261, 10143: Key_Dead_Horn = 0x01001262, 10143: 10143: 10143: Key_Back = 0x01000061, 10143: Key_Forward = 0x01000062, 10143: Key_Stop = 0x01000063, 10143: Key_Refresh = 0x01000064, 10143: Key_VolumeDown = 0x01000070, 10143: Key_VolumeMute = 0x01000071, 10143: Key_VolumeUp = 0x01000072, 10143: Key_BassBoost = 0x01000073, 10143: Key_BassUp = 0x01000074, 10143: Key_BassDown = 0x01000075, 10143: Key_TrebleUp = 0x01000076, 10143: Key_TrebleDown = 0x01000077, 10143: Key_MediaPlay = 0x01000080, 10143: Key_MediaStop = 0x01000081, 10143: Key_MediaPrevious = 0x01000082, 10143: Key_MediaNext = 0x01000083, 10143: Key_MediaRecord = 0x01000084, 10143: Key_MediaPause = 0x1000085, 10143: Key_MediaTogglePlayPause = 0x1000086, 10143: Key_HomePage = 0x01000090, 10143: Key_Favorites = 0x01000091, 10143: Key_Search = 0x01000092, 10143: Key_Standby = 0x01000093, 10143: Key_OpenUrl = 0x01000094, 10143: Key_LaunchMail = 0x010000a0, 10143: Key_LaunchMedia = 0x010000a1, 10143: Key_Launch0 = 0x010000a2, 10143: Key_Launch1 = 0x010000a3, 10143: Key_Launch2 = 0x010000a4, 10143: Key_Launch3 = 0x010000a5, 10143: Key_Launch4 = 0x010000a6, 10143: Key_Launch5 = 0x010000a7, 10143: Key_Launch6 = 0x010000a8, 10143: Key_Launch7 = 0x010000a9, 10143: Key_Launch8 = 0x010000aa, 10143: Key_Launch9 = 0x010000ab, 10143: Key_LaunchA = 0x010000ac, 10143: Key_LaunchB = 0x010000ad, 10143: Key_LaunchC = 0x010000ae, 10143: Key_LaunchD = 0x010000af, 10143: Key_LaunchE = 0x010000b0, 10143: Key_LaunchF = 0x010000b1, 10143: Key_MonBrightnessUp = 0x010000b2, 10143: Key_MonBrightnessDown = 0x010000b3, 10143: Key_KeyboardLightOnOff = 0x010000b4, 10143: Key_KeyboardBrightnessUp = 0x010000b5, 10143: Key_KeyboardBrightnessDown = 0x010000b6, 10143: Key_PowerOff = 0x010000b7, 10143: Key_WakeUp = 0x010000b8, 10143: Key_Eject = 0x010000b9, 10143: Key_ScreenSaver = 0x010000ba, 10143: Key_WWW = 0x010000bb, 10143: Key_Memo = 0x010000bc, 10143: Key_LightBulb = 0x010000bd, 10143: Key_Shop = 0x010000be, 10143: Key_History = 0x010000bf, 10143: Key_AddFavorite = 0x010000c0, 10143: Key_HotLinks = 0x010000c1, 10143: Key_BrightnessAdjust = 0x010000c2, 10143: Key_Finance = 0x010000c3, 10143: Key_Community = 0x010000c4, 10143: Key_AudioRewind = 0x010000c5, 10143: Key_BackForward = 0x010000c6, 10143: Key_ApplicationLeft = 0x010000c7, 10143: Key_ApplicationRight = 0x010000c8, 10143: Key_Book = 0x010000c9, 10143: Key_CD = 0x010000ca, 10143: Key_Calculator = 0x010000cb, 10143: Key_ToDoList = 0x010000cc, 10143: Key_ClearGrab = 0x010000cd, 10143: Key_Close = 0x010000ce, 10143: Key_Copy = 0x010000cf, 10143: Key_Cut = 0x010000d0, 10143: Key_Display = 0x010000d1, 10143: Key_DOS = 0x010000d2, 10143: Key_Documents = 0x010000d3, 10143: Key_Excel = 0x010000d4, 10143: Key_Explorer = 0x010000d5, 10143: Key_Game = 0x010000d6, 10143: Key_Go = 0x010000d7, 10143: Key_iTouch = 0x010000d8, 10143: Key_LogOff = 0x010000d9, 10143: Key_Market = 0x010000da, 10143: Key_Meeting = 0x010000db, 10143: Key_MenuKB = 0x010000dc, 10143: Key_MenuPB = 0x010000dd, 10143: Key_MySites = 0x010000de, 10143: Key_News = 0x010000df, 10143: Key_OfficeHome = 0x010000e0, 10143: Key_Option = 0x010000e1, 10143: Key_Paste = 0x010000e2, 10143: Key_Phone = 0x010000e3, 10143: Key_Calendar = 0x010000e4, 10143: Key_Reply = 0x010000e5, 10143: Key_Reload = 0x010000e6, 10143: Key_RotateWindows = 0x010000e7, 10143: Key_RotationPB = 0x010000e8, 10143: Key_RotationKB = 0x010000e9, 10143: Key_Save = 0x010000ea, 10143: Key_Send = 0x010000eb, 10143: Key_Spell = 0x010000ec, 10143: Key_SplitScreen = 0x010000ed, 10143: Key_Support = 0x010000ee, 10143: Key_TaskPane = 0x010000ef, 10143: Key_Terminal = 0x010000f0, 10143: Key_Tools = 0x010000f1, 10143: Key_Travel = 0x010000f2, 10143: Key_Video = 0x010000f3, 10143: Key_Word = 0x010000f4, 10143: Key_Xfer = 0x010000f5, 10143: Key_ZoomIn = 0x010000f6, 10143: Key_ZoomOut = 0x010000f7, 10143: Key_Away = 0x010000f8, 10143: Key_Messenger = 0x010000f9, 10143: Key_WebCam = 0x010000fa, 10143: Key_MailForward = 0x010000fb, 10143: Key_Pictures = 0x010000fc, 10143: Key_Music = 0x010000fd, 10143: Key_Battery = 0x010000fe, 10143: Key_Bluetooth = 0x010000ff, 10143: Key_WLAN = 0x01000100, 10143: Key_UWB = 0x01000101, 10143: Key_AudioForward = 0x01000102, 10143: Key_AudioRepeat = 0x01000103, 10143: Key_AudioRandomPlay = 0x01000104, 10143: Key_Subtitle = 0x01000105, 10143: Key_AudioCycleTrack = 0x01000106, 10143: Key_Time = 0x01000107, 10143: Key_Hibernate = 0x01000108, 10143: Key_View = 0x01000109, 10143: Key_TopMenu = 0x0100010a, 10143: Key_PowerDown = 0x0100010b, 10143: Key_Suspend = 0x0100010c, 10143: Key_ContrastAdjust = 0x0100010d, 10143: 10143: Key_LaunchG = 0x0100010e, 10143: Key_LaunchH = 0x0100010f, 10143: 10143: Key_TouchpadToggle = 0x01000110, 10143: Key_TouchpadOn = 0x01000111, 10143: Key_TouchpadOff = 0x01000112, 10143: 10143: Key_MicMute = 0x01000113, 10143: 10143: Key_Red = 0x01000114, 10143: Key_Green = 0x01000115, 10143: Key_Yellow = 0x01000116, 10143: Key_Blue = 0x01000117, 10143: 10143: Key_ChannelUp = 0x01000118, 10143: Key_ChannelDown = 0x01000119, 10143: 10143: Key_Guide = 0x0100011a, 10143: Key_Info = 0x0100011b, 10143: Key_Settings = 0x0100011c, 10143: 10143: Key_MicVolumeUp = 0x0100011d, 10143: Key_MicVolumeDown = 0x0100011e, 10143: 10143: Key_New = 0x01000120, 10143: Key_Open = 0x01000121, 10143: Key_Find = 0x01000122, 10143: Key_Undo = 0x01000123, 10143: Key_Redo = 0x01000124, 10143: 10143: Key_MediaLast = 0x0100ffff, 10143: 10143: 10143: Key_Select = 0x01010000, 10143: Key_Yes = 0x01010001, 10143: Key_No = 0x01010002, 10143: 10143: 10143: Key_Cancel = 0x01020001, 10143: Key_Printer = 0x01020002, 10143: Key_Execute = 0x01020003, 10143: Key_Sleep = 0x01020004, 10143: Key_Play = 0x01020005, 10143: Key_Zoom = 0x01020006, 10143: 10143: 10143: 10143: Key_Exit = 0x0102000a, 10143: 10143: 10143: Key_Context1 = 0x01100000, 10143: Key_Context2 = 0x01100001, 10143: Key_Context3 = 0x01100002, 10143: Key_Context4 = 0x01100003, 10143: Key_Call = 0x01100004, 10143: Key_Hangup = 0x01100005, 10143: Key_Flip = 0x01100006, 10143: Key_ToggleCallHangup = 0x01100007, 10143: Key_VoiceDial = 0x01100008, 10143: Key_LastNumberRedial = 0x01100009, 10143: 10143: Key_Camera = 0x01100020, 10143: Key_CameraFocus = 0x01100021, 10143: 10143: Key_unknown = 0x01ffffff 10143: }; 10143: 10143: enum ArrowType { 10143: NoArrow, 10143: UpArrow, 10143: DownArrow, 10143: LeftArrow, 10143: RightArrow 10143: }; 10143: 10143: enum PenStyle { 10143: NoPen, 10143: SolidLine, 10143: DashLine, 10143: DotLine, 10143: DashDotLine, 10143: DashDotDotLine, 10143: CustomDashLine 10143: 10143: , MPenStyle = 0x0f 10143: 10143: }; 10143: 10143: enum PenCapStyle { 10143: FlatCap = 0x00, 10143: SquareCap = 0x10, 10143: RoundCap = 0x20, 10143: MPenCapStyle = 0x30 10143: }; 10143: 10143: enum PenJoinStyle { 10143: MiterJoin = 0x00, 10143: BevelJoin = 0x40, 10143: RoundJoin = 0x80, 10143: SvgMiterJoin = 0x100, 10143: MPenJoinStyle = 0x1c0 10143: }; 10143: 10143: enum BrushStyle { 10143: NoBrush, 10143: SolidPattern, 10143: Dense1Pattern, 10143: Dense2Pattern, 10143: Dense3Pattern, 10143: Dense4Pattern, 10143: Dense5Pattern, 10143: Dense6Pattern, 10143: Dense7Pattern, 10143: HorPattern, 10143: VerPattern, 10143: CrossPattern, 10143: BDiagPattern, 10143: FDiagPattern, 10143: DiagCrossPattern, 10143: LinearGradientPattern, 10143: RadialGradientPattern, 10143: ConicalGradientPattern, 10143: TexturePattern = 24 10143: }; 10143: 10143: enum SizeMode { 10143: AbsoluteSize, 10143: RelativeSize 10143: }; 10143: 10143: enum UIEffect { 10143: UI_General, 10143: UI_AnimateMenu, 10143: UI_FadeMenu, 10143: UI_AnimateCombo, 10143: UI_AnimateTooltip, 10143: UI_FadeTooltip, 10143: UI_AnimateToolBox 10143: }; 10143: 10143: enum CursorShape { 10143: ArrowCursor, 10143: UpArrowCursor, 10143: CrossCursor, 10143: WaitCursor, 10143: IBeamCursor, 10143: SizeVerCursor, 10143: SizeHorCursor, 10143: SizeBDiagCursor, 10143: SizeFDiagCursor, 10143: SizeAllCursor, 10143: BlankCursor, 10143: SplitVCursor, 10143: SplitHCursor, 10143: PointingHandCursor, 10143: ForbiddenCursor, 10143: WhatsThisCursor, 10143: BusyCursor, 10143: OpenHandCursor, 10143: ClosedHandCursor, 10143: DragCopyCursor, 10143: DragMoveCursor, 10143: DragLinkCursor, 10143: LastCursor = DragLinkCursor, 10143: BitmapCursor = 24, 10143: CustomCursor = 25 10143: }; 10143: 10143: enum TextFormat { 10143: PlainText, 10143: RichText, 10143: AutoText 10143: }; 10143: 10143: enum AspectRatioMode { 10143: IgnoreAspectRatio, 10143: KeepAspectRatio, 10143: KeepAspectRatioByExpanding 10143: }; 10143: 10143: enum DockWidgetArea { 10143: LeftDockWidgetArea = 0x1, 10143: RightDockWidgetArea = 0x2, 10143: TopDockWidgetArea = 0x4, 10143: BottomDockWidgetArea = 0x8, 10143: 10143: DockWidgetArea_Mask = 0xf, 10143: AllDockWidgetAreas = DockWidgetArea_Mask, 10143: NoDockWidgetArea = 0 10143: }; 10143: enum DockWidgetAreaSizes { 10143: NDockWidgetAreas = 4 10143: }; 10143: 10143: typedef QFlags DockWidgetAreas; 10143: 10143: enum ToolBarArea { 10143: LeftToolBarArea = 0x1, 10143: RightToolBarArea = 0x2, 10143: TopToolBarArea = 0x4, 10143: BottomToolBarArea = 0x8, 10143: 10143: ToolBarArea_Mask = 0xf, 10143: AllToolBarAreas = ToolBarArea_Mask, 10143: NoToolBarArea = 0 10143: }; 10143: 10143: enum ToolBarAreaSizes { 10143: NToolBarAreas = 4 10143: }; 10143: 10143: typedef QFlags ToolBarAreas; 10143: 10143: enum DateFormat { 10143: TextDate, 10143: ISODate, 10143: SystemLocaleDate, 10143: LocalDate = SystemLocaleDate, 10143: LocaleDate, 10143: SystemLocaleShortDate, 10143: SystemLocaleLongDate, 10143: DefaultLocaleShortDate, 10143: DefaultLocaleLongDate, 10143: RFC2822Date, 10143: ISODateWithMs 10143: }; 10143: 10143: enum TimeSpec { 10143: LocalTime, 10143: UTC, 10143: OffsetFromUTC, 10143: TimeZone 10143: }; 10143: 10143: enum DayOfWeek { 10143: Monday = 1, 10143: Tuesday = 2, 10143: Wednesday = 3, 10143: Thursday = 4, 10143: Friday = 5, 10143: Saturday = 6, 10143: Sunday = 7 10143: }; 10143: 10143: enum ScrollBarPolicy { 10143: ScrollBarAsNeeded, 10143: ScrollBarAlwaysOff, 10143: ScrollBarAlwaysOn 10143: }; 10143: 10143: enum CaseSensitivity { 10143: CaseInsensitive, 10143: CaseSensitive 10143: }; 10143: 10143: enum Corner { 10143: TopLeftCorner = 0x00000, 10143: TopRightCorner = 0x00001, 10143: BottomLeftCorner = 0x00002, 10143: BottomRightCorner = 0x00003 10143: }; 10143: 10143: enum Edge { 10143: TopEdge = 0x00001, 10143: LeftEdge = 0x00002, 10143: RightEdge = 0x00004, 10143: BottomEdge = 0x00008 10143: }; 10143: 10143: typedef QFlags Edges; 10143: 10143: enum ConnectionType { 10143: AutoConnection, 10143: DirectConnection, 10143: QueuedConnection, 10143: BlockingQueuedConnection, 10143: UniqueConnection = 0x80 10143: }; 10143: 10143: enum ShortcutContext { 10143: WidgetShortcut, 10143: WindowShortcut, 10143: ApplicationShortcut, 10143: WidgetWithChildrenShortcut 10143: }; 10143: 10143: enum FillRule { 10143: OddEvenFill, 10143: WindingFill 10143: }; 10143: 10143: enum MaskMode { 10143: MaskInColor, 10143: MaskOutColor 10143: }; 10143: 10143: enum ClipOperation { 10143: NoClip, 10143: ReplaceClip, 10143: IntersectClip 10143: }; 10143: 10143: 10143: enum ItemSelectionMode { 10143: ContainsItemShape = 0x0, 10143: IntersectsItemShape = 0x1, 10143: ContainsItemBoundingRect = 0x2, 10143: IntersectsItemBoundingRect = 0x3 10143: }; 10143: 10143: enum ItemSelectionOperation { 10143: ReplaceSelection, 10143: AddToSelection 10143: }; 10143: 10143: enum TransformationMode { 10143: FastTransformation, 10143: SmoothTransformation 10143: }; 10143: 10143: enum Axis { 10143: XAxis, 10143: YAxis, 10143: ZAxis 10143: }; 10143: 10143: enum FocusReason { 10143: MouseFocusReason, 10143: TabFocusReason, 10143: BacktabFocusReason, 10143: ActiveWindowFocusReason, 10143: PopupFocusReason, 10143: ShortcutFocusReason, 10143: MenuBarFocusReason, 10143: OtherFocusReason, 10143: NoFocusReason 10143: }; 10143: 10143: enum ContextMenuPolicy { 10143: NoContextMenu, 10143: DefaultContextMenu, 10143: ActionsContextMenu, 10143: CustomContextMenu, 10143: PreventContextMenu 10143: }; 10143: 10143: enum InputMethodQuery { 10143: ImEnabled = 0x1, 10143: ImCursorRectangle = 0x2, 10143: ImMicroFocus = 0x2, 10143: ImFont = 0x4, 10143: ImCursorPosition = 0x8, 10143: ImSurroundingText = 0x10, 10143: ImCurrentSelection = 0x20, 10143: ImMaximumTextLength = 0x40, 10143: ImAnchorPosition = 0x80, 10143: ImHints = 0x100, 10143: ImPreferredLanguage = 0x200, 10143: 10143: ImAbsolutePosition = 0x400, 10143: ImTextBeforeCursor = 0x800, 10143: ImTextAfterCursor = 0x1000, 10143: ImEnterKeyType = 0x2000, 10143: ImAnchorRectangle = 0x4000, 10143: ImInputItemClipRectangle = 0x8000, 10143: 10143: ImPlatformData = 0x80000000, 10143: ImQueryInput = ImCursorRectangle | ImCursorPosition | ImSurroundingText | 10143: ImCurrentSelection | ImAnchorRectangle | ImAnchorPosition, 10143: ImQueryAll = 0xffffffff 10143: }; 10143: typedef QFlags InputMethodQueries; 10143: 10143: enum InputMethodHint { 10143: ImhNone = 0x0, 10143: 10143: ImhHiddenText = 0x1, 10143: ImhSensitiveData = 0x2, 10143: ImhNoAutoUppercase = 0x4, 10143: ImhPreferNumbers = 0x8, 10143: ImhPreferUppercase = 0x10, 10143: ImhPreferLowercase = 0x20, 10143: ImhNoPredictiveText = 0x40, 10143: 10143: ImhDate = 0x80, 10143: ImhTime = 0x100, 10143: 10143: ImhPreferLatin = 0x200, 10143: 10143: ImhMultiLine = 0x400, 10143: 10143: ImhDigitsOnly = 0x10000, 10143: ImhFormattedNumbersOnly = 0x20000, 10143: ImhUppercaseOnly = 0x40000, 10143: ImhLowercaseOnly = 0x80000, 10143: ImhDialableCharactersOnly = 0x100000, 10143: ImhEmailCharactersOnly = 0x200000, 10143: ImhUrlCharactersOnly = 0x400000, 10143: ImhLatinOnly = 0x800000, 10143: 10143: ImhExclusiveInputMask = 0xffff0000 10143: }; 10143: typedef QFlags InputMethodHints; 10143: 10143: enum EnterKeyType { 10143: EnterKeyDefault, 10143: EnterKeyReturn, 10143: EnterKeyDone, 10143: EnterKeyGo, 10143: EnterKeySend, 10143: EnterKeySearch, 10143: EnterKeyNext, 10143: EnterKeyPrevious 10143: }; 10143: 10143: enum ToolButtonStyle { 10143: ToolButtonIconOnly, 10143: ToolButtonTextOnly, 10143: ToolButtonTextBesideIcon, 10143: ToolButtonTextUnderIcon, 10143: ToolButtonFollowStyle 10143: }; 10143: 10143: enum LayoutDirection { 10143: LeftToRight, 10143: RightToLeft, 10143: LayoutDirectionAuto 10143: }; 10143: 10143: enum AnchorPoint { 10143: AnchorLeft = 0, 10143: AnchorHorizontalCenter, 10143: AnchorRight, 10143: AnchorTop, 10143: AnchorVerticalCenter, 10143: AnchorBottom 10143: }; 10143: 10143: enum FindChildOption { 10143: FindDirectChildrenOnly = 0x0, 10143: FindChildrenRecursively = 0x1 10143: }; 10143: typedef QFlags FindChildOptions; 10143: 10143: enum DropAction { 10143: CopyAction = 0x1, 10143: MoveAction = 0x2, 10143: LinkAction = 0x4, 10143: ActionMask = 0xff, 10143: TargetMoveAction = 0x8002, 10143: IgnoreAction = 0x0 10143: }; 10143: typedef QFlags DropActions; 10143: 10143: enum CheckState { 10143: Unchecked, 10143: PartiallyChecked, 10143: Checked 10143: }; 10143: 10143: enum ItemDataRole { 10143: DisplayRole = 0, 10143: DecorationRole = 1, 10143: EditRole = 2, 10143: ToolTipRole = 3, 10143: StatusTipRole = 4, 10143: WhatsThisRole = 5, 10143: 10143: FontRole = 6, 10143: TextAlignmentRole = 7, 10143: BackgroundColorRole = 8, 10143: BackgroundRole = 8, 10143: TextColorRole = 9, 10143: ForegroundRole = 9, 10143: CheckStateRole = 10, 10143: 10143: AccessibleTextRole = 11, 10143: AccessibleDescriptionRole = 12, 10143: 10143: SizeHintRole = 13, 10143: InitialSortOrderRole = 14, 10143: 10143: DisplayPropertyRole = 27, 10143: DecorationPropertyRole = 28, 10143: ToolTipPropertyRole = 29, 10143: StatusTipPropertyRole = 30, 10143: WhatsThisPropertyRole = 31, 10143: 10143: UserRole = 0x0100 10143: }; 10143: 10143: enum ItemFlag { 10143: NoItemFlags = 0, 10143: ItemIsSelectable = 1, 10143: ItemIsEditable = 2, 10143: ItemIsDragEnabled = 4, 10143: ItemIsDropEnabled = 8, 10143: ItemIsUserCheckable = 16, 10143: ItemIsEnabled = 32, 10143: ItemIsAutoTristate = 64, 10143: 10143: ItemIsTristate = ItemIsAutoTristate, 10143: 10143: ItemNeverHasChildren = 128, 10143: ItemIsUserTristate = 256 10143: }; 10143: typedef QFlags ItemFlags; 10143: 10143: enum MatchFlag { 10143: MatchExactly = 0, 10143: MatchContains = 1, 10143: MatchStartsWith = 2, 10143: MatchEndsWith = 3, 10143: MatchRegExp = 4, 10143: MatchWildcard = 5, 10143: MatchFixedString = 8, 10143: MatchCaseSensitive = 16, 10143: MatchWrap = 32, 10143: MatchRecursive = 64 10143: }; 10143: typedef QFlags MatchFlags; 10143: 10143: typedef void * HANDLE; 10143: 10143: 10143: 10143: 10143: enum WindowModality { 10143: NonModal, 10143: WindowModal, 10143: ApplicationModal 10143: }; 10143: 10143: enum TextInteractionFlag { 10143: NoTextInteraction = 0, 10143: TextSelectableByMouse = 1, 10143: TextSelectableByKeyboard = 2, 10143: LinksAccessibleByMouse = 4, 10143: LinksAccessibleByKeyboard = 8, 10143: TextEditable = 16, 10143: 10143: TextEditorInteraction = TextSelectableByMouse | TextSelectableByKeyboard | TextEditable, 10143: TextBrowserInteraction = TextSelectableByMouse | LinksAccessibleByMouse | LinksAccessibleByKeyboard 10143: }; 10143: typedef QFlags TextInteractionFlags; 10143: 10143: enum EventPriority { 10143: HighEventPriority = 1, 10143: NormalEventPriority = 0, 10143: LowEventPriority = -1 10143: }; 10143: 10143: enum SizeHint { 10143: MinimumSize, 10143: PreferredSize, 10143: MaximumSize, 10143: MinimumDescent, 10143: NSizeHints 10143: }; 10143: 10143: enum WindowFrameSection { 10143: NoSection, 10143: LeftSection, 10143: TopLeftSection, 10143: TopSection, 10143: TopRightSection, 10143: RightSection, 10143: BottomRightSection, 10143: BottomSection, 10143: BottomLeftSection, 10143: TitleBarArea 10143: }; 10143: 10143: 10143: enum class Initialization { 10143: Uninitialized 10143: }; 10143: static constexpr __attribute__((__unused__)) Initialization Uninitialized = Initialization::Uninitialized; 10143: 10143: 10143: 10143: 10143: 10143: 10143: enum CoordinateSystem { 10143: DeviceCoordinates, 10143: LogicalCoordinates 10143: }; 10143: 10143: enum TouchPointState { 10143: TouchPointPressed = 0x01, 10143: TouchPointMoved = 0x02, 10143: TouchPointStationary = 0x04, 10143: TouchPointReleased = 0x08 10143: }; 10143: typedef QFlags TouchPointStates; 10143: 10143: 10143: enum GestureState 10143: { 10143: NoGesture, 10143: GestureStarted = 1, 10143: GestureUpdated = 2, 10143: GestureFinished = 3, 10143: GestureCanceled = 4 10143: }; 10143: 10143: enum GestureType 10143: { 10143: TapGesture = 1, 10143: TapAndHoldGesture = 2, 10143: PanGesture = 3, 10143: PinchGesture = 4, 10143: SwipeGesture = 5, 10143: 10143: CustomGesture = 0x0100, 10143: 10143: LastGestureType = ~0u 10143: }; 10143: 10143: enum GestureFlag 10143: { 10143: DontStartGestureOnChildren = 0x01, 10143: ReceivePartialGestures = 0x02, 10143: IgnoredGesturesPropagateToParent = 0x04 10143: }; 10143: typedef QFlags GestureFlags; 10143: 10143: enum NativeGestureType 10143: { 10143: BeginNativeGesture, 10143: EndNativeGesture, 10143: PanNativeGesture, 10143: ZoomNativeGesture, 10143: SmartZoomNativeGesture, 10143: RotateNativeGesture, 10143: SwipeNativeGesture 10143: }; 10143: 10143: 10143: 10143: enum NavigationMode 10143: { 10143: NavigationModeNone, 10143: NavigationModeKeypadTabOrder, 10143: NavigationModeKeypadDirectional, 10143: NavigationModeCursorAuto, 10143: NavigationModeCursorForceVisible 10143: }; 10143: 10143: enum CursorMoveStyle { 10143: LogicalMoveStyle, 10143: VisualMoveStyle 10143: }; 10143: 10143: enum TimerType { 10143: PreciseTimer, 10143: CoarseTimer, 10143: VeryCoarseTimer 10143: }; 10143: 10143: enum ScrollPhase { 10143: NoScrollPhase = 0, 10143: ScrollBegin, 10143: ScrollUpdate, 10143: ScrollEnd 10143: }; 10143: 10143: enum MouseEventSource { 10143: MouseEventNotSynthesized, 10143: MouseEventSynthesizedBySystem, 10143: MouseEventSynthesizedByQt, 10143: MouseEventSynthesizedByApplication 10143: }; 10143: 10143: enum MouseEventFlag { 10143: MouseEventCreatedDoubleClick = 0x01, 10143: MouseEventFlagMask = 0xFF 10143: }; 10143: typedef QFlags MouseEventFlags; 10143: 10143: enum ChecksumType { 10143: ChecksumIso3309, 10143: ChecksumItuV41 10143: }; 10143: 10143: 10143: 10143: inline const QMetaObject *qt_getEnumMetaObject(ScrollBarPolicy) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ScrollBarPolicy) noexcept { return "ScrollBarPolicy"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(FocusPolicy) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(FocusPolicy) noexcept { return "FocusPolicy"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(ContextMenuPolicy) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ContextMenuPolicy) noexcept { return "ContextMenuPolicy"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(ArrowType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ArrowType) noexcept { return "ArrowType"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(ToolButtonStyle) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ToolButtonStyle) noexcept { return "ToolButtonStyle"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(PenStyle) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(PenStyle) noexcept { return "PenStyle"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(PenCapStyle) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(PenCapStyle) noexcept { return "PenCapStyle"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(PenJoinStyle) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(PenJoinStyle) noexcept { return "PenJoinStyle"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(BrushStyle) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(BrushStyle) noexcept { return "BrushStyle"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(FillRule) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(FillRule) noexcept { return "FillRule"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(MaskMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(MaskMode) noexcept { return "MaskMode"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(BGMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(BGMode) noexcept { return "BGMode"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(ClipOperation) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ClipOperation) noexcept { return "ClipOperation"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(SizeMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(SizeMode) noexcept { return "SizeMode"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(Axis) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Axis) noexcept { return "Axis"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(Corner) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Corner) noexcept { return "Corner"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(Edge) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Edge) noexcept { return "Edge"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(LayoutDirection) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(LayoutDirection) noexcept { return "LayoutDirection"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(SizeHint) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(SizeHint) noexcept { return "SizeHint"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(Orientation) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Orientation) noexcept { return "Orientation"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(DropAction) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(DropAction) noexcept { return "DropAction"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(Alignment) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Alignment) noexcept { return "Alignment"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(TextFlag) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TextFlag) noexcept { return "TextFlag"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(Orientations) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Orientations) noexcept { return "Orientations"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(DropActions) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(DropActions) noexcept { return "DropActions"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(Edges) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Edges) noexcept { return "Edges"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(DockWidgetAreas) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(DockWidgetAreas) noexcept { return "DockWidgetAreas"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(ToolBarAreas) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ToolBarAreas) noexcept { return "ToolBarAreas"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(DockWidgetArea) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(DockWidgetArea) noexcept { return "DockWidgetArea"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(ToolBarArea) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ToolBarArea) noexcept { return "ToolBarArea"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(TextFormat) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TextFormat) noexcept { return "TextFormat"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(TextElideMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TextElideMode) noexcept { return "TextElideMode"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(DateFormat) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(DateFormat) noexcept { return "DateFormat"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(TimeSpec) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TimeSpec) noexcept { return "TimeSpec"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(DayOfWeek) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(DayOfWeek) noexcept { return "DayOfWeek"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(CursorShape) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(CursorShape) noexcept { return "CursorShape"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(GlobalColor) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(GlobalColor) noexcept { return "GlobalColor"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(AspectRatioMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(AspectRatioMode) noexcept { return "AspectRatioMode"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(TransformationMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TransformationMode) noexcept { return "TransformationMode"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(ImageConversionFlags) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ImageConversionFlags) noexcept { return "ImageConversionFlags"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(Key) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Key) noexcept { return "Key"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(ShortcutContext) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ShortcutContext) noexcept { return "ShortcutContext"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(TextInteractionFlag) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TextInteractionFlag) noexcept { return "TextInteractionFlag"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(TextInteractionFlags) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TextInteractionFlags) noexcept { return "TextInteractionFlags"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(ItemSelectionMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ItemSelectionMode) noexcept { return "ItemSelectionMode"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(ItemSelectionOperation) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ItemSelectionOperation) noexcept { return "ItemSelectionOperation"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(ItemFlags) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ItemFlags) noexcept { return "ItemFlags"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(CheckState) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(CheckState) noexcept { return "CheckState"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(ItemDataRole) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ItemDataRole) noexcept { return "ItemDataRole"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(SortOrder) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(SortOrder) noexcept { return "SortOrder"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(CaseSensitivity) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(CaseSensitivity) noexcept { return "CaseSensitivity"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(MatchFlags) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(MatchFlags) noexcept { return "MatchFlags"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(KeyboardModifiers) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(KeyboardModifiers) noexcept { return "KeyboardModifiers"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(MouseButtons) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(MouseButtons) noexcept { return "MouseButtons"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(WindowType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(WindowType) noexcept { return "WindowType"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(WindowState) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(WindowState) noexcept { return "WindowState"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(WindowModality) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(WindowModality) noexcept { return "WindowModality"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(WidgetAttribute) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(WidgetAttribute) noexcept { return "WidgetAttribute"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(ApplicationAttribute) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ApplicationAttribute) noexcept { return "ApplicationAttribute"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(WindowFlags) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(WindowFlags) noexcept { return "WindowFlags"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(WindowStates) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(WindowStates) noexcept { return "WindowStates"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(FocusReason) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(FocusReason) noexcept { return "FocusReason"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(InputMethodHint) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(InputMethodHint) noexcept { return "InputMethodHint"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(InputMethodQuery) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(InputMethodQuery) noexcept { return "InputMethodQuery"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(InputMethodHints) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(InputMethodHints) noexcept { return "InputMethodHints"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(EnterKeyType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(EnterKeyType) noexcept { return "EnterKeyType"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(InputMethodQueries) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(InputMethodQueries) noexcept { return "InputMethodQueries"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(TouchPointStates) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TouchPointStates) noexcept { return "TouchPointStates"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(ScreenOrientation) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ScreenOrientation) noexcept { return "ScreenOrientation"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(ScreenOrientations) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ScreenOrientations) noexcept { return "ScreenOrientations"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(ConnectionType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ConnectionType) noexcept { return "ConnectionType"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(ApplicationState) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ApplicationState) noexcept { return "ApplicationState"; } 10143: 10143: inline const QMetaObject *qt_getEnumMetaObject(GestureState) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(GestureState) noexcept { return "GestureState"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(GestureType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(GestureType) noexcept { return "GestureType"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(NativeGestureType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(NativeGestureType) noexcept { return "NativeGestureType"; } 10143: 10143: inline const QMetaObject *qt_getEnumMetaObject(CursorMoveStyle) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(CursorMoveStyle) noexcept { return "CursorMoveStyle"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(TimerType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TimerType) noexcept { return "TimerType"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(ScrollPhase) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ScrollPhase) noexcept { return "ScrollPhase"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(MouseEventSource) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(MouseEventSource) noexcept { return "MouseEventSource"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(MouseEventFlag) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(MouseEventFlag) noexcept { return "MouseEventFlag"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(ChecksumType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ChecksumType) noexcept { return "ChecksumType"; } 10143: inline const QMetaObject *qt_getEnumMetaObject(TabFocusBehavior) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TabFocusBehavior) noexcept { return "TabFocusBehavior"; } 10143: 10143: 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: constexpr inline QFlags operator|(Qt::MouseButtons::enum_type f1, Qt::MouseButtons::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Qt::MouseButtons::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Qt::MouseButtons::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: constexpr inline QFlags operator|(Qt::Orientations::enum_type f1, Qt::Orientations::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Qt::Orientations::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Qt::Orientations::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: constexpr inline QFlags operator|(Qt::KeyboardModifiers::enum_type f1, Qt::KeyboardModifiers::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Qt::KeyboardModifiers::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Qt::KeyboardModifiers::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: constexpr inline QFlags operator|(Qt::WindowFlags::enum_type f1, Qt::WindowFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Qt::WindowFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Qt::WindowFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: constexpr inline QFlags operator|(Qt::Alignment::enum_type f1, Qt::Alignment::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Qt::Alignment::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Qt::Alignment::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: constexpr inline QFlags operator|(Qt::Edges::enum_type f1, Qt::Edges::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Qt::Edges::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Qt::Edges::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: constexpr inline QFlags operator|(Qt::ImageConversionFlags::enum_type f1, Qt::ImageConversionFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Qt::ImageConversionFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Qt::ImageConversionFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: constexpr inline QFlags operator|(Qt::DockWidgetAreas::enum_type f1, Qt::DockWidgetAreas::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Qt::DockWidgetAreas::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Qt::DockWidgetAreas::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: constexpr inline QFlags operator|(Qt::ToolBarAreas::enum_type f1, Qt::ToolBarAreas::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Qt::ToolBarAreas::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Qt::ToolBarAreas::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: constexpr inline QFlags operator|(Qt::WindowStates::enum_type f1, Qt::WindowStates::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Qt::WindowStates::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Qt::WindowStates::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: constexpr inline QFlags operator|(Qt::ScreenOrientations::enum_type f1, Qt::ScreenOrientations::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Qt::ScreenOrientations::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Qt::ScreenOrientations::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: constexpr inline QFlags operator|(Qt::DropActions::enum_type f1, Qt::DropActions::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Qt::DropActions::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Qt::DropActions::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: constexpr inline QFlags operator|(Qt::ItemFlags::enum_type f1, Qt::ItemFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Qt::ItemFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Qt::ItemFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: constexpr inline QFlags operator|(Qt::MatchFlags::enum_type f1, Qt::MatchFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Qt::MatchFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Qt::MatchFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: constexpr inline QFlags operator|(Qt::TextInteractionFlags::enum_type f1, Qt::TextInteractionFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Qt::TextInteractionFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Qt::TextInteractionFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: constexpr inline QFlags operator|(Qt::InputMethodQueries::enum_type f1, Qt::InputMethodQueries::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Qt::InputMethodQueries::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Qt::InputMethodQueries::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: constexpr inline QFlags operator|(Qt::InputMethodHints::enum_type f1, Qt::InputMethodHints::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Qt::InputMethodHints::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Qt::InputMethodHints::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: constexpr inline QFlags operator|(Qt::TouchPointStates::enum_type f1, Qt::TouchPointStates::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Qt::TouchPointStates::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Qt::TouchPointStates::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: constexpr inline QFlags operator|(Qt::MouseEventFlags::enum_type f1, Qt::MouseEventFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Qt::MouseEventFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Qt::MouseEventFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: 10143: constexpr inline QFlags operator|(Qt::GestureFlags::enum_type f1, Qt::GestureFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(Qt::GestureFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(Qt::GestureFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: 10143: 10143: typedef bool (*qInternalCallback)(void **); 10143: 10143: class __attribute__((visibility("default"))) QInternal { 10143: public: 10143: enum PaintDeviceFlags { 10143: UnknownDevice = 0x00, 10143: Widget = 0x01, 10143: Pixmap = 0x02, 10143: Image = 0x03, 10143: Printer = 0x04, 10143: Picture = 0x05, 10143: Pbuffer = 0x06, 10143: FramebufferObject = 0x07, 10143: CustomRaster = 0x08, 10143: MacQuartz = 0x09, 10143: PaintBuffer = 0x0a, 10143: OpenGL = 0x0b 10143: }; 10143: enum RelayoutType { 10143: RelayoutNormal, 10143: RelayoutDragging, 10143: RelayoutDropped 10143: }; 10143: 10143: enum DockPosition { 10143: LeftDock, 10143: RightDock, 10143: TopDock, 10143: BottomDock, 10143: DockCount 10143: }; 10143: 10143: enum Callback { 10143: EventNotifyCallback, 10143: LastCallback 10143: }; 10143: static bool registerCallback(Callback, qInternalCallback); 10143: static bool unregisterCallback(Callback, qInternalCallback); 10143: static bool activateCallbacks(Callback, void **); 10143: }; 10143: 10143: 10143: # 49 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobjectdefs.h" 2 3 4 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobjectdefs_impl.h" 1 3 4 10143: # 53 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobjectdefs_impl.h" 3 4 10143: 10143: 10143: 10143: namespace QtPrivate { 10143: template struct RemoveRef { typedef T Type; }; 10143: template struct RemoveRef { typedef T Type; }; 10143: template struct RemoveConstRef { typedef T Type; }; 10143: template struct RemoveConstRef { typedef T Type; }; 10143: # 69 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobjectdefs_impl.h" 3 4 10143: template struct List {}; 10143: template struct List { typedef Head Car; typedef List Cdr; }; 10143: template struct List_Append; 10143: template struct List_Append, List> { typedef List Value; }; 10143: template struct List_Left { 10143: typedef typename List_Append,typename List_Left::Value>::Value Value; 10143: }; 10143: template struct List_Left { typedef List<> Value; }; 10143: 10143: template struct List_Select { typedef typename List_Select::Value Value; }; 10143: template struct List_Select { typedef typename L::Car Value; }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct ApplyReturnValue { 10143: void *data; 10143: explicit ApplyReturnValue(void *data_) : data(data_) {} 10143: }; 10143: template 10143: void operator,(T &&value, const ApplyReturnValue &container) { 10143: if (container.data) 10143: *reinterpret_cast(container.data) = std::forward(value); 10143: } 10143: template 10143: void operator,(T, const ApplyReturnValue &) {} 10143: # 117 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobjectdefs_impl.h" 3 4 10143: template struct IndexesList {}; 10143: template struct IndexesAppend; 10143: template struct IndexesAppend, Right> 10143: { typedef IndexesList Value; }; 10143: template struct Indexes 10143: { typedef typename IndexesAppend::Value, N - 1>::Value Value; }; 10143: template <> struct Indexes<0> { typedef IndexesList<> Value; }; 10143: template struct FunctionPointer { enum {ArgumentCount = -1, IsPointerToMemberFunction = false}; }; 10143: 10143: template struct FunctorCall; 10143: template 10143: struct FunctorCall, List, R, Function> { 10143: static void call(Function &f, void **arg) { 10143: f((*reinterpret_cast::Type *>(arg[II+1]))...), ApplyReturnValue(arg[0]); 10143: } 10143: }; 10143: template 10143: struct FunctorCall, List, R, SlotRet (Obj::*)(SlotArgs...)> { 10143: static void call(SlotRet (Obj::*f)(SlotArgs...), Obj *o, void **arg) { 10143: (o->*f)((*reinterpret_cast::Type *>(arg[II+1]))...), ApplyReturnValue(arg[0]); 10143: } 10143: }; 10143: template 10143: struct FunctorCall, List, R, SlotRet (Obj::*)(SlotArgs...) const> { 10143: static void call(SlotRet (Obj::*f)(SlotArgs...) const, Obj *o, void **arg) { 10143: (o->*f)((*reinterpret_cast::Type *>(arg[II+1]))...), ApplyReturnValue(arg[0]); 10143: } 10143: }; 10143: # 160 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobjectdefs_impl.h" 3 4 10143: template struct FunctionPointer 10143: { 10143: typedef Obj Object; 10143: typedef List Arguments; 10143: typedef Ret ReturnType; 10143: typedef Ret (Obj::*Function) (Args...); 10143: enum {ArgumentCount = sizeof...(Args), IsPointerToMemberFunction = true}; 10143: template 10143: static void call(Function f, Obj *o, void **arg) { 10143: FunctorCall::Value, SignalArgs, R, Function>::call(f, o, arg); 10143: } 10143: }; 10143: template struct FunctionPointer 10143: { 10143: typedef Obj Object; 10143: typedef List Arguments; 10143: typedef Ret ReturnType; 10143: typedef Ret (Obj::*Function) (Args...) const; 10143: enum {ArgumentCount = sizeof...(Args), IsPointerToMemberFunction = true}; 10143: template 10143: static void call(Function f, Obj *o, void **arg) { 10143: FunctorCall::Value, SignalArgs, R, Function>::call(f, o, arg); 10143: } 10143: }; 10143: 10143: template struct FunctionPointer 10143: { 10143: typedef List Arguments; 10143: typedef Ret ReturnType; 10143: typedef Ret (*Function) (Args...); 10143: enum {ArgumentCount = sizeof...(Args), IsPointerToMemberFunction = false}; 10143: template 10143: static void call(Function f, void *, void **arg) { 10143: FunctorCall::Value, SignalArgs, R, Function>::call(f, arg); 10143: } 10143: }; 10143: # 236 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobjectdefs_impl.h" 3 4 10143: template struct Functor 10143: { 10143: template 10143: static void call(Function &f, void *, void **arg) { 10143: FunctorCall::Value, SignalArgs, R, Function>::call(f, arg); 10143: } 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct IsEnumUnderlyingTypeSigned : std::false_type 10143: { 10143: }; 10143: 10143: template 10143: struct IsEnumUnderlyingTypeSigned::value>::type> 10143: : std::integral_constant::type>::value> 10143: { 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct AreArgumentsNarrowedBase : std::false_type 10143: { 10143: }; 10143: 10143: template 10143: struct AreArgumentsNarrowedBase::type> 10143: : std::integral_constant::value && std::is_integral::value) || 10143: (std::is_floating_point::value && std::is_floating_point::value && sizeof(From) > sizeof(To)) || 10143: ((std::is_integral::value || std::is_enum::value) && std::is_floating_point::value) || 10143: (std::is_integral::value && std::is_integral::value 10143: && (sizeof(From) > sizeof(To) 10143: || (std::is_signed::value ? !std::is_signed::value 10143: : (std::is_signed::value && sizeof(From) == sizeof(To))))) || 10143: (std::is_enum::value && std::is_integral::value 10143: && (sizeof(From) > sizeof(To) 10143: || (IsEnumUnderlyingTypeSigned::value ? !std::is_signed::value 10143: : (std::is_signed::value && sizeof(From) == sizeof(To))))) 10143: > 10143: { 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template struct AreArgumentsCompatible { 10143: static int test(const typename RemoveRef::Type&); 10143: static char test(...); 10143: static const typename RemoveRef::Type &dummy(); 10143: enum { value = sizeof(test(dummy())) == sizeof(int) }; 10143: 10143: 10143: 10143: 10143: }; 10143: template struct AreArgumentsCompatible { enum { value = false }; }; 10143: template struct AreArgumentsCompatible { enum { value = true }; }; 10143: 10143: template struct AreArgumentsCompatible { enum { value = true }; }; 10143: template struct AreArgumentsCompatible { enum { value = true }; }; 10143: template<> struct AreArgumentsCompatible { enum { value = true }; }; 10143: 10143: template struct CheckCompatibleArguments { enum { value = false }; }; 10143: template <> struct CheckCompatibleArguments, List<>> { enum { value = true }; }; 10143: template struct CheckCompatibleArguments> { enum { value = true }; }; 10143: template 10143: struct CheckCompatibleArguments, List> 10143: { 10143: enum { value = AreArgumentsCompatible::Type, typename RemoveConstRef::Type>::value 10143: && CheckCompatibleArguments, List>::value }; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template struct ComputeFunctorArgumentCount; 10143: 10143: template struct ComputeFunctorArgumentCountHelper 10143: { enum { Value = -1 }; }; 10143: template 10143: struct ComputeFunctorArgumentCountHelper, false> 10143: : ComputeFunctorArgumentCount, sizeof...(ArgList)>::Value> {}; 10143: 10143: template struct ComputeFunctorArgumentCount> 10143: { 10143: template static D dummy(); 10143: template static auto test(F f) -> decltype(((f.operator()((dummy())...)), int())); 10143: static char test(...); 10143: enum { 10143: Ok = sizeof(test(dummy())) == sizeof(int), 10143: Value = Ok ? int(sizeof...(ArgList)) : int(ComputeFunctorArgumentCountHelper, Ok>::Value) 10143: }; 10143: }; 10143: 10143: 10143: template struct FunctorReturnType; 10143: template struct FunctorReturnType> { 10143: template static D dummy(); 10143: typedef decltype(dummy().operator()((dummy())...)) Value; 10143: }; 10143: } 10143: 10143: 10143: # 51 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobjectdefs.h" 2 3 4 10143: 10143: 10143: 10143: 10143: class QByteArray; 10143: struct QArrayData; 10143: typedef QArrayData QByteArrayData; 10143: 10143: class QString; 10143: # 262 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobjectdefs.h" 3 4 10143: __attribute__((visibility("default"))) const char *qFlagLocation(const char *method); 10143: # 288 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobjectdefs.h" 3 4 10143: class QObject; 10143: class QMetaMethod; 10143: class QMetaEnum; 10143: class QMetaProperty; 10143: class QMetaClassInfo; 10143: 10143: 10143: class __attribute__((visibility("default"))) QGenericArgument 10143: { 10143: public: 10143: inline QGenericArgument(const char *aName = nullptr, const void *aData = nullptr) 10143: : _data(aData), _name(aName) {} 10143: inline void *data() const { return const_cast(_data); } 10143: inline const char *name() const { return _name; } 10143: 10143: private: 10143: const void *_data; 10143: const char *_name; 10143: }; 10143: 10143: class __attribute__((visibility("default"))) QGenericReturnArgument: public QGenericArgument 10143: { 10143: public: 10143: inline QGenericReturnArgument(const char *aName = nullptr, void *aData = nullptr) 10143: : QGenericArgument(aName, aData) 10143: {} 10143: }; 10143: 10143: template 10143: class QArgument: public QGenericArgument 10143: { 10143: public: 10143: inline QArgument(const char *aName, const T &aData) 10143: : QGenericArgument(aName, static_cast(&aData)) 10143: {} 10143: }; 10143: template 10143: class QArgument: public QGenericArgument 10143: { 10143: public: 10143: inline QArgument(const char *aName, T &aData) 10143: : QGenericArgument(aName, static_cast(&aData)) 10143: {} 10143: }; 10143: 10143: 10143: template 10143: class QReturnArgument: public QGenericReturnArgument 10143: { 10143: public: 10143: inline QReturnArgument(const char *aName, T &aData) 10143: : QGenericReturnArgument(aName, static_cast(&aData)) 10143: {} 10143: }; 10143: 10143: struct __attribute__((visibility("default"))) QMetaObject 10143: { 10143: class Connection; 10143: const char *className() const; 10143: const QMetaObject *superClass() const; 10143: 10143: bool inherits(const QMetaObject *metaObject) const noexcept; 10143: QObject *cast(QObject *obj) const; 10143: const QObject *cast(const QObject *obj) const; 10143: 10143: 10143: QString tr(const char *s, const char *c, int n = -1) const; 10143: 10143: 10143: int methodOffset() const; 10143: int enumeratorOffset() const; 10143: int propertyOffset() const; 10143: int classInfoOffset() const; 10143: 10143: int constructorCount() const; 10143: int methodCount() const; 10143: int enumeratorCount() const; 10143: int propertyCount() const; 10143: int classInfoCount() const; 10143: 10143: int indexOfConstructor(const char *constructor) const; 10143: int indexOfMethod(const char *method) const; 10143: int indexOfSignal(const char *signal) const; 10143: int indexOfSlot(const char *slot) const; 10143: int indexOfEnumerator(const char *name) const; 10143: int indexOfProperty(const char *name) const; 10143: int indexOfClassInfo(const char *name) const; 10143: 10143: QMetaMethod constructor(int index) const; 10143: QMetaMethod method(int index) const; 10143: QMetaEnum enumerator(int index) const; 10143: QMetaProperty property(int index) const; 10143: QMetaClassInfo classInfo(int index) const; 10143: QMetaProperty userProperty() const; 10143: 10143: static bool checkConnectArgs(const char *signal, const char *method); 10143: static bool checkConnectArgs(const QMetaMethod &signal, 10143: const QMetaMethod &method); 10143: static QByteArray normalizedSignature(const char *method); 10143: static QByteArray normalizedType(const char *type); 10143: 10143: 10143: static Connection connect(const QObject *sender, int signal_index, 10143: const QObject *receiver, int method_index, 10143: int type = 0, int *types = nullptr); 10143: 10143: static bool disconnect(const QObject *sender, int signal_index, 10143: const QObject *receiver, int method_index); 10143: static bool disconnectOne(const QObject *sender, int signal_index, 10143: const QObject *receiver, int method_index); 10143: 10143: static void connectSlotsByName(QObject *o); 10143: 10143: 10143: static void activate(QObject *sender, int signal_index, void **argv); 10143: static void activate(QObject *sender, const QMetaObject *, int local_signal_index, void **argv); 10143: static void activate(QObject *sender, int signal_offset, int local_signal_index, void **argv); 10143: 10143: static bool invokeMethod(QObject *obj, const char *member, 10143: Qt::ConnectionType, 10143: QGenericReturnArgument ret, 10143: QGenericArgument val0 = QGenericArgument(nullptr), 10143: QGenericArgument val1 = QGenericArgument(), 10143: QGenericArgument val2 = QGenericArgument(), 10143: QGenericArgument val3 = QGenericArgument(), 10143: QGenericArgument val4 = QGenericArgument(), 10143: QGenericArgument val5 = QGenericArgument(), 10143: QGenericArgument val6 = QGenericArgument(), 10143: QGenericArgument val7 = QGenericArgument(), 10143: QGenericArgument val8 = QGenericArgument(), 10143: QGenericArgument val9 = QGenericArgument()); 10143: 10143: static inline bool invokeMethod(QObject *obj, const char *member, 10143: QGenericReturnArgument ret, 10143: QGenericArgument val0 = QGenericArgument(nullptr), 10143: QGenericArgument val1 = QGenericArgument(), 10143: QGenericArgument val2 = QGenericArgument(), 10143: QGenericArgument val3 = QGenericArgument(), 10143: QGenericArgument val4 = QGenericArgument(), 10143: QGenericArgument val5 = QGenericArgument(), 10143: QGenericArgument val6 = QGenericArgument(), 10143: QGenericArgument val7 = QGenericArgument(), 10143: QGenericArgument val8 = QGenericArgument(), 10143: QGenericArgument val9 = QGenericArgument()) 10143: { 10143: return invokeMethod(obj, member, Qt::AutoConnection, ret, val0, val1, val2, val3, 10143: val4, val5, val6, val7, val8, val9); 10143: } 10143: 10143: static inline bool invokeMethod(QObject *obj, const char *member, 10143: Qt::ConnectionType type, 10143: QGenericArgument val0 = QGenericArgument(nullptr), 10143: QGenericArgument val1 = QGenericArgument(), 10143: QGenericArgument val2 = QGenericArgument(), 10143: QGenericArgument val3 = QGenericArgument(), 10143: QGenericArgument val4 = QGenericArgument(), 10143: QGenericArgument val5 = QGenericArgument(), 10143: QGenericArgument val6 = QGenericArgument(), 10143: QGenericArgument val7 = QGenericArgument(), 10143: QGenericArgument val8 = QGenericArgument(), 10143: QGenericArgument val9 = QGenericArgument()) 10143: { 10143: return invokeMethod(obj, member, type, QGenericReturnArgument(), val0, val1, val2, 10143: val3, val4, val5, val6, val7, val8, val9); 10143: } 10143: 10143: static inline bool invokeMethod(QObject *obj, const char *member, 10143: QGenericArgument val0 = QGenericArgument(nullptr), 10143: QGenericArgument val1 = QGenericArgument(), 10143: QGenericArgument val2 = QGenericArgument(), 10143: QGenericArgument val3 = QGenericArgument(), 10143: QGenericArgument val4 = QGenericArgument(), 10143: QGenericArgument val5 = QGenericArgument(), 10143: QGenericArgument val6 = QGenericArgument(), 10143: QGenericArgument val7 = QGenericArgument(), 10143: QGenericArgument val8 = QGenericArgument(), 10143: QGenericArgument val9 = QGenericArgument()) 10143: { 10143: return invokeMethod(obj, member, Qt::AutoConnection, QGenericReturnArgument(), val0, 10143: val1, val2, val3, val4, val5, val6, val7, val8, val9); 10143: } 10143: 10143: QObject *newInstance(QGenericArgument val0 = QGenericArgument(nullptr), 10143: QGenericArgument val1 = QGenericArgument(), 10143: QGenericArgument val2 = QGenericArgument(), 10143: QGenericArgument val3 = QGenericArgument(), 10143: QGenericArgument val4 = QGenericArgument(), 10143: QGenericArgument val5 = QGenericArgument(), 10143: QGenericArgument val6 = QGenericArgument(), 10143: QGenericArgument val7 = QGenericArgument(), 10143: QGenericArgument val8 = QGenericArgument(), 10143: QGenericArgument val9 = QGenericArgument()) const; 10143: 10143: enum Call { 10143: InvokeMetaMethod, 10143: ReadProperty, 10143: WriteProperty, 10143: ResetProperty, 10143: QueryPropertyDesignable, 10143: QueryPropertyScriptable, 10143: QueryPropertyStored, 10143: QueryPropertyEditable, 10143: QueryPropertyUser, 10143: CreateInstance, 10143: IndexOfMethod, 10143: RegisterPropertyMetaType, 10143: RegisterMethodArgumentMetaType 10143: }; 10143: 10143: int static_metacall(Call, int, void **) const; 10143: static int metacall(QObject *, Call, int, void **); 10143: 10143: struct { 10143: const QMetaObject *superdata; 10143: const QByteArrayData *stringdata; 10143: const uint *data; 10143: typedef void (*StaticMetacallFunction)(QObject *, QMetaObject::Call, int, void **); 10143: StaticMetacallFunction static_metacall; 10143: const QMetaObject * const *relatedMetaObjects; 10143: void *extradata; 10143: } d; 10143: }; 10143: 10143: class __attribute__((visibility("default"))) QMetaObject::Connection { 10143: void *d_ptr; 10143: explicit Connection(void *data) : d_ptr(data) { } 10143: friend class QObject; 10143: friend class QObjectPrivate; 10143: friend struct QMetaObject; 10143: bool isConnected_helper() const; 10143: public: 10143: ~Connection(); 10143: Connection(); 10143: Connection(const Connection &other); 10143: Connection &operator=(const Connection &other); 10143: 10143: 10143: 10143: typedef void *Connection::*RestrictedBool; 10143: operator RestrictedBool() const { return d_ptr && isConnected_helper() ? &Connection::d_ptr : nullptr; } 10143: 10143: 10143: 10143: inline Connection(Connection &&o) : d_ptr(o.d_ptr) { o.d_ptr = nullptr; } 10143: inline Connection &operator=(Connection &&other) 10143: { qSwap(d_ptr, other.d_ptr); return *this; } 10143: 10143: }; 10143: 10143: inline const QMetaObject *QMetaObject::superClass() const 10143: { return d.superdata; } 10143: 10143: namespace QtPrivate { 10143: 10143: template struct HasQ_OBJECT_Macro { 10143: template 10143: static char test(int (T::*)(QMetaObject::Call, int, void **)); 10143: static int test(int (Object::*)(QMetaObject::Call, int, void **)); 10143: enum { Value = sizeof(test(&Object::qt_metacall)) == sizeof(int) }; 10143: }; 10143: } 10143: 10143: 10143: # 47 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstring.h" 1 3 4 10143: # 48 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstring.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qchar.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qchar.h" 3 4 10143: 10143: 10143: 10143: class QString; 10143: 10143: struct QLatin1Char 10143: { 10143: public: 10143: constexpr inline explicit QLatin1Char(char c) noexcept : ch(c) {} 10143: constexpr inline char toLatin1() const noexcept { return ch; } 10143: constexpr inline ushort unicode() const noexcept { return ushort(uchar(ch)); } 10143: 10143: private: 10143: char ch; 10143: }; 10143: 10143: 10143: class __attribute__((visibility("default"))) QChar { 10143: public: 10143: enum SpecialCharacter { 10143: Null = 0x0000, 10143: Tabulation = 0x0009, 10143: LineFeed = 0x000a, 10143: CarriageReturn = 0x000d, 10143: Space = 0x0020, 10143: Nbsp = 0x00a0, 10143: SoftHyphen = 0x00ad, 10143: ReplacementCharacter = 0xfffd, 10143: ObjectReplacementCharacter = 0xfffc, 10143: ByteOrderMark = 0xfeff, 10143: ByteOrderSwapped = 0xfffe, 10143: ParagraphSeparator = 0x2029, 10143: LineSeparator = 0x2028, 10143: LastValidCodePoint = 0x10ffff 10143: }; 10143: 10143: constexpr QChar() noexcept : ucs(0) {} 10143: constexpr QChar(ushort rc) noexcept : ucs(rc) {} 10143: constexpr QChar(uchar c, uchar r) noexcept : ucs(ushort((r << 8) | c)) {} 10143: constexpr QChar(short rc) noexcept : ucs(ushort(rc)) {} 10143: constexpr QChar(uint rc) noexcept : ucs(ushort(rc & 0xffff)) {} 10143: constexpr QChar(int rc) noexcept : ucs(ushort(rc & 0xffff)) {} 10143: constexpr QChar(SpecialCharacter s) noexcept : ucs(ushort(s)) {} 10143: constexpr QChar(QLatin1Char ch) noexcept : ucs(ch.unicode()) {} 10143: 10143: 10143: constexpr explicit QChar(char c) noexcept : ucs(uchar(c)) { } 10143: 10143: constexpr explicit QChar(uchar c) noexcept : ucs(c) { } 10143: 10143: 10143: 10143: 10143: enum Category 10143: { 10143: Mark_NonSpacing, 10143: Mark_SpacingCombining, 10143: Mark_Enclosing, 10143: 10143: Number_DecimalDigit, 10143: Number_Letter, 10143: Number_Other, 10143: 10143: Separator_Space, 10143: Separator_Line, 10143: Separator_Paragraph, 10143: 10143: Other_Control, 10143: Other_Format, 10143: Other_Surrogate, 10143: Other_PrivateUse, 10143: Other_NotAssigned, 10143: 10143: Letter_Uppercase, 10143: Letter_Lowercase, 10143: Letter_Titlecase, 10143: Letter_Modifier, 10143: Letter_Other, 10143: 10143: Punctuation_Connector, 10143: Punctuation_Dash, 10143: Punctuation_Open, 10143: Punctuation_Close, 10143: Punctuation_InitialQuote, 10143: Punctuation_FinalQuote, 10143: Punctuation_Other, 10143: 10143: Symbol_Math, 10143: Symbol_Currency, 10143: Symbol_Modifier, 10143: Symbol_Other 10143: }; 10143: 10143: enum Script 10143: { 10143: Script_Unknown, 10143: Script_Inherited, 10143: Script_Common, 10143: 10143: Script_Latin, 10143: Script_Greek, 10143: Script_Cyrillic, 10143: Script_Armenian, 10143: Script_Hebrew, 10143: Script_Arabic, 10143: Script_Syriac, 10143: Script_Thaana, 10143: Script_Devanagari, 10143: Script_Bengali, 10143: Script_Gurmukhi, 10143: Script_Gujarati, 10143: Script_Oriya, 10143: Script_Tamil, 10143: Script_Telugu, 10143: Script_Kannada, 10143: Script_Malayalam, 10143: Script_Sinhala, 10143: Script_Thai, 10143: Script_Lao, 10143: Script_Tibetan, 10143: Script_Myanmar, 10143: Script_Georgian, 10143: Script_Hangul, 10143: Script_Ethiopic, 10143: Script_Cherokee, 10143: Script_CanadianAboriginal, 10143: Script_Ogham, 10143: Script_Runic, 10143: Script_Khmer, 10143: Script_Mongolian, 10143: Script_Hiragana, 10143: Script_Katakana, 10143: Script_Bopomofo, 10143: Script_Han, 10143: Script_Yi, 10143: Script_OldItalic, 10143: Script_Gothic, 10143: Script_Deseret, 10143: Script_Tagalog, 10143: Script_Hanunoo, 10143: Script_Buhid, 10143: Script_Tagbanwa, 10143: Script_Coptic, 10143: 10143: 10143: Script_Limbu, 10143: Script_TaiLe, 10143: Script_LinearB, 10143: Script_Ugaritic, 10143: Script_Shavian, 10143: Script_Osmanya, 10143: Script_Cypriot, 10143: Script_Braille, 10143: 10143: 10143: Script_Buginese, 10143: Script_NewTaiLue, 10143: Script_Glagolitic, 10143: Script_Tifinagh, 10143: Script_SylotiNagri, 10143: Script_OldPersian, 10143: Script_Kharoshthi, 10143: 10143: 10143: Script_Balinese, 10143: Script_Cuneiform, 10143: Script_Phoenician, 10143: Script_PhagsPa, 10143: Script_Nko, 10143: 10143: 10143: Script_Sundanese, 10143: Script_Lepcha, 10143: Script_OlChiki, 10143: Script_Vai, 10143: Script_Saurashtra, 10143: Script_KayahLi, 10143: Script_Rejang, 10143: Script_Lycian, 10143: Script_Carian, 10143: Script_Lydian, 10143: Script_Cham, 10143: 10143: 10143: Script_TaiTham, 10143: Script_TaiViet, 10143: Script_Avestan, 10143: Script_EgyptianHieroglyphs, 10143: Script_Samaritan, 10143: Script_Lisu, 10143: Script_Bamum, 10143: Script_Javanese, 10143: Script_MeeteiMayek, 10143: Script_ImperialAramaic, 10143: Script_OldSouthArabian, 10143: Script_InscriptionalParthian, 10143: Script_InscriptionalPahlavi, 10143: Script_OldTurkic, 10143: Script_Kaithi, 10143: 10143: 10143: Script_Batak, 10143: Script_Brahmi, 10143: Script_Mandaic, 10143: 10143: 10143: Script_Chakma, 10143: Script_MeroiticCursive, 10143: Script_MeroiticHieroglyphs, 10143: Script_Miao, 10143: Script_Sharada, 10143: Script_SoraSompeng, 10143: Script_Takri, 10143: 10143: 10143: Script_CaucasianAlbanian, 10143: Script_BassaVah, 10143: Script_Duployan, 10143: Script_Elbasan, 10143: Script_Grantha, 10143: Script_PahawhHmong, 10143: Script_Khojki, 10143: Script_LinearA, 10143: Script_Mahajani, 10143: Script_Manichaean, 10143: Script_MendeKikakui, 10143: Script_Modi, 10143: Script_Mro, 10143: Script_OldNorthArabian, 10143: Script_Nabataean, 10143: Script_Palmyrene, 10143: Script_PauCinHau, 10143: Script_OldPermic, 10143: Script_PsalterPahlavi, 10143: Script_Siddham, 10143: Script_Khudawadi, 10143: Script_Tirhuta, 10143: Script_WarangCiti, 10143: 10143: 10143: Script_Ahom, 10143: Script_AnatolianHieroglyphs, 10143: Script_Hatran, 10143: Script_Multani, 10143: Script_OldHungarian, 10143: Script_SignWriting, 10143: 10143: ScriptCount 10143: }; 10143: 10143: enum Direction 10143: { 10143: DirL, DirR, DirEN, DirES, DirET, DirAN, DirCS, DirB, DirS, DirWS, DirON, 10143: DirLRE, DirLRO, DirAL, DirRLE, DirRLO, DirPDF, DirNSM, DirBN, 10143: DirLRI, DirRLI, DirFSI, DirPDI 10143: }; 10143: 10143: enum Decomposition 10143: { 10143: NoDecomposition, 10143: Canonical, 10143: Font, 10143: NoBreak, 10143: Initial, 10143: Medial, 10143: Final, 10143: Isolated, 10143: Circle, 10143: Super, 10143: Sub, 10143: Vertical, 10143: Wide, 10143: Narrow, 10143: Small, 10143: Square, 10143: Compat, 10143: Fraction 10143: }; 10143: 10143: enum JoiningType { 10143: Joining_None, 10143: Joining_Causing, 10143: Joining_Dual, 10143: Joining_Right, 10143: Joining_Left, 10143: Joining_Transparent 10143: }; 10143: 10143: 10143: enum Joining 10143: { 10143: OtherJoining, Dual, Right, Center 10143: }; 10143: 10143: 10143: enum CombiningClass 10143: { 10143: Combining_BelowLeftAttached = 200, 10143: Combining_BelowAttached = 202, 10143: Combining_BelowRightAttached = 204, 10143: Combining_LeftAttached = 208, 10143: Combining_RightAttached = 210, 10143: Combining_AboveLeftAttached = 212, 10143: Combining_AboveAttached = 214, 10143: Combining_AboveRightAttached = 216, 10143: 10143: Combining_BelowLeft = 218, 10143: Combining_Below = 220, 10143: Combining_BelowRight = 222, 10143: Combining_Left = 224, 10143: Combining_Right = 226, 10143: Combining_AboveLeft = 228, 10143: Combining_Above = 230, 10143: Combining_AboveRight = 232, 10143: 10143: Combining_DoubleBelow = 233, 10143: Combining_DoubleAbove = 234, 10143: Combining_IotaSubscript = 240 10143: }; 10143: 10143: enum UnicodeVersion { 10143: Unicode_Unassigned, 10143: Unicode_1_1, 10143: Unicode_2_0, 10143: Unicode_2_1_2, 10143: Unicode_3_0, 10143: Unicode_3_1, 10143: Unicode_3_2, 10143: Unicode_4_0, 10143: Unicode_4_1, 10143: Unicode_5_0, 10143: Unicode_5_1, 10143: Unicode_5_2, 10143: Unicode_6_0, 10143: Unicode_6_1, 10143: Unicode_6_2, 10143: Unicode_6_3, 10143: Unicode_7_0, 10143: Unicode_8_0 10143: }; 10143: 10143: 10143: inline Category category() const noexcept { return QChar::category(ucs); } 10143: inline Direction direction() const noexcept { return QChar::direction(ucs); } 10143: inline JoiningType joiningType() const noexcept { return QChar::joiningType(ucs); } 10143: 10143: inline Joining joining() const noexcept 10143: { 10143: switch (QChar::joiningType(ucs)) { 10143: case QChar::Joining_Causing: return QChar::Center; 10143: case QChar::Joining_Dual: return QChar::Dual; 10143: case QChar::Joining_Right: return QChar::Right; 10143: case QChar::Joining_None: 10143: case QChar::Joining_Left: 10143: case QChar::Joining_Transparent: 10143: default: return QChar::OtherJoining; 10143: } 10143: } 10143: 10143: inline unsigned char combiningClass() const noexcept { return QChar::combiningClass(ucs); } 10143: 10143: inline QChar mirroredChar() const noexcept { return QChar::mirroredChar(ucs); } 10143: inline bool hasMirrored() const noexcept { return QChar::hasMirrored(ucs); } 10143: 10143: QString decomposition() const; 10143: inline Decomposition decompositionTag() const noexcept { return QChar::decompositionTag(ucs); } 10143: 10143: inline int digitValue() const noexcept { return QChar::digitValue(ucs); } 10143: inline QChar toLower() const noexcept { return QChar::toLower(ucs); } 10143: inline QChar toUpper() const noexcept { return QChar::toUpper(ucs); } 10143: inline QChar toTitleCase() const noexcept { return QChar::toTitleCase(ucs); } 10143: inline QChar toCaseFolded() const noexcept { return QChar::toCaseFolded(ucs); } 10143: 10143: inline Script script() const noexcept { return QChar::script(ucs); } 10143: 10143: inline UnicodeVersion unicodeVersion() const noexcept { return QChar::unicodeVersion(ucs); } 10143: 10143: 10143: 10143: 10143: constexpr inline char toLatin1() const noexcept { return ucs > 0xff ? '\0' : char(ucs); } 10143: constexpr inline ushort unicode() const noexcept { return ucs; } 10143: inline ushort &unicode() noexcept { return ucs; } 10143: 10143: 10143: 10143: 10143: 10143: static constexpr inline QChar fromLatin1(char c) noexcept { return QChar(ushort(uchar(c))); } 10143: 10143: constexpr inline bool isNull() const noexcept { return ucs == 0; } 10143: 10143: inline bool isPrint() const noexcept { return QChar::isPrint(ucs); } 10143: constexpr inline bool isSpace() const noexcept { return QChar::isSpace(ucs); } 10143: inline bool isMark() const noexcept { return QChar::isMark(ucs); } 10143: inline bool isPunct() const noexcept { return QChar::isPunct(ucs); } 10143: inline bool isSymbol() const noexcept { return QChar::isSymbol(ucs); } 10143: constexpr inline bool isLetter() const noexcept { return QChar::isLetter(ucs); } 10143: constexpr inline bool isNumber() const noexcept { return QChar::isNumber(ucs); } 10143: constexpr inline bool isLetterOrNumber() const noexcept { return QChar::isLetterOrNumber(ucs); } 10143: constexpr inline bool isDigit() const noexcept { return QChar::isDigit(ucs); } 10143: constexpr inline bool isLower() const noexcept { return QChar::isLower(ucs); } 10143: constexpr inline bool isUpper() const noexcept { return QChar::isUpper(ucs); } 10143: constexpr inline bool isTitleCase() const noexcept { return QChar::isTitleCase(ucs); } 10143: 10143: constexpr inline bool isNonCharacter() const noexcept { return QChar::isNonCharacter(ucs); } 10143: constexpr inline bool isHighSurrogate() const noexcept { return QChar::isHighSurrogate(ucs); } 10143: constexpr inline bool isLowSurrogate() const noexcept { return QChar::isLowSurrogate(ucs); } 10143: constexpr inline bool isSurrogate() const noexcept { return QChar::isSurrogate(ucs); } 10143: 10143: constexpr inline uchar cell() const noexcept { return uchar(ucs & 0xff); } 10143: constexpr inline uchar row() const noexcept { return uchar((ucs>>8)&0xff); } 10143: inline void setCell(uchar acell) noexcept { ucs = ushort((ucs & 0xff00) + acell); } 10143: inline void setRow(uchar arow) noexcept { ucs = ushort((ushort(arow)<<8) + (ucs&0xff)); } 10143: 10143: static constexpr inline bool isNonCharacter(uint ucs4) noexcept 10143: { 10143: return ucs4 >= 0xfdd0 && (ucs4 <= 0xfdef || (ucs4 & 0xfffe) == 0xfffe); 10143: } 10143: static constexpr inline bool isHighSurrogate(uint ucs4) noexcept 10143: { 10143: return ((ucs4 & 0xfffffc00) == 0xd800); 10143: } 10143: static constexpr inline bool isLowSurrogate(uint ucs4) noexcept 10143: { 10143: return ((ucs4 & 0xfffffc00) == 0xdc00); 10143: } 10143: static constexpr inline bool isSurrogate(uint ucs4) noexcept 10143: { 10143: return (ucs4 - 0xd800u < 2048u); 10143: } 10143: static constexpr inline bool requiresSurrogates(uint ucs4) noexcept 10143: { 10143: return (ucs4 >= 0x10000); 10143: } 10143: static constexpr inline uint surrogateToUcs4(ushort high, ushort low) noexcept 10143: { 10143: return (uint(high)<<10) + low - 0x35fdc00; 10143: } 10143: static constexpr inline uint surrogateToUcs4(QChar high, QChar low) noexcept 10143: { 10143: return surrogateToUcs4(high.ucs, low.ucs); 10143: } 10143: static constexpr inline ushort highSurrogate(uint ucs4) noexcept 10143: { 10143: return ushort((ucs4>>10) + 0xd7c0); 10143: } 10143: static constexpr inline ushort lowSurrogate(uint ucs4) noexcept 10143: { 10143: return ushort(ucs4%0x400 + 0xdc00); 10143: } 10143: 10143: static Category category(uint ucs4) noexcept __attribute__((const)); 10143: static Direction direction(uint ucs4) noexcept __attribute__((const)); 10143: static JoiningType joiningType(uint ucs4) noexcept __attribute__((const)); 10143: 10143: static Joining joining(uint ucs4) noexcept __attribute__((const)); 10143: 10143: static unsigned char combiningClass(uint ucs4) noexcept __attribute__((const)); 10143: 10143: static uint mirroredChar(uint ucs4) noexcept __attribute__((const)); 10143: static bool hasMirrored(uint ucs4) noexcept __attribute__((const)); 10143: 10143: static QString decomposition(uint ucs4); 10143: static Decomposition decompositionTag(uint ucs4) noexcept __attribute__((const)); 10143: 10143: static int digitValue(uint ucs4) noexcept __attribute__((const)); 10143: static uint toLower(uint ucs4) noexcept __attribute__((const)); 10143: static uint toUpper(uint ucs4) noexcept __attribute__((const)); 10143: static uint toTitleCase(uint ucs4) noexcept __attribute__((const)); 10143: static uint toCaseFolded(uint ucs4) noexcept __attribute__((const)); 10143: 10143: static Script script(uint ucs4) noexcept __attribute__((const)); 10143: 10143: static UnicodeVersion unicodeVersion(uint ucs4) noexcept __attribute__((const)); 10143: 10143: static UnicodeVersion currentUnicodeVersion() noexcept __attribute__((const)); 10143: 10143: static bool isPrint(uint ucs4) noexcept __attribute__((const)); 10143: static constexpr inline bool isSpace(uint ucs4) noexcept __attribute__((const)) 10143: { 10143: 10143: return ucs4 == 0x20 || (ucs4 <= 0x0d && ucs4 >= 0x09) 10143: || (ucs4 > 127 && (ucs4 == 0x85 || ucs4 == 0xa0 || QChar::isSpace_helper(ucs4))); 10143: } 10143: static bool isMark(uint ucs4) noexcept __attribute__((const)); 10143: static bool isPunct(uint ucs4) noexcept __attribute__((const)); 10143: static bool isSymbol(uint ucs4) noexcept __attribute__((const)); 10143: static constexpr inline bool isLetter(uint ucs4) noexcept __attribute__((const)) 10143: { 10143: return (ucs4 >= 'A' && ucs4 <= 'z' && (ucs4 >= 'a' || ucs4 <= 'Z')) 10143: || (ucs4 > 127 && QChar::isLetter_helper(ucs4)); 10143: } 10143: static constexpr inline bool isNumber(uint ucs4) noexcept __attribute__((const)) 10143: { return (ucs4 <= '9' && ucs4 >= '0') || (ucs4 > 127 && QChar::isNumber_helper(ucs4)); } 10143: static constexpr inline bool isLetterOrNumber(uint ucs4) noexcept __attribute__((const)) 10143: { 10143: return (ucs4 >= 'A' && ucs4 <= 'z' && (ucs4 >= 'a' || ucs4 <= 'Z')) 10143: || (ucs4 >= '0' && ucs4 <= '9') 10143: || (ucs4 > 127 && QChar::isLetterOrNumber_helper(ucs4)); 10143: } 10143: static constexpr inline bool isDigit(uint ucs4) noexcept __attribute__((const)) 10143: { return (ucs4 <= '9' && ucs4 >= '0') || (ucs4 > 127 && QChar::category(ucs4) == Number_DecimalDigit); } 10143: static constexpr inline bool isLower(uint ucs4) noexcept __attribute__((const)) 10143: { return (ucs4 <= 'z' && ucs4 >= 'a') || (ucs4 > 127 && QChar::category(ucs4) == Letter_Lowercase); } 10143: static constexpr inline bool isUpper(uint ucs4) noexcept __attribute__((const)) 10143: { return (ucs4 <= 'Z' && ucs4 >= 'A') || (ucs4 > 127 && QChar::category(ucs4) == Letter_Uppercase); } 10143: static constexpr inline bool isTitleCase(uint ucs4) noexcept __attribute__((const)) 10143: { return ucs4 > 127 && QChar::category(ucs4) == Letter_Titlecase; } 10143: 10143: private: 10143: static bool isSpace_helper(uint ucs4) noexcept __attribute__((const)); 10143: static bool isLetter_helper(uint ucs4) noexcept __attribute__((const)); 10143: static bool isNumber_helper(uint ucs4) noexcept __attribute__((const)); 10143: static bool isLetterOrNumber_helper(uint ucs4) noexcept __attribute__((const)); 10143: 10143: 10143: 10143: 10143: 10143: 10143: friend constexpr bool operator==(QChar, QChar) noexcept; 10143: friend constexpr bool operator< (QChar, QChar) noexcept; 10143: ushort ucs; 10143: }; 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QChar)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QChar >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QChar) }; static inline const char *name() { return "QChar"; } }; 10143: 10143: constexpr inline bool operator==(QChar c1, QChar c2) noexcept { return c1.ucs == c2.ucs; } 10143: constexpr inline bool operator< (QChar c1, QChar c2) noexcept { return c1.ucs < c2.ucs; } 10143: 10143: constexpr inline bool operator!=(QChar c1, QChar c2) noexcept { return !operator==(c1, c2); } 10143: constexpr inline bool operator>=(QChar c1, QChar c2) noexcept { return !operator< (c1, c2); } 10143: constexpr inline bool operator> (QChar c1, QChar c2) noexcept { return operator< (c2, c1); } 10143: constexpr inline bool operator<=(QChar c1, QChar c2) noexcept { return !operator< (c2, c1); } 10143: 10143: 10143: constexpr inline bool operator==(QChar lhs, std::nullptr_t) noexcept { return lhs.isNull(); } 10143: constexpr inline bool operator< (QChar, std::nullptr_t) noexcept { return false; } 10143: constexpr inline bool operator==(std::nullptr_t, QChar rhs) noexcept { return rhs.isNull(); } 10143: constexpr inline bool operator< (std::nullptr_t, QChar rhs) noexcept { return !rhs.isNull(); } 10143: 10143: constexpr inline bool operator!=(QChar lhs, std::nullptr_t) noexcept { return !operator==(lhs, nullptr); } 10143: constexpr inline bool operator>=(QChar lhs, std::nullptr_t) noexcept { return !operator< (lhs, nullptr); } 10143: constexpr inline bool operator> (QChar lhs, std::nullptr_t) noexcept { return operator< (nullptr, lhs); } 10143: constexpr inline bool operator<=(QChar lhs, std::nullptr_t) noexcept { return !operator< (nullptr, lhs); } 10143: 10143: constexpr inline bool operator!=(std::nullptr_t, QChar rhs) noexcept { return !operator==(nullptr, rhs); } 10143: constexpr inline bool operator>=(std::nullptr_t, QChar rhs) noexcept { return !operator< (nullptr, rhs); } 10143: constexpr inline bool operator> (std::nullptr_t, QChar rhs) noexcept { return operator< (rhs, nullptr); } 10143: constexpr inline bool operator<=(std::nullptr_t, QChar rhs) noexcept { return !operator< (rhs, nullptr); } 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, QChar); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QChar &); 10143: 10143: 10143: 10143: # 49 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstring.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbytearray.h" 1 3 4 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbytearray.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qrefcount.h" 1 3 4 10143: # 43 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qrefcount.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qrefcount.h" 2 3 4 10143: 10143: 10143: 10143: 10143: namespace QtPrivate 10143: { 10143: 10143: class RefCount 10143: { 10143: public: 10143: inline bool ref() noexcept { 10143: int count = atomic.load(); 10143: 10143: if (count == 0) 10143: return false; 10143: 10143: if (count != -1) 10143: atomic.ref(); 10143: return true; 10143: } 10143: 10143: inline bool deref() noexcept { 10143: int count = atomic.load(); 10143: 10143: if (count == 0) 10143: return false; 10143: 10143: if (count == -1) 10143: return true; 10143: return atomic.deref(); 10143: } 10143: 10143: 10143: bool setSharable(bool sharable) noexcept 10143: { 10143: do { } while ((false) && (!isShared())); 10143: if (sharable) 10143: return atomic.testAndSetRelaxed(0, 1); 10143: else 10143: return atomic.testAndSetRelaxed(1, 0); 10143: } 10143: 10143: bool isSharable() const noexcept 10143: { 10143: 10143: return atomic.load() != 0; 10143: } 10143: 10143: 10143: bool isStatic() const noexcept 10143: { 10143: 10143: return atomic.load() == -1; 10143: } 10143: 10143: bool isShared() const noexcept 10143: { 10143: int count = atomic.load(); 10143: return (count != 1) && (count != 0); 10143: } 10143: 10143: void initializeOwned() noexcept { atomic.store(1); } 10143: void initializeUnsharable() noexcept { atomic.store(0); } 10143: 10143: QBasicAtomicInt atomic; 10143: }; 10143: 10143: } 10143: 10143: 10143: 10143: 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbytearray.h" 2 3 4 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qarraydata.h" 1 3 4 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qarraydata.h" 3 4 10143: # 1 "/usr/include/string.h" 1 3 4 10143: # 26 "/usr/include/string.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/libc-header-start.h" 1 3 4 10143: # 27 "/usr/include/string.h" 2 3 4 10143: 10143: extern "C" { 10143: 10143: 10143: 10143: 10143: # 1 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stddef.h" 1 3 4 10143: # 34 "/usr/include/string.h" 2 3 4 10143: # 42 "/usr/include/string.h" 3 4 10143: extern void *memcpy (void *__restrict __dest, const void *__restrict __src, 10143: size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern void *memmove (void *__dest, const void *__src, size_t __n) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: 10143: 10143: 10143: extern void *memccpy (void *__restrict __dest, const void *__restrict __src, 10143: int __c, size_t __n) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: 10143: 10143: extern void *memset (void *__s, int __c, size_t __n) throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int memcmp (const void *__s1, const void *__s2, size_t __n) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: 10143: extern "C++" 10143: { 10143: extern void *memchr (void *__s, int __c, size_t __n) 10143: throw () __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 10143: extern const void *memchr (const void *__s, int __c, size_t __n) 10143: throw () __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) void * 10143: memchr (void *__s, int __c, size_t __n) throw () 10143: { 10143: return __builtin_memchr (__s, __c, __n); 10143: } 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const void * 10143: memchr (const void *__s, int __c, size_t __n) throw () 10143: { 10143: return __builtin_memchr (__s, __c, __n); 10143: } 10143: 10143: } 10143: # 98 "/usr/include/string.h" 3 4 10143: extern "C++" void *rawmemchr (void *__s, int __c) 10143: throw () __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 10143: extern "C++" const void *rawmemchr (const void *__s, int __c) 10143: throw () __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern "C++" void *memrchr (void *__s, int __c, size_t __n) 10143: throw () __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 10143: extern "C++" const void *memrchr (const void *__s, int __c, size_t __n) 10143: throw () __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 10143: # 121 "/usr/include/string.h" 3 4 10143: extern char *strcpy (char *__restrict __dest, const char *__restrict __src) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: extern char *strncpy (char *__restrict __dest, 10143: const char *__restrict __src, size_t __n) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern char *strcat (char *__restrict __dest, const char *__restrict __src) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: extern char *strncat (char *__restrict __dest, const char *__restrict __src, 10143: size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int strcmp (const char *__s1, const char *__s2) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: extern int strncmp (const char *__s1, const char *__s2, size_t __n) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int strcoll (const char *__s1, const char *__s2) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: extern size_t strxfrm (char *__restrict __dest, 10143: const char *__restrict __src, size_t __n) 10143: throw () __attribute__ ((__nonnull__ (2))); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); 10143: 10143: 10143: extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, 10143: locale_t __l) throw () __attribute__ ((__nonnull__ (2, 4))); 10143: 10143: 10143: 10143: 10143: 10143: extern char *strdup (const char *__s) 10143: throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern char *strndup (const char *__string, size_t __n) 10143: throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); 10143: # 203 "/usr/include/string.h" 3 4 10143: extern "C++" 10143: { 10143: extern char *strchr (char *__s, int __c) 10143: throw () __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 10143: extern const char *strchr (const char *__s, int __c) 10143: throw () __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 10143: strchr (char *__s, int __c) throw () 10143: { 10143: return __builtin_strchr (__s, __c); 10143: } 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 10143: strchr (const char *__s, int __c) throw () 10143: { 10143: return __builtin_strchr (__s, __c); 10143: } 10143: 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern "C++" 10143: { 10143: extern char *strrchr (char *__s, int __c) 10143: throw () __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 10143: extern const char *strrchr (const char *__s, int __c) 10143: throw () __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 10143: strrchr (char *__s, int __c) throw () 10143: { 10143: return __builtin_strrchr (__s, __c); 10143: } 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 10143: strrchr (const char *__s, int __c) throw () 10143: { 10143: return __builtin_strrchr (__s, __c); 10143: } 10143: 10143: } 10143: # 260 "/usr/include/string.h" 3 4 10143: extern "C++" char *strchrnul (char *__s, int __c) 10143: throw () __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 10143: extern "C++" const char *strchrnul (const char *__s, int __c) 10143: throw () __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 10143: # 272 "/usr/include/string.h" 3 4 10143: extern size_t strcspn (const char *__s, const char *__reject) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern size_t strspn (const char *__s, const char *__accept) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern "C++" 10143: { 10143: extern char *strpbrk (char *__s, const char *__accept) 10143: throw () __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 10143: extern const char *strpbrk (const char *__s, const char *__accept) 10143: throw () __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 10143: strpbrk (char *__s, const char *__accept) throw () 10143: { 10143: return __builtin_strpbrk (__s, __accept); 10143: } 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 10143: strpbrk (const char *__s, const char *__accept) throw () 10143: { 10143: return __builtin_strpbrk (__s, __accept); 10143: } 10143: 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern "C++" 10143: { 10143: extern char *strstr (char *__haystack, const char *__needle) 10143: throw () __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 10143: extern const char *strstr (const char *__haystack, const char *__needle) 10143: throw () __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 10143: strstr (char *__haystack, const char *__needle) throw () 10143: { 10143: return __builtin_strstr (__haystack, __needle); 10143: } 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 10143: strstr (const char *__haystack, const char *__needle) throw () 10143: { 10143: return __builtin_strstr (__haystack, __needle); 10143: } 10143: 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern char *strtok (char *__restrict __s, const char *__restrict __delim) 10143: throw () __attribute__ ((__nonnull__ (2))); 10143: 10143: 10143: 10143: extern char *__strtok_r (char *__restrict __s, 10143: const char *__restrict __delim, 10143: char **__restrict __save_ptr) 10143: throw () __attribute__ ((__nonnull__ (2, 3))); 10143: 10143: extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, 10143: char **__restrict __save_ptr) 10143: throw () __attribute__ ((__nonnull__ (2, 3))); 10143: 10143: 10143: 10143: 10143: 10143: extern "C++" char *strcasestr (char *__haystack, const char *__needle) 10143: throw () __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 10143: extern "C++" const char *strcasestr (const char *__haystack, 10143: const char *__needle) 10143: throw () __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 10143: # 368 "/usr/include/string.h" 3 4 10143: extern void *memmem (const void *__haystack, size_t __haystacklen, 10143: const void *__needle, size_t __needlelen) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))); 10143: 10143: 10143: 10143: extern void *__mempcpy (void *__restrict __dest, 10143: const void *__restrict __src, size_t __n) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: extern void *mempcpy (void *__restrict __dest, 10143: const void *__restrict __src, size_t __n) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: 10143: 10143: extern size_t strlen (const char *__s) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: extern size_t strnlen (const char *__string, size_t __maxlen) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: extern char *strerror (int __errnum) throw (); 10143: # 420 "/usr/include/string.h" 3 4 10143: extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) 10143: throw () __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: 10143: extern char *strerror_l (int __errnum, locale_t __l) throw (); 10143: 10143: 10143: 10143: # 1 "/usr/include/strings.h" 1 3 4 10143: # 23 "/usr/include/strings.h" 3 4 10143: # 1 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stddef.h" 1 3 4 10143: # 24 "/usr/include/strings.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern "C" { 10143: 10143: 10143: 10143: extern int bcmp (const void *__s1, const void *__s2, size_t __n) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern void bcopy (const void *__src, void *__dest, size_t __n) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern void bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: extern "C++" 10143: { 10143: extern char *index (char *__s, int __c) 10143: throw () __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 10143: extern const char *index (const char *__s, int __c) 10143: throw () __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 10143: index (char *__s, int __c) throw () 10143: { 10143: return __builtin_index (__s, __c); 10143: } 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 10143: index (const char *__s, int __c) throw () 10143: { 10143: return __builtin_index (__s, __c); 10143: } 10143: 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern "C++" 10143: { 10143: extern char *rindex (char *__s, int __c) 10143: throw () __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 10143: extern const char *rindex (const char *__s, int __c) 10143: throw () __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 10143: rindex (char *__s, int __c) throw () 10143: { 10143: return __builtin_rindex (__s, __c); 10143: } 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 10143: rindex (const char *__s, int __c) throw () 10143: { 10143: return __builtin_rindex (__s, __c); 10143: } 10143: 10143: } 10143: # 104 "/usr/include/strings.h" 3 4 10143: extern int ffs (int __i) throw () __attribute__ ((__const__)); 10143: 10143: 10143: 10143: 10143: 10143: extern int ffsl (long int __l) throw () __attribute__ ((__const__)); 10143: __extension__ extern int ffsll (long long int __ll) 10143: throw () __attribute__ ((__const__)); 10143: 10143: 10143: 10143: extern int strcasecmp (const char *__s1, const char *__s2) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); 10143: 10143: 10143: 10143: extern int strncasecmp_l (const char *__s1, const char *__s2, 10143: size_t __n, locale_t __loc) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); 10143: 10143: 10143: } 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/strings_fortified.h" 1 3 4 10143: # 22 "/usr/include/powerpc64le-linux-gnu/bits/strings_fortified.h" 3 4 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void 10143: __attribute__ ((__leaf__)) bcopy (const void *__src, void *__dest, size_t __len) throw () 10143: { 10143: (void) __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); 10143: } 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void 10143: __attribute__ ((__leaf__)) bzero (void *__dest, size_t __len) throw () 10143: { 10143: (void) __builtin___memset_chk (__dest, '\0', __len, __builtin_object_size (__dest, 0)); 10143: } 10143: # 145 "/usr/include/strings.h" 2 3 4 10143: # 432 "/usr/include/string.h" 2 3 4 10143: 10143: 10143: 10143: extern void explicit_bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: extern char *strsep (char **__restrict __stringp, 10143: const char *__restrict __delim) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: 10143: 10143: extern char *strsignal (int __sig) throw (); 10143: 10143: 10143: extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: 10143: extern char *__stpncpy (char *__restrict __dest, 10143: const char *__restrict __src, size_t __n) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: extern char *stpncpy (char *__restrict __dest, 10143: const char *__restrict __src, size_t __n) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: 10143: 10143: extern int strverscmp (const char *__s1, const char *__s2) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern char *strfry (char *__string) throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern void *memfrob (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern "C++" char *basename (char *__filename) 10143: throw () __asm ("basename") __attribute__ ((__nonnull__ (1))); 10143: extern "C++" const char *basename (const char *__filename) 10143: throw () __asm ("basename") __attribute__ ((__nonnull__ (1))); 10143: # 494 "/usr/include/string.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/string_fortified.h" 1 3 4 10143: # 30 "/usr/include/powerpc64le-linux-gnu/bits/string_fortified.h" 3 4 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * 10143: __attribute__ ((__leaf__)) memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) throw () 10143: 10143: { 10143: return __builtin___memcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); 10143: } 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * 10143: __attribute__ ((__leaf__)) memmove (void *__dest, const void *__src, size_t __len) throw () 10143: { 10143: return __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); 10143: } 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * 10143: __attribute__ ((__leaf__)) mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) throw () 10143: 10143: { 10143: return __builtin___mempcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); 10143: } 10143: # 58 "/usr/include/powerpc64le-linux-gnu/bits/string_fortified.h" 3 4 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * 10143: __attribute__ ((__leaf__)) memset (void *__dest, int __ch, size_t __len) throw () 10143: { 10143: # 71 "/usr/include/powerpc64le-linux-gnu/bits/string_fortified.h" 3 4 10143: return __builtin___memset_chk (__dest, __ch, __len, __builtin_object_size (__dest, 0)); 10143: } 10143: 10143: 10143: 10143: 10143: void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void 10143: __attribute__ ((__leaf__)) explicit_bzero (void *__dest, size_t __len) throw () 10143: { 10143: __explicit_bzero_chk (__dest, __len, __builtin_object_size (__dest, 0)); 10143: } 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 10143: __attribute__ ((__leaf__)) strcpy (char *__restrict __dest, const char *__restrict __src) throw () 10143: { 10143: return __builtin___strcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); 10143: } 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 10143: __attribute__ ((__leaf__)) stpcpy (char *__restrict __dest, const char *__restrict __src) throw () 10143: { 10143: return __builtin___stpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); 10143: } 10143: 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 10143: __attribute__ ((__leaf__)) strncpy (char *__restrict __dest, const char *__restrict __src, size_t __len) throw () 10143: 10143: { 10143: return __builtin___strncpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1)); 10143: } 10143: 10143: 10143: extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n, 10143: size_t __destlen) throw (); 10143: extern char *__stpncpy_alias (char *__dest, const char *__src, size_t __n) throw () __asm__ ("" "stpncpy") 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 10143: __attribute__ ((__leaf__)) stpncpy (char *__dest, const char *__src, size_t __n) throw () 10143: { 10143: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1 10143: && (!__builtin_constant_p (__n) || __n > __builtin_object_size (__dest, 2 > 1))) 10143: return __stpncpy_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1)); 10143: return __stpncpy_alias (__dest, __src, __n); 10143: } 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 10143: __attribute__ ((__leaf__)) strcat (char *__restrict __dest, const char *__restrict __src) throw () 10143: { 10143: return __builtin___strcat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); 10143: } 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 10143: __attribute__ ((__leaf__)) strncat (char *__restrict __dest, const char *__restrict __src, size_t __len) throw () 10143: 10143: { 10143: return __builtin___strncat_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1)); 10143: } 10143: # 495 "/usr/include/string.h" 2 3 4 10143: 10143: 10143: 10143: } 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qarraydata.h" 2 3 4 10143: 10143: 10143: 10143: struct __attribute__((visibility("default"))) QArrayData 10143: { 10143: QtPrivate::RefCount ref; 10143: int size; 10143: uint alloc : 31; 10143: uint capacityReserved : 1; 10143: 10143: qptrdiff offset; 10143: 10143: void *data() 10143: { 10143: do { } while ((false) && (size == 0 || offset < 0 || size_t(offset) >= sizeof(QArrayData))) 10143: ; 10143: return reinterpret_cast(this) + offset; 10143: } 10143: 10143: const void *data() const 10143: { 10143: do { } while ((false) && (size == 0 || offset < 0 || size_t(offset) >= sizeof(QArrayData))) 10143: ; 10143: return reinterpret_cast(this) + offset; 10143: } 10143: 10143: 10143: 10143: 10143: bool isMutable() const 10143: { 10143: return alloc != 0; 10143: } 10143: 10143: enum AllocationOption { 10143: CapacityReserved = 0x1, 10143: 10143: Unsharable = 0x2, 10143: 10143: RawData = 0x4, 10143: Grow = 0x8, 10143: 10143: Default = 0 10143: }; 10143: 10143: typedef QFlags AllocationOptions; 10143: 10143: size_t detachCapacity(size_t newSize) const 10143: { 10143: if (capacityReserved && newSize < alloc) 10143: return alloc; 10143: return newSize; 10143: } 10143: 10143: AllocationOptions detachFlags() const 10143: { 10143: AllocationOptions result; 10143: if (capacityReserved) 10143: result |= CapacityReserved; 10143: return result; 10143: } 10143: 10143: AllocationOptions cloneFlags() const 10143: { 10143: AllocationOptions result; 10143: if (capacityReserved) 10143: result |= CapacityReserved; 10143: return result; 10143: } 10143: 10143: [[nodiscard]] static QArrayData *allocate(size_t objectSize, size_t alignment, 10143: size_t capacity, AllocationOptions options = Default) noexcept; 10143: [[nodiscard]] static QArrayData *reallocateUnaligned(QArrayData *data, size_t objectSize, 10143: size_t newCapacity, AllocationOptions newOptions = Default) noexcept; 10143: static void deallocate(QArrayData *data, size_t objectSize, 10143: size_t alignment) noexcept; 10143: 10143: static const QArrayData shared_null[2]; 10143: static QArrayData *sharedNull() noexcept { return const_cast(shared_null); } 10143: }; 10143: 10143: constexpr inline QFlags operator|(QArrayData::AllocationOptions::enum_type f1, QArrayData::AllocationOptions::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(QArrayData::AllocationOptions::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(QArrayData::AllocationOptions::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: 10143: template 10143: struct QTypedArrayData 10143: : QArrayData 10143: { 10143: # 202 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qarraydata.h" 3 4 10143: typedef T* iterator; 10143: typedef const T* const_iterator; 10143: 10143: 10143: T *data() { return static_cast(QArrayData::data()); } 10143: const T *data() const { return static_cast(QArrayData::data()); } 10143: 10143: iterator begin(iterator = iterator()) { return data(); } 10143: iterator end(iterator = iterator()) { return data() + size; } 10143: const_iterator begin(const_iterator = const_iterator()) const { return data(); } 10143: const_iterator end(const_iterator = const_iterator()) const { return data() + size; } 10143: const_iterator constBegin(const_iterator = const_iterator()) const { return data(); } 10143: const_iterator constEnd(const_iterator = const_iterator()) const { return data() + size; } 10143: 10143: class AlignmentDummy { QArrayData header; T data; }; 10143: 10143: [[nodiscard]] static QTypedArrayData *allocate(size_t capacity, 10143: AllocationOptions options = Default) 10143: { 10143: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 10143: return static_cast(QArrayData::allocate(sizeof(T), 10143: alignof(AlignmentDummy), capacity, options)); 10143: } 10143: 10143: static QTypedArrayData *reallocateUnaligned(QTypedArrayData *data, size_t capacity, 10143: AllocationOptions options = Default) 10143: { 10143: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 10143: return static_cast(QArrayData::reallocateUnaligned(data, sizeof(T), 10143: capacity, options)); 10143: } 10143: 10143: static void deallocate(QArrayData *data) 10143: { 10143: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 10143: QArrayData::deallocate(data, sizeof(T), alignof(AlignmentDummy)); 10143: } 10143: 10143: static QTypedArrayData *fromRawData(const T *data, size_t n, 10143: AllocationOptions options = Default) 10143: { 10143: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 10143: QTypedArrayData *result = allocate(0, options | RawData); 10143: if (result) { 10143: do { } while ((false) && (!result->ref.isShared())); 10143: 10143: result->offset = reinterpret_cast(data) 10143: - reinterpret_cast(result); 10143: result->size = int(n); 10143: } 10143: return result; 10143: } 10143: 10143: static QTypedArrayData *sharedNull() noexcept 10143: { 10143: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 10143: return static_cast(QArrayData::sharedNull()); 10143: } 10143: 10143: static QTypedArrayData *sharedEmpty() 10143: { 10143: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 10143: return allocate( 0); 10143: } 10143: 10143: 10143: static QTypedArrayData *unsharableEmpty() 10143: { 10143: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 10143: return allocate( 0, Unsharable); 10143: } 10143: 10143: }; 10143: 10143: template 10143: struct QStaticArrayData 10143: { 10143: QArrayData header; 10143: T data[N]; 10143: }; 10143: 10143: 10143: template 10143: struct QArrayDataPointerRef 10143: { 10143: QTypedArrayData *ptr; 10143: }; 10143: # 369 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qarraydata.h" 3 4 10143: namespace QtPrivate { 10143: struct __attribute__((visibility("default"))) QContainerImplHelper 10143: { 10143: enum CutResult { Null, Empty, Full, Subset }; 10143: static CutResult mid(int originalLength, int *position, int *length); 10143: }; 10143: } 10143: 10143: 10143: # 47 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbytearray.h" 2 3 4 10143: 10143: # 1 "/usr/include/c++/8/stdlib.h" 1 3 4 10143: # 36 "/usr/include/c++/8/stdlib.h" 3 4 10143: # 1 "/usr/include/c++/8/cstdlib" 1 3 4 10143: # 39 "/usr/include/c++/8/cstdlib" 3 4 10143: 10143: # 40 "/usr/include/c++/8/cstdlib" 3 10143: # 37 "/usr/include/c++/8/stdlib.h" 2 3 4 10143: 10143: using std::abort; 10143: using std::atexit; 10143: using std::exit; 10143: 10143: 10143: using std::at_quick_exit; 10143: 10143: 10143: using std::quick_exit; 10143: 10143: 10143: 10143: 10143: using std::div_t; 10143: using std::ldiv_t; 10143: 10143: using std::abs; 10143: using std::atof; 10143: using std::atoi; 10143: using std::atol; 10143: using std::bsearch; 10143: using std::calloc; 10143: using std::div; 10143: using std::free; 10143: using std::getenv; 10143: using std::labs; 10143: using std::ldiv; 10143: using std::malloc; 10143: 10143: using std::mblen; 10143: using std::mbstowcs; 10143: using std::mbtowc; 10143: 10143: using std::qsort; 10143: using std::rand; 10143: using std::realloc; 10143: using std::srand; 10143: using std::strtod; 10143: using std::strtol; 10143: using std::strtoul; 10143: using std::system; 10143: 10143: using std::wcstombs; 10143: using std::wctomb; 10143: # 49 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbytearray.h" 2 3 4 10143: 10143: # 1 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stdarg.h" 1 3 4 10143: # 40 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stdarg.h" 3 4 10143: typedef __builtin_va_list __gnuc_va_list; 10143: # 99 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stdarg.h" 3 4 10143: typedef __gnuc_va_list va_list; 10143: # 51 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbytearray.h" 2 3 4 10143: 10143: # 1 "/usr/include/c++/8/string" 1 3 4 10143: # 36 "/usr/include/c++/8/string" 3 4 10143: 10143: # 37 "/usr/include/c++/8/string" 3 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/stringfwd.h" 1 3 10143: # 37 "/usr/include/c++/8/bits/stringfwd.h" 3 10143: 10143: # 38 "/usr/include/c++/8/bits/stringfwd.h" 3 10143: 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct char_traits; 10143: 10143: template<> struct char_traits; 10143: 10143: 10143: template<> struct char_traits; 10143: 10143: 10143: 10143: 10143: template<> struct char_traits; 10143: template<> struct char_traits; 10143: 10143: 10143: namespace __cxx11 { 10143: 10143: template, 10143: typename _Alloc = allocator<_CharT> > 10143: class basic_string; 10143: 10143: 10143: typedef basic_string string; 10143: 10143: 10143: 10143: typedef basic_string wstring; 10143: 10143: 10143: 10143: 10143: 10143: typedef basic_string u16string; 10143: 10143: 10143: typedef basic_string u32string; 10143: 10143: 10143: } 10143: 10143: 10143: 10143: 10143: } 10143: # 40 "/usr/include/c++/8/string" 2 3 10143: # 1 "/usr/include/c++/8/bits/char_traits.h" 1 3 10143: # 37 "/usr/include/c++/8/bits/char_traits.h" 3 10143: 10143: # 38 "/usr/include/c++/8/bits/char_traits.h" 3 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/postypes.h" 1 3 10143: # 38 "/usr/include/c++/8/bits/postypes.h" 3 10143: 10143: # 39 "/usr/include/c++/8/bits/postypes.h" 3 10143: 10143: # 1 "/usr/include/c++/8/cwchar" 1 3 10143: # 39 "/usr/include/c++/8/cwchar" 3 10143: 10143: # 40 "/usr/include/c++/8/cwchar" 3 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/wchar.h" 1 3 4 10143: # 27 "/usr/include/wchar.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/libc-header-start.h" 1 3 4 10143: # 28 "/usr/include/wchar.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stddef.h" 1 3 4 10143: # 36 "/usr/include/wchar.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/types/wint_t.h" 1 3 4 10143: # 20 "/usr/include/powerpc64le-linux-gnu/bits/types/wint_t.h" 3 4 10143: typedef unsigned int wint_t; 10143: # 42 "/usr/include/wchar.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/types/mbstate_t.h" 1 3 4 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/types/__mbstate_t.h" 1 3 4 10143: # 13 "/usr/include/powerpc64le-linux-gnu/bits/types/__mbstate_t.h" 3 4 10143: typedef struct 10143: { 10143: int __count; 10143: union 10143: { 10143: unsigned int __wch; 10143: char __wchb[4]; 10143: } __value; 10143: } __mbstate_t; 10143: # 5 "/usr/include/powerpc64le-linux-gnu/bits/types/mbstate_t.h" 2 3 4 10143: 10143: typedef __mbstate_t mbstate_t; 10143: # 43 "/usr/include/wchar.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/types/__FILE.h" 1 3 4 10143: 10143: 10143: 10143: struct _IO_FILE; 10143: typedef struct _IO_FILE __FILE; 10143: # 44 "/usr/include/wchar.h" 2 3 4 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/types/FILE.h" 1 3 4 10143: 10143: 10143: 10143: struct _IO_FILE; 10143: 10143: 10143: typedef struct _IO_FILE FILE; 10143: # 47 "/usr/include/wchar.h" 2 3 4 10143: # 79 "/usr/include/wchar.h" 3 4 10143: extern "C" { 10143: 10143: 10143: 10143: struct tm; 10143: 10143: 10143: 10143: extern wchar_t *wcscpy (wchar_t *__restrict __dest, 10143: const wchar_t *__restrict __src) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern wchar_t *wcsncpy (wchar_t *__restrict __dest, 10143: const wchar_t *__restrict __src, size_t __n) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern wchar_t *wcscat (wchar_t *__restrict __dest, 10143: const wchar_t *__restrict __src) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: extern wchar_t *wcsncat (wchar_t *__restrict __dest, 10143: const wchar_t *__restrict __src, size_t __n) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) 10143: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: 10143: extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) throw (); 10143: 10143: 10143: extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2, 10143: size_t __n) throw (); 10143: 10143: 10143: 10143: extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2, 10143: locale_t __loc) throw (); 10143: 10143: extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2, 10143: size_t __n, locale_t __loc) throw (); 10143: 10143: 10143: 10143: 10143: extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) throw (); 10143: 10143: 10143: 10143: extern size_t wcsxfrm (wchar_t *__restrict __s1, 10143: const wchar_t *__restrict __s2, size_t __n) throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2, 10143: locale_t __loc) throw (); 10143: 10143: 10143: 10143: 10143: extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2, 10143: size_t __n, locale_t __loc) throw (); 10143: 10143: 10143: extern wchar_t *wcsdup (const wchar_t *__s) throw () __attribute__ ((__malloc__)); 10143: 10143: 10143: 10143: 10143: extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc) 10143: throw () __asm ("wcschr") __attribute__ ((__pure__)); 10143: extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc) 10143: throw () __asm ("wcschr") __attribute__ ((__pure__)); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc) 10143: throw () __asm ("wcsrchr") __attribute__ ((__pure__)); 10143: extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc) 10143: throw () __asm ("wcsrchr") __attribute__ ((__pure__)); 10143: # 181 "/usr/include/wchar.h" 3 4 10143: extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc) 10143: throw () __attribute__ ((__pure__)); 10143: 10143: 10143: 10143: 10143: extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject) 10143: throw () __attribute__ ((__pure__)); 10143: 10143: 10143: extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept) 10143: throw () __attribute__ ((__pure__)); 10143: 10143: 10143: extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept) 10143: throw () __asm ("wcspbrk") __attribute__ ((__pure__)); 10143: extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs, 10143: const wchar_t *__accept) 10143: throw () __asm ("wcspbrk") __attribute__ ((__pure__)); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle) 10143: throw () __asm ("wcsstr") __attribute__ ((__pure__)); 10143: extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack, 10143: const wchar_t *__needle) 10143: throw () __asm ("wcsstr") __attribute__ ((__pure__)); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern wchar_t *wcstok (wchar_t *__restrict __s, 10143: const wchar_t *__restrict __delim, 10143: wchar_t **__restrict __ptr) throw (); 10143: 10143: 10143: extern size_t wcslen (const wchar_t *__s) throw () __attribute__ ((__pure__)); 10143: 10143: 10143: 10143: 10143: extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle) 10143: throw () __asm ("wcswcs") __attribute__ ((__pure__)); 10143: extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack, 10143: const wchar_t *__needle) 10143: throw () __asm ("wcswcs") __attribute__ ((__pure__)); 10143: # 240 "/usr/include/wchar.h" 3 4 10143: extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen) 10143: throw () __attribute__ ((__pure__)); 10143: 10143: 10143: 10143: 10143: 10143: extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n) 10143: throw () __asm ("wmemchr") __attribute__ ((__pure__)); 10143: extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, 10143: size_t __n) 10143: throw () __asm ("wmemchr") __attribute__ ((__pure__)); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) 10143: throw () __attribute__ ((__pure__)); 10143: 10143: 10143: extern wchar_t *wmemcpy (wchar_t *__restrict __s1, 10143: const wchar_t *__restrict __s2, size_t __n) throw (); 10143: 10143: 10143: 10143: extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) 10143: throw (); 10143: 10143: 10143: extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw (); 10143: 10143: 10143: 10143: 10143: extern wchar_t *wmempcpy (wchar_t *__restrict __s1, 10143: const wchar_t *__restrict __s2, size_t __n) 10143: throw (); 10143: 10143: 10143: 10143: 10143: 10143: extern wint_t btowc (int __c) throw (); 10143: 10143: 10143: 10143: extern int wctob (wint_t __c) throw (); 10143: 10143: 10143: 10143: extern int mbsinit (const mbstate_t *__ps) throw () __attribute__ ((__pure__)); 10143: 10143: 10143: 10143: extern size_t mbrtowc (wchar_t *__restrict __pwc, 10143: const char *__restrict __s, size_t __n, 10143: mbstate_t *__restrict __p) throw (); 10143: 10143: 10143: extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, 10143: mbstate_t *__restrict __ps) throw (); 10143: 10143: 10143: extern size_t __mbrlen (const char *__restrict __s, size_t __n, 10143: mbstate_t *__restrict __ps) throw (); 10143: extern size_t mbrlen (const char *__restrict __s, size_t __n, 10143: mbstate_t *__restrict __ps) throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern wint_t __btowc_alias (int __c) __asm ("btowc"); 10143: extern __inline __attribute__ ((__gnu_inline__)) wint_t 10143: __attribute__ ((__leaf__)) btowc (int __c) throw () 10143: { return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f' 10143: ? (wint_t) __c : __btowc_alias (__c)); } 10143: 10143: extern int __wctob_alias (wint_t __c) __asm ("wctob"); 10143: extern __inline __attribute__ ((__gnu_inline__)) int 10143: __attribute__ ((__leaf__)) wctob (wint_t __wc) throw () 10143: { return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f' 10143: ? (int) __wc : __wctob_alias (__wc)); } 10143: 10143: extern __inline __attribute__ ((__gnu_inline__)) size_t 10143: __attribute__ ((__leaf__)) mbrlen (const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw () 10143: 10143: { return (__ps != __null 10143: ? mbrtowc (__null, __s, __n, __ps) : __mbrlen (__s, __n, __null)); } 10143: 10143: 10143: 10143: 10143: extern size_t mbsrtowcs (wchar_t *__restrict __dst, 10143: const char **__restrict __src, size_t __len, 10143: mbstate_t *__restrict __ps) throw (); 10143: 10143: 10143: 10143: extern size_t wcsrtombs (char *__restrict __dst, 10143: const wchar_t **__restrict __src, size_t __len, 10143: mbstate_t *__restrict __ps) throw (); 10143: 10143: 10143: 10143: 10143: 10143: extern size_t mbsnrtowcs (wchar_t *__restrict __dst, 10143: const char **__restrict __src, size_t __nmc, 10143: size_t __len, mbstate_t *__restrict __ps) throw (); 10143: 10143: 10143: 10143: extern size_t wcsnrtombs (char *__restrict __dst, 10143: const wchar_t **__restrict __src, 10143: size_t __nwc, size_t __len, 10143: mbstate_t *__restrict __ps) throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int wcwidth (wchar_t __c) throw (); 10143: 10143: 10143: 10143: extern int wcswidth (const wchar_t *__s, size_t __n) throw (); 10143: 10143: 10143: 10143: 10143: 10143: extern double wcstod (const wchar_t *__restrict __nptr, 10143: wchar_t **__restrict __endptr) throw (); 10143: 10143: 10143: 10143: extern float wcstof (const wchar_t *__restrict __nptr, 10143: wchar_t **__restrict __endptr) throw (); 10143: extern long double wcstold (const wchar_t *__restrict __nptr, 10143: wchar_t **__restrict __endptr) throw (); 10143: 10143: 10143: 10143: 10143: extern _Float128 wcstof128 (const wchar_t *__restrict __nptr, 10143: wchar_t **__restrict __endptr) throw (); 10143: 10143: 10143: 10143: 10143: 10143: extern long int wcstol (const wchar_t *__restrict __nptr, 10143: wchar_t **__restrict __endptr, int __base) throw (); 10143: 10143: 10143: 10143: extern unsigned long int wcstoul (const wchar_t *__restrict __nptr, 10143: wchar_t **__restrict __endptr, int __base) 10143: throw (); 10143: 10143: 10143: 10143: 10143: __extension__ 10143: extern long long int wcstoll (const wchar_t *__restrict __nptr, 10143: wchar_t **__restrict __endptr, int __base) 10143: throw (); 10143: 10143: 10143: 10143: __extension__ 10143: extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr, 10143: wchar_t **__restrict __endptr, 10143: int __base) throw (); 10143: 10143: 10143: 10143: 10143: 10143: __extension__ 10143: extern long long int wcstoq (const wchar_t *__restrict __nptr, 10143: wchar_t **__restrict __endptr, int __base) 10143: throw (); 10143: 10143: 10143: 10143: __extension__ 10143: extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, 10143: wchar_t **__restrict __endptr, 10143: int __base) throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern long int wcstol_l (const wchar_t *__restrict __nptr, 10143: wchar_t **__restrict __endptr, int __base, 10143: locale_t __loc) throw (); 10143: 10143: extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr, 10143: wchar_t **__restrict __endptr, 10143: int __base, locale_t __loc) throw (); 10143: 10143: __extension__ 10143: extern long long int wcstoll_l (const wchar_t *__restrict __nptr, 10143: wchar_t **__restrict __endptr, 10143: int __base, locale_t __loc) throw (); 10143: 10143: __extension__ 10143: extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, 10143: wchar_t **__restrict __endptr, 10143: int __base, locale_t __loc) 10143: throw (); 10143: 10143: extern double wcstod_l (const wchar_t *__restrict __nptr, 10143: wchar_t **__restrict __endptr, locale_t __loc) 10143: throw (); 10143: 10143: extern float wcstof_l (const wchar_t *__restrict __nptr, 10143: wchar_t **__restrict __endptr, locale_t __loc) 10143: throw (); 10143: 10143: extern long double wcstold_l (const wchar_t *__restrict __nptr, 10143: wchar_t **__restrict __endptr, 10143: locale_t __loc) throw (); 10143: 10143: 10143: extern _Float128 wcstof128_l (const wchar_t *__restrict __nptr, 10143: wchar_t **__restrict __endptr, 10143: locale_t __loc) throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern wchar_t *wcpcpy (wchar_t *__restrict __dest, 10143: const wchar_t *__restrict __src) throw (); 10143: 10143: 10143: 10143: extern wchar_t *wcpncpy (wchar_t *__restrict __dest, 10143: const wchar_t *__restrict __src, size_t __n) 10143: throw (); 10143: # 500 "/usr/include/wchar.h" 3 4 10143: extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) throw (); 10143: 10143: 10143: 10143: 10143: 10143: extern int fwide (__FILE *__fp, int __mode) throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int fwprintf (__FILE *__restrict __stream, 10143: const wchar_t *__restrict __format, ...) 10143: ; 10143: 10143: 10143: 10143: 10143: extern int wprintf (const wchar_t *__restrict __format, ...) 10143: ; 10143: 10143: extern int swprintf (wchar_t *__restrict __s, size_t __n, 10143: const wchar_t *__restrict __format, ...) 10143: throw () ; 10143: 10143: 10143: 10143: 10143: 10143: extern int vfwprintf (__FILE *__restrict __s, 10143: const wchar_t *__restrict __format, 10143: __gnuc_va_list __arg) 10143: ; 10143: 10143: 10143: 10143: 10143: extern int vwprintf (const wchar_t *__restrict __format, 10143: __gnuc_va_list __arg) 10143: ; 10143: 10143: 10143: extern int vswprintf (wchar_t *__restrict __s, size_t __n, 10143: const wchar_t *__restrict __format, 10143: __gnuc_va_list __arg) 10143: throw () ; 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int fwscanf (__FILE *__restrict __stream, 10143: const wchar_t *__restrict __format, ...) 10143: ; 10143: 10143: 10143: 10143: 10143: extern int wscanf (const wchar_t *__restrict __format, ...) 10143: ; 10143: 10143: extern int swscanf (const wchar_t *__restrict __s, 10143: const wchar_t *__restrict __format, ...) 10143: throw () ; 10143: # 606 "/usr/include/wchar.h" 3 4 10143: extern int vfwscanf (__FILE *__restrict __s, 10143: const wchar_t *__restrict __format, 10143: __gnuc_va_list __arg) 10143: ; 10143: 10143: 10143: 10143: 10143: extern int vwscanf (const wchar_t *__restrict __format, 10143: __gnuc_va_list __arg) 10143: ; 10143: 10143: extern int vswscanf (const wchar_t *__restrict __s, 10143: const wchar_t *__restrict __format, 10143: __gnuc_va_list __arg) 10143: throw () ; 10143: # 660 "/usr/include/wchar.h" 3 4 10143: extern wint_t fgetwc (__FILE *__stream); 10143: extern wint_t getwc (__FILE *__stream); 10143: 10143: 10143: 10143: 10143: 10143: extern wint_t getwchar (void); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern wint_t fputwc (wchar_t __wc, __FILE *__stream); 10143: extern wint_t putwc (wchar_t __wc, __FILE *__stream); 10143: 10143: 10143: 10143: 10143: 10143: extern wint_t putwchar (wchar_t __wc); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, 10143: __FILE *__restrict __stream); 10143: 10143: 10143: 10143: 10143: 10143: extern int fputws (const wchar_t *__restrict __ws, 10143: __FILE *__restrict __stream); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern wint_t ungetwc (wint_t __wc, __FILE *__stream); 10143: # 715 "/usr/include/wchar.h" 3 4 10143: extern wint_t getwc_unlocked (__FILE *__stream); 10143: extern wint_t getwchar_unlocked (void); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern wint_t fgetwc_unlocked (__FILE *__stream); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); 10143: # 741 "/usr/include/wchar.h" 3 4 10143: extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); 10143: extern wint_t putwchar_unlocked (wchar_t __wc); 10143: # 751 "/usr/include/wchar.h" 3 4 10143: extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, 10143: __FILE *__restrict __stream); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int fputws_unlocked (const wchar_t *__restrict __ws, 10143: __FILE *__restrict __stream); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, 10143: const wchar_t *__restrict __format, 10143: const struct tm *__restrict __tp) throw (); 10143: 10143: 10143: 10143: 10143: extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, 10143: const wchar_t *__restrict __format, 10143: const struct tm *__restrict __tp, 10143: locale_t __loc) throw (); 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/wchar2.h" 1 3 4 10143: # 24 "/usr/include/powerpc64le-linux-gnu/bits/wchar2.h" 3 4 10143: extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1, 10143: const wchar_t *__restrict __s2, size_t __n, 10143: size_t __ns1) throw (); 10143: extern wchar_t *__wmemcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () __asm__ ("" "wmemcpy") 10143: 10143: 10143: ; 10143: extern wchar_t *__wmemcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) throw () __asm__ ("" "__wmemcpy_chk") 10143: 10143: 10143: 10143: __attribute__((__warning__ ("wmemcpy called with length bigger than size of destination " "buffer"))) 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 10143: __attribute__ ((__leaf__)) wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () 10143: 10143: { 10143: if (__builtin_object_size (__s1, 0) != (size_t) -1) 10143: { 10143: if (!__builtin_constant_p (__n)) 10143: return __wmemcpy_chk (__s1, __s2, __n, 10143: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 10143: 10143: if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) 10143: return __wmemcpy_chk_warn (__s1, __s2, __n, 10143: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 10143: } 10143: return __wmemcpy_alias (__s1, __s2, __n); 10143: } 10143: 10143: 10143: extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2, 10143: size_t __n, size_t __ns1) throw (); 10143: extern wchar_t *__wmemmove_alias (wchar_t *__s1, const wchar_t *__s2, size_t __n) throw () __asm__ ("" "wmemmove") 10143: 10143: ; 10143: extern wchar_t *__wmemmove_chk_warn (wchar_t *__s1, const wchar_t *__s2, size_t __n, size_t __ns1) throw () __asm__ ("" "__wmemmove_chk") 10143: 10143: 10143: __attribute__((__warning__ ("wmemmove called with length bigger than size of destination " "buffer"))) 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 10143: __attribute__ ((__leaf__)) wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) throw () 10143: { 10143: if (__builtin_object_size (__s1, 0) != (size_t) -1) 10143: { 10143: if (!__builtin_constant_p (__n)) 10143: return __wmemmove_chk (__s1, __s2, __n, 10143: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 10143: 10143: if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) 10143: return __wmemmove_chk_warn (__s1, __s2, __n, 10143: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 10143: } 10143: return __wmemmove_alias (__s1, __s2, __n); 10143: } 10143: 10143: 10143: 10143: extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1, 10143: const wchar_t *__restrict __s2, size_t __n, 10143: size_t __ns1) throw (); 10143: extern wchar_t *__wmempcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () __asm__ ("" "wmempcpy") 10143: 10143: 10143: ; 10143: extern wchar_t *__wmempcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) throw () __asm__ ("" "__wmempcpy_chk") 10143: 10143: 10143: 10143: __attribute__((__warning__ ("wmempcpy called with length bigger than size of destination " "buffer"))) 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 10143: __attribute__ ((__leaf__)) wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () 10143: 10143: { 10143: if (__builtin_object_size (__s1, 0) != (size_t) -1) 10143: { 10143: if (!__builtin_constant_p (__n)) 10143: return __wmempcpy_chk (__s1, __s2, __n, 10143: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 10143: 10143: if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) 10143: return __wmempcpy_chk_warn (__s1, __s2, __n, 10143: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 10143: } 10143: return __wmempcpy_alias (__s1, __s2, __n); 10143: } 10143: 10143: 10143: 10143: extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n, 10143: size_t __ns) throw (); 10143: extern wchar_t *__wmemset_alias (wchar_t *__s, wchar_t __c, size_t __n) throw () __asm__ ("" "wmemset") 10143: ; 10143: extern wchar_t *__wmemset_chk_warn (wchar_t *__s, wchar_t __c, size_t __n, size_t __ns) throw () __asm__ ("" "__wmemset_chk") 10143: 10143: 10143: __attribute__((__warning__ ("wmemset called with length bigger than size of destination " "buffer"))) 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 10143: __attribute__ ((__leaf__)) wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw () 10143: { 10143: if (__builtin_object_size (__s, 0) != (size_t) -1) 10143: { 10143: if (!__builtin_constant_p (__n)) 10143: return __wmemset_chk (__s, __c, __n, __builtin_object_size (__s, 0) / sizeof (wchar_t)); 10143: 10143: if (__n > __builtin_object_size (__s, 0) / sizeof (wchar_t)) 10143: return __wmemset_chk_warn (__s, __c, __n, 10143: __builtin_object_size (__s, 0) / sizeof (wchar_t)); 10143: } 10143: return __wmemset_alias (__s, __c, __n); 10143: } 10143: 10143: 10143: extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest, 10143: const wchar_t *__restrict __src, 10143: size_t __n) throw (); 10143: extern wchar_t *__wcscpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () __asm__ ("" "wcscpy") 10143: 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 10143: __attribute__ ((__leaf__)) wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () 10143: { 10143: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 10143: return __wcscpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 10143: return __wcscpy_alias (__dest, __src); 10143: } 10143: 10143: 10143: extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest, 10143: const wchar_t *__restrict __src, 10143: size_t __destlen) throw (); 10143: extern wchar_t *__wcpcpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () __asm__ ("" "wcpcpy") 10143: 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 10143: __attribute__ ((__leaf__)) wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () 10143: { 10143: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 10143: return __wcpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 10143: return __wcpcpy_alias (__dest, __src); 10143: } 10143: 10143: 10143: extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest, 10143: const wchar_t *__restrict __src, size_t __n, 10143: size_t __destlen) throw (); 10143: extern wchar_t *__wcsncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcsncpy") 10143: 10143: 10143: ; 10143: extern wchar_t *__wcsncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) throw () __asm__ ("" "__wcsncpy_chk") 10143: 10143: 10143: 10143: __attribute__((__warning__ ("wcsncpy called with length bigger than size of destination " "buffer"))) 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 10143: __attribute__ ((__leaf__)) wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () 10143: 10143: { 10143: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 10143: { 10143: if (!__builtin_constant_p (__n)) 10143: return __wcsncpy_chk (__dest, __src, __n, 10143: __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 10143: if (__n > __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)) 10143: return __wcsncpy_chk_warn (__dest, __src, __n, 10143: __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 10143: } 10143: return __wcsncpy_alias (__dest, __src, __n); 10143: } 10143: 10143: 10143: extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest, 10143: const wchar_t *__restrict __src, size_t __n, 10143: size_t __destlen) throw (); 10143: extern wchar_t *__wcpncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcpncpy") 10143: 10143: 10143: ; 10143: extern wchar_t *__wcpncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) throw () __asm__ ("" "__wcpncpy_chk") 10143: 10143: 10143: 10143: __attribute__((__warning__ ("wcpncpy called with length bigger than size of destination " "buffer"))) 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 10143: __attribute__ ((__leaf__)) wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () 10143: 10143: { 10143: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 10143: { 10143: if (!__builtin_constant_p (__n)) 10143: return __wcpncpy_chk (__dest, __src, __n, 10143: __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 10143: if (__n > __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)) 10143: return __wcpncpy_chk_warn (__dest, __src, __n, 10143: __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 10143: } 10143: return __wcpncpy_alias (__dest, __src, __n); 10143: } 10143: 10143: 10143: extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest, 10143: const wchar_t *__restrict __src, 10143: size_t __destlen) throw (); 10143: extern wchar_t *__wcscat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () __asm__ ("" "wcscat") 10143: 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 10143: __attribute__ ((__leaf__)) wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () 10143: { 10143: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 10143: return __wcscat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 10143: return __wcscat_alias (__dest, __src); 10143: } 10143: 10143: 10143: extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest, 10143: const wchar_t *__restrict __src, 10143: size_t __n, size_t __destlen) throw (); 10143: extern wchar_t *__wcsncat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcsncat") 10143: 10143: 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 10143: __attribute__ ((__leaf__)) wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () 10143: 10143: { 10143: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 10143: return __wcsncat_chk (__dest, __src, __n, 10143: __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 10143: return __wcsncat_alias (__dest, __src, __n); 10143: } 10143: 10143: 10143: extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n, 10143: int __flag, size_t __s_len, 10143: const wchar_t *__restrict __format, ...) 10143: throw () ; 10143: 10143: extern int __swprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) throw () __asm__ ("" "swprintf") 10143: 10143: 10143: ; 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: __attribute__ ((__leaf__)) swprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) throw () 10143: 10143: { 10143: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 || 2 > 1) 10143: return __swprintf_chk (__s, __n, 2 - 1, 10143: __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), 10143: __fmt, __builtin_va_arg_pack ()); 10143: return __swprintf_alias (__s, __n, __fmt, __builtin_va_arg_pack ()); 10143: } 10143: # 303 "/usr/include/powerpc64le-linux-gnu/bits/wchar2.h" 3 4 10143: extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n, 10143: int __flag, size_t __s_len, 10143: const wchar_t *__restrict __format, 10143: __gnuc_va_list __arg) 10143: throw () ; 10143: 10143: extern int __vswprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) throw () __asm__ ("" "vswprintf") 10143: 10143: 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: __attribute__ ((__leaf__)) vswprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) throw () 10143: 10143: { 10143: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 || 2 > 1) 10143: return __vswprintf_chk (__s, __n, 2 - 1, 10143: __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __fmt, __ap); 10143: return __vswprintf_alias (__s, __n, __fmt, __ap); 10143: } 10143: 10143: 10143: 10143: 10143: extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag, 10143: const wchar_t *__restrict __format, ...); 10143: extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format, 10143: ...); 10143: extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag, 10143: const wchar_t *__restrict __format, 10143: __gnuc_va_list __ap); 10143: extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format, 10143: __gnuc_va_list __ap); 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: wprintf (const wchar_t *__restrict __fmt, ...) 10143: { 10143: return __wprintf_chk (2 - 1, __fmt, __builtin_va_arg_pack ()); 10143: } 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: fwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __fmt, ...) 10143: { 10143: return __fwprintf_chk (__stream, 2 - 1, __fmt, 10143: __builtin_va_arg_pack ()); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: vwprintf (const wchar_t *__restrict __fmt, __gnuc_va_list __ap) 10143: { 10143: return __vwprintf_chk (2 - 1, __fmt, __ap); 10143: } 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: vfwprintf (__FILE *__restrict __stream, 10143: const wchar_t *__restrict __fmt, __gnuc_va_list __ap) 10143: { 10143: return __vfwprintf_chk (__stream, 2 - 1, __fmt, __ap); 10143: } 10143: 10143: 10143: 10143: extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n, 10143: __FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 10143: extern wchar_t *__fgetws_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws") 10143: 10143: __attribute__ ((__warn_unused_result__)); 10143: extern wchar_t *__fgetws_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_chk") 10143: 10143: 10143: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws called with bigger size than length " "of destination buffer"))) 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t * 10143: fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) 10143: { 10143: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) 10143: { 10143: if (!__builtin_constant_p (__n) || __n <= 0) 10143: return __fgetws_chk (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), 10143: __n, __stream); 10143: 10143: if ((size_t) __n > __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t)) 10143: return __fgetws_chk_warn (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), 10143: __n, __stream); 10143: } 10143: return __fgetws_alias (__s, __n, __stream); 10143: } 10143: 10143: 10143: extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size, 10143: int __n, __FILE *__restrict __stream) 10143: __attribute__ ((__warn_unused_result__)); 10143: extern wchar_t *__fgetws_unlocked_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws_unlocked") 10143: 10143: 10143: __attribute__ ((__warn_unused_result__)); 10143: extern wchar_t *__fgetws_unlocked_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_unlocked_chk") 10143: 10143: 10143: 10143: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws_unlocked called with bigger size than length " "of destination buffer"))) 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t * 10143: fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) 10143: { 10143: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) 10143: { 10143: if (!__builtin_constant_p (__n) || __n <= 0) 10143: return __fgetws_unlocked_chk (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), 10143: __n, __stream); 10143: 10143: if ((size_t) __n > __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t)) 10143: return __fgetws_unlocked_chk_warn (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), 10143: __n, __stream); 10143: } 10143: return __fgetws_unlocked_alias (__s, __n, __stream); 10143: } 10143: 10143: 10143: 10143: extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar, 10143: mbstate_t *__restrict __p, 10143: size_t __buflen) throw () __attribute__ ((__warn_unused_result__)); 10143: extern size_t __wcrtomb_alias (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) throw () __asm__ ("" "wcrtomb") 10143: 10143: __attribute__ ((__warn_unused_result__)); 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t 10143: __attribute__ ((__leaf__)) wcrtomb (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) throw () 10143: 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1)) 10143: return __wcrtomb_chk (__s, __wchar, __ps, __builtin_object_size (__s, 2 > 1)); 10143: return __wcrtomb_alias (__s, __wchar, __ps); 10143: } 10143: 10143: 10143: extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst, 10143: const char **__restrict __src, 10143: size_t __len, mbstate_t *__restrict __ps, 10143: size_t __dstlen) throw (); 10143: extern size_t __mbsrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "mbsrtowcs") 10143: 10143: 10143: 10143: ; 10143: extern size_t __mbsrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw () __asm__ ("" "__mbsrtowcs_chk") 10143: 10143: 10143: 10143: 10143: __attribute__((__warning__ ("mbsrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 10143: __attribute__ ((__leaf__)) mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () 10143: 10143: { 10143: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 10143: { 10143: if (!__builtin_constant_p (__len)) 10143: return __mbsrtowcs_chk (__dst, __src, __len, __ps, 10143: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 10143: 10143: if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) 10143: return __mbsrtowcs_chk_warn (__dst, __src, __len, __ps, 10143: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 10143: } 10143: return __mbsrtowcs_alias (__dst, __src, __len, __ps); 10143: } 10143: 10143: 10143: extern size_t __wcsrtombs_chk (char *__restrict __dst, 10143: const wchar_t **__restrict __src, 10143: size_t __len, mbstate_t *__restrict __ps, 10143: size_t __dstlen) throw (); 10143: extern size_t __wcsrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "wcsrtombs") 10143: 10143: 10143: 10143: ; 10143: extern size_t __wcsrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw () __asm__ ("" "__wcsrtombs_chk") 10143: 10143: 10143: 10143: 10143: __attribute__((__warning__ ("wcsrtombs called with dst buffer smaller than len"))); 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 10143: __attribute__ ((__leaf__)) wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () 10143: 10143: { 10143: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 10143: { 10143: if (!__builtin_constant_p (__len)) 10143: return __wcsrtombs_chk (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1)); 10143: 10143: if (__len > __builtin_object_size (__dst, 2 > 1)) 10143: return __wcsrtombs_chk_warn (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1)); 10143: } 10143: return __wcsrtombs_alias (__dst, __src, __len, __ps); 10143: } 10143: 10143: 10143: 10143: extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst, 10143: const char **__restrict __src, size_t __nmc, 10143: size_t __len, mbstate_t *__restrict __ps, 10143: size_t __dstlen) throw (); 10143: extern size_t __mbsnrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "mbsnrtowcs") 10143: 10143: 10143: 10143: ; 10143: extern size_t __mbsnrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw () __asm__ ("" "__mbsnrtowcs_chk") 10143: 10143: 10143: 10143: 10143: __attribute__((__warning__ ("mbsnrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 10143: __attribute__ ((__leaf__)) mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) throw () 10143: 10143: { 10143: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 10143: { 10143: if (!__builtin_constant_p (__len)) 10143: return __mbsnrtowcs_chk (__dst, __src, __nmc, __len, __ps, 10143: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 10143: 10143: if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) 10143: return __mbsnrtowcs_chk_warn (__dst, __src, __nmc, __len, __ps, 10143: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 10143: } 10143: return __mbsnrtowcs_alias (__dst, __src, __nmc, __len, __ps); 10143: } 10143: 10143: 10143: extern size_t __wcsnrtombs_chk (char *__restrict __dst, 10143: const wchar_t **__restrict __src, 10143: size_t __nwc, size_t __len, 10143: mbstate_t *__restrict __ps, size_t __dstlen) 10143: throw (); 10143: extern size_t __wcsnrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "wcsnrtombs") 10143: 10143: 10143: 10143: ; 10143: extern size_t __wcsnrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw () __asm__ ("" "__wcsnrtombs_chk") 10143: 10143: 10143: 10143: 10143: 10143: __attribute__((__warning__ ("wcsnrtombs called with dst buffer smaller than len"))); 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 10143: __attribute__ ((__leaf__)) wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) throw () 10143: 10143: { 10143: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 10143: { 10143: if (!__builtin_constant_p (__len)) 10143: return __wcsnrtombs_chk (__dst, __src, __nwc, __len, __ps, 10143: __builtin_object_size (__dst, 2 > 1)); 10143: 10143: if (__len > __builtin_object_size (__dst, 2 > 1)) 10143: return __wcsnrtombs_chk_warn (__dst, __src, __nwc, __len, __ps, 10143: __builtin_object_size (__dst, 2 > 1)); 10143: } 10143: return __wcsnrtombs_alias (__dst, __src, __nwc, __len, __ps); 10143: } 10143: # 784 "/usr/include/wchar.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: } 10143: # 45 "/usr/include/c++/8/cwchar" 2 3 10143: # 62 "/usr/include/c++/8/cwchar" 3 10143: namespace std 10143: { 10143: using ::mbstate_t; 10143: } 10143: # 135 "/usr/include/c++/8/cwchar" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: using ::wint_t; 10143: 10143: using ::btowc; 10143: using ::fgetwc; 10143: using ::fgetws; 10143: using ::fputwc; 10143: using ::fputws; 10143: using ::fwide; 10143: using ::fwprintf; 10143: using ::fwscanf; 10143: using ::getwc; 10143: using ::getwchar; 10143: using ::mbrlen; 10143: using ::mbrtowc; 10143: using ::mbsinit; 10143: using ::mbsrtowcs; 10143: using ::putwc; 10143: using ::putwchar; 10143: 10143: using ::swprintf; 10143: 10143: using ::swscanf; 10143: using ::ungetwc; 10143: using ::vfwprintf; 10143: 10143: using ::vfwscanf; 10143: 10143: 10143: using ::vswprintf; 10143: 10143: 10143: using ::vswscanf; 10143: 10143: using ::vwprintf; 10143: 10143: using ::vwscanf; 10143: 10143: using ::wcrtomb; 10143: using ::wcscat; 10143: using ::wcscmp; 10143: using ::wcscoll; 10143: using ::wcscpy; 10143: using ::wcscspn; 10143: using ::wcsftime; 10143: using ::wcslen; 10143: using ::wcsncat; 10143: using ::wcsncmp; 10143: using ::wcsncpy; 10143: using ::wcsrtombs; 10143: using ::wcsspn; 10143: using ::wcstod; 10143: 10143: using ::wcstof; 10143: 10143: using ::wcstok; 10143: using ::wcstol; 10143: using ::wcstoul; 10143: using ::wcsxfrm; 10143: using ::wctob; 10143: using ::wmemcmp; 10143: using ::wmemcpy; 10143: using ::wmemmove; 10143: using ::wmemset; 10143: using ::wprintf; 10143: using ::wscanf; 10143: using ::wcschr; 10143: using ::wcspbrk; 10143: using ::wcsrchr; 10143: using ::wcsstr; 10143: using ::wmemchr; 10143: # 232 "/usr/include/c++/8/cwchar" 3 10143: 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: namespace __gnu_cxx 10143: { 10143: 10143: 10143: 10143: 10143: 10143: using ::wcstold; 10143: # 257 "/usr/include/c++/8/cwchar" 3 10143: using ::wcstoll; 10143: using ::wcstoull; 10143: 10143: } 10143: 10143: namespace std 10143: { 10143: using ::__gnu_cxx::wcstold; 10143: using ::__gnu_cxx::wcstoll; 10143: using ::__gnu_cxx::wcstoull; 10143: } 10143: # 277 "/usr/include/c++/8/cwchar" 3 10143: namespace std 10143: { 10143: 10143: using std::wcstof; 10143: 10143: 10143: using std::vfwscanf; 10143: 10143: 10143: using std::vswscanf; 10143: 10143: 10143: using std::vwscanf; 10143: 10143: 10143: 10143: using std::wcstold; 10143: using std::wcstoll; 10143: using std::wcstoull; 10143: 10143: } 10143: # 41 "/usr/include/c++/8/bits/postypes.h" 2 3 10143: # 68 "/usr/include/c++/8/bits/postypes.h" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 88 "/usr/include/c++/8/bits/postypes.h" 3 10143: typedef long streamoff; 10143: # 98 "/usr/include/c++/8/bits/postypes.h" 3 10143: typedef ptrdiff_t streamsize; 10143: # 111 "/usr/include/c++/8/bits/postypes.h" 3 10143: template 10143: class fpos 10143: { 10143: private: 10143: streamoff _M_off; 10143: _StateT _M_state; 10143: 10143: public: 10143: 10143: 10143: 10143: 10143: fpos() 10143: : _M_off(0), _M_state() { } 10143: # 133 "/usr/include/c++/8/bits/postypes.h" 3 10143: fpos(streamoff __off) 10143: : _M_off(__off), _M_state() { } 10143: 10143: 10143: operator streamoff() const { return _M_off; } 10143: 10143: 10143: void 10143: state(_StateT __st) 10143: { _M_state = __st; } 10143: 10143: 10143: _StateT 10143: state() const 10143: { return _M_state; } 10143: 10143: 10143: 10143: 10143: 10143: fpos& 10143: operator+=(streamoff __off) 10143: { 10143: _M_off += __off; 10143: return *this; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: fpos& 10143: operator-=(streamoff __off) 10143: { 10143: _M_off -= __off; 10143: return *this; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: fpos 10143: operator+(streamoff __off) const 10143: { 10143: fpos __pos(*this); 10143: __pos += __off; 10143: return __pos; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: fpos 10143: operator-(streamoff __off) const 10143: { 10143: fpos __pos(*this); 10143: __pos -= __off; 10143: return __pos; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: streamoff 10143: operator-(const fpos& __other) const 10143: { return _M_off - __other._M_off; } 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline bool 10143: operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) 10143: { return streamoff(__lhs) == streamoff(__rhs); } 10143: 10143: template 10143: inline bool 10143: operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) 10143: { return streamoff(__lhs) != streamoff(__rhs); } 10143: 10143: 10143: 10143: 10143: 10143: typedef fpos streampos; 10143: 10143: typedef fpos wstreampos; 10143: 10143: 10143: 10143: typedef fpos u16streampos; 10143: 10143: typedef fpos u32streampos; 10143: 10143: 10143: 10143: } 10143: # 41 "/usr/include/c++/8/bits/char_traits.h" 2 3 10143: # 1 "/usr/include/c++/8/cwchar" 1 3 10143: # 39 "/usr/include/c++/8/cwchar" 3 10143: 10143: # 40 "/usr/include/c++/8/cwchar" 3 10143: # 42 "/usr/include/c++/8/bits/char_traits.h" 2 3 10143: 10143: 10143: 10143: 10143: 10143: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 61 "/usr/include/c++/8/bits/char_traits.h" 3 10143: template 10143: struct _Char_types 10143: { 10143: typedef unsigned long int_type; 10143: typedef std::streampos pos_type; 10143: typedef std::streamoff off_type; 10143: typedef std::mbstate_t state_type; 10143: }; 10143: # 86 "/usr/include/c++/8/bits/char_traits.h" 3 10143: template 10143: struct char_traits 10143: { 10143: typedef _CharT char_type; 10143: typedef typename _Char_types<_CharT>::int_type int_type; 10143: typedef typename _Char_types<_CharT>::pos_type pos_type; 10143: typedef typename _Char_types<_CharT>::off_type off_type; 10143: typedef typename _Char_types<_CharT>::state_type state_type; 10143: 10143: static void 10143: assign(char_type& __c1, const char_type& __c2) 10143: { __c1 = __c2; } 10143: 10143: static constexpr bool 10143: eq(const char_type& __c1, const char_type& __c2) 10143: { return __c1 == __c2; } 10143: 10143: static constexpr bool 10143: lt(const char_type& __c1, const char_type& __c2) 10143: { return __c1 < __c2; } 10143: 10143: static int 10143: compare(const char_type* __s1, const char_type* __s2, std::size_t __n); 10143: 10143: static std::size_t 10143: length(const char_type* __s); 10143: 10143: static const char_type* 10143: find(const char_type* __s, std::size_t __n, const char_type& __a); 10143: 10143: static char_type* 10143: move(char_type* __s1, const char_type* __s2, std::size_t __n); 10143: 10143: static char_type* 10143: copy(char_type* __s1, const char_type* __s2, std::size_t __n); 10143: 10143: static char_type* 10143: assign(char_type* __s, std::size_t __n, char_type __a); 10143: 10143: static constexpr char_type 10143: to_char_type(const int_type& __c) 10143: { return static_cast(__c); } 10143: 10143: static constexpr int_type 10143: to_int_type(const char_type& __c) 10143: { return static_cast(__c); } 10143: 10143: static constexpr bool 10143: eq_int_type(const int_type& __c1, const int_type& __c2) 10143: { return __c1 == __c2; } 10143: 10143: static constexpr int_type 10143: eof() 10143: { return static_cast(-1); } 10143: 10143: static constexpr int_type 10143: not_eof(const int_type& __c) 10143: { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); } 10143: }; 10143: 10143: 10143: 10143: template 10143: int 10143: char_traits<_CharT>:: 10143: compare(const char_type* __s1, const char_type* __s2, std::size_t __n) 10143: { 10143: for (std::size_t __i = 0; __i < __n; ++__i) 10143: if (lt(__s1[__i], __s2[__i])) 10143: return -1; 10143: else if (lt(__s2[__i], __s1[__i])) 10143: return 1; 10143: return 0; 10143: } 10143: 10143: template 10143: std::size_t 10143: char_traits<_CharT>:: 10143: length(const char_type* __p) 10143: { 10143: std::size_t __i = 0; 10143: while (!eq(__p[__i], char_type())) 10143: ++__i; 10143: return __i; 10143: } 10143: 10143: template 10143: const typename char_traits<_CharT>::char_type* 10143: char_traits<_CharT>:: 10143: find(const char_type* __s, std::size_t __n, const char_type& __a) 10143: { 10143: for (std::size_t __i = 0; __i < __n; ++__i) 10143: if (eq(__s[__i], __a)) 10143: return __s + __i; 10143: return 0; 10143: } 10143: 10143: template 10143: typename char_traits<_CharT>::char_type* 10143: char_traits<_CharT>:: 10143: move(char_type* __s1, const char_type* __s2, std::size_t __n) 10143: { 10143: return static_cast<_CharT*>(__builtin_memmove(__s1, __s2, 10143: __n * sizeof(char_type))); 10143: } 10143: 10143: template 10143: typename char_traits<_CharT>::char_type* 10143: char_traits<_CharT>:: 10143: copy(char_type* __s1, const char_type* __s2, std::size_t __n) 10143: { 10143: 10143: std::copy(__s2, __s2 + __n, __s1); 10143: return __s1; 10143: } 10143: 10143: template 10143: typename char_traits<_CharT>::char_type* 10143: char_traits<_CharT>:: 10143: assign(char_type* __s, std::size_t __n, char_type __a) 10143: { 10143: 10143: std::fill_n(__s, __n, __a); 10143: return __s; 10143: } 10143: 10143: 10143: } 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 268 "/usr/include/c++/8/bits/char_traits.h" 3 10143: template 10143: struct char_traits : public __gnu_cxx::char_traits<_CharT> 10143: { }; 10143: 10143: 10143: 10143: template<> 10143: struct char_traits 10143: { 10143: typedef char char_type; 10143: typedef int int_type; 10143: typedef streampos pos_type; 10143: typedef streamoff off_type; 10143: typedef mbstate_t state_type; 10143: 10143: static void 10143: assign(char_type& __c1, const char_type& __c2) noexcept 10143: { __c1 = __c2; } 10143: 10143: static constexpr bool 10143: eq(const char_type& __c1, const char_type& __c2) noexcept 10143: { return __c1 == __c2; } 10143: 10143: static constexpr bool 10143: lt(const char_type& __c1, const char_type& __c2) noexcept 10143: { 10143: 10143: return (static_cast(__c1) 10143: < static_cast(__c2)); 10143: } 10143: 10143: static int 10143: compare(const char_type* __s1, const char_type* __s2, size_t __n) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: if (__n == 0) 10143: return 0; 10143: return __builtin_memcmp(__s1, __s2, __n); 10143: } 10143: 10143: static size_t 10143: length(const char_type* __s) 10143: { 10143: 10143: 10143: 10143: 10143: return __builtin_strlen(__s); 10143: } 10143: 10143: static const char_type* 10143: find(const char_type* __s, size_t __n, const char_type& __a) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: if (__n == 0) 10143: return 0; 10143: return static_cast(__builtin_memchr(__s, __a, __n)); 10143: } 10143: 10143: static char_type* 10143: move(char_type* __s1, const char_type* __s2, size_t __n) 10143: { 10143: if (__n == 0) 10143: return __s1; 10143: return static_cast(__builtin_memmove(__s1, __s2, __n)); 10143: } 10143: 10143: static char_type* 10143: copy(char_type* __s1, const char_type* __s2, size_t __n) 10143: { 10143: if (__n == 0) 10143: return __s1; 10143: return static_cast(__builtin_memcpy(__s1, __s2, __n)); 10143: } 10143: 10143: static char_type* 10143: assign(char_type* __s, size_t __n, char_type __a) 10143: { 10143: if (__n == 0) 10143: return __s; 10143: return static_cast(__builtin_memset(__s, __a, __n)); 10143: } 10143: 10143: static constexpr char_type 10143: to_char_type(const int_type& __c) noexcept 10143: { return static_cast(__c); } 10143: 10143: 10143: 10143: static constexpr int_type 10143: to_int_type(const char_type& __c) noexcept 10143: { return static_cast(static_cast(__c)); } 10143: 10143: static constexpr bool 10143: eq_int_type(const int_type& __c1, const int_type& __c2) noexcept 10143: { return __c1 == __c2; } 10143: 10143: static constexpr int_type 10143: eof() noexcept 10143: { return static_cast(-1); } 10143: 10143: static constexpr int_type 10143: not_eof(const int_type& __c) noexcept 10143: { return (__c == eof()) ? 0 : __c; } 10143: }; 10143: 10143: 10143: 10143: 10143: template<> 10143: struct char_traits 10143: { 10143: typedef wchar_t char_type; 10143: typedef wint_t int_type; 10143: typedef streamoff off_type; 10143: typedef wstreampos pos_type; 10143: typedef mbstate_t state_type; 10143: 10143: static void 10143: assign(char_type& __c1, const char_type& __c2) noexcept 10143: { __c1 = __c2; } 10143: 10143: static constexpr bool 10143: eq(const char_type& __c1, const char_type& __c2) noexcept 10143: { return __c1 == __c2; } 10143: 10143: static constexpr bool 10143: lt(const char_type& __c1, const char_type& __c2) noexcept 10143: { return __c1 < __c2; } 10143: 10143: static int 10143: compare(const char_type* __s1, const char_type* __s2, size_t __n) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: if (__n == 0) 10143: return 0; 10143: else 10143: return wmemcmp(__s1, __s2, __n); 10143: } 10143: 10143: static size_t 10143: length(const char_type* __s) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: return wcslen(__s); 10143: } 10143: 10143: static const char_type* 10143: find(const char_type* __s, size_t __n, const char_type& __a) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: if (__n == 0) 10143: return 0; 10143: else 10143: return wmemchr(__s, __a, __n); 10143: } 10143: 10143: static char_type* 10143: move(char_type* __s1, const char_type* __s2, size_t __n) 10143: { 10143: if (__n == 0) 10143: return __s1; 10143: return wmemmove(__s1, __s2, __n); 10143: } 10143: 10143: static char_type* 10143: copy(char_type* __s1, const char_type* __s2, size_t __n) 10143: { 10143: if (__n == 0) 10143: return __s1; 10143: return wmemcpy(__s1, __s2, __n); 10143: } 10143: 10143: static char_type* 10143: assign(char_type* __s, size_t __n, char_type __a) 10143: { 10143: if (__n == 0) 10143: return __s; 10143: return wmemset(__s, __a, __n); 10143: } 10143: 10143: static constexpr char_type 10143: to_char_type(const int_type& __c) noexcept 10143: { return char_type(__c); } 10143: 10143: static constexpr int_type 10143: to_int_type(const char_type& __c) noexcept 10143: { return int_type(__c); } 10143: 10143: static constexpr bool 10143: eq_int_type(const int_type& __c1, const int_type& __c2) noexcept 10143: { return __c1 == __c2; } 10143: 10143: static constexpr int_type 10143: eof() noexcept 10143: { return static_cast((0xffffffffu)); } 10143: 10143: static constexpr int_type 10143: not_eof(const int_type& __c) noexcept 10143: { return eq_int_type(__c, eof()) ? 0 : __c; } 10143: }; 10143: 10143: 10143: 10143: } 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/cstdint" 1 3 10143: # 32 "/usr/include/c++/8/cstdint" 3 10143: 10143: # 33 "/usr/include/c++/8/cstdint" 3 10143: # 46 "/usr/include/c++/8/cstdint" 3 10143: namespace std 10143: { 10143: using ::int8_t; 10143: using ::int16_t; 10143: using ::int32_t; 10143: using ::int64_t; 10143: 10143: using ::int_fast8_t; 10143: using ::int_fast16_t; 10143: using ::int_fast32_t; 10143: using ::int_fast64_t; 10143: 10143: using ::int_least8_t; 10143: using ::int_least16_t; 10143: using ::int_least32_t; 10143: using ::int_least64_t; 10143: 10143: using ::intmax_t; 10143: using ::intptr_t; 10143: 10143: using ::uint8_t; 10143: using ::uint16_t; 10143: using ::uint32_t; 10143: using ::uint64_t; 10143: 10143: using ::uint_fast8_t; 10143: using ::uint_fast16_t; 10143: using ::uint_fast32_t; 10143: using ::uint_fast64_t; 10143: 10143: using ::uint_least8_t; 10143: using ::uint_least16_t; 10143: using ::uint_least32_t; 10143: using ::uint_least64_t; 10143: 10143: using ::uintmax_t; 10143: using ::uintptr_t; 10143: } 10143: # 502 "/usr/include/c++/8/bits/char_traits.h" 2 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: template<> 10143: struct char_traits 10143: { 10143: typedef char16_t char_type; 10143: typedef uint_least16_t int_type; 10143: typedef streamoff off_type; 10143: typedef u16streampos pos_type; 10143: typedef mbstate_t state_type; 10143: 10143: static void 10143: assign(char_type& __c1, const char_type& __c2) noexcept 10143: { __c1 = __c2; } 10143: 10143: static constexpr bool 10143: eq(const char_type& __c1, const char_type& __c2) noexcept 10143: { return __c1 == __c2; } 10143: 10143: static constexpr bool 10143: lt(const char_type& __c1, const char_type& __c2) noexcept 10143: { return __c1 < __c2; } 10143: 10143: static int 10143: compare(const char_type* __s1, const char_type* __s2, size_t __n) 10143: { 10143: for (size_t __i = 0; __i < __n; ++__i) 10143: if (lt(__s1[__i], __s2[__i])) 10143: return -1; 10143: else if (lt(__s2[__i], __s1[__i])) 10143: return 1; 10143: return 0; 10143: } 10143: 10143: static size_t 10143: length(const char_type* __s) 10143: { 10143: size_t __i = 0; 10143: while (!eq(__s[__i], char_type())) 10143: ++__i; 10143: return __i; 10143: } 10143: 10143: static const char_type* 10143: find(const char_type* __s, size_t __n, const char_type& __a) 10143: { 10143: for (size_t __i = 0; __i < __n; ++__i) 10143: if (eq(__s[__i], __a)) 10143: return __s + __i; 10143: return 0; 10143: } 10143: 10143: static char_type* 10143: move(char_type* __s1, const char_type* __s2, size_t __n) 10143: { 10143: if (__n == 0) 10143: return __s1; 10143: return (static_cast 10143: (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); 10143: } 10143: 10143: static char_type* 10143: copy(char_type* __s1, const char_type* __s2, size_t __n) 10143: { 10143: if (__n == 0) 10143: return __s1; 10143: return (static_cast 10143: (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); 10143: } 10143: 10143: static char_type* 10143: assign(char_type* __s, size_t __n, char_type __a) 10143: { 10143: for (size_t __i = 0; __i < __n; ++__i) 10143: assign(__s[__i], __a); 10143: return __s; 10143: } 10143: 10143: static constexpr char_type 10143: to_char_type(const int_type& __c) noexcept 10143: { return char_type(__c); } 10143: 10143: static constexpr int_type 10143: to_int_type(const char_type& __c) noexcept 10143: { return __c == eof() ? int_type(0xfffd) : int_type(__c); } 10143: 10143: static constexpr bool 10143: eq_int_type(const int_type& __c1, const int_type& __c2) noexcept 10143: { return __c1 == __c2; } 10143: 10143: static constexpr int_type 10143: eof() noexcept 10143: { return static_cast(-1); } 10143: 10143: static constexpr int_type 10143: not_eof(const int_type& __c) noexcept 10143: { return eq_int_type(__c, eof()) ? 0 : __c; } 10143: }; 10143: 10143: template<> 10143: struct char_traits 10143: { 10143: typedef char32_t char_type; 10143: typedef uint_least32_t int_type; 10143: typedef streamoff off_type; 10143: typedef u32streampos pos_type; 10143: typedef mbstate_t state_type; 10143: 10143: static void 10143: assign(char_type& __c1, const char_type& __c2) noexcept 10143: { __c1 = __c2; } 10143: 10143: static constexpr bool 10143: eq(const char_type& __c1, const char_type& __c2) noexcept 10143: { return __c1 == __c2; } 10143: 10143: static constexpr bool 10143: lt(const char_type& __c1, const char_type& __c2) noexcept 10143: { return __c1 < __c2; } 10143: 10143: static int 10143: compare(const char_type* __s1, const char_type* __s2, size_t __n) 10143: { 10143: for (size_t __i = 0; __i < __n; ++__i) 10143: if (lt(__s1[__i], __s2[__i])) 10143: return -1; 10143: else if (lt(__s2[__i], __s1[__i])) 10143: return 1; 10143: return 0; 10143: } 10143: 10143: static size_t 10143: length(const char_type* __s) 10143: { 10143: size_t __i = 0; 10143: while (!eq(__s[__i], char_type())) 10143: ++__i; 10143: return __i; 10143: } 10143: 10143: static const char_type* 10143: find(const char_type* __s, size_t __n, const char_type& __a) 10143: { 10143: for (size_t __i = 0; __i < __n; ++__i) 10143: if (eq(__s[__i], __a)) 10143: return __s + __i; 10143: return 0; 10143: } 10143: 10143: static char_type* 10143: move(char_type* __s1, const char_type* __s2, size_t __n) 10143: { 10143: if (__n == 0) 10143: return __s1; 10143: return (static_cast 10143: (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); 10143: } 10143: 10143: static char_type* 10143: copy(char_type* __s1, const char_type* __s2, size_t __n) 10143: { 10143: if (__n == 0) 10143: return __s1; 10143: return (static_cast 10143: (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); 10143: } 10143: 10143: static char_type* 10143: assign(char_type* __s, size_t __n, char_type __a) 10143: { 10143: for (size_t __i = 0; __i < __n; ++__i) 10143: assign(__s[__i], __a); 10143: return __s; 10143: } 10143: 10143: static constexpr char_type 10143: to_char_type(const int_type& __c) noexcept 10143: { return char_type(__c); } 10143: 10143: static constexpr int_type 10143: to_int_type(const char_type& __c) noexcept 10143: { return int_type(__c); } 10143: 10143: static constexpr bool 10143: eq_int_type(const int_type& __c1, const int_type& __c2) noexcept 10143: { return __c1 == __c2; } 10143: 10143: static constexpr int_type 10143: eof() noexcept 10143: { return static_cast(-1); } 10143: 10143: static constexpr int_type 10143: not_eof(const int_type& __c) noexcept 10143: { return eq_int_type(__c, eof()) ? 0 : __c; } 10143: }; 10143: 10143: 10143: } 10143: # 41 "/usr/include/c++/8/string" 2 3 10143: # 1 "/usr/include/c++/8/bits/allocator.h" 1 3 10143: # 46 "/usr/include/c++/8/bits/allocator.h" 3 10143: # 1 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/c++allocator.h" 1 3 10143: # 33 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/c++allocator.h" 3 10143: # 1 "/usr/include/c++/8/ext/new_allocator.h" 1 3 10143: # 40 "/usr/include/c++/8/ext/new_allocator.h" 3 10143: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: using std::size_t; 10143: using std::ptrdiff_t; 10143: # 57 "/usr/include/c++/8/ext/new_allocator.h" 3 10143: template 10143: class new_allocator 10143: { 10143: public: 10143: typedef size_t size_type; 10143: typedef ptrdiff_t difference_type; 10143: typedef _Tp* pointer; 10143: typedef const _Tp* const_pointer; 10143: typedef _Tp& reference; 10143: typedef const _Tp& const_reference; 10143: typedef _Tp value_type; 10143: 10143: template 10143: struct rebind 10143: { typedef new_allocator<_Tp1> other; }; 10143: 10143: 10143: 10143: 10143: typedef std::true_type propagate_on_container_move_assignment; 10143: 10143: 10143: new_allocator() noexcept { } 10143: 10143: new_allocator(const new_allocator&) noexcept { } 10143: 10143: template 10143: new_allocator(const new_allocator<_Tp1>&) noexcept { } 10143: 10143: ~new_allocator() noexcept { } 10143: 10143: pointer 10143: address(reference __x) const noexcept 10143: { return std::__addressof(__x); } 10143: 10143: const_pointer 10143: address(const_reference __x) const noexcept 10143: { return std::__addressof(__x); } 10143: 10143: 10143: 10143: pointer 10143: allocate(size_type __n, const void* = static_cast(0)) 10143: { 10143: if (__n > this->max_size()) 10143: std::__throw_bad_alloc(); 10143: # 111 "/usr/include/c++/8/ext/new_allocator.h" 3 10143: return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); 10143: } 10143: 10143: 10143: void 10143: deallocate(pointer __p, size_type) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ::operator delete(__p); 10143: } 10143: 10143: size_type 10143: max_size() const noexcept 10143: { return size_t(-1) / sizeof(_Tp); } 10143: 10143: 10143: template 10143: void 10143: construct(_Up* __p, _Args&&... __args) 10143: { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } 10143: 10143: template 10143: void 10143: destroy(_Up* __p) { __p->~_Up(); } 10143: # 151 "/usr/include/c++/8/ext/new_allocator.h" 3 10143: }; 10143: 10143: template 10143: inline bool 10143: operator==(const new_allocator<_Tp>&, const new_allocator<_Tp>&) 10143: { return true; } 10143: 10143: template 10143: inline bool 10143: operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&) 10143: { return false; } 10143: 10143: 10143: } 10143: # 34 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/c++allocator.h" 2 3 10143: 10143: 10143: namespace std 10143: { 10143: # 47 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/c++allocator.h" 3 10143: template 10143: using __allocator_base = __gnu_cxx::new_allocator<_Tp>; 10143: } 10143: # 47 "/usr/include/c++/8/bits/allocator.h" 2 3 10143: # 57 "/usr/include/c++/8/bits/allocator.h" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template<> 10143: class allocator 10143: { 10143: public: 10143: typedef size_t size_type; 10143: typedef ptrdiff_t difference_type; 10143: typedef void* pointer; 10143: typedef const void* const_pointer; 10143: typedef void value_type; 10143: 10143: template 10143: struct rebind 10143: { typedef allocator<_Tp1> other; }; 10143: 10143: 10143: 10143: 10143: typedef true_type propagate_on_container_move_assignment; 10143: 10143: typedef true_type is_always_equal; 10143: 10143: template 10143: void 10143: construct(_Up* __p, _Args&&... __args) 10143: { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } 10143: 10143: template 10143: void 10143: destroy(_Up* __p) { __p->~_Up(); } 10143: 10143: }; 10143: # 107 "/usr/include/c++/8/bits/allocator.h" 3 10143: template 10143: class allocator : public __allocator_base<_Tp> 10143: { 10143: public: 10143: typedef size_t size_type; 10143: typedef ptrdiff_t difference_type; 10143: typedef _Tp* pointer; 10143: typedef const _Tp* const_pointer; 10143: typedef _Tp& reference; 10143: typedef const _Tp& const_reference; 10143: typedef _Tp value_type; 10143: 10143: template 10143: struct rebind 10143: { typedef allocator<_Tp1> other; }; 10143: 10143: 10143: 10143: 10143: typedef true_type propagate_on_container_move_assignment; 10143: 10143: typedef true_type is_always_equal; 10143: 10143: 10143: allocator() throw() { } 10143: 10143: allocator(const allocator& __a) throw() 10143: : __allocator_base<_Tp>(__a) { } 10143: 10143: template 10143: allocator(const allocator<_Tp1>&) throw() { } 10143: 10143: ~allocator() throw() { } 10143: 10143: 10143: }; 10143: 10143: template 10143: inline bool 10143: operator==(const allocator<_T1>&, const allocator<_T2>&) 10143: noexcept 10143: { return true; } 10143: 10143: template 10143: inline bool 10143: operator==(const allocator<_Tp>&, const allocator<_Tp>&) 10143: noexcept 10143: { return true; } 10143: 10143: template 10143: inline bool 10143: operator!=(const allocator<_T1>&, const allocator<_T2>&) 10143: noexcept 10143: { return false; } 10143: 10143: template 10143: inline bool 10143: operator!=(const allocator<_Tp>&, const allocator<_Tp>&) 10143: noexcept 10143: { return false; } 10143: 10143: 10143: 10143: template 10143: class allocator 10143: { 10143: public: 10143: typedef _Tp value_type; 10143: template allocator(const allocator<_Up>&) { } 10143: }; 10143: 10143: template 10143: class allocator 10143: { 10143: public: 10143: typedef _Tp value_type; 10143: template allocator(const allocator<_Up>&) { } 10143: }; 10143: 10143: template 10143: class allocator 10143: { 10143: public: 10143: typedef _Tp value_type; 10143: template allocator(const allocator<_Up>&) { } 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern template class allocator; 10143: extern template class allocator; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct __alloc_swap 10143: { static void _S_do_it(_Alloc&, _Alloc&) noexcept { } }; 10143: 10143: template 10143: struct __alloc_swap<_Alloc, false> 10143: { 10143: static void 10143: _S_do_it(_Alloc& __one, _Alloc& __two) noexcept 10143: { 10143: 10143: if (__one != __two) 10143: swap(__one, __two); 10143: } 10143: }; 10143: 10143: 10143: template 10143: struct __alloc_neq 10143: { 10143: static bool 10143: _S_do_it(const _Alloc&, const _Alloc&) 10143: { return false; } 10143: }; 10143: 10143: template 10143: struct __alloc_neq<_Alloc, false> 10143: { 10143: static bool 10143: _S_do_it(const _Alloc& __one, const _Alloc& __two) 10143: { return __one != __two; } 10143: }; 10143: 10143: 10143: template, 10143: is_nothrow_move_constructible>::value> 10143: struct __shrink_to_fit_aux 10143: { static bool _S_do_it(_Tp&) noexcept { return false; } }; 10143: 10143: template 10143: struct __shrink_to_fit_aux<_Tp, true> 10143: { 10143: static bool 10143: _S_do_it(_Tp& __c) noexcept 10143: { 10143: # 264 "/usr/include/c++/8/bits/allocator.h" 3 10143: return false; 10143: 10143: } 10143: }; 10143: 10143: 10143: 10143: } 10143: # 42 "/usr/include/c++/8/string" 2 3 10143: 10143: # 1 "/usr/include/c++/8/bits/localefwd.h" 1 3 10143: # 37 "/usr/include/c++/8/bits/localefwd.h" 3 10143: 10143: # 38 "/usr/include/c++/8/bits/localefwd.h" 3 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/c++locale.h" 1 3 10143: # 39 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/c++locale.h" 3 10143: 10143: # 40 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/c++locale.h" 3 10143: 10143: # 1 "/usr/include/c++/8/clocale" 1 3 10143: # 39 "/usr/include/c++/8/clocale" 3 10143: 10143: # 40 "/usr/include/c++/8/clocale" 3 10143: 10143: 10143: # 1 "/usr/include/locale.h" 1 3 4 10143: # 28 "/usr/include/locale.h" 3 4 10143: # 1 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stddef.h" 1 3 4 10143: # 29 "/usr/include/locale.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/locale.h" 1 3 4 10143: # 30 "/usr/include/locale.h" 2 3 4 10143: 10143: extern "C" { 10143: # 51 "/usr/include/locale.h" 3 4 10143: struct lconv 10143: { 10143: 10143: 10143: char *decimal_point; 10143: char *thousands_sep; 10143: 10143: 10143: 10143: 10143: 10143: char *grouping; 10143: 10143: 10143: 10143: 10143: 10143: char *int_curr_symbol; 10143: char *currency_symbol; 10143: char *mon_decimal_point; 10143: char *mon_thousands_sep; 10143: char *mon_grouping; 10143: char *positive_sign; 10143: char *negative_sign; 10143: char int_frac_digits; 10143: char frac_digits; 10143: 10143: char p_cs_precedes; 10143: 10143: char p_sep_by_space; 10143: 10143: char n_cs_precedes; 10143: 10143: char n_sep_by_space; 10143: 10143: 10143: 10143: 10143: 10143: 10143: char p_sign_posn; 10143: char n_sign_posn; 10143: 10143: 10143: char int_p_cs_precedes; 10143: 10143: char int_p_sep_by_space; 10143: 10143: char int_n_cs_precedes; 10143: 10143: char int_n_sep_by_space; 10143: 10143: 10143: 10143: 10143: 10143: 10143: char int_p_sign_posn; 10143: char int_n_sign_posn; 10143: # 118 "/usr/include/locale.h" 3 4 10143: }; 10143: 10143: 10143: 10143: extern char *setlocale (int __category, const char *__locale) throw (); 10143: 10143: 10143: extern struct lconv *localeconv (void) throw (); 10143: # 141 "/usr/include/locale.h" 3 4 10143: extern locale_t newlocale (int __category_mask, const char *__locale, 10143: locale_t __base) throw (); 10143: # 176 "/usr/include/locale.h" 3 4 10143: extern locale_t duplocale (locale_t __dataset) throw (); 10143: 10143: 10143: 10143: extern void freelocale (locale_t __dataset) throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern locale_t uselocale (locale_t __dataset) throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: } 10143: # 43 "/usr/include/c++/8/clocale" 2 3 10143: # 51 "/usr/include/c++/8/clocale" 3 10143: namespace std 10143: { 10143: using ::lconv; 10143: using ::setlocale; 10143: using ::localeconv; 10143: } 10143: # 42 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/c++locale.h" 2 3 10143: 10143: 10143: 10143: 10143: 10143: 10143: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: extern "C" __typeof(uselocale) __uselocale; 10143: 10143: 10143: } 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: typedef __locale_t __c_locale; 10143: 10143: 10143: 10143: 10143: 10143: inline int 10143: __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)), 10143: char* __out, 10143: const int __size __attribute__ ((__unused__)), 10143: const char* __fmt, ...) 10143: { 10143: 10143: __c_locale __old = __gnu_cxx::__uselocale(__cloc); 10143: # 88 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/c++locale.h" 3 10143: __builtin_va_list __args; 10143: __builtin_va_start(__args, __fmt); 10143: 10143: 10143: const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); 10143: 10143: 10143: 10143: 10143: __builtin_va_end(__args); 10143: 10143: 10143: __gnu_cxx::__uselocale(__old); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: return __ret; 10143: } 10143: 10143: 10143: } 10143: # 41 "/usr/include/c++/8/bits/localefwd.h" 2 3 10143: # 1 "/usr/include/c++/8/iosfwd" 1 3 10143: # 36 "/usr/include/c++/8/iosfwd" 3 10143: 10143: # 37 "/usr/include/c++/8/iosfwd" 3 10143: 10143: 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 74 "/usr/include/c++/8/iosfwd" 3 10143: class ios_base; 10143: 10143: template > 10143: class basic_ios; 10143: 10143: template > 10143: class basic_streambuf; 10143: 10143: template > 10143: class basic_istream; 10143: 10143: template > 10143: class basic_ostream; 10143: 10143: template > 10143: class basic_iostream; 10143: 10143: 10143: namespace __cxx11 { 10143: 10143: template, 10143: typename _Alloc = allocator<_CharT> > 10143: class basic_stringbuf; 10143: 10143: template, 10143: typename _Alloc = allocator<_CharT> > 10143: class basic_istringstream; 10143: 10143: template, 10143: typename _Alloc = allocator<_CharT> > 10143: class basic_ostringstream; 10143: 10143: template, 10143: typename _Alloc = allocator<_CharT> > 10143: class basic_stringstream; 10143: 10143: } 10143: 10143: template > 10143: class basic_filebuf; 10143: 10143: template > 10143: class basic_ifstream; 10143: 10143: template > 10143: class basic_ofstream; 10143: 10143: template > 10143: class basic_fstream; 10143: 10143: template > 10143: class istreambuf_iterator; 10143: 10143: template > 10143: class ostreambuf_iterator; 10143: 10143: 10143: 10143: typedef basic_ios ios; 10143: 10143: 10143: typedef basic_streambuf streambuf; 10143: 10143: 10143: typedef basic_istream istream; 10143: 10143: 10143: typedef basic_ostream ostream; 10143: 10143: 10143: typedef basic_iostream iostream; 10143: 10143: 10143: typedef basic_stringbuf stringbuf; 10143: 10143: 10143: typedef basic_istringstream istringstream; 10143: 10143: 10143: typedef basic_ostringstream ostringstream; 10143: 10143: 10143: typedef basic_stringstream stringstream; 10143: 10143: 10143: typedef basic_filebuf filebuf; 10143: 10143: 10143: typedef basic_ifstream ifstream; 10143: 10143: 10143: typedef basic_ofstream ofstream; 10143: 10143: 10143: typedef basic_fstream fstream; 10143: 10143: 10143: 10143: typedef basic_ios wios; 10143: 10143: 10143: typedef basic_streambuf wstreambuf; 10143: 10143: 10143: typedef basic_istream wistream; 10143: 10143: 10143: typedef basic_ostream wostream; 10143: 10143: 10143: typedef basic_iostream wiostream; 10143: 10143: 10143: typedef basic_stringbuf wstringbuf; 10143: 10143: 10143: typedef basic_istringstream wistringstream; 10143: 10143: 10143: typedef basic_ostringstream wostringstream; 10143: 10143: 10143: typedef basic_stringstream wstringstream; 10143: 10143: 10143: typedef basic_filebuf wfilebuf; 10143: 10143: 10143: typedef basic_ifstream wifstream; 10143: 10143: 10143: typedef basic_ofstream wofstream; 10143: 10143: 10143: typedef basic_fstream wfstream; 10143: 10143: 10143: 10143: 10143: } 10143: # 42 "/usr/include/c++/8/bits/localefwd.h" 2 3 10143: # 1 "/usr/include/c++/8/cctype" 1 3 10143: # 39 "/usr/include/c++/8/cctype" 3 10143: 10143: # 40 "/usr/include/c++/8/cctype" 3 10143: 10143: 10143: # 1 "/usr/include/ctype.h" 1 3 4 10143: # 28 "/usr/include/ctype.h" 3 4 10143: extern "C" { 10143: # 46 "/usr/include/ctype.h" 3 4 10143: enum 10143: { 10143: _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), 10143: _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), 10143: _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), 10143: _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), 10143: _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), 10143: _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), 10143: _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), 10143: _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), 10143: _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), 10143: _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), 10143: _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), 10143: _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) 10143: }; 10143: # 79 "/usr/include/ctype.h" 3 4 10143: extern const unsigned short int **__ctype_b_loc (void) 10143: throw () __attribute__ ((__const__)); 10143: extern const __int32_t **__ctype_tolower_loc (void) 10143: throw () __attribute__ ((__const__)); 10143: extern const __int32_t **__ctype_toupper_loc (void) 10143: throw () __attribute__ ((__const__)); 10143: # 108 "/usr/include/ctype.h" 3 4 10143: extern int isalnum (int) throw (); 10143: extern int isalpha (int) throw (); 10143: extern int iscntrl (int) throw (); 10143: extern int isdigit (int) throw (); 10143: extern int islower (int) throw (); 10143: extern int isgraph (int) throw (); 10143: extern int isprint (int) throw (); 10143: extern int ispunct (int) throw (); 10143: extern int isspace (int) throw (); 10143: extern int isupper (int) throw (); 10143: extern int isxdigit (int) throw (); 10143: 10143: 10143: 10143: extern int tolower (int __c) throw (); 10143: 10143: 10143: extern int toupper (int __c) throw (); 10143: 10143: 10143: 10143: 10143: extern int isblank (int) throw (); 10143: 10143: 10143: 10143: 10143: extern int isctype (int __c, int __mask) throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int isascii (int __c) throw (); 10143: 10143: 10143: 10143: extern int toascii (int __c) throw (); 10143: 10143: 10143: 10143: extern int _toupper (int) throw (); 10143: extern int _tolower (int) throw (); 10143: # 251 "/usr/include/ctype.h" 3 4 10143: extern int isalnum_l (int, locale_t) throw (); 10143: extern int isalpha_l (int, locale_t) throw (); 10143: extern int iscntrl_l (int, locale_t) throw (); 10143: extern int isdigit_l (int, locale_t) throw (); 10143: extern int islower_l (int, locale_t) throw (); 10143: extern int isgraph_l (int, locale_t) throw (); 10143: extern int isprint_l (int, locale_t) throw (); 10143: extern int ispunct_l (int, locale_t) throw (); 10143: extern int isspace_l (int, locale_t) throw (); 10143: extern int isupper_l (int, locale_t) throw (); 10143: extern int isxdigit_l (int, locale_t) throw (); 10143: 10143: extern int isblank_l (int, locale_t) throw (); 10143: 10143: 10143: 10143: extern int __tolower_l (int __c, locale_t __l) throw (); 10143: extern int tolower_l (int __c, locale_t __l) throw (); 10143: 10143: 10143: extern int __toupper_l (int __c, locale_t __l) throw (); 10143: extern int toupper_l (int __c, locale_t __l) throw (); 10143: # 327 "/usr/include/ctype.h" 3 4 10143: } 10143: # 43 "/usr/include/c++/8/cctype" 2 3 10143: # 62 "/usr/include/c++/8/cctype" 3 10143: namespace std 10143: { 10143: using ::isalnum; 10143: using ::isalpha; 10143: using ::iscntrl; 10143: using ::isdigit; 10143: using ::isgraph; 10143: using ::islower; 10143: using ::isprint; 10143: using ::ispunct; 10143: using ::isspace; 10143: using ::isupper; 10143: using ::isxdigit; 10143: using ::tolower; 10143: using ::toupper; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: namespace std 10143: { 10143: using ::isblank; 10143: } 10143: # 43 "/usr/include/c++/8/bits/localefwd.h" 2 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 55 "/usr/include/c++/8/bits/localefwd.h" 3 10143: class locale; 10143: 10143: template 10143: bool 10143: has_facet(const locale&) throw(); 10143: 10143: template 10143: const _Facet& 10143: use_facet(const locale&); 10143: 10143: 10143: template 10143: bool 10143: isspace(_CharT, const locale&); 10143: 10143: template 10143: bool 10143: isprint(_CharT, const locale&); 10143: 10143: template 10143: bool 10143: iscntrl(_CharT, const locale&); 10143: 10143: template 10143: bool 10143: isupper(_CharT, const locale&); 10143: 10143: template 10143: bool 10143: islower(_CharT, const locale&); 10143: 10143: template 10143: bool 10143: isalpha(_CharT, const locale&); 10143: 10143: template 10143: bool 10143: isdigit(_CharT, const locale&); 10143: 10143: template 10143: bool 10143: ispunct(_CharT, const locale&); 10143: 10143: template 10143: bool 10143: isxdigit(_CharT, const locale&); 10143: 10143: template 10143: bool 10143: isalnum(_CharT, const locale&); 10143: 10143: template 10143: bool 10143: isgraph(_CharT, const locale&); 10143: 10143: 10143: template 10143: bool 10143: isblank(_CharT, const locale&); 10143: 10143: 10143: template 10143: _CharT 10143: toupper(_CharT, const locale&); 10143: 10143: template 10143: _CharT 10143: tolower(_CharT, const locale&); 10143: 10143: 10143: class ctype_base; 10143: template 10143: class ctype; 10143: template<> class ctype; 10143: 10143: template<> class ctype; 10143: 10143: template 10143: class ctype_byname; 10143: 10143: 10143: class codecvt_base; 10143: template 10143: class codecvt; 10143: template<> class codecvt; 10143: 10143: template<> class codecvt; 10143: 10143: template 10143: class codecvt_byname; 10143: 10143: 10143: namespace __gnu_cxx_ldbl128 { 10143: template > 10143: class num_get; 10143: template > 10143: class num_put; 10143: } 10143: namespace __cxx11 { 10143: template class numpunct; 10143: template class numpunct_byname; 10143: } 10143: 10143: namespace __cxx11 { 10143: 10143: template 10143: class collate; 10143: template 10143: class collate_byname; 10143: } 10143: 10143: 10143: class time_base; 10143: namespace __cxx11 { 10143: template > 10143: class time_get; 10143: template > 10143: class time_get_byname; 10143: } 10143: template > 10143: class time_put; 10143: template > 10143: class time_put_byname; 10143: 10143: 10143: class money_base; 10143: namespace __cxx11 { 10143: template > 10143: class money_get; 10143: template > 10143: class money_put; 10143: } 10143: namespace __cxx11 { 10143: template 10143: class moneypunct; 10143: template 10143: class moneypunct_byname; 10143: } 10143: 10143: 10143: class messages_base; 10143: namespace __cxx11 { 10143: template 10143: class messages; 10143: template 10143: class messages_byname; 10143: } 10143: 10143: 10143: } 10143: # 44 "/usr/include/c++/8/string" 2 3 10143: # 1 "/usr/include/c++/8/bits/ostream_insert.h" 1 3 10143: # 33 "/usr/include/c++/8/bits/ostream_insert.h" 3 10143: 10143: # 34 "/usr/include/c++/8/bits/ostream_insert.h" 3 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/cxxabi_forced.h" 1 3 10143: # 34 "/usr/include/c++/8/bits/cxxabi_forced.h" 3 10143: 10143: # 35 "/usr/include/c++/8/bits/cxxabi_forced.h" 3 10143: 10143: #pragma GCC visibility push(default) 10143: 10143: 10143: namespace __cxxabiv1 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: class __forced_unwind 10143: { 10143: virtual ~__forced_unwind() throw(); 10143: 10143: 10143: virtual void __pure_dummy() = 0; 10143: }; 10143: } 10143: 10143: 10143: #pragma GCC visibility pop 10143: # 37 "/usr/include/c++/8/bits/ostream_insert.h" 2 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: template 10143: inline void 10143: __ostream_write(basic_ostream<_CharT, _Traits>& __out, 10143: const _CharT* __s, streamsize __n) 10143: { 10143: typedef basic_ostream<_CharT, _Traits> __ostream_type; 10143: typedef typename __ostream_type::ios_base __ios_base; 10143: 10143: const streamsize __put = __out.rdbuf()->sputn(__s, __n); 10143: if (__put != __n) 10143: __out.setstate(__ios_base::badbit); 10143: } 10143: 10143: template 10143: inline void 10143: __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n) 10143: { 10143: typedef basic_ostream<_CharT, _Traits> __ostream_type; 10143: typedef typename __ostream_type::ios_base __ios_base; 10143: 10143: const _CharT __c = __out.fill(); 10143: for (; __n > 0; --__n) 10143: { 10143: const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c); 10143: if (_Traits::eq_int_type(__put, _Traits::eof())) 10143: { 10143: __out.setstate(__ios_base::badbit); 10143: break; 10143: } 10143: } 10143: } 10143: 10143: template 10143: basic_ostream<_CharT, _Traits>& 10143: __ostream_insert(basic_ostream<_CharT, _Traits>& __out, 10143: const _CharT* __s, streamsize __n) 10143: { 10143: typedef basic_ostream<_CharT, _Traits> __ostream_type; 10143: typedef typename __ostream_type::ios_base __ios_base; 10143: 10143: typename __ostream_type::sentry __cerb(__out); 10143: if (__cerb) 10143: { 10143: if (true) 10143: { 10143: const streamsize __w = __out.width(); 10143: if (__w > __n) 10143: { 10143: const bool __left = ((__out.flags() 10143: & __ios_base::adjustfield) 10143: == __ios_base::left); 10143: if (!__left) 10143: __ostream_fill(__out, __w - __n); 10143: if (__out.good()) 10143: __ostream_write(__out, __s, __n); 10143: if (__left && __out.good()) 10143: __ostream_fill(__out, __w - __n); 10143: } 10143: else 10143: __ostream_write(__out, __s, __n); 10143: __out.width(0); 10143: } 10143: if (false) 10143: { 10143: __out._M_setstate(__ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { __out._M_setstate(__ios_base::badbit); } 10143: } 10143: return __out; 10143: } 10143: 10143: 10143: 10143: 10143: extern template ostream& __ostream_insert(ostream&, const char*, streamsize); 10143: 10143: 10143: extern template wostream& __ostream_insert(wostream&, const wchar_t*, 10143: streamsize); 10143: 10143: 10143: 10143: 10143: } 10143: # 45 "/usr/include/c++/8/string" 2 3 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/stl_function.h" 1 3 10143: # 63 "/usr/include/c++/8/bits/stl_function.h" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 104 "/usr/include/c++/8/bits/stl_function.h" 3 10143: template 10143: struct unary_function 10143: { 10143: 10143: typedef _Arg argument_type; 10143: 10143: 10143: typedef _Result result_type; 10143: }; 10143: 10143: 10143: 10143: 10143: template 10143: struct binary_function 10143: { 10143: 10143: typedef _Arg1 first_argument_type; 10143: 10143: 10143: typedef _Arg2 second_argument_type; 10143: 10143: 10143: typedef _Result result_type; 10143: }; 10143: # 166 "/usr/include/c++/8/bits/stl_function.h" 3 10143: template 10143: struct plus : public binary_function<_Tp, _Tp, _Tp> 10143: { 10143: 10143: _Tp 10143: operator()(const _Tp& __x, const _Tp& __y) const 10143: { return __x + __y; } 10143: }; 10143: 10143: 10143: template 10143: struct minus : public binary_function<_Tp, _Tp, _Tp> 10143: { 10143: 10143: _Tp 10143: operator()(const _Tp& __x, const _Tp& __y) const 10143: { return __x - __y; } 10143: }; 10143: 10143: 10143: template 10143: struct multiplies : public binary_function<_Tp, _Tp, _Tp> 10143: { 10143: 10143: _Tp 10143: operator()(const _Tp& __x, const _Tp& __y) const 10143: { return __x * __y; } 10143: }; 10143: 10143: 10143: template 10143: struct divides : public binary_function<_Tp, _Tp, _Tp> 10143: { 10143: 10143: _Tp 10143: operator()(const _Tp& __x, const _Tp& __y) const 10143: { return __x / __y; } 10143: }; 10143: 10143: 10143: template 10143: struct modulus : public binary_function<_Tp, _Tp, _Tp> 10143: { 10143: 10143: _Tp 10143: operator()(const _Tp& __x, const _Tp& __y) const 10143: { return __x % __y; } 10143: }; 10143: 10143: 10143: template 10143: struct negate : public unary_function<_Tp, _Tp> 10143: { 10143: 10143: _Tp 10143: operator()(const _Tp& __x) const 10143: { return -__x; } 10143: }; 10143: # 350 "/usr/include/c++/8/bits/stl_function.h" 3 10143: template 10143: struct equal_to : public binary_function<_Tp, _Tp, bool> 10143: { 10143: 10143: bool 10143: operator()(const _Tp& __x, const _Tp& __y) const 10143: { return __x == __y; } 10143: }; 10143: 10143: 10143: template 10143: struct not_equal_to : public binary_function<_Tp, _Tp, bool> 10143: { 10143: 10143: bool 10143: operator()(const _Tp& __x, const _Tp& __y) const 10143: { return __x != __y; } 10143: }; 10143: 10143: 10143: template 10143: struct greater : public binary_function<_Tp, _Tp, bool> 10143: { 10143: 10143: bool 10143: operator()(const _Tp& __x, const _Tp& __y) const 10143: { return __x > __y; } 10143: }; 10143: 10143: 10143: template 10143: struct less : public binary_function<_Tp, _Tp, bool> 10143: { 10143: 10143: bool 10143: operator()(const _Tp& __x, const _Tp& __y) const 10143: { return __x < __y; } 10143: }; 10143: 10143: 10143: template 10143: struct greater_equal : public binary_function<_Tp, _Tp, bool> 10143: { 10143: 10143: bool 10143: operator()(const _Tp& __x, const _Tp& __y) const 10143: { return __x >= __y; } 10143: }; 10143: 10143: 10143: template 10143: struct less_equal : public binary_function<_Tp, _Tp, bool> 10143: { 10143: 10143: bool 10143: operator()(const _Tp& __x, const _Tp& __y) const 10143: { return __x <= __y; } 10143: }; 10143: # 523 "/usr/include/c++/8/bits/stl_function.h" 3 10143: template 10143: struct logical_and : public binary_function<_Tp, _Tp, bool> 10143: { 10143: 10143: bool 10143: operator()(const _Tp& __x, const _Tp& __y) const 10143: { return __x && __y; } 10143: }; 10143: 10143: 10143: template 10143: struct logical_or : public binary_function<_Tp, _Tp, bool> 10143: { 10143: 10143: bool 10143: operator()(const _Tp& __x, const _Tp& __y) const 10143: { return __x || __y; } 10143: }; 10143: 10143: 10143: template 10143: struct logical_not : public unary_function<_Tp, bool> 10143: { 10143: 10143: bool 10143: operator()(const _Tp& __x) const 10143: { return !__x; } 10143: }; 10143: # 616 "/usr/include/c++/8/bits/stl_function.h" 3 10143: template 10143: struct bit_and : public binary_function<_Tp, _Tp, _Tp> 10143: { 10143: 10143: _Tp 10143: operator()(const _Tp& __x, const _Tp& __y) const 10143: { return __x & __y; } 10143: }; 10143: 10143: template 10143: struct bit_or : public binary_function<_Tp, _Tp, _Tp> 10143: { 10143: 10143: _Tp 10143: operator()(const _Tp& __x, const _Tp& __y) const 10143: { return __x | __y; } 10143: }; 10143: 10143: template 10143: struct bit_xor : public binary_function<_Tp, _Tp, _Tp> 10143: { 10143: 10143: _Tp 10143: operator()(const _Tp& __x, const _Tp& __y) const 10143: { return __x ^ __y; } 10143: }; 10143: 10143: template 10143: struct bit_not : public unary_function<_Tp, _Tp> 10143: { 10143: 10143: _Tp 10143: operator()(const _Tp& __x) const 10143: { return ~__x; } 10143: }; 10143: # 740 "/usr/include/c++/8/bits/stl_function.h" 3 10143: template 10143: class unary_negate 10143: : public unary_function 10143: { 10143: protected: 10143: _Predicate _M_pred; 10143: 10143: public: 10143: 10143: explicit 10143: unary_negate(const _Predicate& __x) : _M_pred(__x) { } 10143: 10143: 10143: bool 10143: operator()(const typename _Predicate::argument_type& __x) const 10143: { return !_M_pred(__x); } 10143: }; 10143: 10143: 10143: template 10143: 10143: inline unary_negate<_Predicate> 10143: not1(const _Predicate& __pred) 10143: { return unary_negate<_Predicate>(__pred); } 10143: 10143: 10143: template 10143: class binary_negate 10143: : public binary_function 10143: { 10143: protected: 10143: _Predicate _M_pred; 10143: 10143: public: 10143: 10143: explicit 10143: binary_negate(const _Predicate& __x) : _M_pred(__x) { } 10143: 10143: 10143: bool 10143: operator()(const typename _Predicate::first_argument_type& __x, 10143: const typename _Predicate::second_argument_type& __y) const 10143: { return !_M_pred(__x, __y); } 10143: }; 10143: 10143: 10143: template 10143: 10143: inline binary_negate<_Predicate> 10143: not2(const _Predicate& __pred) 10143: { return binary_negate<_Predicate>(__pred); } 10143: # 817 "/usr/include/c++/8/bits/stl_function.h" 3 10143: template 10143: class pointer_to_unary_function : public unary_function<_Arg, _Result> 10143: { 10143: protected: 10143: _Result (*_M_ptr)(_Arg); 10143: 10143: public: 10143: pointer_to_unary_function() { } 10143: 10143: explicit 10143: pointer_to_unary_function(_Result (*__x)(_Arg)) 10143: : _M_ptr(__x) { } 10143: 10143: _Result 10143: operator()(_Arg __x) const 10143: { return _M_ptr(__x); } 10143: }; 10143: 10143: 10143: template 10143: inline pointer_to_unary_function<_Arg, _Result> 10143: ptr_fun(_Result (*__x)(_Arg)) 10143: { return pointer_to_unary_function<_Arg, _Result>(__x); } 10143: 10143: 10143: template 10143: class pointer_to_binary_function 10143: : public binary_function<_Arg1, _Arg2, _Result> 10143: { 10143: protected: 10143: _Result (*_M_ptr)(_Arg1, _Arg2); 10143: 10143: public: 10143: pointer_to_binary_function() { } 10143: 10143: explicit 10143: pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2)) 10143: : _M_ptr(__x) { } 10143: 10143: _Result 10143: operator()(_Arg1 __x, _Arg2 __y) const 10143: { return _M_ptr(__x, __y); } 10143: }; 10143: 10143: 10143: template 10143: inline pointer_to_binary_function<_Arg1, _Arg2, _Result> 10143: ptr_fun(_Result (*__x)(_Arg1, _Arg2)) 10143: { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); } 10143: 10143: 10143: template 10143: struct _Identity 10143: : public unary_function<_Tp, _Tp> 10143: { 10143: _Tp& 10143: operator()(_Tp& __x) const 10143: { return __x; } 10143: 10143: const _Tp& 10143: operator()(const _Tp& __x) const 10143: { return __x; } 10143: }; 10143: 10143: 10143: template struct _Identity : _Identity<_Tp> { }; 10143: 10143: template 10143: struct _Select1st 10143: : public unary_function<_Pair, typename _Pair::first_type> 10143: { 10143: typename _Pair::first_type& 10143: operator()(_Pair& __x) const 10143: { return __x.first; } 10143: 10143: const typename _Pair::first_type& 10143: operator()(const _Pair& __x) const 10143: { return __x.first; } 10143: 10143: 10143: template 10143: typename _Pair2::first_type& 10143: operator()(_Pair2& __x) const 10143: { return __x.first; } 10143: 10143: template 10143: const typename _Pair2::first_type& 10143: operator()(const _Pair2& __x) const 10143: { return __x.first; } 10143: 10143: }; 10143: 10143: template 10143: struct _Select2nd 10143: : public unary_function<_Pair, typename _Pair::second_type> 10143: { 10143: typename _Pair::second_type& 10143: operator()(_Pair& __x) const 10143: { return __x.second; } 10143: 10143: const typename _Pair::second_type& 10143: operator()(const _Pair& __x) const 10143: { return __x.second; } 10143: }; 10143: # 940 "/usr/include/c++/8/bits/stl_function.h" 3 10143: template 10143: class mem_fun_t : public unary_function<_Tp*, _Ret> 10143: { 10143: public: 10143: explicit 10143: mem_fun_t(_Ret (_Tp::*__pf)()) 10143: : _M_f(__pf) { } 10143: 10143: _Ret 10143: operator()(_Tp* __p) const 10143: { return (__p->*_M_f)(); } 10143: 10143: private: 10143: _Ret (_Tp::*_M_f)(); 10143: }; 10143: 10143: 10143: 10143: template 10143: class const_mem_fun_t : public unary_function 10143: { 10143: public: 10143: explicit 10143: const_mem_fun_t(_Ret (_Tp::*__pf)() const) 10143: : _M_f(__pf) { } 10143: 10143: _Ret 10143: operator()(const _Tp* __p) const 10143: { return (__p->*_M_f)(); } 10143: 10143: private: 10143: _Ret (_Tp::*_M_f)() const; 10143: }; 10143: 10143: 10143: 10143: template 10143: class mem_fun_ref_t : public unary_function<_Tp, _Ret> 10143: { 10143: public: 10143: explicit 10143: mem_fun_ref_t(_Ret (_Tp::*__pf)()) 10143: : _M_f(__pf) { } 10143: 10143: _Ret 10143: operator()(_Tp& __r) const 10143: { return (__r.*_M_f)(); } 10143: 10143: private: 10143: _Ret (_Tp::*_M_f)(); 10143: }; 10143: 10143: 10143: 10143: template 10143: class const_mem_fun_ref_t : public unary_function<_Tp, _Ret> 10143: { 10143: public: 10143: explicit 10143: const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const) 10143: : _M_f(__pf) { } 10143: 10143: _Ret 10143: operator()(const _Tp& __r) const 10143: { return (__r.*_M_f)(); } 10143: 10143: private: 10143: _Ret (_Tp::*_M_f)() const; 10143: }; 10143: 10143: 10143: 10143: template 10143: class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret> 10143: { 10143: public: 10143: explicit 10143: mem_fun1_t(_Ret (_Tp::*__pf)(_Arg)) 10143: : _M_f(__pf) { } 10143: 10143: _Ret 10143: operator()(_Tp* __p, _Arg __x) const 10143: { return (__p->*_M_f)(__x); } 10143: 10143: private: 10143: _Ret (_Tp::*_M_f)(_Arg); 10143: }; 10143: 10143: 10143: 10143: template 10143: class const_mem_fun1_t : public binary_function 10143: { 10143: public: 10143: explicit 10143: const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const) 10143: : _M_f(__pf) { } 10143: 10143: _Ret 10143: operator()(const _Tp* __p, _Arg __x) const 10143: { return (__p->*_M_f)(__x); } 10143: 10143: private: 10143: _Ret (_Tp::*_M_f)(_Arg) const; 10143: }; 10143: 10143: 10143: 10143: template 10143: class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> 10143: { 10143: public: 10143: explicit 10143: mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg)) 10143: : _M_f(__pf) { } 10143: 10143: _Ret 10143: operator()(_Tp& __r, _Arg __x) const 10143: { return (__r.*_M_f)(__x); } 10143: 10143: private: 10143: _Ret (_Tp::*_M_f)(_Arg); 10143: }; 10143: 10143: 10143: 10143: template 10143: class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> 10143: { 10143: public: 10143: explicit 10143: const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const) 10143: : _M_f(__pf) { } 10143: 10143: _Ret 10143: operator()(const _Tp& __r, _Arg __x) const 10143: { return (__r.*_M_f)(__x); } 10143: 10143: private: 10143: _Ret (_Tp::*_M_f)(_Arg) const; 10143: }; 10143: 10143: 10143: 10143: template 10143: inline mem_fun_t<_Ret, _Tp> 10143: mem_fun(_Ret (_Tp::*__f)()) 10143: { return mem_fun_t<_Ret, _Tp>(__f); } 10143: 10143: template 10143: inline const_mem_fun_t<_Ret, _Tp> 10143: mem_fun(_Ret (_Tp::*__f)() const) 10143: { return const_mem_fun_t<_Ret, _Tp>(__f); } 10143: 10143: template 10143: inline mem_fun_ref_t<_Ret, _Tp> 10143: mem_fun_ref(_Ret (_Tp::*__f)()) 10143: { return mem_fun_ref_t<_Ret, _Tp>(__f); } 10143: 10143: template 10143: inline const_mem_fun_ref_t<_Ret, _Tp> 10143: mem_fun_ref(_Ret (_Tp::*__f)() const) 10143: { return const_mem_fun_ref_t<_Ret, _Tp>(__f); } 10143: 10143: template 10143: inline mem_fun1_t<_Ret, _Tp, _Arg> 10143: mem_fun(_Ret (_Tp::*__f)(_Arg)) 10143: { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); } 10143: 10143: template 10143: inline const_mem_fun1_t<_Ret, _Tp, _Arg> 10143: mem_fun(_Ret (_Tp::*__f)(_Arg) const) 10143: { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); } 10143: 10143: template 10143: inline mem_fun1_ref_t<_Ret, _Tp, _Arg> 10143: mem_fun_ref(_Ret (_Tp::*__f)(_Arg)) 10143: { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } 10143: 10143: template 10143: inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg> 10143: mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const) 10143: { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } 10143: 10143: 10143: 10143: 10143: } 10143: 10143: 10143: # 1 "/usr/include/c++/8/backward/binders.h" 1 3 10143: # 60 "/usr/include/c++/8/backward/binders.h" 3 10143: #pragma GCC diagnostic push 10143: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 107 "/usr/include/c++/8/backward/binders.h" 3 10143: template 10143: class binder1st 10143: : public unary_function 10143: { 10143: protected: 10143: _Operation op; 10143: typename _Operation::first_argument_type value; 10143: 10143: public: 10143: binder1st(const _Operation& __x, 10143: const typename _Operation::first_argument_type& __y) 10143: : op(__x), value(__y) { } 10143: 10143: typename _Operation::result_type 10143: operator()(const typename _Operation::second_argument_type& __x) const 10143: { return op(value, __x); } 10143: 10143: 10143: 10143: typename _Operation::result_type 10143: operator()(typename _Operation::second_argument_type& __x) const 10143: { return op(value, __x); } 10143: } __attribute__ ((__deprecated__)); 10143: 10143: 10143: template 10143: inline binder1st<_Operation> 10143: bind1st(const _Operation& __fn, const _Tp& __x) 10143: { 10143: typedef typename _Operation::first_argument_type _Arg1_type; 10143: return binder1st<_Operation>(__fn, _Arg1_type(__x)); 10143: } 10143: 10143: 10143: template 10143: class binder2nd 10143: : public unary_function 10143: { 10143: protected: 10143: _Operation op; 10143: typename _Operation::second_argument_type value; 10143: 10143: public: 10143: binder2nd(const _Operation& __x, 10143: const typename _Operation::second_argument_type& __y) 10143: : op(__x), value(__y) { } 10143: 10143: typename _Operation::result_type 10143: operator()(const typename _Operation::first_argument_type& __x) const 10143: { return op(__x, value); } 10143: 10143: 10143: 10143: typename _Operation::result_type 10143: operator()(typename _Operation::first_argument_type& __x) const 10143: { return op(__x, value); } 10143: } __attribute__ ((__deprecated__)); 10143: 10143: 10143: template 10143: inline binder2nd<_Operation> 10143: bind2nd(const _Operation& __fn, const _Tp& __x) 10143: { 10143: typedef typename _Operation::second_argument_type _Arg2_type; 10143: return binder2nd<_Operation>(__fn, _Arg2_type(__x)); 10143: } 10143: 10143: 10143: 10143: } 10143: 10143: #pragma GCC diagnostic pop 10143: # 1131 "/usr/include/c++/8/bits/stl_function.h" 2 3 10143: # 49 "/usr/include/c++/8/string" 2 3 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/range_access.h" 1 3 10143: # 33 "/usr/include/c++/8/bits/range_access.h" 3 10143: 10143: # 34 "/usr/include/c++/8/bits/range_access.h" 3 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline auto 10143: begin(_Container& __cont) -> decltype(__cont.begin()) 10143: { return __cont.begin(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline auto 10143: begin(const _Container& __cont) -> decltype(__cont.begin()) 10143: { return __cont.begin(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline auto 10143: end(_Container& __cont) -> decltype(__cont.end()) 10143: { return __cont.end(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline auto 10143: end(const _Container& __cont) -> decltype(__cont.end()) 10143: { return __cont.end(); } 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline _Tp* 10143: begin(_Tp (&__arr)[_Nm]) 10143: { return __arr; } 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline _Tp* 10143: end(_Tp (&__arr)[_Nm]) 10143: { return __arr + _Nm; } 10143: # 323 "/usr/include/c++/8/bits/range_access.h" 3 10143: 10143: } 10143: # 52 "/usr/include/c++/8/string" 2 3 10143: # 1 "/usr/include/c++/8/bits/basic_string.h" 1 3 10143: # 37 "/usr/include/c++/8/bits/basic_string.h" 3 10143: 10143: # 38 "/usr/include/c++/8/bits/basic_string.h" 3 10143: 10143: # 1 "/usr/include/c++/8/ext/atomicity.h" 1 3 10143: # 32 "/usr/include/c++/8/ext/atomicity.h" 3 10143: 10143: # 33 "/usr/include/c++/8/ext/atomicity.h" 3 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/gthr.h" 1 3 10143: # 30 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/gthr.h" 3 10143: #pragma GCC visibility push(default) 10143: # 148 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/gthr.h" 3 10143: # 1 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/gthr-default.h" 1 3 10143: # 35 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/gthr-default.h" 3 10143: # 1 "/usr/include/pthread.h" 1 3 4 10143: # 23 "/usr/include/pthread.h" 3 4 10143: # 1 "/usr/include/sched.h" 1 3 4 10143: # 29 "/usr/include/sched.h" 3 4 10143: # 1 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stddef.h" 1 3 4 10143: # 30 "/usr/include/sched.h" 2 3 4 10143: # 43 "/usr/include/sched.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/sched.h" 1 3 4 10143: # 75 "/usr/include/powerpc64le-linux-gnu/bits/sched.h" 3 4 10143: struct sched_param 10143: { 10143: int sched_priority; 10143: }; 10143: 10143: extern "C" { 10143: 10143: 10143: 10143: extern int clone (int (*__fn) (void *__arg), void *__child_stack, 10143: int __flags, void *__arg, ...) throw (); 10143: 10143: 10143: extern int unshare (int __flags) throw (); 10143: 10143: 10143: extern int sched_getcpu (void) throw (); 10143: 10143: 10143: extern int setns (int __fd, int __nstype) throw (); 10143: 10143: 10143: } 10143: # 44 "/usr/include/sched.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/cpu-set.h" 1 3 4 10143: # 32 "/usr/include/powerpc64le-linux-gnu/bits/cpu-set.h" 3 4 10143: typedef unsigned long int __cpu_mask; 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef struct 10143: { 10143: __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))]; 10143: } cpu_set_t; 10143: # 115 "/usr/include/powerpc64le-linux-gnu/bits/cpu-set.h" 3 4 10143: extern "C" { 10143: 10143: extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp) 10143: throw (); 10143: extern cpu_set_t *__sched_cpualloc (size_t __count) throw () __attribute__ ((__warn_unused_result__)); 10143: extern void __sched_cpufree (cpu_set_t *__set) throw (); 10143: 10143: } 10143: # 45 "/usr/include/sched.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern "C" { 10143: 10143: 10143: extern int sched_setparam (__pid_t __pid, const struct sched_param *__param) 10143: throw (); 10143: 10143: 10143: extern int sched_getparam (__pid_t __pid, struct sched_param *__param) throw (); 10143: 10143: 10143: extern int sched_setscheduler (__pid_t __pid, int __policy, 10143: const struct sched_param *__param) throw (); 10143: 10143: 10143: extern int sched_getscheduler (__pid_t __pid) throw (); 10143: 10143: 10143: extern int sched_yield (void) throw (); 10143: 10143: 10143: extern int sched_get_priority_max (int __algorithm) throw (); 10143: 10143: 10143: extern int sched_get_priority_min (int __algorithm) throw (); 10143: 10143: 10143: extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) throw (); 10143: # 121 "/usr/include/sched.h" 3 4 10143: extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize, 10143: const cpu_set_t *__cpuset) throw (); 10143: 10143: 10143: extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize, 10143: cpu_set_t *__cpuset) throw (); 10143: 10143: 10143: } 10143: # 24 "/usr/include/pthread.h" 2 3 4 10143: # 1 "/usr/include/time.h" 1 3 4 10143: # 29 "/usr/include/time.h" 3 4 10143: # 1 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stddef.h" 1 3 4 10143: # 30 "/usr/include/time.h" 2 3 4 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/time.h" 1 3 4 10143: # 73 "/usr/include/powerpc64le-linux-gnu/bits/time.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/timex.h" 1 3 4 10143: # 26 "/usr/include/powerpc64le-linux-gnu/bits/timex.h" 3 4 10143: struct timex 10143: { 10143: unsigned int modes; 10143: __syscall_slong_t offset; 10143: __syscall_slong_t freq; 10143: __syscall_slong_t maxerror; 10143: __syscall_slong_t esterror; 10143: int status; 10143: __syscall_slong_t constant; 10143: __syscall_slong_t precision; 10143: __syscall_slong_t tolerance; 10143: struct timeval time; 10143: __syscall_slong_t tick; 10143: __syscall_slong_t ppsfreq; 10143: __syscall_slong_t jitter; 10143: int shift; 10143: __syscall_slong_t stabil; 10143: __syscall_slong_t jitcnt; 10143: __syscall_slong_t calcnt; 10143: __syscall_slong_t errcnt; 10143: __syscall_slong_t stbcnt; 10143: 10143: int tai; 10143: 10143: 10143: int :32; int :32; int :32; int :32; 10143: int :32; int :32; int :32; int :32; 10143: int :32; int :32; int :32; 10143: }; 10143: # 74 "/usr/include/powerpc64le-linux-gnu/bits/time.h" 2 3 4 10143: 10143: extern "C" { 10143: 10143: 10143: extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) throw (); 10143: 10143: } 10143: # 34 "/usr/include/time.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/types/struct_tm.h" 1 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: struct tm 10143: { 10143: int tm_sec; 10143: int tm_min; 10143: int tm_hour; 10143: int tm_mday; 10143: int tm_mon; 10143: int tm_year; 10143: int tm_wday; 10143: int tm_yday; 10143: int tm_isdst; 10143: 10143: 10143: long int tm_gmtoff; 10143: const char *tm_zone; 10143: 10143: 10143: 10143: 10143: }; 10143: # 40 "/usr/include/time.h" 2 3 4 10143: # 48 "/usr/include/time.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/types/struct_itimerspec.h" 1 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: struct itimerspec 10143: { 10143: struct timespec it_interval; 10143: struct timespec it_value; 10143: }; 10143: # 49 "/usr/include/time.h" 2 3 4 10143: struct sigevent; 10143: # 68 "/usr/include/time.h" 3 4 10143: extern "C" { 10143: 10143: 10143: 10143: extern clock_t clock (void) throw (); 10143: 10143: 10143: extern time_t time (time_t *__timer) throw (); 10143: 10143: 10143: extern double difftime (time_t __time1, time_t __time0) 10143: throw () __attribute__ ((__const__)); 10143: 10143: 10143: extern time_t mktime (struct tm *__tp) throw (); 10143: 10143: 10143: 10143: 10143: 10143: extern size_t strftime (char *__restrict __s, size_t __maxsize, 10143: const char *__restrict __format, 10143: const struct tm *__restrict __tp) throw (); 10143: 10143: 10143: 10143: 10143: extern char *strptime (const char *__restrict __s, 10143: const char *__restrict __fmt, struct tm *__tp) 10143: throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern size_t strftime_l (char *__restrict __s, size_t __maxsize, 10143: const char *__restrict __format, 10143: const struct tm *__restrict __tp, 10143: locale_t __loc) throw (); 10143: 10143: 10143: 10143: extern char *strptime_l (const char *__restrict __s, 10143: const char *__restrict __fmt, struct tm *__tp, 10143: locale_t __loc) throw (); 10143: 10143: 10143: 10143: 10143: 10143: extern struct tm *gmtime (const time_t *__timer) throw (); 10143: 10143: 10143: 10143: extern struct tm *localtime (const time_t *__timer) throw (); 10143: 10143: 10143: 10143: 10143: extern struct tm *gmtime_r (const time_t *__restrict __timer, 10143: struct tm *__restrict __tp) throw (); 10143: 10143: 10143: 10143: extern struct tm *localtime_r (const time_t *__restrict __timer, 10143: struct tm *__restrict __tp) throw (); 10143: 10143: 10143: 10143: 10143: extern char *asctime (const struct tm *__tp) throw (); 10143: 10143: 10143: extern char *ctime (const time_t *__timer) throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern char *asctime_r (const struct tm *__restrict __tp, 10143: char *__restrict __buf) throw (); 10143: 10143: 10143: extern char *ctime_r (const time_t *__restrict __timer, 10143: char *__restrict __buf) throw (); 10143: 10143: 10143: 10143: 10143: extern char *__tzname[2]; 10143: extern int __daylight; 10143: extern long int __timezone; 10143: 10143: 10143: 10143: 10143: extern char *tzname[2]; 10143: 10143: 10143: 10143: extern void tzset (void) throw (); 10143: 10143: 10143: 10143: extern int daylight; 10143: extern long int timezone; 10143: 10143: 10143: 10143: 10143: 10143: extern int stime (const time_t *__when) throw (); 10143: # 196 "/usr/include/time.h" 3 4 10143: extern time_t timegm (struct tm *__tp) throw (); 10143: 10143: 10143: extern time_t timelocal (struct tm *__tp) throw (); 10143: 10143: 10143: extern int dysize (int __year) throw () __attribute__ ((__const__)); 10143: # 211 "/usr/include/time.h" 3 4 10143: extern int nanosleep (const struct timespec *__requested_time, 10143: struct timespec *__remaining); 10143: 10143: 10143: 10143: extern int clock_getres (clockid_t __clock_id, struct timespec *__res) throw (); 10143: 10143: 10143: extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) throw (); 10143: 10143: 10143: extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp) 10143: throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int clock_nanosleep (clockid_t __clock_id, int __flags, 10143: const struct timespec *__req, 10143: struct timespec *__rem); 10143: 10143: 10143: extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) throw (); 10143: 10143: 10143: 10143: 10143: extern int timer_create (clockid_t __clock_id, 10143: struct sigevent *__restrict __evp, 10143: timer_t *__restrict __timerid) throw (); 10143: 10143: 10143: extern int timer_delete (timer_t __timerid) throw (); 10143: 10143: 10143: extern int timer_settime (timer_t __timerid, int __flags, 10143: const struct itimerspec *__restrict __value, 10143: struct itimerspec *__restrict __ovalue) throw (); 10143: 10143: 10143: extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) 10143: throw (); 10143: 10143: 10143: extern int timer_getoverrun (timer_t __timerid) throw (); 10143: 10143: 10143: 10143: 10143: 10143: extern int timespec_get (struct timespec *__ts, int __base) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: # 280 "/usr/include/time.h" 3 4 10143: extern int getdate_err; 10143: # 289 "/usr/include/time.h" 3 4 10143: extern struct tm *getdate (const char *__string); 10143: # 303 "/usr/include/time.h" 3 4 10143: extern int getdate_r (const char *__restrict __string, 10143: struct tm *__restrict __resbufp); 10143: 10143: 10143: } 10143: # 25 "/usr/include/pthread.h" 2 3 4 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/setjmp.h" 1 3 4 10143: # 31 "/usr/include/powerpc64le-linux-gnu/bits/setjmp.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/wordsize.h" 1 3 4 10143: # 32 "/usr/include/powerpc64le-linux-gnu/bits/setjmp.h" 2 3 4 10143: # 42 "/usr/include/powerpc64le-linux-gnu/bits/setjmp.h" 3 4 10143: typedef long int __jmp_buf[64] __attribute__ ((__aligned__ (16))); 10143: # 28 "/usr/include/pthread.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/wordsize.h" 1 3 4 10143: # 29 "/usr/include/pthread.h" 2 3 4 10143: 10143: 10143: 10143: 10143: enum 10143: { 10143: PTHREAD_CREATE_JOINABLE, 10143: 10143: PTHREAD_CREATE_DETACHED 10143: 10143: }; 10143: 10143: 10143: 10143: enum 10143: { 10143: PTHREAD_MUTEX_TIMED_NP, 10143: PTHREAD_MUTEX_RECURSIVE_NP, 10143: PTHREAD_MUTEX_ERRORCHECK_NP, 10143: PTHREAD_MUTEX_ADAPTIVE_NP 10143: 10143: , 10143: PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP, 10143: PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP, 10143: PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP, 10143: PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL 10143: 10143: 10143: 10143: , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP 10143: 10143: }; 10143: 10143: 10143: 10143: 10143: enum 10143: { 10143: PTHREAD_MUTEX_STALLED, 10143: PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED, 10143: PTHREAD_MUTEX_ROBUST, 10143: PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: enum 10143: { 10143: PTHREAD_PRIO_NONE, 10143: PTHREAD_PRIO_INHERIT, 10143: PTHREAD_PRIO_PROTECT 10143: }; 10143: # 115 "/usr/include/pthread.h" 3 4 10143: enum 10143: { 10143: PTHREAD_RWLOCK_PREFER_READER_NP, 10143: PTHREAD_RWLOCK_PREFER_WRITER_NP, 10143: PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, 10143: PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP 10143: }; 10143: # 156 "/usr/include/pthread.h" 3 4 10143: enum 10143: { 10143: PTHREAD_INHERIT_SCHED, 10143: 10143: PTHREAD_EXPLICIT_SCHED 10143: 10143: }; 10143: 10143: 10143: 10143: enum 10143: { 10143: PTHREAD_SCOPE_SYSTEM, 10143: 10143: PTHREAD_SCOPE_PROCESS 10143: 10143: }; 10143: 10143: 10143: 10143: enum 10143: { 10143: PTHREAD_PROCESS_PRIVATE, 10143: 10143: PTHREAD_PROCESS_SHARED 10143: 10143: }; 10143: # 191 "/usr/include/pthread.h" 3 4 10143: struct _pthread_cleanup_buffer 10143: { 10143: void (*__routine) (void *); 10143: void *__arg; 10143: int __canceltype; 10143: struct _pthread_cleanup_buffer *__prev; 10143: }; 10143: 10143: 10143: enum 10143: { 10143: PTHREAD_CANCEL_ENABLE, 10143: 10143: PTHREAD_CANCEL_DISABLE 10143: 10143: }; 10143: enum 10143: { 10143: PTHREAD_CANCEL_DEFERRED, 10143: 10143: PTHREAD_CANCEL_ASYNCHRONOUS 10143: 10143: }; 10143: # 229 "/usr/include/pthread.h" 3 4 10143: extern "C" { 10143: 10143: 10143: 10143: 10143: extern int pthread_create (pthread_t *__restrict __newthread, 10143: const pthread_attr_t *__restrict __attr, 10143: void *(*__start_routine) (void *), 10143: void *__restrict __arg) throw () __attribute__ ((__nonnull__ (1, 3))); 10143: 10143: 10143: 10143: 10143: 10143: extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__)); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int pthread_join (pthread_t __th, void **__thread_return); 10143: 10143: 10143: 10143: 10143: extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return, 10143: const struct timespec *__abstime); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int pthread_detach (pthread_t __th) throw (); 10143: 10143: 10143: 10143: extern pthread_t pthread_self (void) throw () __attribute__ ((__const__)); 10143: 10143: 10143: extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) 10143: throw () __attribute__ ((__const__)); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int pthread_attr_init (pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_attr_destroy (pthread_attr_t *__attr) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr, 10143: int *__detachstate) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int pthread_attr_setdetachstate (pthread_attr_t *__attr, 10143: int __detachstate) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: extern int pthread_attr_getguardsize (const pthread_attr_t *__attr, 10143: size_t *__guardsize) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int pthread_attr_setguardsize (pthread_attr_t *__attr, 10143: size_t __guardsize) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr, 10143: struct sched_param *__restrict __param) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr, 10143: const struct sched_param *__restrict 10143: __param) throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict 10143: __attr, int *__restrict __policy) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict 10143: __attr, int *__restrict __inherit) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int pthread_attr_setinheritsched (pthread_attr_t *__attr, 10143: int __inherit) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr, 10143: int *__restrict __scope) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict 10143: __attr, void **__restrict __stackaddr) 10143: throw () __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__)); 10143: 10143: 10143: 10143: 10143: 10143: extern int pthread_attr_setstackaddr (pthread_attr_t *__attr, 10143: void *__stackaddr) 10143: throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)); 10143: 10143: 10143: extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict 10143: __attr, size_t *__restrict __stacksize) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: 10143: 10143: extern int pthread_attr_setstacksize (pthread_attr_t *__attr, 10143: size_t __stacksize) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr, 10143: void **__restrict __stackaddr, 10143: size_t *__restrict __stacksize) 10143: throw () __attribute__ ((__nonnull__ (1, 2, 3))); 10143: 10143: 10143: 10143: 10143: extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr, 10143: size_t __stacksize) throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: 10143: extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr, 10143: size_t __cpusetsize, 10143: const cpu_set_t *__cpuset) 10143: throw () __attribute__ ((__nonnull__ (1, 3))); 10143: 10143: 10143: 10143: extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr, 10143: size_t __cpusetsize, 10143: cpu_set_t *__cpuset) 10143: throw () __attribute__ ((__nonnull__ (1, 3))); 10143: 10143: 10143: extern int pthread_getattr_default_np (pthread_attr_t *__attr) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: extern int pthread_setattr_default_np (const pthread_attr_t *__attr) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr) 10143: throw () __attribute__ ((__nonnull__ (2))); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int pthread_setschedparam (pthread_t __target_thread, int __policy, 10143: const struct sched_param *__param) 10143: throw () __attribute__ ((__nonnull__ (3))); 10143: 10143: 10143: extern int pthread_getschedparam (pthread_t __target_thread, 10143: int *__restrict __policy, 10143: struct sched_param *__restrict __param) 10143: throw () __attribute__ ((__nonnull__ (2, 3))); 10143: 10143: 10143: extern int pthread_setschedprio (pthread_t __target_thread, int __prio) 10143: throw (); 10143: 10143: 10143: 10143: 10143: extern int pthread_getname_np (pthread_t __target_thread, char *__buf, 10143: size_t __buflen) 10143: throw () __attribute__ ((__nonnull__ (2))); 10143: 10143: 10143: extern int pthread_setname_np (pthread_t __target_thread, const char *__name) 10143: throw () __attribute__ ((__nonnull__ (2))); 10143: 10143: 10143: 10143: 10143: 10143: extern int pthread_getconcurrency (void) throw (); 10143: 10143: 10143: extern int pthread_setconcurrency (int __level) throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int pthread_yield (void) throw (); 10143: 10143: 10143: 10143: 10143: extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize, 10143: const cpu_set_t *__cpuset) 10143: throw () __attribute__ ((__nonnull__ (3))); 10143: 10143: 10143: extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize, 10143: cpu_set_t *__cpuset) 10143: throw () __attribute__ ((__nonnull__ (3))); 10143: # 495 "/usr/include/pthread.h" 3 4 10143: extern int pthread_once (pthread_once_t *__once_control, 10143: void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2))); 10143: # 507 "/usr/include/pthread.h" 3 4 10143: extern int pthread_setcancelstate (int __state, int *__oldstate); 10143: 10143: 10143: 10143: extern int pthread_setcanceltype (int __type, int *__oldtype); 10143: 10143: 10143: extern int pthread_cancel (pthread_t __th); 10143: 10143: 10143: 10143: 10143: extern void pthread_testcancel (void); 10143: 10143: 10143: 10143: 10143: typedef struct 10143: { 10143: struct 10143: { 10143: __jmp_buf __cancel_jmp_buf; 10143: int __mask_was_saved; 10143: } __cancel_jmp_buf[1]; 10143: void *__pad[4]; 10143: } __pthread_unwind_buf_t __attribute__ ((__aligned__)); 10143: # 541 "/usr/include/pthread.h" 3 4 10143: struct __pthread_cleanup_frame 10143: { 10143: void (*__cancel_routine) (void *); 10143: void *__cancel_arg; 10143: int __do_it; 10143: int __cancel_type; 10143: }; 10143: # 681 "/usr/include/pthread.h" 3 4 10143: extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf) 10143: ; 10143: # 693 "/usr/include/pthread.h" 3 4 10143: extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf) 10143: ; 10143: # 716 "/usr/include/pthread.h" 3 4 10143: extern void __pthread_register_cancel_defer (__pthread_unwind_buf_t *__buf) 10143: ; 10143: # 729 "/usr/include/pthread.h" 3 4 10143: extern void __pthread_unregister_cancel_restore (__pthread_unwind_buf_t *__buf) 10143: ; 10143: 10143: 10143: 10143: extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf) 10143: __attribute__ ((__noreturn__)) 10143: 10143: __attribute__ ((__weak__)) 10143: 10143: ; 10143: 10143: 10143: 10143: struct __jmp_buf_tag; 10143: extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) throw (); 10143: 10143: 10143: 10143: 10143: 10143: extern int pthread_mutex_init (pthread_mutex_t *__mutex, 10143: const pthread_mutexattr_t *__mutexattr) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_mutex_lock (pthread_mutex_t *__mutex) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex, 10143: const struct timespec *__restrict 10143: __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: 10143: extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: extern int pthread_mutex_getprioceiling (const pthread_mutex_t * 10143: __restrict __mutex, 10143: int *__restrict __prioceiling) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: 10143: extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex, 10143: int __prioceiling, 10143: int *__restrict __old_ceiling) 10143: throw () __attribute__ ((__nonnull__ (1, 3))); 10143: 10143: 10143: 10143: 10143: extern int pthread_mutex_consistent (pthread_mutex_t *__mutex) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: # 807 "/usr/include/pthread.h" 3 4 10143: extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t * 10143: __restrict __attr, 10143: int *__restrict __pshared) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, 10143: int __pshared) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict 10143: __attr, int *__restrict __kind) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: 10143: 10143: extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t * 10143: __restrict __attr, 10143: int *__restrict __protocol) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: 10143: extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr, 10143: int __protocol) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t * 10143: __restrict __attr, 10143: int *__restrict __prioceiling) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr, 10143: int __prioceiling) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr, 10143: int *__robustness) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: extern int pthread_mutexattr_getrobust_np (const pthread_mutexattr_t *__attr, 10143: int *__robustness) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: 10143: extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr, 10143: int __robustness) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr, 10143: int __robustness) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: # 889 "/usr/include/pthread.h" 3 4 10143: extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock, 10143: const pthread_rwlockattr_t *__restrict 10143: __attr) throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, 10143: const struct timespec *__restrict 10143: __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: 10143: extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, 10143: const struct timespec *__restrict 10143: __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: 10143: extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: 10143: extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t * 10143: __restrict __attr, 10143: int *__restrict __pshared) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, 10143: int __pshared) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t * 10143: __restrict __attr, 10143: int *__restrict __pref) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr, 10143: int __pref) throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int pthread_cond_init (pthread_cond_t *__restrict __cond, 10143: const pthread_condattr_t *__restrict __cond_attr) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_cond_destroy (pthread_cond_t *__cond) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_cond_signal (pthread_cond_t *__cond) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_cond_broadcast (pthread_cond_t *__cond) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int pthread_cond_wait (pthread_cond_t *__restrict __cond, 10143: pthread_mutex_t *__restrict __mutex) 10143: __attribute__ ((__nonnull__ (1, 2))); 10143: # 1001 "/usr/include/pthread.h" 3 4 10143: extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, 10143: pthread_mutex_t *__restrict __mutex, 10143: const struct timespec *__restrict __abstime) 10143: __attribute__ ((__nonnull__ (1, 2, 3))); 10143: 10143: 10143: 10143: 10143: extern int pthread_condattr_init (pthread_condattr_t *__attr) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_condattr_destroy (pthread_condattr_t *__attr) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_condattr_getpshared (const pthread_condattr_t * 10143: __restrict __attr, 10143: int *__restrict __pshared) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int pthread_condattr_setpshared (pthread_condattr_t *__attr, 10143: int __pshared) throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: extern int pthread_condattr_getclock (const pthread_condattr_t * 10143: __restrict __attr, 10143: __clockid_t *__restrict __clock_id) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int pthread_condattr_setclock (pthread_condattr_t *__attr, 10143: __clockid_t __clock_id) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: # 1045 "/usr/include/pthread.h" 3 4 10143: extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_spin_destroy (pthread_spinlock_t *__lock) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_spin_lock (pthread_spinlock_t *__lock) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_spin_trylock (pthread_spinlock_t *__lock) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_spin_unlock (pthread_spinlock_t *__lock) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier, 10143: const pthread_barrierattr_t *__restrict 10143: __attr, unsigned int __count) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_barrier_wait (pthread_barrier_t *__barrier) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: 10143: extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t * 10143: __restrict __attr, 10143: int *__restrict __pshared) 10143: throw () __attribute__ ((__nonnull__ (1, 2))); 10143: 10143: 10143: extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, 10143: int __pshared) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: # 1112 "/usr/include/pthread.h" 3 4 10143: extern int pthread_key_create (pthread_key_t *__key, 10143: void (*__destr_function) (void *)) 10143: throw () __attribute__ ((__nonnull__ (1))); 10143: 10143: 10143: extern int pthread_key_delete (pthread_key_t __key) throw (); 10143: 10143: 10143: extern void *pthread_getspecific (pthread_key_t __key) throw (); 10143: 10143: 10143: extern int pthread_setspecific (pthread_key_t __key, 10143: const void *__pointer) throw () ; 10143: 10143: 10143: 10143: 10143: extern int pthread_getcpuclockid (pthread_t __thread_id, 10143: __clockid_t *__clock_id) 10143: throw () __attribute__ ((__nonnull__ (2))); 10143: # 1146 "/usr/include/pthread.h" 3 4 10143: extern int pthread_atfork (void (*__prepare) (void), 10143: void (*__parent) (void), 10143: void (*__child) (void)) throw (); 10143: 10143: 10143: 10143: 10143: extern __inline __attribute__ ((__gnu_inline__)) int 10143: __attribute__ ((__leaf__)) pthread_equal (pthread_t __thread1, pthread_t __thread2) throw () 10143: { 10143: return __thread1 == __thread2; 10143: } 10143: 10143: 10143: } 10143: # 36 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/gthr-default.h" 2 3 10143: # 47 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/gthr-default.h" 3 10143: typedef pthread_t __gthread_t; 10143: typedef pthread_key_t __gthread_key_t; 10143: typedef pthread_once_t __gthread_once_t; 10143: typedef pthread_mutex_t __gthread_mutex_t; 10143: typedef pthread_mutex_t __gthread_recursive_mutex_t; 10143: typedef pthread_cond_t __gthread_cond_t; 10143: typedef struct timespec __gthread_time_t; 10143: # 101 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/gthr-default.h" 3 10143: static __typeof(pthread_once) __gthrw_pthread_once __attribute__ ((__weakref__("pthread_once"))); 10143: static __typeof(pthread_getspecific) __gthrw_pthread_getspecific __attribute__ ((__weakref__("pthread_getspecific"))); 10143: static __typeof(pthread_setspecific) __gthrw_pthread_setspecific __attribute__ ((__weakref__("pthread_setspecific"))); 10143: 10143: static __typeof(pthread_create) __gthrw_pthread_create __attribute__ ((__weakref__("pthread_create"))); 10143: static __typeof(pthread_join) __gthrw_pthread_join __attribute__ ((__weakref__("pthread_join"))); 10143: static __typeof(pthread_equal) __gthrw_pthread_equal __attribute__ ((__weakref__("pthread_equal"))); 10143: static __typeof(pthread_self) __gthrw_pthread_self __attribute__ ((__weakref__("pthread_self"))); 10143: static __typeof(pthread_detach) __gthrw_pthread_detach __attribute__ ((__weakref__("pthread_detach"))); 10143: 10143: static __typeof(pthread_cancel) __gthrw_pthread_cancel __attribute__ ((__weakref__("pthread_cancel"))); 10143: 10143: static __typeof(sched_yield) __gthrw_sched_yield __attribute__ ((__weakref__("sched_yield"))); 10143: 10143: static __typeof(pthread_mutex_lock) __gthrw_pthread_mutex_lock __attribute__ ((__weakref__("pthread_mutex_lock"))); 10143: static __typeof(pthread_mutex_trylock) __gthrw_pthread_mutex_trylock __attribute__ ((__weakref__("pthread_mutex_trylock"))); 10143: 10143: static __typeof(pthread_mutex_timedlock) __gthrw_pthread_mutex_timedlock __attribute__ ((__weakref__("pthread_mutex_timedlock"))); 10143: 10143: static __typeof(pthread_mutex_unlock) __gthrw_pthread_mutex_unlock __attribute__ ((__weakref__("pthread_mutex_unlock"))); 10143: static __typeof(pthread_mutex_init) __gthrw_pthread_mutex_init __attribute__ ((__weakref__("pthread_mutex_init"))); 10143: static __typeof(pthread_mutex_destroy) __gthrw_pthread_mutex_destroy __attribute__ ((__weakref__("pthread_mutex_destroy"))); 10143: 10143: static __typeof(pthread_cond_init) __gthrw_pthread_cond_init __attribute__ ((__weakref__("pthread_cond_init"))); 10143: static __typeof(pthread_cond_broadcast) __gthrw_pthread_cond_broadcast __attribute__ ((__weakref__("pthread_cond_broadcast"))); 10143: static __typeof(pthread_cond_signal) __gthrw_pthread_cond_signal __attribute__ ((__weakref__("pthread_cond_signal"))); 10143: static __typeof(pthread_cond_wait) __gthrw_pthread_cond_wait __attribute__ ((__weakref__("pthread_cond_wait"))); 10143: static __typeof(pthread_cond_timedwait) __gthrw_pthread_cond_timedwait __attribute__ ((__weakref__("pthread_cond_timedwait"))); 10143: static __typeof(pthread_cond_destroy) __gthrw_pthread_cond_destroy __attribute__ ((__weakref__("pthread_cond_destroy"))); 10143: 10143: static __typeof(pthread_key_create) __gthrw_pthread_key_create __attribute__ ((__weakref__("pthread_key_create"))); 10143: static __typeof(pthread_key_delete) __gthrw_pthread_key_delete __attribute__ ((__weakref__("pthread_key_delete"))); 10143: static __typeof(pthread_mutexattr_init) __gthrw_pthread_mutexattr_init __attribute__ ((__weakref__("pthread_mutexattr_init"))); 10143: static __typeof(pthread_mutexattr_settype) __gthrw_pthread_mutexattr_settype __attribute__ ((__weakref__("pthread_mutexattr_settype"))); 10143: static __typeof(pthread_mutexattr_destroy) __gthrw_pthread_mutexattr_destroy __attribute__ ((__weakref__("pthread_mutexattr_destroy"))); 10143: # 236 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/gthr-default.h" 3 10143: static __typeof(pthread_key_create) __gthrw___pthread_key_create __attribute__ ((__weakref__("__pthread_key_create"))); 10143: # 246 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/gthr-default.h" 3 10143: static inline int 10143: __gthread_active_p (void) 10143: { 10143: static void *const __gthread_active_ptr 10143: = __extension__ (void *) &__gthrw___pthread_key_create; 10143: return __gthread_active_ptr != 0; 10143: } 10143: # 658 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/gthr-default.h" 3 10143: static inline int 10143: __gthread_create (__gthread_t *__threadid, void *(*__func) (void*), 10143: void *__args) 10143: { 10143: return __gthrw_pthread_create (__threadid, __null, __func, __args); 10143: } 10143: 10143: static inline int 10143: __gthread_join (__gthread_t __threadid, void **__value_ptr) 10143: { 10143: return __gthrw_pthread_join (__threadid, __value_ptr); 10143: } 10143: 10143: static inline int 10143: __gthread_detach (__gthread_t __threadid) 10143: { 10143: return __gthrw_pthread_detach (__threadid); 10143: } 10143: 10143: static inline int 10143: __gthread_equal (__gthread_t __t1, __gthread_t __t2) 10143: { 10143: return __gthrw_pthread_equal (__t1, __t2); 10143: } 10143: 10143: static inline __gthread_t 10143: __gthread_self (void) 10143: { 10143: return __gthrw_pthread_self (); 10143: } 10143: 10143: static inline int 10143: __gthread_yield (void) 10143: { 10143: return __gthrw_sched_yield (); 10143: } 10143: 10143: static inline int 10143: __gthread_once (__gthread_once_t *__once, void (*__func) (void)) 10143: { 10143: if (__gthread_active_p ()) 10143: return __gthrw_pthread_once (__once, __func); 10143: else 10143: return -1; 10143: } 10143: 10143: static inline int 10143: __gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) 10143: { 10143: return __gthrw_pthread_key_create (__key, __dtor); 10143: } 10143: 10143: static inline int 10143: __gthread_key_delete (__gthread_key_t __key) 10143: { 10143: return __gthrw_pthread_key_delete (__key); 10143: } 10143: 10143: static inline void * 10143: __gthread_getspecific (__gthread_key_t __key) 10143: { 10143: return __gthrw_pthread_getspecific (__key); 10143: } 10143: 10143: static inline int 10143: __gthread_setspecific (__gthread_key_t __key, const void *__ptr) 10143: { 10143: return __gthrw_pthread_setspecific (__key, __ptr); 10143: } 10143: 10143: static inline void 10143: __gthread_mutex_init_function (__gthread_mutex_t *__mutex) 10143: { 10143: if (__gthread_active_p ()) 10143: __gthrw_pthread_mutex_init (__mutex, __null); 10143: } 10143: 10143: static inline int 10143: __gthread_mutex_destroy (__gthread_mutex_t *__mutex) 10143: { 10143: if (__gthread_active_p ()) 10143: return __gthrw_pthread_mutex_destroy (__mutex); 10143: else 10143: return 0; 10143: } 10143: 10143: static inline int 10143: __gthread_mutex_lock (__gthread_mutex_t *__mutex) 10143: { 10143: if (__gthread_active_p ()) 10143: return __gthrw_pthread_mutex_lock (__mutex); 10143: else 10143: return 0; 10143: } 10143: 10143: static inline int 10143: __gthread_mutex_trylock (__gthread_mutex_t *__mutex) 10143: { 10143: if (__gthread_active_p ()) 10143: return __gthrw_pthread_mutex_trylock (__mutex); 10143: else 10143: return 0; 10143: } 10143: 10143: 10143: static inline int 10143: __gthread_mutex_timedlock (__gthread_mutex_t *__mutex, 10143: const __gthread_time_t *__abs_timeout) 10143: { 10143: if (__gthread_active_p ()) 10143: return __gthrw_pthread_mutex_timedlock (__mutex, __abs_timeout); 10143: else 10143: return 0; 10143: } 10143: 10143: 10143: static inline int 10143: __gthread_mutex_unlock (__gthread_mutex_t *__mutex) 10143: { 10143: if (__gthread_active_p ()) 10143: return __gthrw_pthread_mutex_unlock (__mutex); 10143: else 10143: return 0; 10143: } 10143: # 807 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/gthr-default.h" 3 10143: static inline int 10143: __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) 10143: { 10143: return __gthread_mutex_lock (__mutex); 10143: } 10143: 10143: static inline int 10143: __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) 10143: { 10143: return __gthread_mutex_trylock (__mutex); 10143: } 10143: 10143: 10143: static inline int 10143: __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, 10143: const __gthread_time_t *__abs_timeout) 10143: { 10143: return __gthread_mutex_timedlock (__mutex, __abs_timeout); 10143: } 10143: 10143: 10143: static inline int 10143: __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) 10143: { 10143: return __gthread_mutex_unlock (__mutex); 10143: } 10143: 10143: static inline int 10143: __gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) 10143: { 10143: return __gthread_mutex_destroy (__mutex); 10143: } 10143: # 849 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/gthr-default.h" 3 10143: static inline int 10143: __gthread_cond_broadcast (__gthread_cond_t *__cond) 10143: { 10143: return __gthrw_pthread_cond_broadcast (__cond); 10143: } 10143: 10143: static inline int 10143: __gthread_cond_signal (__gthread_cond_t *__cond) 10143: { 10143: return __gthrw_pthread_cond_signal (__cond); 10143: } 10143: 10143: static inline int 10143: __gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) 10143: { 10143: return __gthrw_pthread_cond_wait (__cond, __mutex); 10143: } 10143: 10143: static inline int 10143: __gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, 10143: const __gthread_time_t *__abs_timeout) 10143: { 10143: return __gthrw_pthread_cond_timedwait (__cond, __mutex, __abs_timeout); 10143: } 10143: 10143: static inline int 10143: __gthread_cond_wait_recursive (__gthread_cond_t *__cond, 10143: __gthread_recursive_mutex_t *__mutex) 10143: { 10143: return __gthread_cond_wait (__cond, __mutex); 10143: } 10143: 10143: static inline int 10143: __gthread_cond_destroy (__gthread_cond_t* __cond) 10143: { 10143: return __gthrw_pthread_cond_destroy (__cond); 10143: } 10143: # 149 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/gthr.h" 2 3 10143: 10143: 10143: #pragma GCC visibility pop 10143: # 36 "/usr/include/c++/8/ext/atomicity.h" 2 3 10143: # 1 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/atomic_word.h" 1 3 10143: # 32 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/atomic_word.h" 3 10143: typedef int _Atomic_word; 10143: # 37 "/usr/include/c++/8/ext/atomicity.h" 2 3 10143: 10143: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: static inline _Atomic_word 10143: __exchange_and_add(volatile _Atomic_word* __mem, int __val) 10143: { return __atomic_fetch_add(__mem, __val, 4); } 10143: 10143: static inline void 10143: __atomic_add(volatile _Atomic_word* __mem, int __val) 10143: { __atomic_fetch_add(__mem, __val, 4); } 10143: # 64 "/usr/include/c++/8/ext/atomicity.h" 3 10143: static inline _Atomic_word 10143: __exchange_and_add_single(_Atomic_word* __mem, int __val) 10143: { 10143: _Atomic_word __result = *__mem; 10143: *__mem += __val; 10143: return __result; 10143: } 10143: 10143: static inline void 10143: __atomic_add_single(_Atomic_word* __mem, int __val) 10143: { *__mem += __val; } 10143: 10143: static inline _Atomic_word 10143: __attribute__ ((__unused__)) 10143: __exchange_and_add_dispatch(_Atomic_word* __mem, int __val) 10143: { 10143: 10143: if (__gthread_active_p()) 10143: return __exchange_and_add(__mem, __val); 10143: else 10143: return __exchange_and_add_single(__mem, __val); 10143: 10143: 10143: 10143: } 10143: 10143: static inline void 10143: __attribute__ ((__unused__)) 10143: __atomic_add_dispatch(_Atomic_word* __mem, int __val) 10143: { 10143: 10143: if (__gthread_active_p()) 10143: __atomic_add(__mem, __val); 10143: else 10143: __atomic_add_single(__mem, __val); 10143: 10143: 10143: 10143: } 10143: 10143: 10143: } 10143: # 40 "/usr/include/c++/8/bits/basic_string.h" 2 3 10143: # 52 "/usr/include/c++/8/bits/basic_string.h" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: namespace __cxx11 { 10143: # 76 "/usr/include/c++/8/bits/basic_string.h" 3 10143: template 10143: class basic_string 10143: { 10143: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 10143: rebind<_CharT>::other _Char_alloc_type; 10143: typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits; 10143: 10143: 10143: public: 10143: typedef _Traits traits_type; 10143: typedef typename _Traits::char_type value_type; 10143: typedef _Char_alloc_type allocator_type; 10143: typedef typename _Alloc_traits::size_type size_type; 10143: typedef typename _Alloc_traits::difference_type difference_type; 10143: typedef typename _Alloc_traits::reference reference; 10143: typedef typename _Alloc_traits::const_reference const_reference; 10143: typedef typename _Alloc_traits::pointer pointer; 10143: typedef typename _Alloc_traits::const_pointer const_pointer; 10143: typedef __gnu_cxx::__normal_iterator iterator; 10143: typedef __gnu_cxx::__normal_iterator 10143: const_iterator; 10143: typedef std::reverse_iterator const_reverse_iterator; 10143: typedef std::reverse_iterator reverse_iterator; 10143: 10143: 10143: static const size_type npos = static_cast(-1); 10143: 10143: private: 10143: 10143: 10143: 10143: 10143: typedef const_iterator __const_iterator; 10143: # 139 "/usr/include/c++/8/bits/basic_string.h" 3 10143: struct _Alloc_hider : allocator_type 10143: { 10143: 10143: 10143: 10143: 10143: _Alloc_hider(pointer __dat, const _Alloc& __a) 10143: : allocator_type(__a), _M_p(__dat) { } 10143: 10143: _Alloc_hider(pointer __dat, _Alloc&& __a = _Alloc()) 10143: : allocator_type(std::move(__a)), _M_p(__dat) { } 10143: 10143: 10143: pointer _M_p; 10143: }; 10143: 10143: _Alloc_hider _M_dataplus; 10143: size_type _M_string_length; 10143: 10143: enum { _S_local_capacity = 15 / sizeof(_CharT) }; 10143: 10143: union 10143: { 10143: _CharT _M_local_buf[_S_local_capacity + 1]; 10143: size_type _M_allocated_capacity; 10143: }; 10143: 10143: void 10143: _M_data(pointer __p) 10143: { _M_dataplus._M_p = __p; } 10143: 10143: void 10143: _M_length(size_type __length) 10143: { _M_string_length = __length; } 10143: 10143: pointer 10143: _M_data() const 10143: { return _M_dataplus._M_p; } 10143: 10143: pointer 10143: _M_local_data() 10143: { 10143: 10143: return std::pointer_traits::pointer_to(*_M_local_buf); 10143: 10143: 10143: 10143: } 10143: 10143: const_pointer 10143: _M_local_data() const 10143: { 10143: 10143: return std::pointer_traits::pointer_to(*_M_local_buf); 10143: 10143: 10143: 10143: } 10143: 10143: void 10143: _M_capacity(size_type __capacity) 10143: { _M_allocated_capacity = __capacity; } 10143: 10143: void 10143: _M_set_length(size_type __n) 10143: { 10143: _M_length(__n); 10143: traits_type::assign(_M_data()[__n], _CharT()); 10143: } 10143: 10143: bool 10143: _M_is_local() const 10143: { return _M_data() == _M_local_data(); } 10143: 10143: 10143: pointer 10143: _M_create(size_type&, size_type); 10143: 10143: void 10143: _M_dispose() 10143: { 10143: if (!_M_is_local()) 10143: _M_destroy(_M_allocated_capacity); 10143: } 10143: 10143: void 10143: _M_destroy(size_type __size) throw() 10143: { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); } 10143: 10143: 10143: 10143: template 10143: void 10143: _M_construct_aux(_InIterator __beg, _InIterator __end, 10143: std::__false_type) 10143: { 10143: typedef typename iterator_traits<_InIterator>::iterator_category _Tag; 10143: _M_construct(__beg, __end, _Tag()); 10143: } 10143: 10143: 10143: 10143: template 10143: void 10143: _M_construct_aux(_Integer __beg, _Integer __end, std::__true_type) 10143: { _M_construct_aux_2(static_cast(__beg), __end); } 10143: 10143: void 10143: _M_construct_aux_2(size_type __req, _CharT __c) 10143: { _M_construct(__req, __c); } 10143: 10143: template 10143: void 10143: _M_construct(_InIterator __beg, _InIterator __end) 10143: { 10143: typedef typename std::__is_integer<_InIterator>::__type _Integral; 10143: _M_construct_aux(__beg, __end, _Integral()); 10143: } 10143: 10143: 10143: template 10143: void 10143: _M_construct(_InIterator __beg, _InIterator __end, 10143: std::input_iterator_tag); 10143: 10143: 10143: 10143: template 10143: void 10143: _M_construct(_FwdIterator __beg, _FwdIterator __end, 10143: std::forward_iterator_tag); 10143: 10143: void 10143: _M_construct(size_type __req, _CharT __c); 10143: 10143: allocator_type& 10143: _M_get_allocator() 10143: { return _M_dataplus; } 10143: 10143: const allocator_type& 10143: _M_get_allocator() const 10143: { return _M_dataplus; } 10143: 10143: private: 10143: # 298 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: _M_check(size_type __pos, const char* __s) const 10143: { 10143: if (__pos > this->size()) 10143: __throw_out_of_range_fmt(("%s: __pos (which is %zu) > " "this->size() (which is %zu)") 10143: , 10143: __s, __pos, this->size()); 10143: return __pos; 10143: } 10143: 10143: void 10143: _M_check_length(size_type __n1, size_type __n2, const char* __s) const 10143: { 10143: if (this->max_size() - (this->size() - __n1) < __n2) 10143: __throw_length_error((__s)); 10143: } 10143: 10143: 10143: 10143: size_type 10143: _M_limit(size_type __pos, size_type __off) const noexcept 10143: { 10143: const bool __testoff = __off < this->size() - __pos; 10143: return __testoff ? __off : this->size() - __pos; 10143: } 10143: 10143: 10143: bool 10143: _M_disjunct(const _CharT* __s) const noexcept 10143: { 10143: return (less()(__s, _M_data()) 10143: || less()(_M_data() + this->size(), __s)); 10143: } 10143: 10143: 10143: 10143: static void 10143: _S_copy(_CharT* __d, const _CharT* __s, size_type __n) 10143: { 10143: if (__n == 1) 10143: traits_type::assign(*__d, *__s); 10143: else 10143: traits_type::copy(__d, __s, __n); 10143: } 10143: 10143: static void 10143: _S_move(_CharT* __d, const _CharT* __s, size_type __n) 10143: { 10143: if (__n == 1) 10143: traits_type::assign(*__d, *__s); 10143: else 10143: traits_type::move(__d, __s, __n); 10143: } 10143: 10143: static void 10143: _S_assign(_CharT* __d, size_type __n, _CharT __c) 10143: { 10143: if (__n == 1) 10143: traits_type::assign(*__d, __c); 10143: else 10143: traits_type::assign(__d, __n, __c); 10143: } 10143: 10143: 10143: 10143: template 10143: static void 10143: _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2) 10143: { 10143: for (; __k1 != __k2; ++__k1, (void)++__p) 10143: traits_type::assign(*__p, *__k1); 10143: } 10143: 10143: static void 10143: _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) noexcept 10143: { _S_copy_chars(__p, __k1.base(), __k2.base()); } 10143: 10143: static void 10143: _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2) 10143: noexcept 10143: { _S_copy_chars(__p, __k1.base(), __k2.base()); } 10143: 10143: static void 10143: _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) noexcept 10143: { _S_copy(__p, __k1, __k2 - __k1); } 10143: 10143: static void 10143: _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) 10143: noexcept 10143: { _S_copy(__p, __k1, __k2 - __k1); } 10143: 10143: static int 10143: _S_compare(size_type __n1, size_type __n2) noexcept 10143: { 10143: const difference_type __d = difference_type(__n1 - __n2); 10143: 10143: if (__d > __gnu_cxx::__numeric_traits::__max) 10143: return __gnu_cxx::__numeric_traits::__max; 10143: else if (__d < __gnu_cxx::__numeric_traits::__min) 10143: return __gnu_cxx::__numeric_traits::__min; 10143: else 10143: return int(__d); 10143: } 10143: 10143: void 10143: _M_assign(const basic_string&); 10143: 10143: void 10143: _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, 10143: size_type __len2); 10143: 10143: void 10143: _M_erase(size_type __pos, size_type __n); 10143: 10143: public: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: basic_string() 10143: noexcept(is_nothrow_default_constructible<_Alloc>::value) 10143: : _M_dataplus(_M_local_data()) 10143: { _M_set_length(0); } 10143: 10143: 10143: 10143: 10143: explicit 10143: basic_string(const _Alloc& __a) noexcept 10143: : _M_dataplus(_M_local_data(), __a) 10143: { _M_set_length(0); } 10143: 10143: 10143: 10143: 10143: 10143: basic_string(const basic_string& __str) 10143: : _M_dataplus(_M_local_data(), 10143: _Alloc_traits::_S_select_on_copy(__str._M_get_allocator())) 10143: { _M_construct(__str._M_data(), __str._M_data() + __str.length()); } 10143: # 450 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string(const basic_string& __str, size_type __pos, 10143: const _Alloc& __a = _Alloc()) 10143: : _M_dataplus(_M_local_data(), __a) 10143: { 10143: const _CharT* __start = __str._M_data() 10143: + __str._M_check(__pos, "basic_string::basic_string"); 10143: _M_construct(__start, __start + __str._M_limit(__pos, npos)); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: basic_string(const basic_string& __str, size_type __pos, 10143: size_type __n) 10143: : _M_dataplus(_M_local_data()) 10143: { 10143: const _CharT* __start = __str._M_data() 10143: + __str._M_check(__pos, "basic_string::basic_string"); 10143: _M_construct(__start, __start + __str._M_limit(__pos, __n)); 10143: } 10143: # 481 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string(const basic_string& __str, size_type __pos, 10143: size_type __n, const _Alloc& __a) 10143: : _M_dataplus(_M_local_data(), __a) 10143: { 10143: const _CharT* __start 10143: = __str._M_data() + __str._M_check(__pos, "string::string"); 10143: _M_construct(__start, __start + __str._M_limit(__pos, __n)); 10143: } 10143: # 499 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string(const _CharT* __s, size_type __n, 10143: const _Alloc& __a = _Alloc()) 10143: : _M_dataplus(_M_local_data(), __a) 10143: { _M_construct(__s, __s + __n); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) 10143: : _M_dataplus(_M_local_data(), __a) 10143: { _M_construct(__s, __s ? __s + traits_type::length(__s) : __s+npos); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) 10143: : _M_dataplus(_M_local_data(), __a) 10143: { _M_construct(__n, __c); } 10143: # 531 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string(basic_string&& __str) noexcept 10143: : _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator())) 10143: { 10143: if (__str._M_is_local()) 10143: { 10143: traits_type::copy(_M_local_buf, __str._M_local_buf, 10143: _S_local_capacity + 1); 10143: } 10143: else 10143: { 10143: _M_data(__str._M_data()); 10143: _M_capacity(__str._M_allocated_capacity); 10143: } 10143: 10143: 10143: 10143: 10143: _M_length(__str.length()); 10143: __str._M_data(__str._M_local_data()); 10143: __str._M_set_length(0); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) 10143: : _M_dataplus(_M_local_data(), __a) 10143: { _M_construct(__l.begin(), __l.end()); } 10143: 10143: basic_string(const basic_string& __str, const _Alloc& __a) 10143: : _M_dataplus(_M_local_data(), __a) 10143: { _M_construct(__str.begin(), __str.end()); } 10143: 10143: basic_string(basic_string&& __str, const _Alloc& __a) 10143: noexcept(_Alloc_traits::_S_always_equal()) 10143: : _M_dataplus(_M_local_data(), __a) 10143: { 10143: if (__str._M_is_local()) 10143: { 10143: traits_type::copy(_M_local_buf, __str._M_local_buf, 10143: _S_local_capacity + 1); 10143: _M_length(__str.length()); 10143: __str._M_set_length(0); 10143: } 10143: else if (_Alloc_traits::_S_always_equal() 10143: || __str.get_allocator() == __a) 10143: { 10143: _M_data(__str._M_data()); 10143: _M_length(__str.length()); 10143: _M_capacity(__str._M_allocated_capacity); 10143: __str._M_data(__str._M_local_buf); 10143: __str._M_set_length(0); 10143: } 10143: else 10143: _M_construct(__str.begin(), __str.end()); 10143: } 10143: # 599 "/usr/include/c++/8/bits/basic_string.h" 3 10143: template> 10143: 10143: 10143: 10143: basic_string(_InputIterator __beg, _InputIterator __end, 10143: const _Alloc& __a = _Alloc()) 10143: : _M_dataplus(_M_local_data(), __a) 10143: { _M_construct(__beg, __end); } 10143: # 646 "/usr/include/c++/8/bits/basic_string.h" 3 10143: ~basic_string() 10143: { _M_dispose(); } 10143: 10143: 10143: 10143: 10143: 10143: basic_string& 10143: operator=(const basic_string& __str) 10143: { 10143: 10143: if (_Alloc_traits::_S_propagate_on_copy_assign()) 10143: { 10143: if (!_Alloc_traits::_S_always_equal() && !_M_is_local() 10143: && _M_get_allocator() != __str._M_get_allocator()) 10143: { 10143: 10143: 10143: if (__str.size() <= _S_local_capacity) 10143: { 10143: _M_destroy(_M_allocated_capacity); 10143: _M_data(_M_local_data()); 10143: _M_set_length(0); 10143: } 10143: else 10143: { 10143: const auto __len = __str.size(); 10143: auto __alloc = __str._M_get_allocator(); 10143: 10143: auto __ptr = _Alloc_traits::allocate(__alloc, __len + 1); 10143: _M_destroy(_M_allocated_capacity); 10143: _M_data(__ptr); 10143: _M_capacity(__len); 10143: _M_set_length(__len); 10143: } 10143: } 10143: std::__alloc_on_copy(_M_get_allocator(), __str._M_get_allocator()); 10143: } 10143: 10143: return this->assign(__str); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: basic_string& 10143: operator=(const _CharT* __s) 10143: { return this->assign(__s); } 10143: # 703 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: operator=(_CharT __c) 10143: { 10143: this->assign(1, __c); 10143: return *this; 10143: } 10143: # 721 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: operator=(basic_string&& __str) 10143: noexcept(_Alloc_traits::_S_nothrow_move()) 10143: { 10143: if (!_M_is_local() && _Alloc_traits::_S_propagate_on_move_assign() 10143: && !_Alloc_traits::_S_always_equal() 10143: && _M_get_allocator() != __str._M_get_allocator()) 10143: { 10143: 10143: _M_destroy(_M_allocated_capacity); 10143: _M_data(_M_local_data()); 10143: _M_set_length(0); 10143: } 10143: 10143: std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator()); 10143: 10143: if (!__str._M_is_local() 10143: && (_Alloc_traits::_S_propagate_on_move_assign() 10143: || _Alloc_traits::_S_always_equal())) 10143: { 10143: pointer __data = nullptr; 10143: size_type __capacity; 10143: if (!_M_is_local()) 10143: { 10143: if (_Alloc_traits::_S_always_equal()) 10143: { 10143: __data = _M_data(); 10143: __capacity = _M_allocated_capacity; 10143: } 10143: else 10143: _M_destroy(_M_allocated_capacity); 10143: } 10143: 10143: _M_data(__str._M_data()); 10143: _M_length(__str.length()); 10143: _M_capacity(__str._M_allocated_capacity); 10143: if (__data) 10143: { 10143: __str._M_data(__data); 10143: __str._M_capacity(__capacity); 10143: } 10143: else 10143: __str._M_data(__str._M_local_buf); 10143: } 10143: else 10143: assign(__str); 10143: __str.clear(); 10143: return *this; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: basic_string& 10143: operator=(initializer_list<_CharT> __l) 10143: { 10143: this->assign(__l.begin(), __l.size()); 10143: return *this; 10143: } 10143: # 806 "/usr/include/c++/8/bits/basic_string.h" 3 10143: iterator 10143: begin() noexcept 10143: { return iterator(_M_data()); } 10143: 10143: 10143: 10143: 10143: 10143: const_iterator 10143: begin() const noexcept 10143: { return const_iterator(_M_data()); } 10143: 10143: 10143: 10143: 10143: 10143: iterator 10143: end() noexcept 10143: { return iterator(_M_data() + this->size()); } 10143: 10143: 10143: 10143: 10143: 10143: const_iterator 10143: end() const noexcept 10143: { return const_iterator(_M_data() + this->size()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: reverse_iterator 10143: rbegin() noexcept 10143: { return reverse_iterator(this->end()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_reverse_iterator 10143: rbegin() const noexcept 10143: { return const_reverse_iterator(this->end()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: reverse_iterator 10143: rend() noexcept 10143: { return reverse_iterator(this->begin()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_reverse_iterator 10143: rend() const noexcept 10143: { return const_reverse_iterator(this->begin()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_iterator 10143: cbegin() const noexcept 10143: { return const_iterator(this->_M_data()); } 10143: 10143: 10143: 10143: 10143: 10143: const_iterator 10143: cend() const noexcept 10143: { return const_iterator(this->_M_data() + this->size()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_reverse_iterator 10143: crbegin() const noexcept 10143: { return const_reverse_iterator(this->end()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_reverse_iterator 10143: crend() const noexcept 10143: { return const_reverse_iterator(this->begin()); } 10143: 10143: 10143: public: 10143: 10143: 10143: 10143: size_type 10143: size() const noexcept 10143: { return _M_string_length; } 10143: 10143: 10143: 10143: size_type 10143: length() const noexcept 10143: { return _M_string_length; } 10143: 10143: 10143: size_type 10143: max_size() const noexcept 10143: { return (_Alloc_traits::max_size(_M_get_allocator()) - 1) / 2; } 10143: # 935 "/usr/include/c++/8/bits/basic_string.h" 3 10143: void 10143: resize(size_type __n, _CharT __c); 10143: # 948 "/usr/include/c++/8/bits/basic_string.h" 3 10143: void 10143: resize(size_type __n) 10143: { this->resize(__n, _CharT()); } 10143: 10143: 10143: 10143: void 10143: shrink_to_fit() noexcept 10143: { 10143: # 966 "/usr/include/c++/8/bits/basic_string.h" 3 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: size_type 10143: capacity() const noexcept 10143: { 10143: return _M_is_local() ? size_type(_S_local_capacity) 10143: : _M_allocated_capacity; 10143: } 10143: # 997 "/usr/include/c++/8/bits/basic_string.h" 3 10143: void 10143: reserve(size_type __res_arg = 0); 10143: 10143: 10143: 10143: 10143: void 10143: clear() noexcept 10143: { _M_set_length(0); } 10143: 10143: 10143: 10143: 10143: 10143: bool 10143: empty() const noexcept 10143: { return this->size() == 0; } 10143: # 1026 "/usr/include/c++/8/bits/basic_string.h" 3 10143: const_reference 10143: operator[] (size_type __pos) const noexcept 10143: { 10143: ; 10143: return _M_data()[__pos]; 10143: } 10143: # 1043 "/usr/include/c++/8/bits/basic_string.h" 3 10143: reference 10143: operator[](size_type __pos) 10143: { 10143: 10143: 10143: ; 10143: 10143: ; 10143: return _M_data()[__pos]; 10143: } 10143: # 1064 "/usr/include/c++/8/bits/basic_string.h" 3 10143: const_reference 10143: at(size_type __n) const 10143: { 10143: if (__n >= this->size()) 10143: __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)") 10143: 10143: , 10143: __n, this->size()); 10143: return _M_data()[__n]; 10143: } 10143: # 1085 "/usr/include/c++/8/bits/basic_string.h" 3 10143: reference 10143: at(size_type __n) 10143: { 10143: if (__n >= size()) 10143: __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)") 10143: 10143: , 10143: __n, this->size()); 10143: return _M_data()[__n]; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: reference 10143: front() noexcept 10143: { 10143: ; 10143: return operator[](0); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: const_reference 10143: front() const noexcept 10143: { 10143: ; 10143: return operator[](0); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: reference 10143: back() noexcept 10143: { 10143: ; 10143: return operator[](this->size() - 1); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: const_reference 10143: back() const noexcept 10143: { 10143: ; 10143: return operator[](this->size() - 1); 10143: } 10143: # 1148 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: operator+=(const basic_string& __str) 10143: { return this->append(__str); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: basic_string& 10143: operator+=(const _CharT* __s) 10143: { return this->append(__s); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: basic_string& 10143: operator+=(_CharT __c) 10143: { 10143: this->push_back(__c); 10143: return *this; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: basic_string& 10143: operator+=(initializer_list<_CharT> __l) 10143: { return this->append(__l.begin(), __l.size()); } 10143: # 1201 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: append(const basic_string& __str) 10143: { return _M_append(__str._M_data(), __str.size()); } 10143: # 1218 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: append(const basic_string& __str, size_type __pos, size_type __n) 10143: { return _M_append(__str._M_data() 10143: + __str._M_check(__pos, "basic_string::append"), 10143: __str._M_limit(__pos, __n)); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: basic_string& 10143: append(const _CharT* __s, size_type __n) 10143: { 10143: ; 10143: _M_check_length(size_type(0), __n, "basic_string::append"); 10143: return _M_append(__s, __n); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: basic_string& 10143: append(const _CharT* __s) 10143: { 10143: ; 10143: const size_type __n = traits_type::length(__s); 10143: _M_check_length(size_type(0), __n, "basic_string::append"); 10143: return _M_append(__s, __n); 10143: } 10143: # 1260 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: append(size_type __n, _CharT __c) 10143: { return _M_replace_aux(this->size(), size_type(0), __n, __c); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: basic_string& 10143: append(initializer_list<_CharT> __l) 10143: { return this->append(__l.begin(), __l.size()); } 10143: # 1284 "/usr/include/c++/8/bits/basic_string.h" 3 10143: template> 10143: 10143: 10143: 10143: basic_string& 10143: append(_InputIterator __first, _InputIterator __last) 10143: { return this->replace(end(), end(), __first, __last); } 10143: # 1329 "/usr/include/c++/8/bits/basic_string.h" 3 10143: void 10143: push_back(_CharT __c) 10143: { 10143: const size_type __size = this->size(); 10143: if (__size + 1 > this->capacity()) 10143: this->_M_mutate(__size, size_type(0), 0, size_type(1)); 10143: traits_type::assign(this->_M_data()[__size], __c); 10143: this->_M_set_length(__size + 1); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: basic_string& 10143: assign(const basic_string& __str) 10143: { 10143: this->_M_assign(__str); 10143: return *this; 10143: } 10143: # 1360 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: assign(basic_string&& __str) 10143: noexcept(_Alloc_traits::_S_nothrow_move()) 10143: { 10143: 10143: 10143: return *this = std::move(__str); 10143: } 10143: # 1383 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: assign(const basic_string& __str, size_type __pos, size_type __n) 10143: { return _M_replace(size_type(0), this->size(), __str._M_data() 10143: + __str._M_check(__pos, "basic_string::assign"), 10143: __str._M_limit(__pos, __n)); } 10143: # 1399 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: assign(const _CharT* __s, size_type __n) 10143: { 10143: ; 10143: return _M_replace(size_type(0), this->size(), __s, __n); 10143: } 10143: # 1415 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: assign(const _CharT* __s) 10143: { 10143: ; 10143: return _M_replace(size_type(0), this->size(), __s, 10143: traits_type::length(__s)); 10143: } 10143: # 1432 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: assign(size_type __n, _CharT __c) 10143: { return _M_replace_aux(size_type(0), this->size(), __n, __c); } 10143: # 1445 "/usr/include/c++/8/bits/basic_string.h" 3 10143: template> 10143: 10143: 10143: 10143: basic_string& 10143: assign(_InputIterator __first, _InputIterator __last) 10143: { return this->replace(begin(), end(), __first, __last); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: basic_string& 10143: assign(initializer_list<_CharT> __l) 10143: { return this->assign(__l.begin(), __l.size()); } 10143: # 1513 "/usr/include/c++/8/bits/basic_string.h" 3 10143: iterator 10143: insert(const_iterator __p, size_type __n, _CharT __c) 10143: { 10143: ; 10143: const size_type __pos = __p - begin(); 10143: this->replace(__p, __p, __n, __c); 10143: return iterator(this->_M_data() + __pos); 10143: } 10143: # 1555 "/usr/include/c++/8/bits/basic_string.h" 3 10143: template> 10143: iterator 10143: insert(const_iterator __p, _InputIterator __beg, _InputIterator __end) 10143: { 10143: ; 10143: const size_type __pos = __p - begin(); 10143: this->replace(__p, __p, __beg, __end); 10143: return iterator(this->_M_data() + __pos); 10143: } 10143: # 1591 "/usr/include/c++/8/bits/basic_string.h" 3 10143: void 10143: insert(iterator __p, initializer_list<_CharT> __l) 10143: { 10143: ; 10143: this->insert(__p - begin(), __l.begin(), __l.size()); 10143: } 10143: # 1611 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: insert(size_type __pos1, const basic_string& __str) 10143: { return this->replace(__pos1, size_type(0), 10143: __str._M_data(), __str.size()); } 10143: # 1634 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: insert(size_type __pos1, const basic_string& __str, 10143: size_type __pos2, size_type __n) 10143: { return this->replace(__pos1, size_type(0), __str._M_data() 10143: + __str._M_check(__pos2, "basic_string::insert"), 10143: __str._M_limit(__pos2, __n)); } 10143: # 1657 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: insert(size_type __pos, const _CharT* __s, size_type __n) 10143: { return this->replace(__pos, size_type(0), __s, __n); } 10143: # 1676 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: insert(size_type __pos, const _CharT* __s) 10143: { 10143: ; 10143: return this->replace(__pos, size_type(0), __s, 10143: traits_type::length(__s)); 10143: } 10143: # 1700 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: insert(size_type __pos, size_type __n, _CharT __c) 10143: { return _M_replace_aux(_M_check(__pos, "basic_string::insert"), 10143: size_type(0), __n, __c); } 10143: # 1718 "/usr/include/c++/8/bits/basic_string.h" 3 10143: iterator 10143: insert(__const_iterator __p, _CharT __c) 10143: { 10143: ; 10143: const size_type __pos = __p - begin(); 10143: _M_replace_aux(__pos, size_type(0), size_type(1), __c); 10143: return iterator(_M_data() + __pos); 10143: } 10143: # 1778 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: erase(size_type __pos = 0, size_type __n = npos) 10143: { 10143: _M_check(__pos, "basic_string::erase"); 10143: if (__n == npos) 10143: this->_M_set_length(__pos); 10143: else if (__n != 0) 10143: this->_M_erase(__pos, _M_limit(__pos, __n)); 10143: return *this; 10143: } 10143: # 1797 "/usr/include/c++/8/bits/basic_string.h" 3 10143: iterator 10143: erase(__const_iterator __position) 10143: { 10143: 10143: ; 10143: const size_type __pos = __position - begin(); 10143: this->_M_erase(__pos, size_type(1)); 10143: return iterator(_M_data() + __pos); 10143: } 10143: # 1816 "/usr/include/c++/8/bits/basic_string.h" 3 10143: iterator 10143: erase(__const_iterator __first, __const_iterator __last) 10143: { 10143: 10143: ; 10143: const size_type __pos = __first - begin(); 10143: if (__last == end()) 10143: this->_M_set_length(__pos); 10143: else 10143: this->_M_erase(__pos, __last - __first); 10143: return iterator(this->_M_data() + __pos); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: void 10143: pop_back() noexcept 10143: { 10143: ; 10143: _M_erase(size() - 1, 1); 10143: } 10143: # 1860 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: replace(size_type __pos, size_type __n, const basic_string& __str) 10143: { return this->replace(__pos, __n, __str._M_data(), __str.size()); } 10143: # 1882 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: replace(size_type __pos1, size_type __n1, const basic_string& __str, 10143: size_type __pos2, size_type __n2) 10143: { return this->replace(__pos1, __n1, __str._M_data() 10143: + __str._M_check(__pos2, "basic_string::replace"), 10143: __str._M_limit(__pos2, __n2)); } 10143: # 1907 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: replace(size_type __pos, size_type __n1, const _CharT* __s, 10143: size_type __n2) 10143: { 10143: ; 10143: return _M_replace(_M_check(__pos, "basic_string::replace"), 10143: _M_limit(__pos, __n1), __s, __n2); 10143: } 10143: # 1932 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: replace(size_type __pos, size_type __n1, const _CharT* __s) 10143: { 10143: ; 10143: return this->replace(__pos, __n1, __s, traits_type::length(__s)); 10143: } 10143: # 1956 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c) 10143: { return _M_replace_aux(_M_check(__pos, "basic_string::replace"), 10143: _M_limit(__pos, __n1), __n2, __c); } 10143: # 1974 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: replace(__const_iterator __i1, __const_iterator __i2, 10143: const basic_string& __str) 10143: { return this->replace(__i1, __i2, __str._M_data(), __str.size()); } 10143: # 1994 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: replace(__const_iterator __i1, __const_iterator __i2, 10143: const _CharT* __s, size_type __n) 10143: { 10143: 10143: ; 10143: return this->replace(__i1 - begin(), __i2 - __i1, __s, __n); 10143: } 10143: # 2016 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s) 10143: { 10143: ; 10143: return this->replace(__i1, __i2, __s, traits_type::length(__s)); 10143: } 10143: # 2037 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: replace(__const_iterator __i1, __const_iterator __i2, size_type __n, 10143: _CharT __c) 10143: { 10143: 10143: ; 10143: return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __c); 10143: } 10143: # 2062 "/usr/include/c++/8/bits/basic_string.h" 3 10143: template> 10143: basic_string& 10143: replace(const_iterator __i1, const_iterator __i2, 10143: _InputIterator __k1, _InputIterator __k2) 10143: { 10143: 10143: ; 10143: ; 10143: return this->_M_replace_dispatch(__i1, __i2, __k1, __k2, 10143: std::__false_type()); 10143: } 10143: # 2094 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& 10143: replace(__const_iterator __i1, __const_iterator __i2, 10143: _CharT* __k1, _CharT* __k2) 10143: { 10143: 10143: ; 10143: ; 10143: return this->replace(__i1 - begin(), __i2 - __i1, 10143: __k1, __k2 - __k1); 10143: } 10143: 10143: basic_string& 10143: replace(__const_iterator __i1, __const_iterator __i2, 10143: const _CharT* __k1, const _CharT* __k2) 10143: { 10143: 10143: ; 10143: ; 10143: return this->replace(__i1 - begin(), __i2 - __i1, 10143: __k1, __k2 - __k1); 10143: } 10143: 10143: basic_string& 10143: replace(__const_iterator __i1, __const_iterator __i2, 10143: iterator __k1, iterator __k2) 10143: { 10143: 10143: ; 10143: ; 10143: return this->replace(__i1 - begin(), __i2 - __i1, 10143: __k1.base(), __k2 - __k1); 10143: } 10143: 10143: basic_string& 10143: replace(__const_iterator __i1, __const_iterator __i2, 10143: const_iterator __k1, const_iterator __k2) 10143: { 10143: 10143: ; 10143: ; 10143: return this->replace(__i1 - begin(), __i2 - __i1, 10143: __k1.base(), __k2 - __k1); 10143: } 10143: # 2153 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string& replace(const_iterator __i1, const_iterator __i2, 10143: initializer_list<_CharT> __l) 10143: { return this->replace(__i1, __i2, __l.begin(), __l.size()); } 10143: # 2212 "/usr/include/c++/8/bits/basic_string.h" 3 10143: private: 10143: template 10143: basic_string& 10143: _M_replace_dispatch(const_iterator __i1, const_iterator __i2, 10143: _Integer __n, _Integer __val, __true_type) 10143: { return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __val); } 10143: 10143: template 10143: basic_string& 10143: _M_replace_dispatch(const_iterator __i1, const_iterator __i2, 10143: _InputIterator __k1, _InputIterator __k2, 10143: __false_type); 10143: 10143: basic_string& 10143: _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, 10143: _CharT __c); 10143: 10143: basic_string& 10143: _M_replace(size_type __pos, size_type __len1, const _CharT* __s, 10143: const size_type __len2); 10143: 10143: basic_string& 10143: _M_append(const _CharT* __s, size_type __n); 10143: 10143: public: 10143: # 2250 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: copy(_CharT* __s, size_type __n, size_type __pos = 0) const; 10143: # 2260 "/usr/include/c++/8/bits/basic_string.h" 3 10143: void 10143: swap(basic_string& __s) noexcept; 10143: # 2270 "/usr/include/c++/8/bits/basic_string.h" 3 10143: const _CharT* 10143: c_str() const noexcept 10143: { return _M_data(); } 10143: # 2282 "/usr/include/c++/8/bits/basic_string.h" 3 10143: const _CharT* 10143: data() const noexcept 10143: { return _M_data(); } 10143: # 2301 "/usr/include/c++/8/bits/basic_string.h" 3 10143: allocator_type 10143: get_allocator() const noexcept 10143: { return _M_get_allocator(); } 10143: # 2317 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: find(const _CharT* __s, size_type __pos, size_type __n) const 10143: noexcept; 10143: # 2331 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: find(const basic_string& __str, size_type __pos = 0) const 10143: noexcept 10143: { return this->find(__str.data(), __pos, __str.size()); } 10143: # 2363 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: find(const _CharT* __s, size_type __pos = 0) const noexcept 10143: { 10143: ; 10143: return this->find(__s, __pos, traits_type::length(__s)); 10143: } 10143: # 2380 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: find(_CharT __c, size_type __pos = 0) const noexcept; 10143: # 2393 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: rfind(const basic_string& __str, size_type __pos = npos) const 10143: noexcept 10143: { return this->rfind(__str.data(), __pos, __str.size()); } 10143: # 2427 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: rfind(const _CharT* __s, size_type __pos, size_type __n) const 10143: noexcept; 10143: # 2441 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: rfind(const _CharT* __s, size_type __pos = npos) const 10143: { 10143: ; 10143: return this->rfind(__s, __pos, traits_type::length(__s)); 10143: } 10143: # 2458 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: rfind(_CharT __c, size_type __pos = npos) const noexcept; 10143: # 2472 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: find_first_of(const basic_string& __str, size_type __pos = 0) const 10143: noexcept 10143: { return this->find_first_of(__str.data(), __pos, __str.size()); } 10143: # 2507 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: find_first_of(const _CharT* __s, size_type __pos, size_type __n) const 10143: noexcept; 10143: # 2521 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: find_first_of(const _CharT* __s, size_type __pos = 0) const 10143: noexcept 10143: { 10143: ; 10143: return this->find_first_of(__s, __pos, traits_type::length(__s)); 10143: } 10143: # 2541 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: find_first_of(_CharT __c, size_type __pos = 0) const noexcept 10143: { return this->find(__c, __pos); } 10143: # 2556 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: find_last_of(const basic_string& __str, size_type __pos = npos) const 10143: noexcept 10143: { return this->find_last_of(__str.data(), __pos, __str.size()); } 10143: # 2591 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: find_last_of(const _CharT* __s, size_type __pos, size_type __n) const 10143: noexcept; 10143: # 2605 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: find_last_of(const _CharT* __s, size_type __pos = npos) const 10143: noexcept 10143: { 10143: ; 10143: return this->find_last_of(__s, __pos, traits_type::length(__s)); 10143: } 10143: # 2625 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: find_last_of(_CharT __c, size_type __pos = npos) const noexcept 10143: { return this->rfind(__c, __pos); } 10143: # 2639 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: find_first_not_of(const basic_string& __str, size_type __pos = 0) const 10143: noexcept 10143: { return this->find_first_not_of(__str.data(), __pos, __str.size()); } 10143: # 2674 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: find_first_not_of(const _CharT* __s, size_type __pos, 10143: size_type __n) const noexcept; 10143: # 2688 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: find_first_not_of(const _CharT* __s, size_type __pos = 0) const 10143: noexcept 10143: { 10143: ; 10143: return this->find_first_not_of(__s, __pos, traits_type::length(__s)); 10143: } 10143: # 2706 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: find_first_not_of(_CharT __c, size_type __pos = 0) const 10143: noexcept; 10143: # 2721 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: find_last_not_of(const basic_string& __str, size_type __pos = npos) const 10143: noexcept 10143: { return this->find_last_not_of(__str.data(), __pos, __str.size()); } 10143: # 2756 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: find_last_not_of(const _CharT* __s, size_type __pos, 10143: size_type __n) const noexcept; 10143: # 2770 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: find_last_not_of(const _CharT* __s, size_type __pos = npos) const 10143: noexcept 10143: { 10143: ; 10143: return this->find_last_not_of(__s, __pos, traits_type::length(__s)); 10143: } 10143: # 2788 "/usr/include/c++/8/bits/basic_string.h" 3 10143: size_type 10143: find_last_not_of(_CharT __c, size_type __pos = npos) const 10143: noexcept; 10143: # 2804 "/usr/include/c++/8/bits/basic_string.h" 3 10143: basic_string 10143: substr(size_type __pos = 0, size_type __n = npos) const 10143: { return basic_string(*this, 10143: _M_check(__pos, "basic_string::substr"), __n); } 10143: # 2823 "/usr/include/c++/8/bits/basic_string.h" 3 10143: int 10143: compare(const basic_string& __str) const 10143: { 10143: const size_type __size = this->size(); 10143: const size_type __osize = __str.size(); 10143: const size_type __len = std::min(__size, __osize); 10143: 10143: int __r = traits_type::compare(_M_data(), __str.data(), __len); 10143: if (!__r) 10143: __r = _S_compare(__size, __osize); 10143: return __r; 10143: } 10143: # 2916 "/usr/include/c++/8/bits/basic_string.h" 3 10143: int 10143: compare(size_type __pos, size_type __n, const basic_string& __str) const; 10143: # 2942 "/usr/include/c++/8/bits/basic_string.h" 3 10143: int 10143: compare(size_type __pos1, size_type __n1, const basic_string& __str, 10143: size_type __pos2, size_type __n2) const; 10143: # 2960 "/usr/include/c++/8/bits/basic_string.h" 3 10143: int 10143: compare(const _CharT* __s) const noexcept; 10143: # 2984 "/usr/include/c++/8/bits/basic_string.h" 3 10143: int 10143: compare(size_type __pos, size_type __n1, const _CharT* __s) const; 10143: # 3011 "/usr/include/c++/8/bits/basic_string.h" 3 10143: int 10143: compare(size_type __pos, size_type __n1, const _CharT* __s, 10143: size_type __n2) const; 10143: 10143: 10143: template friend class basic_stringbuf; 10143: }; 10143: } 10143: # 5886 "/usr/include/c++/8/bits/basic_string.h" 3 10143: template 10143: basic_string<_CharT, _Traits, _Alloc> 10143: operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 10143: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 10143: { 10143: basic_string<_CharT, _Traits, _Alloc> __str(__lhs); 10143: __str.append(__rhs); 10143: return __str; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: basic_string<_CharT,_Traits,_Alloc> 10143: operator+(const _CharT* __lhs, 10143: const basic_string<_CharT,_Traits,_Alloc>& __rhs); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: basic_string<_CharT,_Traits,_Alloc> 10143: operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline basic_string<_CharT, _Traits, _Alloc> 10143: operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 10143: const _CharT* __rhs) 10143: { 10143: basic_string<_CharT, _Traits, _Alloc> __str(__lhs); 10143: __str.append(__rhs); 10143: return __str; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline basic_string<_CharT, _Traits, _Alloc> 10143: operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) 10143: { 10143: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 10143: typedef typename __string_type::size_type __size_type; 10143: __string_type __str(__lhs); 10143: __str.append(__size_type(1), __rhs); 10143: return __str; 10143: } 10143: 10143: 10143: template 10143: inline basic_string<_CharT, _Traits, _Alloc> 10143: operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, 10143: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 10143: { return std::move(__lhs.append(__rhs)); } 10143: 10143: template 10143: inline basic_string<_CharT, _Traits, _Alloc> 10143: operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 10143: basic_string<_CharT, _Traits, _Alloc>&& __rhs) 10143: { return std::move(__rhs.insert(0, __lhs)); } 10143: 10143: template 10143: inline basic_string<_CharT, _Traits, _Alloc> 10143: operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, 10143: basic_string<_CharT, _Traits, _Alloc>&& __rhs) 10143: { 10143: const auto __size = __lhs.size() + __rhs.size(); 10143: const bool __cond = (__size > __lhs.capacity() 10143: && __size <= __rhs.capacity()); 10143: return __cond ? std::move(__rhs.insert(0, __lhs)) 10143: : std::move(__lhs.append(__rhs)); 10143: } 10143: 10143: template 10143: inline basic_string<_CharT, _Traits, _Alloc> 10143: operator+(const _CharT* __lhs, 10143: basic_string<_CharT, _Traits, _Alloc>&& __rhs) 10143: { return std::move(__rhs.insert(0, __lhs)); } 10143: 10143: template 10143: inline basic_string<_CharT, _Traits, _Alloc> 10143: operator+(_CharT __lhs, 10143: basic_string<_CharT, _Traits, _Alloc>&& __rhs) 10143: { return std::move(__rhs.insert(0, 1, __lhs)); } 10143: 10143: template 10143: inline basic_string<_CharT, _Traits, _Alloc> 10143: operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, 10143: const _CharT* __rhs) 10143: { return std::move(__lhs.append(__rhs)); } 10143: 10143: template 10143: inline basic_string<_CharT, _Traits, _Alloc> 10143: operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, 10143: _CharT __rhs) 10143: { return std::move(__lhs.append(1, __rhs)); } 10143: # 6007 "/usr/include/c++/8/bits/basic_string.h" 3 10143: template 10143: inline bool 10143: operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 10143: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 10143: noexcept 10143: { return __lhs.compare(__rhs) == 0; } 10143: 10143: template 10143: inline 10143: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, bool>::__type 10143: operator==(const basic_string<_CharT>& __lhs, 10143: const basic_string<_CharT>& __rhs) noexcept 10143: { return (__lhs.size() == __rhs.size() 10143: && !std::char_traits<_CharT>::compare(__lhs.data(), __rhs.data(), 10143: __lhs.size())); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline bool 10143: operator==(const _CharT* __lhs, 10143: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 10143: { return __rhs.compare(__lhs) == 0; } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline bool 10143: operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 10143: const _CharT* __rhs) 10143: { return __lhs.compare(__rhs) == 0; } 10143: # 6054 "/usr/include/c++/8/bits/basic_string.h" 3 10143: template 10143: inline bool 10143: operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 10143: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 10143: noexcept 10143: { return !(__lhs == __rhs); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline bool 10143: operator!=(const _CharT* __lhs, 10143: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 10143: { return !(__lhs == __rhs); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline bool 10143: operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 10143: const _CharT* __rhs) 10143: { return !(__lhs == __rhs); } 10143: # 6092 "/usr/include/c++/8/bits/basic_string.h" 3 10143: template 10143: inline bool 10143: operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 10143: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 10143: noexcept 10143: { return __lhs.compare(__rhs) < 0; } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline bool 10143: operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 10143: const _CharT* __rhs) 10143: { return __lhs.compare(__rhs) < 0; } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline bool 10143: operator<(const _CharT* __lhs, 10143: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 10143: { return __rhs.compare(__lhs) > 0; } 10143: # 6130 "/usr/include/c++/8/bits/basic_string.h" 3 10143: template 10143: inline bool 10143: operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 10143: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 10143: noexcept 10143: { return __lhs.compare(__rhs) > 0; } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline bool 10143: operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 10143: const _CharT* __rhs) 10143: { return __lhs.compare(__rhs) > 0; } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline bool 10143: operator>(const _CharT* __lhs, 10143: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 10143: { return __rhs.compare(__lhs) < 0; } 10143: # 6168 "/usr/include/c++/8/bits/basic_string.h" 3 10143: template 10143: inline bool 10143: operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 10143: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 10143: noexcept 10143: { return __lhs.compare(__rhs) <= 0; } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline bool 10143: operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 10143: const _CharT* __rhs) 10143: { return __lhs.compare(__rhs) <= 0; } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline bool 10143: operator<=(const _CharT* __lhs, 10143: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 10143: { return __rhs.compare(__lhs) >= 0; } 10143: # 6206 "/usr/include/c++/8/bits/basic_string.h" 3 10143: template 10143: inline bool 10143: operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 10143: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 10143: noexcept 10143: { return __lhs.compare(__rhs) >= 0; } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline bool 10143: operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 10143: const _CharT* __rhs) 10143: { return __lhs.compare(__rhs) >= 0; } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline bool 10143: operator>=(const _CharT* __lhs, 10143: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 10143: { return __rhs.compare(__lhs) <= 0; } 10143: # 6244 "/usr/include/c++/8/bits/basic_string.h" 3 10143: template 10143: inline void 10143: swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, 10143: basic_string<_CharT, _Traits, _Alloc>& __rhs) 10143: noexcept(noexcept(__lhs.swap(__rhs))) 10143: { __lhs.swap(__rhs); } 10143: # 6264 "/usr/include/c++/8/bits/basic_string.h" 3 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: operator>>(basic_istream<_CharT, _Traits>& __is, 10143: basic_string<_CharT, _Traits, _Alloc>& __str); 10143: 10143: template<> 10143: basic_istream& 10143: operator>>(basic_istream& __is, basic_string& __str); 10143: # 6282 "/usr/include/c++/8/bits/basic_string.h" 3 10143: template 10143: inline basic_ostream<_CharT, _Traits>& 10143: operator<<(basic_ostream<_CharT, _Traits>& __os, 10143: const basic_string<_CharT, _Traits, _Alloc>& __str) 10143: { 10143: 10143: 10143: return __ostream_insert(__os, __str.data(), __str.size()); 10143: } 10143: # 6305 "/usr/include/c++/8/bits/basic_string.h" 3 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: getline(basic_istream<_CharT, _Traits>& __is, 10143: basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim); 10143: # 6322 "/usr/include/c++/8/bits/basic_string.h" 3 10143: template 10143: inline basic_istream<_CharT, _Traits>& 10143: getline(basic_istream<_CharT, _Traits>& __is, 10143: basic_string<_CharT, _Traits, _Alloc>& __str) 10143: { return std::getline(__is, __str, __is.widen('\n')); } 10143: 10143: 10143: 10143: template 10143: inline basic_istream<_CharT, _Traits>& 10143: getline(basic_istream<_CharT, _Traits>&& __is, 10143: basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) 10143: { return std::getline(__is, __str, __delim); } 10143: 10143: 10143: template 10143: inline basic_istream<_CharT, _Traits>& 10143: getline(basic_istream<_CharT, _Traits>&& __is, 10143: basic_string<_CharT, _Traits, _Alloc>& __str) 10143: { return std::getline(__is, __str); } 10143: 10143: 10143: template<> 10143: basic_istream& 10143: getline(basic_istream& __in, basic_string& __str, 10143: char __delim); 10143: 10143: 10143: template<> 10143: basic_istream& 10143: getline(basic_istream& __in, basic_string& __str, 10143: wchar_t __delim); 10143: 10143: 10143: 10143: } 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/ext/string_conversions.h" 1 3 10143: # 32 "/usr/include/c++/8/ext/string_conversions.h" 3 10143: 10143: # 33 "/usr/include/c++/8/ext/string_conversions.h" 3 10143: # 41 "/usr/include/c++/8/ext/string_conversions.h" 3 10143: # 1 "/usr/include/c++/8/cstdlib" 1 3 10143: # 39 "/usr/include/c++/8/cstdlib" 3 10143: 10143: # 40 "/usr/include/c++/8/cstdlib" 3 10143: # 42 "/usr/include/c++/8/ext/string_conversions.h" 2 3 10143: # 1 "/usr/include/c++/8/cwchar" 1 3 10143: # 39 "/usr/include/c++/8/cwchar" 3 10143: 10143: # 40 "/usr/include/c++/8/cwchar" 3 10143: # 43 "/usr/include/c++/8/ext/string_conversions.h" 2 3 10143: # 1 "/usr/include/c++/8/cstdio" 1 3 10143: # 39 "/usr/include/c++/8/cstdio" 3 10143: 10143: # 40 "/usr/include/c++/8/cstdio" 3 10143: 10143: 10143: # 1 "/usr/include/stdio.h" 1 3 4 10143: # 27 "/usr/include/stdio.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/libc-header-start.h" 1 3 4 10143: # 28 "/usr/include/stdio.h" 2 3 4 10143: 10143: extern "C" { 10143: 10143: 10143: 10143: # 1 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stddef.h" 1 3 4 10143: # 34 "/usr/include/stdio.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/libio.h" 1 3 4 10143: # 31 "/usr/include/libio.h" 3 4 10143: # 1 "/usr/include/_G_config.h" 1 3 4 10143: # 15 "/usr/include/_G_config.h" 3 4 10143: # 1 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include/stddef.h" 1 3 4 10143: # 16 "/usr/include/_G_config.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef struct 10143: { 10143: __off_t __pos; 10143: __mbstate_t __state; 10143: } _G_fpos_t; 10143: typedef struct 10143: { 10143: __off64_t __pos; 10143: __mbstate_t __state; 10143: } _G_fpos64_t; 10143: # 32 "/usr/include/libio.h" 2 3 4 10143: # 145 "/usr/include/libio.h" 3 4 10143: struct _IO_jump_t; struct _IO_FILE; 10143: 10143: 10143: 10143: 10143: typedef void _IO_lock_t; 10143: 10143: 10143: 10143: 10143: 10143: struct _IO_marker { 10143: struct _IO_marker *_next; 10143: struct _IO_FILE *_sbuf; 10143: 10143: 10143: 10143: int _pos; 10143: # 173 "/usr/include/libio.h" 3 4 10143: }; 10143: 10143: 10143: enum __codecvt_result 10143: { 10143: __codecvt_ok, 10143: __codecvt_partial, 10143: __codecvt_error, 10143: __codecvt_noconv 10143: }; 10143: # 241 "/usr/include/libio.h" 3 4 10143: struct _IO_FILE { 10143: int _flags; 10143: 10143: 10143: 10143: 10143: char* _IO_read_ptr; 10143: char* _IO_read_end; 10143: char* _IO_read_base; 10143: char* _IO_write_base; 10143: char* _IO_write_ptr; 10143: char* _IO_write_end; 10143: char* _IO_buf_base; 10143: char* _IO_buf_end; 10143: 10143: char *_IO_save_base; 10143: char *_IO_backup_base; 10143: char *_IO_save_end; 10143: 10143: struct _IO_marker *_markers; 10143: 10143: struct _IO_FILE *_chain; 10143: 10143: int _fileno; 10143: 10143: 10143: 10143: int _flags2; 10143: 10143: __off_t _old_offset; 10143: 10143: 10143: 10143: unsigned short _cur_column; 10143: signed char _vtable_offset; 10143: char _shortbuf[1]; 10143: 10143: 10143: 10143: _IO_lock_t *_lock; 10143: # 289 "/usr/include/libio.h" 3 4 10143: __off64_t _offset; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: void *__pad1; 10143: void *__pad2; 10143: void *__pad3; 10143: void *__pad4; 10143: 10143: size_t __pad5; 10143: int _mode; 10143: 10143: char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; 10143: 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: struct _IO_FILE_plus; 10143: 10143: extern struct _IO_FILE_plus _IO_2_1_stdin_; 10143: extern struct _IO_FILE_plus _IO_2_1_stdout_; 10143: extern struct _IO_FILE_plus _IO_2_1_stderr_; 10143: # 333 "/usr/include/libio.h" 3 4 10143: typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef __ssize_t __io_write_fn (void *__cookie, const char *__buf, 10143: size_t __n); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); 10143: 10143: 10143: typedef int __io_close_fn (void *__cookie); 10143: 10143: 10143: 10143: 10143: typedef __io_read_fn cookie_read_function_t; 10143: typedef __io_write_fn cookie_write_function_t; 10143: typedef __io_seek_fn cookie_seek_function_t; 10143: typedef __io_close_fn cookie_close_function_t; 10143: 10143: 10143: typedef struct 10143: { 10143: __io_read_fn *read; 10143: __io_write_fn *write; 10143: __io_seek_fn *seek; 10143: __io_close_fn *close; 10143: } _IO_cookie_io_functions_t; 10143: typedef _IO_cookie_io_functions_t cookie_io_functions_t; 10143: 10143: struct _IO_cookie_file; 10143: 10143: 10143: extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write, 10143: void *__cookie, _IO_cookie_io_functions_t __fns); 10143: 10143: 10143: 10143: 10143: extern "C" { 10143: 10143: 10143: extern int __underflow (_IO_FILE *); 10143: extern int __uflow (_IO_FILE *); 10143: extern int __overflow (_IO_FILE *, int); 10143: # 429 "/usr/include/libio.h" 3 4 10143: extern int _IO_getc (_IO_FILE *__fp); 10143: extern int _IO_putc (int __c, _IO_FILE *__fp); 10143: extern int _IO_feof (_IO_FILE *__fp) throw (); 10143: extern int _IO_ferror (_IO_FILE *__fp) throw (); 10143: 10143: extern int _IO_peekc_locked (_IO_FILE *__fp); 10143: 10143: 10143: 10143: 10143: 10143: extern void _IO_flockfile (_IO_FILE *) throw (); 10143: extern void _IO_funlockfile (_IO_FILE *) throw (); 10143: extern int _IO_ftrylockfile (_IO_FILE *) throw (); 10143: # 458 "/usr/include/libio.h" 3 4 10143: extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, 10143: __gnuc_va_list, int *__restrict); 10143: extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, 10143: __gnuc_va_list); 10143: extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t); 10143: extern size_t _IO_sgetn (_IO_FILE *, void *, size_t); 10143: 10143: extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int); 10143: extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int); 10143: 10143: extern void _IO_free_backup_area (_IO_FILE *) throw (); 10143: # 520 "/usr/include/libio.h" 3 4 10143: } 10143: # 42 "/usr/include/stdio.h" 2 3 4 10143: # 78 "/usr/include/stdio.h" 3 4 10143: typedef _G_fpos_t fpos_t; 10143: 10143: 10143: 10143: 10143: typedef _G_fpos64_t fpos64_t; 10143: # 131 "/usr/include/stdio.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/stdio_lim.h" 1 3 4 10143: # 132 "/usr/include/stdio.h" 2 3 4 10143: 10143: 10143: 10143: extern struct _IO_FILE *stdin; 10143: extern struct _IO_FILE *stdout; 10143: extern struct _IO_FILE *stderr; 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int remove (const char *__filename) throw (); 10143: 10143: extern int rename (const char *__old, const char *__new) throw (); 10143: 10143: 10143: 10143: extern int renameat (int __oldfd, const char *__old, int __newfd, 10143: const char *__new) throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern FILE *tmpfile (void) __attribute__ ((__warn_unused_result__)); 10143: # 169 "/usr/include/stdio.h" 3 4 10143: extern FILE *tmpfile64 (void) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: extern char *tmpnam (char *__s) throw () __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: extern char *tmpnam_r (char *__s) throw () __attribute__ ((__warn_unused_result__)); 10143: # 190 "/usr/include/stdio.h" 3 4 10143: extern char *tempnam (const char *__dir, const char *__pfx) 10143: throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int fclose (FILE *__stream); 10143: 10143: 10143: 10143: 10143: extern int fflush (FILE *__stream); 10143: # 213 "/usr/include/stdio.h" 3 4 10143: extern int fflush_unlocked (FILE *__stream); 10143: # 223 "/usr/include/stdio.h" 3 4 10143: extern int fcloseall (void); 10143: # 232 "/usr/include/stdio.h" 3 4 10143: extern FILE *fopen (const char *__restrict __filename, 10143: const char *__restrict __modes) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: extern FILE *freopen (const char *__restrict __filename, 10143: const char *__restrict __modes, 10143: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 10143: # 256 "/usr/include/stdio.h" 3 4 10143: extern FILE *fopen64 (const char *__restrict __filename, 10143: const char *__restrict __modes) __attribute__ ((__warn_unused_result__)); 10143: extern FILE *freopen64 (const char *__restrict __filename, 10143: const char *__restrict __modes, 10143: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: extern FILE *fdopen (int __fd, const char *__modes) throw () __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: 10143: extern FILE *fopencookie (void *__restrict __magic_cookie, 10143: const char *__restrict __modes, 10143: _IO_cookie_io_functions_t __io_funcs) throw () __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) 10143: throw () __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) throw () __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: 10143: extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw (); 10143: 10143: 10143: 10143: extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, 10143: int __modes, size_t __n) throw (); 10143: 10143: 10143: 10143: 10143: extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, 10143: size_t __size) throw (); 10143: 10143: 10143: extern void setlinebuf (FILE *__stream) throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int fprintf (FILE *__restrict __stream, 10143: const char *__restrict __format, ...); 10143: 10143: 10143: 10143: 10143: extern int printf (const char *__restrict __format, ...); 10143: 10143: extern int sprintf (char *__restrict __s, 10143: const char *__restrict __format, ...) throw (); 10143: 10143: 10143: 10143: 10143: 10143: extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, 10143: __gnuc_va_list __arg); 10143: 10143: 10143: 10143: 10143: extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); 10143: 10143: extern int vsprintf (char *__restrict __s, const char *__restrict __format, 10143: __gnuc_va_list __arg) throw (); 10143: 10143: 10143: 10143: extern int snprintf (char *__restrict __s, size_t __maxlen, 10143: const char *__restrict __format, ...) 10143: throw () __attribute__ ((__format__ (__printf__, 3, 4))); 10143: 10143: extern int vsnprintf (char *__restrict __s, size_t __maxlen, 10143: const char *__restrict __format, __gnuc_va_list __arg) 10143: throw () __attribute__ ((__format__ (__printf__, 3, 0))); 10143: 10143: 10143: 10143: 10143: 10143: extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, 10143: __gnuc_va_list __arg) 10143: throw () __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__)); 10143: extern int __asprintf (char **__restrict __ptr, 10143: const char *__restrict __fmt, ...) 10143: throw () __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); 10143: extern int asprintf (char **__restrict __ptr, 10143: const char *__restrict __fmt, ...) 10143: throw () __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: extern int vdprintf (int __fd, const char *__restrict __fmt, 10143: __gnuc_va_list __arg) 10143: __attribute__ ((__format__ (__printf__, 2, 0))); 10143: extern int dprintf (int __fd, const char *__restrict __fmt, ...) 10143: __attribute__ ((__format__ (__printf__, 2, 3))); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int fscanf (FILE *__restrict __stream, 10143: const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); 10143: 10143: extern int sscanf (const char *__restrict __s, 10143: const char *__restrict __format, ...) throw (); 10143: # 420 "/usr/include/stdio.h" 3 4 10143: extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, 10143: __gnuc_va_list __arg) 10143: __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: 10143: extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) 10143: __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: extern int vsscanf (const char *__restrict __s, 10143: const char *__restrict __format, __gnuc_va_list __arg) 10143: throw () __attribute__ ((__format__ (__scanf__, 2, 0))); 10143: # 477 "/usr/include/stdio.h" 3 4 10143: extern int fgetc (FILE *__stream); 10143: extern int getc (FILE *__stream); 10143: 10143: 10143: 10143: 10143: 10143: extern int getchar (void); 10143: # 495 "/usr/include/stdio.h" 3 4 10143: extern int getc_unlocked (FILE *__stream); 10143: extern int getchar_unlocked (void); 10143: # 506 "/usr/include/stdio.h" 3 4 10143: extern int fgetc_unlocked (FILE *__stream); 10143: # 517 "/usr/include/stdio.h" 3 4 10143: extern int fputc (int __c, FILE *__stream); 10143: extern int putc (int __c, FILE *__stream); 10143: 10143: 10143: 10143: 10143: 10143: extern int putchar (int __c); 10143: # 537 "/usr/include/stdio.h" 3 4 10143: extern int fputc_unlocked (int __c, FILE *__stream); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int putc_unlocked (int __c, FILE *__stream); 10143: extern int putchar_unlocked (int __c); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int getw (FILE *__stream); 10143: 10143: 10143: extern int putw (int __w, FILE *__stream); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) 10143: __attribute__ ((__warn_unused_result__)); 10143: # 577 "/usr/include/stdio.h" 3 4 10143: extern char *gets (char *__s) __attribute__ ((__warn_unused_result__)) __attribute__ ((__deprecated__)); 10143: # 587 "/usr/include/stdio.h" 3 4 10143: extern char *fgets_unlocked (char *__restrict __s, int __n, 10143: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 10143: # 603 "/usr/include/stdio.h" 3 4 10143: extern __ssize_t __getdelim (char **__restrict __lineptr, 10143: size_t *__restrict __n, int __delimiter, 10143: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 10143: extern __ssize_t getdelim (char **__restrict __lineptr, 10143: size_t *__restrict __n, int __delimiter, 10143: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern __ssize_t getline (char **__restrict __lineptr, 10143: size_t *__restrict __n, 10143: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int fputs (const char *__restrict __s, FILE *__restrict __stream); 10143: 10143: 10143: 10143: 10143: 10143: extern int puts (const char *__s); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int ungetc (int __c, FILE *__stream); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern size_t fread (void *__restrict __ptr, size_t __size, 10143: size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: extern size_t fwrite (const void *__restrict __ptr, size_t __size, 10143: size_t __n, FILE *__restrict __s); 10143: # 662 "/usr/include/stdio.h" 3 4 10143: extern int fputs_unlocked (const char *__restrict __s, 10143: FILE *__restrict __stream); 10143: # 673 "/usr/include/stdio.h" 3 4 10143: extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, 10143: size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 10143: extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, 10143: size_t __n, FILE *__restrict __stream); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int fseek (FILE *__stream, long int __off, int __whence); 10143: 10143: 10143: 10143: 10143: extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: extern void rewind (FILE *__stream); 10143: # 707 "/usr/include/stdio.h" 3 4 10143: extern int fseeko (FILE *__stream, __off_t __off, int __whence); 10143: 10143: 10143: 10143: 10143: extern __off_t ftello (FILE *__stream) __attribute__ ((__warn_unused_result__)); 10143: # 731 "/usr/include/stdio.h" 3 4 10143: extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); 10143: 10143: 10143: 10143: 10143: extern int fsetpos (FILE *__stream, const fpos_t *__pos); 10143: # 750 "/usr/include/stdio.h" 3 4 10143: extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); 10143: extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__warn_unused_result__)); 10143: extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); 10143: extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos); 10143: 10143: 10143: 10143: extern void clearerr (FILE *__stream) throw (); 10143: 10143: extern int feof (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 10143: 10143: extern int ferror (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: extern void clearerr_unlocked (FILE *__stream) throw (); 10143: extern int feof_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 10143: extern int ferror_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern void perror (const char *__s); 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/sys_errlist.h" 1 3 4 10143: # 26 "/usr/include/powerpc64le-linux-gnu/bits/sys_errlist.h" 3 4 10143: extern int sys_nerr; 10143: extern const char *const sys_errlist[]; 10143: 10143: 10143: extern int _sys_nerr; 10143: extern const char *const _sys_errlist[]; 10143: # 782 "/usr/include/stdio.h" 2 3 4 10143: 10143: 10143: 10143: 10143: extern int fileno (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: extern int fileno_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 10143: # 800 "/usr/include/stdio.h" 3 4 10143: extern FILE *popen (const char *__command, const char *__modes) __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: 10143: 10143: 10143: extern int pclose (FILE *__stream); 10143: 10143: 10143: 10143: 10143: 10143: extern char *ctermid (char *__s) throw (); 10143: 10143: 10143: 10143: 10143: 10143: extern char *cuserid (char *__s); 10143: 10143: 10143: 10143: 10143: struct obstack; 10143: 10143: 10143: extern int obstack_printf (struct obstack *__restrict __obstack, 10143: const char *__restrict __format, ...) 10143: throw () __attribute__ ((__format__ (__printf__, 2, 3))); 10143: extern int obstack_vprintf (struct obstack *__restrict __obstack, 10143: const char *__restrict __format, 10143: __gnuc_va_list __args) 10143: throw () __attribute__ ((__format__ (__printf__, 2, 0))); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern void flockfile (FILE *__stream) throw (); 10143: 10143: 10143: 10143: extern int ftrylockfile (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 10143: 10143: 10143: extern void funlockfile (FILE *__stream) throw (); 10143: # 859 "/usr/include/stdio.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/stdio.h" 1 3 4 10143: # 43 "/usr/include/powerpc64le-linux-gnu/bits/stdio.h" 3 4 10143: extern __inline __attribute__ ((__gnu_inline__)) int 10143: getchar (void) 10143: { 10143: return _IO_getc (stdin); 10143: } 10143: 10143: 10143: 10143: 10143: extern __inline __attribute__ ((__gnu_inline__)) int 10143: fgetc_unlocked (FILE *__fp) 10143: { 10143: return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: extern __inline __attribute__ ((__gnu_inline__)) int 10143: getc_unlocked (FILE *__fp) 10143: { 10143: return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); 10143: } 10143: 10143: 10143: extern __inline __attribute__ ((__gnu_inline__)) int 10143: getchar_unlocked (void) 10143: { 10143: return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); 10143: } 10143: 10143: 10143: 10143: 10143: extern __inline __attribute__ ((__gnu_inline__)) int 10143: putchar (int __c) 10143: { 10143: return _IO_putc (__c, stdout); 10143: } 10143: 10143: 10143: 10143: 10143: extern __inline __attribute__ ((__gnu_inline__)) int 10143: fputc_unlocked (int __c, FILE *__stream) 10143: { 10143: return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: extern __inline __attribute__ ((__gnu_inline__)) int 10143: putc_unlocked (int __c, FILE *__stream) 10143: { 10143: return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); 10143: } 10143: 10143: 10143: extern __inline __attribute__ ((__gnu_inline__)) int 10143: putchar_unlocked (int __c) 10143: { 10143: return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: extern __inline __attribute__ ((__gnu_inline__)) __ssize_t 10143: getline (char **__lineptr, size_t *__n, FILE *__stream) 10143: { 10143: return __getdelim (__lineptr, __n, '\n', __stream); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: extern __inline __attribute__ ((__gnu_inline__)) int 10143: __attribute__ ((__leaf__)) feof_unlocked (FILE *__stream) throw () 10143: { 10143: return (((__stream)->_flags & 0x10) != 0); 10143: } 10143: 10143: 10143: extern __inline __attribute__ ((__gnu_inline__)) int 10143: __attribute__ ((__leaf__)) ferror_unlocked (FILE *__stream) throw () 10143: { 10143: return (((__stream)->_flags & 0x20) != 0); 10143: } 10143: # 860 "/usr/include/stdio.h" 2 3 4 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/stdio2.h" 1 3 4 10143: # 23 "/usr/include/powerpc64le-linux-gnu/bits/stdio2.h" 3 4 10143: extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, 10143: const char *__restrict __format, ...) throw (); 10143: extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, 10143: const char *__restrict __format, 10143: __gnuc_va_list __ap) throw (); 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: __attribute__ ((__leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) throw () 10143: { 10143: return __builtin___sprintf_chk (__s, 2 - 1, 10143: __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ()); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: __attribute__ ((__leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) throw () 10143: 10143: { 10143: return __builtin___vsprintf_chk (__s, 2 - 1, 10143: __builtin_object_size (__s, 2 > 1), __fmt, __ap); 10143: } 10143: 10143: 10143: 10143: extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, 10143: size_t __slen, const char *__restrict __format, 10143: ...) throw (); 10143: extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, 10143: size_t __slen, const char *__restrict __format, 10143: __gnuc_va_list __ap) throw (); 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: __attribute__ ((__leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) throw () 10143: 10143: { 10143: return __builtin___snprintf_chk (__s, __n, 2 - 1, 10143: __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ()); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: __attribute__ ((__leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) throw () 10143: 10143: { 10143: return __builtin___vsnprintf_chk (__s, __n, 2 - 1, 10143: __builtin_object_size (__s, 2 > 1), __fmt, __ap); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: extern int __fprintf_chk (FILE *__restrict __stream, int __flag, 10143: const char *__restrict __format, ...); 10143: extern int __printf_chk (int __flag, const char *__restrict __format, ...); 10143: extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, 10143: const char *__restrict __format, __gnuc_va_list __ap); 10143: extern int __vprintf_chk (int __flag, const char *__restrict __format, 10143: __gnuc_va_list __ap); 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...) 10143: { 10143: return __fprintf_chk (__stream, 2 - 1, __fmt, 10143: __builtin_va_arg_pack ()); 10143: } 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: printf (const char *__restrict __fmt, ...) 10143: { 10143: return __printf_chk (2 - 1, __fmt, __builtin_va_arg_pack ()); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: vprintf (const char *__restrict __fmt, __gnuc_va_list __ap) 10143: { 10143: 10143: return __vfprintf_chk (stdout, 2 - 1, __fmt, __ap); 10143: 10143: 10143: 10143: } 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: vfprintf (FILE *__restrict __stream, 10143: const char *__restrict __fmt, __gnuc_va_list __ap) 10143: { 10143: return __vfprintf_chk (__stream, 2 - 1, __fmt, __ap); 10143: } 10143: 10143: 10143: extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, 10143: ...) __attribute__ ((__format__ (__printf__, 3, 4))); 10143: extern int __vdprintf_chk (int __fd, int __flag, 10143: const char *__restrict __fmt, __gnuc_va_list __arg) 10143: __attribute__ ((__format__ (__printf__, 3, 0))); 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: dprintf (int __fd, const char *__restrict __fmt, ...) 10143: { 10143: return __dprintf_chk (__fd, 2 - 1, __fmt, 10143: __builtin_va_arg_pack ()); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap) 10143: { 10143: return __vdprintf_chk (__fd, 2 - 1, __fmt, __ap); 10143: } 10143: 10143: 10143: 10143: 10143: extern int __asprintf_chk (char **__restrict __ptr, int __flag, 10143: const char *__restrict __fmt, ...) 10143: throw () __attribute__ ((__format__ (__printf__, 3, 4))) __attribute__ ((__warn_unused_result__)); 10143: extern int __vasprintf_chk (char **__restrict __ptr, int __flag, 10143: const char *__restrict __fmt, __gnuc_va_list __arg) 10143: throw () __attribute__ ((__format__ (__printf__, 3, 0))) __attribute__ ((__warn_unused_result__)); 10143: extern int __obstack_printf_chk (struct obstack *__restrict __obstack, 10143: int __flag, const char *__restrict __format, 10143: ...) 10143: throw () __attribute__ ((__format__ (__printf__, 3, 4))); 10143: extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack, 10143: int __flag, 10143: const char *__restrict __format, 10143: __gnuc_va_list __args) 10143: throw () __attribute__ ((__format__ (__printf__, 3, 0))); 10143: 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: __attribute__ ((__leaf__)) asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) throw () 10143: { 10143: return __asprintf_chk (__ptr, 2 - 1, __fmt, 10143: __builtin_va_arg_pack ()); 10143: } 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: __attribute__ ((__leaf__)) __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) throw () 10143: 10143: { 10143: return __asprintf_chk (__ptr, 2 - 1, __fmt, 10143: __builtin_va_arg_pack ()); 10143: } 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: __attribute__ ((__leaf__)) obstack_printf (struct obstack *__restrict __obstack, const char *__restrict __fmt, ...) throw () 10143: 10143: { 10143: return __obstack_printf_chk (__obstack, 2 - 1, __fmt, 10143: __builtin_va_arg_pack ()); 10143: } 10143: # 206 "/usr/include/powerpc64le-linux-gnu/bits/stdio2.h" 3 4 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: __attribute__ ((__leaf__)) vasprintf (char **__restrict __ptr, const char *__restrict __fmt, __gnuc_va_list __ap) throw () 10143: 10143: { 10143: return __vasprintf_chk (__ptr, 2 - 1, __fmt, __ap); 10143: } 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 10143: __attribute__ ((__leaf__)) obstack_vprintf (struct obstack *__restrict __obstack, const char *__restrict __fmt, __gnuc_va_list __ap) throw () 10143: 10143: { 10143: return __obstack_vprintf_chk (__obstack, 2 - 1, __fmt, 10143: __ap); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern char *__gets_chk (char *__str, size_t) __attribute__ ((__warn_unused_result__)); 10143: extern char *__gets_warn (char *__str) __asm__ ("" "gets") 10143: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("please use fgets or getline instead, gets can't " "specify buffer size"))) 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * 10143: gets (char *__str) 10143: { 10143: if (__builtin_object_size (__str, 2 > 1) != (size_t) -1) 10143: return __gets_chk (__str, __builtin_object_size (__str, 2 > 1)); 10143: return __gets_warn (__str); 10143: } 10143: 10143: 10143: extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, 10143: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 10143: extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets") 10143: 10143: __attribute__ ((__warn_unused_result__)); 10143: extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk") 10143: 10143: 10143: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer"))) 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * 10143: fgets (char *__restrict __s, int __n, FILE *__restrict __stream) 10143: { 10143: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) 10143: { 10143: if (!__builtin_constant_p (__n) || __n <= 0) 10143: return __fgets_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); 10143: 10143: if ((size_t) __n > __builtin_object_size (__s, 2 > 1)) 10143: return __fgets_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); 10143: } 10143: return __fgets_alias (__s, __n, __stream); 10143: } 10143: 10143: extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, 10143: size_t __size, size_t __n, 10143: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 10143: extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread") 10143: 10143: 10143: __attribute__ ((__warn_unused_result__)); 10143: extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") 10143: 10143: 10143: 10143: 10143: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer"))) 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t 10143: fread (void *__restrict __ptr, size_t __size, size_t __n, 10143: FILE *__restrict __stream) 10143: { 10143: if (__builtin_object_size (__ptr, 0) != (size_t) -1) 10143: { 10143: if (!__builtin_constant_p (__size) 10143: || !__builtin_constant_p (__n) 10143: || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) 10143: return __fread_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); 10143: 10143: if (__size * __n > __builtin_object_size (__ptr, 0)) 10143: return __fread_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); 10143: } 10143: return __fread_alias (__ptr, __size, __n, __stream); 10143: } 10143: 10143: 10143: extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size, 10143: int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 10143: extern char *__fgets_unlocked_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets_unlocked") 10143: 10143: __attribute__ ((__warn_unused_result__)); 10143: extern char *__fgets_unlocked_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_unlocked_chk") 10143: 10143: 10143: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets_unlocked called with bigger size than length " "of destination buffer"))) 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * 10143: fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) 10143: { 10143: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) 10143: { 10143: if (!__builtin_constant_p (__n) || __n <= 0) 10143: return __fgets_unlocked_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); 10143: 10143: if ((size_t) __n > __builtin_object_size (__s, 2 > 1)) 10143: return __fgets_unlocked_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); 10143: } 10143: return __fgets_unlocked_alias (__s, __n, __stream); 10143: } 10143: 10143: 10143: 10143: 10143: extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, 10143: size_t __size, size_t __n, 10143: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 10143: extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked") 10143: 10143: 10143: __attribute__ ((__warn_unused_result__)); 10143: extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk") 10143: 10143: 10143: 10143: 10143: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer"))) 10143: ; 10143: 10143: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t 10143: fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, 10143: FILE *__restrict __stream) 10143: { 10143: if (__builtin_object_size (__ptr, 0) != (size_t) -1) 10143: { 10143: if (!__builtin_constant_p (__size) 10143: || !__builtin_constant_p (__n) 10143: || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) 10143: return __fread_unlocked_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, 10143: __stream); 10143: 10143: if (__size * __n > __builtin_object_size (__ptr, 0)) 10143: return __fread_unlocked_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, 10143: __stream); 10143: } 10143: 10143: 10143: if (__builtin_constant_p (__size) 10143: && __builtin_constant_p (__n) 10143: && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) 10143: && __size * __n <= 8) 10143: { 10143: size_t __cnt = __size * __n; 10143: char *__cptr = (char *) __ptr; 10143: if (__cnt == 0) 10143: return 0; 10143: 10143: for (; __cnt > 0; --__cnt) 10143: { 10143: int __c = (__builtin_expect (((__stream)->_IO_read_ptr >= (__stream)->_IO_read_end), 0) ? __uflow (__stream) : *(unsigned char *) (__stream)->_IO_read_ptr++); 10143: if (__c == (-1)) 10143: break; 10143: *__cptr++ = __c; 10143: } 10143: return (__cptr - (char *) __ptr) / __size; 10143: } 10143: 10143: return __fread_unlocked_alias (__ptr, __size, __n, __stream); 10143: } 10143: # 863 "/usr/include/stdio.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: } 10143: # 43 "/usr/include/c++/8/cstdio" 2 3 10143: # 96 "/usr/include/c++/8/cstdio" 3 10143: namespace std 10143: { 10143: using ::FILE; 10143: using ::fpos_t; 10143: 10143: using ::clearerr; 10143: using ::fclose; 10143: using ::feof; 10143: using ::ferror; 10143: using ::fflush; 10143: using ::fgetc; 10143: using ::fgetpos; 10143: using ::fgets; 10143: using ::fopen; 10143: using ::fprintf; 10143: using ::fputc; 10143: using ::fputs; 10143: using ::fread; 10143: using ::freopen; 10143: using ::fscanf; 10143: using ::fseek; 10143: using ::fsetpos; 10143: using ::ftell; 10143: using ::fwrite; 10143: using ::getc; 10143: using ::getchar; 10143: 10143: 10143: using ::gets; 10143: 10143: using ::perror; 10143: using ::printf; 10143: using ::putc; 10143: using ::putchar; 10143: using ::puts; 10143: using ::remove; 10143: using ::rename; 10143: using ::rewind; 10143: using ::scanf; 10143: using ::setbuf; 10143: using ::setvbuf; 10143: using ::sprintf; 10143: using ::sscanf; 10143: using ::tmpfile; 10143: 10143: using ::tmpnam; 10143: 10143: using ::ungetc; 10143: using ::vfprintf; 10143: using ::vprintf; 10143: using ::vsprintf; 10143: } 10143: # 157 "/usr/include/c++/8/cstdio" 3 10143: namespace __gnu_cxx 10143: { 10143: # 175 "/usr/include/c++/8/cstdio" 3 10143: using ::snprintf; 10143: using ::vfscanf; 10143: using ::vscanf; 10143: using ::vsnprintf; 10143: using ::vsscanf; 10143: 10143: } 10143: 10143: namespace std 10143: { 10143: using ::__gnu_cxx::snprintf; 10143: using ::__gnu_cxx::vfscanf; 10143: using ::__gnu_cxx::vscanf; 10143: using ::__gnu_cxx::vsnprintf; 10143: using ::__gnu_cxx::vsscanf; 10143: } 10143: # 44 "/usr/include/c++/8/ext/string_conversions.h" 2 3 10143: # 1 "/usr/include/c++/8/cerrno" 1 3 10143: # 39 "/usr/include/c++/8/cerrno" 3 10143: 10143: # 40 "/usr/include/c++/8/cerrno" 3 10143: 10143: 10143: # 1 "/usr/include/errno.h" 1 3 4 10143: # 28 "/usr/include/errno.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/errno.h" 1 3 4 10143: # 26 "/usr/include/powerpc64le-linux-gnu/bits/errno.h" 3 4 10143: # 1 "/usr/include/linux/errno.h" 1 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/asm/errno.h" 1 3 4 10143: 10143: 10143: 10143: # 1 "/usr/include/asm-generic/errno.h" 1 3 4 10143: 10143: 10143: 10143: # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 10143: # 5 "/usr/include/asm-generic/errno.h" 2 3 4 10143: # 5 "/usr/include/powerpc64le-linux-gnu/asm/errno.h" 2 3 4 10143: # 1 "/usr/include/linux/errno.h" 2 3 4 10143: # 27 "/usr/include/powerpc64le-linux-gnu/bits/errno.h" 2 3 4 10143: # 29 "/usr/include/errno.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: extern "C" { 10143: 10143: 10143: extern int *__errno_location (void) throw () __attribute__ ((__const__)); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern char *program_invocation_name; 10143: extern char *program_invocation_short_name; 10143: 10143: 10143: 10143: 10143: 10143: typedef int error_t; 10143: 10143: 10143: 10143: 10143: } 10143: # 43 "/usr/include/c++/8/cerrno" 2 3 10143: # 45 "/usr/include/c++/8/ext/string_conversions.h" 2 3 10143: 10143: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: template 10143: _Ret 10143: __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), 10143: const char* __name, const _CharT* __str, std::size_t* __idx, 10143: _Base... __base) 10143: { 10143: _Ret __ret; 10143: 10143: _CharT* __endptr; 10143: 10143: struct _Save_errno { 10143: _Save_errno() : _M_errno((*__errno_location ())) { (*__errno_location ()) = 0; } 10143: ~_Save_errno() { if ((*__errno_location ()) == 0) (*__errno_location ()) = _M_errno; } 10143: int _M_errno; 10143: } const __save_errno; 10143: 10143: struct _Range_chk { 10143: static bool 10143: _S_chk(_TRet, std::false_type) { return false; } 10143: 10143: static bool 10143: _S_chk(_TRet __val, std::true_type) 10143: { 10143: return __val < _TRet(__numeric_traits::__min) 10143: || __val > _TRet(__numeric_traits::__max); 10143: } 10143: }; 10143: 10143: const _TRet __tmp = __convf(__str, &__endptr, __base...); 10143: 10143: if (__endptr == __str) 10143: std::__throw_invalid_argument(__name); 10143: else if ((*__errno_location ()) == 34 10143: || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) 10143: std::__throw_out_of_range(__name); 10143: else 10143: __ret = __tmp; 10143: 10143: if (__idx) 10143: *__idx = __endptr - __str; 10143: 10143: return __ret; 10143: } 10143: 10143: 10143: template 10143: _String 10143: __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*, 10143: __builtin_va_list), std::size_t __n, 10143: const _CharT* __fmt, ...) 10143: { 10143: 10143: 10143: _CharT* __s = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 10143: * __n)); 10143: 10143: __builtin_va_list __args; 10143: __builtin_va_start(__args, __fmt); 10143: 10143: const int __len = __convf(__s, __n, __fmt, __args); 10143: 10143: __builtin_va_end(__args); 10143: 10143: return _String(__s, __s + __len); 10143: } 10143: 10143: 10143: } 10143: # 6362 "/usr/include/c++/8/bits/basic_string.h" 2 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: namespace __cxx11 { 10143: 10143: 10143: 10143: inline int 10143: stoi(const string& __str, size_t* __idx = 0, int __base = 10) 10143: { return __gnu_cxx::__stoa(&std::strtol, "stoi", __str.c_str(), 10143: __idx, __base); } 10143: 10143: inline long 10143: stol(const string& __str, size_t* __idx = 0, int __base = 10) 10143: { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(), 10143: __idx, __base); } 10143: 10143: inline unsigned long 10143: stoul(const string& __str, size_t* __idx = 0, int __base = 10) 10143: { return __gnu_cxx::__stoa(&std::strtoul, "stoul", __str.c_str(), 10143: __idx, __base); } 10143: 10143: inline long long 10143: stoll(const string& __str, size_t* __idx = 0, int __base = 10) 10143: { return __gnu_cxx::__stoa(&std::strtoll, "stoll", __str.c_str(), 10143: __idx, __base); } 10143: 10143: inline unsigned long long 10143: stoull(const string& __str, size_t* __idx = 0, int __base = 10) 10143: { return __gnu_cxx::__stoa(&std::strtoull, "stoull", __str.c_str(), 10143: __idx, __base); } 10143: 10143: 10143: inline float 10143: stof(const string& __str, size_t* __idx = 0) 10143: { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); } 10143: 10143: inline double 10143: stod(const string& __str, size_t* __idx = 0) 10143: { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); } 10143: 10143: inline long double 10143: stold(const string& __str, size_t* __idx = 0) 10143: { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: inline string 10143: to_string(int __val) 10143: { return __gnu_cxx::__to_xstring(&std::vsnprintf, 4 * sizeof(int), 10143: "%d", __val); } 10143: 10143: inline string 10143: to_string(unsigned __val) 10143: { return __gnu_cxx::__to_xstring(&std::vsnprintf, 10143: 4 * sizeof(unsigned), 10143: "%u", __val); } 10143: 10143: inline string 10143: to_string(long __val) 10143: { return __gnu_cxx::__to_xstring(&std::vsnprintf, 4 * sizeof(long), 10143: "%ld", __val); } 10143: 10143: inline string 10143: to_string(unsigned long __val) 10143: { return __gnu_cxx::__to_xstring(&std::vsnprintf, 10143: 4 * sizeof(unsigned long), 10143: "%lu", __val); } 10143: 10143: inline string 10143: to_string(long long __val) 10143: { return __gnu_cxx::__to_xstring(&std::vsnprintf, 10143: 4 * sizeof(long long), 10143: "%lld", __val); } 10143: 10143: inline string 10143: to_string(unsigned long long __val) 10143: { return __gnu_cxx::__to_xstring(&std::vsnprintf, 10143: 4 * sizeof(unsigned long long), 10143: "%llu", __val); } 10143: 10143: inline string 10143: to_string(float __val) 10143: { 10143: const int __n = 10143: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 10143: return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, 10143: "%f", __val); 10143: } 10143: 10143: inline string 10143: to_string(double __val) 10143: { 10143: const int __n = 10143: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 10143: return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, 10143: "%f", __val); 10143: } 10143: 10143: inline string 10143: to_string(long double __val) 10143: { 10143: const int __n = 10143: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 10143: return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, 10143: "%Lf", __val); 10143: } 10143: 10143: 10143: 10143: inline int 10143: stoi(const wstring& __str, size_t* __idx = 0, int __base = 10) 10143: { return __gnu_cxx::__stoa(&std::wcstol, "stoi", __str.c_str(), 10143: __idx, __base); } 10143: 10143: inline long 10143: stol(const wstring& __str, size_t* __idx = 0, int __base = 10) 10143: { return __gnu_cxx::__stoa(&std::wcstol, "stol", __str.c_str(), 10143: __idx, __base); } 10143: 10143: inline unsigned long 10143: stoul(const wstring& __str, size_t* __idx = 0, int __base = 10) 10143: { return __gnu_cxx::__stoa(&std::wcstoul, "stoul", __str.c_str(), 10143: __idx, __base); } 10143: 10143: inline long long 10143: stoll(const wstring& __str, size_t* __idx = 0, int __base = 10) 10143: { return __gnu_cxx::__stoa(&std::wcstoll, "stoll", __str.c_str(), 10143: __idx, __base); } 10143: 10143: inline unsigned long long 10143: stoull(const wstring& __str, size_t* __idx = 0, int __base = 10) 10143: { return __gnu_cxx::__stoa(&std::wcstoull, "stoull", __str.c_str(), 10143: __idx, __base); } 10143: 10143: 10143: inline float 10143: stof(const wstring& __str, size_t* __idx = 0) 10143: { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); } 10143: 10143: inline double 10143: stod(const wstring& __str, size_t* __idx = 0) 10143: { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); } 10143: 10143: inline long double 10143: stold(const wstring& __str, size_t* __idx = 0) 10143: { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); } 10143: 10143: 10143: 10143: inline wstring 10143: to_wstring(int __val) 10143: { return __gnu_cxx::__to_xstring(&std::vswprintf, 4 * sizeof(int), 10143: L"%d", __val); } 10143: 10143: inline wstring 10143: to_wstring(unsigned __val) 10143: { return __gnu_cxx::__to_xstring(&std::vswprintf, 10143: 4 * sizeof(unsigned), 10143: L"%u", __val); } 10143: 10143: inline wstring 10143: to_wstring(long __val) 10143: { return __gnu_cxx::__to_xstring(&std::vswprintf, 4 * sizeof(long), 10143: L"%ld", __val); } 10143: 10143: inline wstring 10143: to_wstring(unsigned long __val) 10143: { return __gnu_cxx::__to_xstring(&std::vswprintf, 10143: 4 * sizeof(unsigned long), 10143: L"%lu", __val); } 10143: 10143: inline wstring 10143: to_wstring(long long __val) 10143: { return __gnu_cxx::__to_xstring(&std::vswprintf, 10143: 4 * sizeof(long long), 10143: L"%lld", __val); } 10143: 10143: inline wstring 10143: to_wstring(unsigned long long __val) 10143: { return __gnu_cxx::__to_xstring(&std::vswprintf, 10143: 4 * sizeof(unsigned long long), 10143: L"%llu", __val); } 10143: 10143: inline wstring 10143: to_wstring(float __val) 10143: { 10143: const int __n = 10143: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 10143: return __gnu_cxx::__to_xstring(&std::vswprintf, __n, 10143: L"%f", __val); 10143: } 10143: 10143: inline wstring 10143: to_wstring(double __val) 10143: { 10143: const int __n = 10143: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 10143: return __gnu_cxx::__to_xstring(&std::vswprintf, __n, 10143: L"%f", __val); 10143: } 10143: 10143: inline wstring 10143: to_wstring(long double __val) 10143: { 10143: const int __n = 10143: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 10143: return __gnu_cxx::__to_xstring(&std::vswprintf, __n, 10143: L"%Lf", __val); 10143: } 10143: 10143: 10143: 10143: } 10143: 10143: } 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/functional_hash.h" 1 3 10143: # 33 "/usr/include/c++/8/bits/functional_hash.h" 3 10143: 10143: # 34 "/usr/include/c++/8/bits/functional_hash.h" 3 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 49 "/usr/include/c++/8/bits/functional_hash.h" 3 10143: template 10143: struct __hash_base 10143: { 10143: typedef _Result result_type ; 10143: typedef _Arg argument_type ; 10143: }; 10143: 10143: 10143: template 10143: struct hash; 10143: 10143: template 10143: struct __poison_hash 10143: { 10143: static constexpr bool __enable_hash_call = false; 10143: private: 10143: 10143: __poison_hash(__poison_hash&&); 10143: ~__poison_hash(); 10143: }; 10143: 10143: template 10143: struct __poison_hash<_Tp, __void_t()(declval<_Tp>()))>> 10143: { 10143: static constexpr bool __enable_hash_call = true; 10143: }; 10143: 10143: 10143: template::value> 10143: struct __hash_enum 10143: { 10143: private: 10143: 10143: __hash_enum(__hash_enum&&); 10143: ~__hash_enum(); 10143: }; 10143: 10143: 10143: template 10143: struct __hash_enum<_Tp, true> : public __hash_base 10143: { 10143: size_t 10143: operator()(_Tp __val) const noexcept 10143: { 10143: using __type = typename underlying_type<_Tp>::type; 10143: return hash<__type>{}(static_cast<__type>(__val)); 10143: } 10143: }; 10143: 10143: 10143: 10143: template 10143: struct hash : __hash_enum<_Tp> 10143: { }; 10143: 10143: 10143: template 10143: struct hash<_Tp*> : public __hash_base 10143: { 10143: size_t 10143: operator()(_Tp* __p) const noexcept 10143: { return reinterpret_cast(__p); } 10143: }; 10143: # 124 "/usr/include/c++/8/bits/functional_hash.h" 3 10143: template<> struct hash : public __hash_base { size_t operator()(bool __val) const noexcept { return static_cast(__val); } }; 10143: 10143: 10143: template<> struct hash : public __hash_base { size_t operator()(char __val) const noexcept { return static_cast(__val); } }; 10143: 10143: 10143: template<> struct hash : public __hash_base { size_t operator()(signed char __val) const noexcept { return static_cast(__val); } }; 10143: 10143: 10143: template<> struct hash : public __hash_base { size_t operator()(unsigned char __val) const noexcept { return static_cast(__val); } }; 10143: 10143: 10143: template<> struct hash : public __hash_base { size_t operator()(wchar_t __val) const noexcept { return static_cast(__val); } }; 10143: 10143: 10143: template<> struct hash : public __hash_base { size_t operator()(char16_t __val) const noexcept { return static_cast(__val); } }; 10143: 10143: 10143: template<> struct hash : public __hash_base { size_t operator()(char32_t __val) const noexcept { return static_cast(__val); } }; 10143: 10143: 10143: template<> struct hash : public __hash_base { size_t operator()(short __val) const noexcept { return static_cast(__val); } }; 10143: 10143: 10143: template<> struct hash : public __hash_base { size_t operator()(int __val) const noexcept { return static_cast(__val); } }; 10143: 10143: 10143: template<> struct hash : public __hash_base { size_t operator()(long __val) const noexcept { return static_cast(__val); } }; 10143: 10143: 10143: template<> struct hash : public __hash_base { size_t operator()(long long __val) const noexcept { return static_cast(__val); } }; 10143: 10143: 10143: template<> struct hash : public __hash_base { size_t operator()(unsigned short __val) const noexcept { return static_cast(__val); } }; 10143: 10143: 10143: template<> struct hash : public __hash_base { size_t operator()(unsigned int __val) const noexcept { return static_cast(__val); } }; 10143: 10143: 10143: template<> struct hash : public __hash_base { size_t operator()(unsigned long __val) const noexcept { return static_cast(__val); } }; 10143: 10143: 10143: template<> struct hash : public __hash_base { size_t operator()(unsigned long long __val) const noexcept { return static_cast(__val); } }; 10143: 10143: 10143: template<> struct hash<__int128> : public __hash_base { size_t operator()(__int128 __val) const noexcept { return static_cast(__val); } }; 10143: template<> struct hash<__int128 unsigned> : public __hash_base { size_t operator()(__int128 unsigned __val) const noexcept { return static_cast(__val); } }; 10143: # 187 "/usr/include/c++/8/bits/functional_hash.h" 3 10143: struct _Hash_impl 10143: { 10143: static size_t 10143: hash(const void* __ptr, size_t __clength, 10143: size_t __seed = static_cast(0xc70f6907UL)) 10143: { return _Hash_bytes(__ptr, __clength, __seed); } 10143: 10143: template 10143: static size_t 10143: hash(const _Tp& __val) 10143: { return hash(&__val, sizeof(__val)); } 10143: 10143: template 10143: static size_t 10143: __hash_combine(const _Tp& __val, size_t __hash) 10143: { return hash(&__val, sizeof(__val), __hash); } 10143: }; 10143: 10143: 10143: struct _Fnv_hash_impl 10143: { 10143: static size_t 10143: hash(const void* __ptr, size_t __clength, 10143: size_t __seed = static_cast(2166136261UL)) 10143: { return _Fnv_hash_bytes(__ptr, __clength, __seed); } 10143: 10143: template 10143: static size_t 10143: hash(const _Tp& __val) 10143: { return hash(&__val, sizeof(__val)); } 10143: 10143: template 10143: static size_t 10143: __hash_combine(const _Tp& __val, size_t __hash) 10143: { return hash(&__val, sizeof(__val), __hash); } 10143: }; 10143: 10143: 10143: template<> 10143: struct hash : public __hash_base 10143: { 10143: size_t 10143: operator()(float __val) const noexcept 10143: { 10143: 10143: return __val != 0.0f ? std::_Hash_impl::hash(__val) : 0; 10143: } 10143: }; 10143: 10143: 10143: template<> 10143: struct hash : public __hash_base 10143: { 10143: size_t 10143: operator()(double __val) const noexcept 10143: { 10143: 10143: return __val != 0.0 ? std::_Hash_impl::hash(__val) : 0; 10143: } 10143: }; 10143: 10143: 10143: template<> 10143: struct hash 10143: : public __hash_base 10143: { 10143: __attribute__ ((__pure__)) size_t 10143: operator()(long double __val) const noexcept; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct __is_fast_hash : public std::true_type 10143: { }; 10143: 10143: template<> 10143: struct __is_fast_hash> : public std::false_type 10143: { }; 10143: 10143: 10143: } 10143: # 6588 "/usr/include/c++/8/bits/basic_string.h" 2 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: template<> 10143: struct hash 10143: : public __hash_base 10143: { 10143: size_t 10143: operator()(const string& __s) const noexcept 10143: { return std::_Hash_impl::hash(__s.data(), __s.length()); } 10143: }; 10143: 10143: template<> 10143: struct __is_fast_hash> : std::false_type 10143: { }; 10143: 10143: 10143: 10143: template<> 10143: struct hash 10143: : public __hash_base 10143: { 10143: size_t 10143: operator()(const wstring& __s) const noexcept 10143: { return std::_Hash_impl::hash(__s.data(), 10143: __s.length() * sizeof(wchar_t)); } 10143: }; 10143: 10143: template<> 10143: struct __is_fast_hash> : std::false_type 10143: { }; 10143: 10143: 10143: 10143: 10143: 10143: template<> 10143: struct hash 10143: : public __hash_base 10143: { 10143: size_t 10143: operator()(const u16string& __s) const noexcept 10143: { return std::_Hash_impl::hash(__s.data(), 10143: __s.length() * sizeof(char16_t)); } 10143: }; 10143: 10143: template<> 10143: struct __is_fast_hash> : std::false_type 10143: { }; 10143: 10143: 10143: template<> 10143: struct hash 10143: : public __hash_base 10143: { 10143: size_t 10143: operator()(const u32string& __s) const noexcept 10143: { return std::_Hash_impl::hash(__s.data(), 10143: __s.length() * sizeof(char32_t)); } 10143: }; 10143: 10143: template<> 10143: struct __is_fast_hash> : std::false_type 10143: { }; 10143: # 6700 "/usr/include/c++/8/bits/basic_string.h" 3 10143: 10143: } 10143: # 53 "/usr/include/c++/8/string" 2 3 10143: # 1 "/usr/include/c++/8/bits/basic_string.tcc" 1 3 10143: # 42 "/usr/include/c++/8/bits/basic_string.tcc" 3 10143: 10143: # 43 "/usr/include/c++/8/bits/basic_string.tcc" 3 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: template 10143: const typename basic_string<_CharT, _Traits, _Alloc>::size_type 10143: basic_string<_CharT, _Traits, _Alloc>::npos; 10143: 10143: template 10143: void 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: swap(basic_string& __s) noexcept 10143: { 10143: if (this == &__s) 10143: return; 10143: 10143: _Alloc_traits::_S_on_swap(_M_get_allocator(), __s._M_get_allocator()); 10143: 10143: if (_M_is_local()) 10143: if (__s._M_is_local()) 10143: { 10143: if (length() && __s.length()) 10143: { 10143: _CharT __tmp_data[_S_local_capacity + 1]; 10143: traits_type::copy(__tmp_data, __s._M_local_buf, 10143: _S_local_capacity + 1); 10143: traits_type::copy(__s._M_local_buf, _M_local_buf, 10143: _S_local_capacity + 1); 10143: traits_type::copy(_M_local_buf, __tmp_data, 10143: _S_local_capacity + 1); 10143: } 10143: else if (__s.length()) 10143: { 10143: traits_type::copy(_M_local_buf, __s._M_local_buf, 10143: _S_local_capacity + 1); 10143: _M_length(__s.length()); 10143: __s._M_set_length(0); 10143: return; 10143: } 10143: else if (length()) 10143: { 10143: traits_type::copy(__s._M_local_buf, _M_local_buf, 10143: _S_local_capacity + 1); 10143: __s._M_length(length()); 10143: _M_set_length(0); 10143: return; 10143: } 10143: } 10143: else 10143: { 10143: const size_type __tmp_capacity = __s._M_allocated_capacity; 10143: traits_type::copy(__s._M_local_buf, _M_local_buf, 10143: _S_local_capacity + 1); 10143: _M_data(__s._M_data()); 10143: __s._M_data(__s._M_local_buf); 10143: _M_capacity(__tmp_capacity); 10143: } 10143: else 10143: { 10143: const size_type __tmp_capacity = _M_allocated_capacity; 10143: if (__s._M_is_local()) 10143: { 10143: traits_type::copy(_M_local_buf, __s._M_local_buf, 10143: _S_local_capacity + 1); 10143: __s._M_data(_M_data()); 10143: _M_data(_M_local_buf); 10143: } 10143: else 10143: { 10143: pointer __tmp_ptr = _M_data(); 10143: _M_data(__s._M_data()); 10143: __s._M_data(__tmp_ptr); 10143: _M_capacity(__s._M_allocated_capacity); 10143: } 10143: __s._M_capacity(__tmp_capacity); 10143: } 10143: 10143: const size_type __tmp_length = length(); 10143: _M_length(__s.length()); 10143: __s._M_length(__tmp_length); 10143: } 10143: 10143: template 10143: typename basic_string<_CharT, _Traits, _Alloc>::pointer 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: _M_create(size_type& __capacity, size_type __old_capacity) 10143: { 10143: 10143: 10143: if (__capacity > max_size()) 10143: std::__throw_length_error(("basic_string::_M_create")); 10143: 10143: 10143: 10143: 10143: if (__capacity > __old_capacity && __capacity < 2 * __old_capacity) 10143: { 10143: __capacity = 2 * __old_capacity; 10143: 10143: if (__capacity > max_size()) 10143: __capacity = max_size(); 10143: } 10143: 10143: 10143: 10143: return _Alloc_traits::allocate(_M_get_allocator(), __capacity + 1); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: template 10143: template 10143: void 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: _M_construct(_InIterator __beg, _InIterator __end, 10143: std::input_iterator_tag) 10143: { 10143: size_type __len = 0; 10143: size_type __capacity = size_type(_S_local_capacity); 10143: 10143: while (__beg != __end && __len < __capacity) 10143: { 10143: _M_data()[__len++] = *__beg; 10143: ++__beg; 10143: } 10143: 10143: if (true) 10143: { 10143: while (__beg != __end) 10143: { 10143: if (__len == __capacity) 10143: { 10143: 10143: __capacity = __len + 1; 10143: pointer __another = _M_create(__capacity, __len); 10143: this->_S_copy(__another, _M_data(), __len); 10143: _M_dispose(); 10143: _M_data(__another); 10143: _M_capacity(__capacity); 10143: } 10143: _M_data()[__len++] = *__beg; 10143: ++__beg; 10143: } 10143: } 10143: if (false) 10143: { 10143: _M_dispose(); 10143: ; 10143: } 10143: 10143: _M_set_length(__len); 10143: } 10143: 10143: template 10143: template 10143: void 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: _M_construct(_InIterator __beg, _InIterator __end, 10143: std::forward_iterator_tag) 10143: { 10143: 10143: if (__gnu_cxx::__is_null_pointer(__beg) && __beg != __end) 10143: std::__throw_logic_error(("basic_string::" "_M_construct null not valid") 10143: ); 10143: 10143: size_type __dnew = static_cast(std::distance(__beg, __end)); 10143: 10143: if (__dnew > size_type(_S_local_capacity)) 10143: { 10143: _M_data(_M_create(__dnew, size_type(0))); 10143: _M_capacity(__dnew); 10143: } 10143: 10143: 10143: if (true) 10143: { this->_S_copy_chars(_M_data(), __beg, __end); } 10143: if (false) 10143: { 10143: _M_dispose(); 10143: ; 10143: } 10143: 10143: _M_set_length(__dnew); 10143: } 10143: 10143: template 10143: void 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: _M_construct(size_type __n, _CharT __c) 10143: { 10143: if (__n > size_type(_S_local_capacity)) 10143: { 10143: _M_data(_M_create(__n, size_type(0))); 10143: _M_capacity(__n); 10143: } 10143: 10143: if (__n) 10143: this->_S_assign(_M_data(), __n, __c); 10143: 10143: _M_set_length(__n); 10143: } 10143: 10143: template 10143: void 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: _M_assign(const basic_string& __str) 10143: { 10143: if (this != &__str) 10143: { 10143: const size_type __rsize = __str.length(); 10143: const size_type __capacity = capacity(); 10143: 10143: if (__rsize > __capacity) 10143: { 10143: size_type __new_capacity = __rsize; 10143: pointer __tmp = _M_create(__new_capacity, __capacity); 10143: _M_dispose(); 10143: _M_data(__tmp); 10143: _M_capacity(__new_capacity); 10143: } 10143: 10143: if (__rsize) 10143: this->_S_copy(_M_data(), __str._M_data(), __rsize); 10143: 10143: _M_set_length(__rsize); 10143: } 10143: } 10143: 10143: template 10143: void 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: reserve(size_type __res) 10143: { 10143: 10143: if (__res < length()) 10143: __res = length(); 10143: 10143: const size_type __capacity = capacity(); 10143: if (__res != __capacity) 10143: { 10143: if (__res > __capacity 10143: || __res > size_type(_S_local_capacity)) 10143: { 10143: pointer __tmp = _M_create(__res, __capacity); 10143: this->_S_copy(__tmp, _M_data(), length() + 1); 10143: _M_dispose(); 10143: _M_data(__tmp); 10143: _M_capacity(__res); 10143: } 10143: else if (!_M_is_local()) 10143: { 10143: this->_S_copy(_M_local_data(), _M_data(), length() + 1); 10143: _M_destroy(__capacity); 10143: _M_data(_M_local_data()); 10143: } 10143: } 10143: } 10143: 10143: template 10143: void 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, 10143: size_type __len2) 10143: { 10143: const size_type __how_much = length() - __pos - __len1; 10143: 10143: size_type __new_capacity = length() + __len2 - __len1; 10143: pointer __r = _M_create(__new_capacity, capacity()); 10143: 10143: if (__pos) 10143: this->_S_copy(__r, _M_data(), __pos); 10143: if (__s && __len2) 10143: this->_S_copy(__r + __pos, __s, __len2); 10143: if (__how_much) 10143: this->_S_copy(__r + __pos + __len2, 10143: _M_data() + __pos + __len1, __how_much); 10143: 10143: _M_dispose(); 10143: _M_data(__r); 10143: _M_capacity(__new_capacity); 10143: } 10143: 10143: template 10143: void 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: _M_erase(size_type __pos, size_type __n) 10143: { 10143: const size_type __how_much = length() - __pos - __n; 10143: 10143: if (__how_much && __n) 10143: this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much); 10143: 10143: _M_set_length(length() - __n); 10143: } 10143: 10143: template 10143: void 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: resize(size_type __n, _CharT __c) 10143: { 10143: const size_type __size = this->size(); 10143: if (__size < __n) 10143: this->append(__n - __size, __c); 10143: else if (__n < __size) 10143: this->_M_set_length(__n); 10143: } 10143: 10143: template 10143: basic_string<_CharT, _Traits, _Alloc>& 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: _M_append(const _CharT* __s, size_type __n) 10143: { 10143: const size_type __len = __n + this->size(); 10143: 10143: if (__len <= this->capacity()) 10143: { 10143: if (__n) 10143: this->_S_copy(this->_M_data() + this->size(), __s, __n); 10143: } 10143: else 10143: this->_M_mutate(this->size(), size_type(0), __s, __n); 10143: 10143: this->_M_set_length(__len); 10143: return *this; 10143: } 10143: 10143: template 10143: template 10143: basic_string<_CharT, _Traits, _Alloc>& 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: _M_replace_dispatch(const_iterator __i1, const_iterator __i2, 10143: _InputIterator __k1, _InputIterator __k2, 10143: std::__false_type) 10143: { 10143: const basic_string __s(__k1, __k2); 10143: const size_type __n1 = __i2 - __i1; 10143: return _M_replace(__i1 - begin(), __n1, __s._M_data(), 10143: __s.size()); 10143: } 10143: 10143: template 10143: basic_string<_CharT, _Traits, _Alloc>& 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, 10143: _CharT __c) 10143: { 10143: _M_check_length(__n1, __n2, "basic_string::_M_replace_aux"); 10143: 10143: const size_type __old_size = this->size(); 10143: const size_type __new_size = __old_size + __n2 - __n1; 10143: 10143: if (__new_size <= this->capacity()) 10143: { 10143: pointer __p = this->_M_data() + __pos1; 10143: 10143: const size_type __how_much = __old_size - __pos1 - __n1; 10143: if (__how_much && __n1 != __n2) 10143: this->_S_move(__p + __n2, __p + __n1, __how_much); 10143: } 10143: else 10143: this->_M_mutate(__pos1, __n1, 0, __n2); 10143: 10143: if (__n2) 10143: this->_S_assign(this->_M_data() + __pos1, __n2, __c); 10143: 10143: this->_M_set_length(__new_size); 10143: return *this; 10143: } 10143: 10143: template 10143: basic_string<_CharT, _Traits, _Alloc>& 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: _M_replace(size_type __pos, size_type __len1, const _CharT* __s, 10143: const size_type __len2) 10143: { 10143: _M_check_length(__len1, __len2, "basic_string::_M_replace"); 10143: 10143: const size_type __old_size = this->size(); 10143: const size_type __new_size = __old_size + __len2 - __len1; 10143: 10143: if (__new_size <= this->capacity()) 10143: { 10143: pointer __p = this->_M_data() + __pos; 10143: 10143: const size_type __how_much = __old_size - __pos - __len1; 10143: if (_M_disjunct(__s)) 10143: { 10143: if (__how_much && __len1 != __len2) 10143: this->_S_move(__p + __len2, __p + __len1, __how_much); 10143: if (__len2) 10143: this->_S_copy(__p, __s, __len2); 10143: } 10143: else 10143: { 10143: 10143: if (__len2 && __len2 <= __len1) 10143: this->_S_move(__p, __s, __len2); 10143: if (__how_much && __len1 != __len2) 10143: this->_S_move(__p + __len2, __p + __len1, __how_much); 10143: if (__len2 > __len1) 10143: { 10143: if (__s + __len2 <= __p + __len1) 10143: this->_S_move(__p, __s, __len2); 10143: else if (__s >= __p + __len1) 10143: this->_S_copy(__p, __s + __len2 - __len1, __len2); 10143: else 10143: { 10143: const size_type __nleft = (__p + __len1) - __s; 10143: this->_S_move(__p, __s, __nleft); 10143: this->_S_copy(__p + __nleft, __p + __len2, 10143: __len2 - __nleft); 10143: } 10143: } 10143: } 10143: } 10143: else 10143: this->_M_mutate(__pos, __len1, __s, __len2); 10143: 10143: this->_M_set_length(__new_size); 10143: return *this; 10143: } 10143: 10143: template 10143: typename basic_string<_CharT, _Traits, _Alloc>::size_type 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: copy(_CharT* __s, size_type __n, size_type __pos) const 10143: { 10143: _M_check(__pos, "basic_string::copy"); 10143: __n = _M_limit(__pos, __n); 10143: ; 10143: if (__n) 10143: _S_copy(__s, _M_data() + __pos, __n); 10143: 10143: return __n; 10143: } 10143: # 1155 "/usr/include/c++/8/bits/basic_string.tcc" 3 10143: template 10143: basic_string<_CharT, _Traits, _Alloc> 10143: operator+(const _CharT* __lhs, 10143: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 10143: { 10143: ; 10143: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 10143: typedef typename __string_type::size_type __size_type; 10143: const __size_type __len = _Traits::length(__lhs); 10143: __string_type __str; 10143: __str.reserve(__len + __rhs.size()); 10143: __str.append(__lhs, __len); 10143: __str.append(__rhs); 10143: return __str; 10143: } 10143: 10143: template 10143: basic_string<_CharT, _Traits, _Alloc> 10143: operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) 10143: { 10143: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 10143: typedef typename __string_type::size_type __size_type; 10143: __string_type __str; 10143: const __size_type __len = __rhs.size(); 10143: __str.reserve(__len + 1); 10143: __str.append(__size_type(1), __lhs); 10143: __str.append(__rhs); 10143: return __str; 10143: } 10143: 10143: template 10143: typename basic_string<_CharT, _Traits, _Alloc>::size_type 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: find(const _CharT* __s, size_type __pos, size_type __n) const 10143: noexcept 10143: { 10143: ; 10143: const size_type __size = this->size(); 10143: 10143: if (__n == 0) 10143: return __pos <= __size ? __pos : npos; 10143: if (__pos >= __size) 10143: return npos; 10143: 10143: const _CharT __elem0 = __s[0]; 10143: const _CharT* const __data = data(); 10143: const _CharT* __first = __data + __pos; 10143: const _CharT* const __last = __data + __size; 10143: size_type __len = __size - __pos; 10143: 10143: while (__len >= __n) 10143: { 10143: 10143: __first = traits_type::find(__first, __len - __n + 1, __elem0); 10143: if (!__first) 10143: return npos; 10143: 10143: 10143: 10143: if (traits_type::compare(__first, __s, __n) == 0) 10143: return __first - __data; 10143: __len = __last - ++__first; 10143: } 10143: return npos; 10143: } 10143: 10143: template 10143: typename basic_string<_CharT, _Traits, _Alloc>::size_type 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: find(_CharT __c, size_type __pos) const noexcept 10143: { 10143: size_type __ret = npos; 10143: const size_type __size = this->size(); 10143: if (__pos < __size) 10143: { 10143: const _CharT* __data = _M_data(); 10143: const size_type __n = __size - __pos; 10143: const _CharT* __p = traits_type::find(__data + __pos, __n, __c); 10143: if (__p) 10143: __ret = __p - __data; 10143: } 10143: return __ret; 10143: } 10143: 10143: template 10143: typename basic_string<_CharT, _Traits, _Alloc>::size_type 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: rfind(const _CharT* __s, size_type __pos, size_type __n) const 10143: noexcept 10143: { 10143: ; 10143: const size_type __size = this->size(); 10143: if (__n <= __size) 10143: { 10143: __pos = std::min(size_type(__size - __n), __pos); 10143: const _CharT* __data = _M_data(); 10143: do 10143: { 10143: if (traits_type::compare(__data + __pos, __s, __n) == 0) 10143: return __pos; 10143: } 10143: while (__pos-- > 0); 10143: } 10143: return npos; 10143: } 10143: 10143: template 10143: typename basic_string<_CharT, _Traits, _Alloc>::size_type 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: rfind(_CharT __c, size_type __pos) const noexcept 10143: { 10143: size_type __size = this->size(); 10143: if (__size) 10143: { 10143: if (--__size > __pos) 10143: __size = __pos; 10143: for (++__size; __size-- > 0; ) 10143: if (traits_type::eq(_M_data()[__size], __c)) 10143: return __size; 10143: } 10143: return npos; 10143: } 10143: 10143: template 10143: typename basic_string<_CharT, _Traits, _Alloc>::size_type 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: find_first_of(const _CharT* __s, size_type __pos, size_type __n) const 10143: noexcept 10143: { 10143: ; 10143: for (; __n && __pos < this->size(); ++__pos) 10143: { 10143: const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]); 10143: if (__p) 10143: return __pos; 10143: } 10143: return npos; 10143: } 10143: 10143: template 10143: typename basic_string<_CharT, _Traits, _Alloc>::size_type 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: find_last_of(const _CharT* __s, size_type __pos, size_type __n) const 10143: noexcept 10143: { 10143: ; 10143: size_type __size = this->size(); 10143: if (__size && __n) 10143: { 10143: if (--__size > __pos) 10143: __size = __pos; 10143: do 10143: { 10143: if (traits_type::find(__s, __n, _M_data()[__size])) 10143: return __size; 10143: } 10143: while (__size-- != 0); 10143: } 10143: return npos; 10143: } 10143: 10143: template 10143: typename basic_string<_CharT, _Traits, _Alloc>::size_type 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const 10143: noexcept 10143: { 10143: ; 10143: for (; __pos < this->size(); ++__pos) 10143: if (!traits_type::find(__s, __n, _M_data()[__pos])) 10143: return __pos; 10143: return npos; 10143: } 10143: 10143: template 10143: typename basic_string<_CharT, _Traits, _Alloc>::size_type 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: find_first_not_of(_CharT __c, size_type __pos) const noexcept 10143: { 10143: for (; __pos < this->size(); ++__pos) 10143: if (!traits_type::eq(_M_data()[__pos], __c)) 10143: return __pos; 10143: return npos; 10143: } 10143: 10143: template 10143: typename basic_string<_CharT, _Traits, _Alloc>::size_type 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const 10143: noexcept 10143: { 10143: ; 10143: size_type __size = this->size(); 10143: if (__size) 10143: { 10143: if (--__size > __pos) 10143: __size = __pos; 10143: do 10143: { 10143: if (!traits_type::find(__s, __n, _M_data()[__size])) 10143: return __size; 10143: } 10143: while (__size--); 10143: } 10143: return npos; 10143: } 10143: 10143: template 10143: typename basic_string<_CharT, _Traits, _Alloc>::size_type 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: find_last_not_of(_CharT __c, size_type __pos) const noexcept 10143: { 10143: size_type __size = this->size(); 10143: if (__size) 10143: { 10143: if (--__size > __pos) 10143: __size = __pos; 10143: do 10143: { 10143: if (!traits_type::eq(_M_data()[__size], __c)) 10143: return __size; 10143: } 10143: while (__size--); 10143: } 10143: return npos; 10143: } 10143: 10143: template 10143: int 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: compare(size_type __pos, size_type __n, const basic_string& __str) const 10143: { 10143: _M_check(__pos, "basic_string::compare"); 10143: __n = _M_limit(__pos, __n); 10143: const size_type __osize = __str.size(); 10143: const size_type __len = std::min(__n, __osize); 10143: int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len); 10143: if (!__r) 10143: __r = _S_compare(__n, __osize); 10143: return __r; 10143: } 10143: 10143: template 10143: int 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: compare(size_type __pos1, size_type __n1, const basic_string& __str, 10143: size_type __pos2, size_type __n2) const 10143: { 10143: _M_check(__pos1, "basic_string::compare"); 10143: __str._M_check(__pos2, "basic_string::compare"); 10143: __n1 = _M_limit(__pos1, __n1); 10143: __n2 = __str._M_limit(__pos2, __n2); 10143: const size_type __len = std::min(__n1, __n2); 10143: int __r = traits_type::compare(_M_data() + __pos1, 10143: __str.data() + __pos2, __len); 10143: if (!__r) 10143: __r = _S_compare(__n1, __n2); 10143: return __r; 10143: } 10143: 10143: template 10143: int 10143: basic_string<_CharT, _Traits, _Alloc>:: 10143: compare(const _CharT* __s) const noexcept 10143: { 10143: ; 10143: const size_type __size = this->size(); 10143: const size_type __osize = traits_type::length(__s); 10143: const size_type __len = std::min(__size, __osize); 10143: int __r = traits_type::compare(_M_data(), __s, __len); 10143: if (!__r) 10143: __r = _S_compare(__size, __osize); 10143: return __r; 10143: } 10143: 10143: template 10143: int 10143: basic_string <_CharT, _Traits, _Alloc>:: 10143: compare(size_type __pos, size_type __n1, const _CharT* __s) const 10143: { 10143: ; 10143: _M_check(__pos, "basic_string::compare"); 10143: __n1 = _M_limit(__pos, __n1); 10143: const size_type __osize = traits_type::length(__s); 10143: const size_type __len = std::min(__n1, __osize); 10143: int __r = traits_type::compare(_M_data() + __pos, __s, __len); 10143: if (!__r) 10143: __r = _S_compare(__n1, __osize); 10143: return __r; 10143: } 10143: 10143: template 10143: int 10143: basic_string <_CharT, _Traits, _Alloc>:: 10143: compare(size_type __pos, size_type __n1, const _CharT* __s, 10143: size_type __n2) const 10143: { 10143: ; 10143: _M_check(__pos, "basic_string::compare"); 10143: __n1 = _M_limit(__pos, __n1); 10143: const size_type __len = std::min(__n1, __n2); 10143: int __r = traits_type::compare(_M_data() + __pos, __s, __len); 10143: if (!__r) 10143: __r = _S_compare(__n1, __n2); 10143: return __r; 10143: } 10143: 10143: 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: operator>>(basic_istream<_CharT, _Traits>& __in, 10143: basic_string<_CharT, _Traits, _Alloc>& __str) 10143: { 10143: typedef basic_istream<_CharT, _Traits> __istream_type; 10143: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 10143: typedef typename __istream_type::ios_base __ios_base; 10143: typedef typename __istream_type::int_type __int_type; 10143: typedef typename __string_type::size_type __size_type; 10143: typedef ctype<_CharT> __ctype_type; 10143: typedef typename __ctype_type::ctype_base __ctype_base; 10143: 10143: __size_type __extracted = 0; 10143: typename __ios_base::iostate __err = __ios_base::goodbit; 10143: typename __istream_type::sentry __cerb(__in, false); 10143: if (__cerb) 10143: { 10143: if (true) 10143: { 10143: 10143: __str.erase(); 10143: _CharT __buf[128]; 10143: __size_type __len = 0; 10143: const streamsize __w = __in.width(); 10143: const __size_type __n = __w > 0 ? static_cast<__size_type>(__w) 10143: : __str.max_size(); 10143: const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); 10143: const __int_type __eof = _Traits::eof(); 10143: __int_type __c = __in.rdbuf()->sgetc(); 10143: 10143: while (__extracted < __n 10143: && !_Traits::eq_int_type(__c, __eof) 10143: && !__ct.is(__ctype_base::space, 10143: _Traits::to_char_type(__c))) 10143: { 10143: if (__len == sizeof(__buf) / sizeof(_CharT)) 10143: { 10143: __str.append(__buf, sizeof(__buf) / sizeof(_CharT)); 10143: __len = 0; 10143: } 10143: __buf[__len++] = _Traits::to_char_type(__c); 10143: ++__extracted; 10143: __c = __in.rdbuf()->snextc(); 10143: } 10143: __str.append(__buf, __len); 10143: 10143: if (_Traits::eq_int_type(__c, __eof)) 10143: __err |= __ios_base::eofbit; 10143: __in.width(0); 10143: } 10143: if (false) 10143: { 10143: __in._M_setstate(__ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { 10143: 10143: 10143: 10143: __in._M_setstate(__ios_base::badbit); 10143: } 10143: } 10143: 10143: if (!__extracted) 10143: __err |= __ios_base::failbit; 10143: if (__err) 10143: __in.setstate(__err); 10143: return __in; 10143: } 10143: 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: getline(basic_istream<_CharT, _Traits>& __in, 10143: basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) 10143: { 10143: typedef basic_istream<_CharT, _Traits> __istream_type; 10143: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 10143: typedef typename __istream_type::ios_base __ios_base; 10143: typedef typename __istream_type::int_type __int_type; 10143: typedef typename __string_type::size_type __size_type; 10143: 10143: __size_type __extracted = 0; 10143: const __size_type __n = __str.max_size(); 10143: typename __ios_base::iostate __err = __ios_base::goodbit; 10143: typename __istream_type::sentry __cerb(__in, true); 10143: if (__cerb) 10143: { 10143: if (true) 10143: { 10143: __str.erase(); 10143: const __int_type __idelim = _Traits::to_int_type(__delim); 10143: const __int_type __eof = _Traits::eof(); 10143: __int_type __c = __in.rdbuf()->sgetc(); 10143: 10143: while (__extracted < __n 10143: && !_Traits::eq_int_type(__c, __eof) 10143: && !_Traits::eq_int_type(__c, __idelim)) 10143: { 10143: __str += _Traits::to_char_type(__c); 10143: ++__extracted; 10143: __c = __in.rdbuf()->snextc(); 10143: } 10143: 10143: if (_Traits::eq_int_type(__c, __eof)) 10143: __err |= __ios_base::eofbit; 10143: else if (_Traits::eq_int_type(__c, __idelim)) 10143: { 10143: ++__extracted; 10143: __in.rdbuf()->sbumpc(); 10143: } 10143: else 10143: __err |= __ios_base::failbit; 10143: } 10143: if (false) 10143: { 10143: __in._M_setstate(__ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { 10143: 10143: 10143: 10143: __in._M_setstate(__ios_base::badbit); 10143: } 10143: } 10143: if (!__extracted) 10143: __err |= __ios_base::failbit; 10143: if (__err) 10143: __in.setstate(__err); 10143: return __in; 10143: } 10143: 10143: 10143: 10143: 10143: extern template class basic_string; 10143: extern template 10143: basic_istream& 10143: operator>>(basic_istream&, string&); 10143: extern template 10143: basic_ostream& 10143: operator<<(basic_ostream&, const string&); 10143: extern template 10143: basic_istream& 10143: getline(basic_istream&, string&, char); 10143: extern template 10143: basic_istream& 10143: getline(basic_istream&, string&); 10143: 10143: 10143: extern template class basic_string; 10143: extern template 10143: basic_istream& 10143: operator>>(basic_istream&, wstring&); 10143: extern template 10143: basic_ostream& 10143: operator<<(basic_ostream&, const wstring&); 10143: extern template 10143: basic_istream& 10143: getline(basic_istream&, wstring&, wchar_t); 10143: extern template 10143: basic_istream& 10143: getline(basic_istream&, wstring&); 10143: 10143: 10143: 10143: 10143: } 10143: # 54 "/usr/include/c++/8/string" 2 3 10143: # 53 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbytearray.h" 2 3 4 10143: # 1 "/usr/include/c++/8/iterator" 1 3 4 10143: # 58 "/usr/include/c++/8/iterator" 3 4 10143: 10143: # 59 "/usr/include/c++/8/iterator" 3 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/ostream" 1 3 10143: # 36 "/usr/include/c++/8/ostream" 3 10143: 10143: # 37 "/usr/include/c++/8/ostream" 3 10143: 10143: # 1 "/usr/include/c++/8/ios" 1 3 10143: # 36 "/usr/include/c++/8/ios" 3 10143: 10143: # 37 "/usr/include/c++/8/ios" 3 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/ios_base.h" 1 3 10143: # 37 "/usr/include/c++/8/bits/ios_base.h" 3 10143: 10143: # 38 "/usr/include/c++/8/bits/ios_base.h" 3 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/locale_classes.h" 1 3 10143: # 37 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: 10143: # 38 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: 10143: 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 62 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: class locale 10143: { 10143: public: 10143: 10143: 10143: typedef int category; 10143: 10143: 10143: class facet; 10143: class id; 10143: class _Impl; 10143: 10143: friend class facet; 10143: friend class _Impl; 10143: 10143: template 10143: friend bool 10143: has_facet(const locale&) throw(); 10143: 10143: template 10143: friend const _Facet& 10143: use_facet(const locale&); 10143: 10143: template 10143: friend struct __use_cache; 10143: # 98 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: static const category none = 0; 10143: static const category ctype = 1L << 0; 10143: static const category numeric = 1L << 1; 10143: static const category collate = 1L << 2; 10143: static const category time = 1L << 3; 10143: static const category monetary = 1L << 4; 10143: static const category messages = 1L << 5; 10143: static const category all = (ctype | numeric | collate | 10143: time | monetary | messages); 10143: # 117 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: locale() throw(); 10143: # 126 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: locale(const locale& __other) throw(); 10143: # 136 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: explicit 10143: locale(const char* __s); 10143: # 151 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: locale(const locale& __base, const char* __s, category __cat); 10143: # 162 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: explicit 10143: locale(const std::string& __s) : locale(__s.c_str()) { } 10143: # 177 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: locale(const locale& __base, const std::string& __s, category __cat) 10143: : locale(__base, __s.c_str(), __cat) { } 10143: # 192 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: locale(const locale& __base, const locale& __add, category __cat); 10143: # 205 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: template 10143: locale(const locale& __other, _Facet* __f); 10143: 10143: 10143: ~locale() throw(); 10143: # 219 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: const locale& 10143: operator=(const locale& __other) throw(); 10143: # 234 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: template 10143: locale 10143: combine(const locale& __other) const; 10143: 10143: 10143: 10143: 10143: 10143: 10143: __attribute ((__abi_tag__ ("cxx11"))) 10143: string 10143: name() const; 10143: # 254 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: bool 10143: operator==(const locale& __other) const throw(); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: bool 10143: operator!=(const locale& __other) const throw() 10143: { return !(this->operator==(__other)); } 10143: # 282 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: template 10143: bool 10143: operator()(const basic_string<_Char, _Traits, _Alloc>& __s1, 10143: const basic_string<_Char, _Traits, _Alloc>& __s2) const; 10143: # 298 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: static locale 10143: global(const locale& __loc); 10143: 10143: 10143: 10143: 10143: static const locale& 10143: classic(); 10143: 10143: private: 10143: 10143: _Impl* _M_impl; 10143: 10143: 10143: static _Impl* _S_classic; 10143: 10143: 10143: static _Impl* _S_global; 10143: 10143: 10143: 10143: 10143: 10143: static const char* const* const _S_categories; 10143: # 333 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: enum { _S_categories_size = 6 + 6 }; 10143: 10143: 10143: static __gthread_once_t _S_once; 10143: 10143: 10143: explicit 10143: locale(_Impl*) throw(); 10143: 10143: static void 10143: _S_initialize(); 10143: 10143: static void 10143: _S_initialize_once() throw(); 10143: 10143: static category 10143: _S_normalize_category(category); 10143: 10143: void 10143: _M_coalesce(const locale& __base, const locale& __add, category __cat); 10143: 10143: 10143: static const id* const _S_twinned_facets[]; 10143: 10143: }; 10143: # 371 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: class locale::facet 10143: { 10143: private: 10143: friend class locale; 10143: friend class locale::_Impl; 10143: 10143: mutable _Atomic_word _M_refcount; 10143: 10143: 10143: static __c_locale _S_c_locale; 10143: 10143: 10143: static const char _S_c_name[2]; 10143: 10143: 10143: static __gthread_once_t _S_once; 10143: 10143: 10143: static void 10143: _S_initialize_once(); 10143: 10143: protected: 10143: # 402 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: explicit 10143: facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0) 10143: { } 10143: 10143: 10143: virtual 10143: ~facet(); 10143: 10143: static void 10143: _S_create_c_locale(__c_locale& __cloc, const char* __s, 10143: __c_locale __old = 0); 10143: 10143: static __c_locale 10143: _S_clone_c_locale(__c_locale& __cloc) throw(); 10143: 10143: static void 10143: _S_destroy_c_locale(__c_locale& __cloc); 10143: 10143: static __c_locale 10143: _S_lc_ctype_c_locale(__c_locale __cloc, const char* __s); 10143: 10143: 10143: 10143: static __c_locale 10143: _S_get_c_locale(); 10143: 10143: __attribute__ ((__const__)) static const char* 10143: _S_get_c_name() throw(); 10143: # 438 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: facet(const facet&) = delete; 10143: 10143: facet& 10143: operator=(const facet&) = delete; 10143: 10143: 10143: private: 10143: void 10143: _M_add_reference() const throw() 10143: { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } 10143: 10143: void 10143: _M_remove_reference() const throw() 10143: { 10143: 10143: ; 10143: if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) 10143: { 10143: ; 10143: if (true) 10143: { delete this; } 10143: if (false) 10143: { } 10143: } 10143: } 10143: 10143: const facet* _M_sso_shim(const id*) const; 10143: const facet* _M_cow_shim(const id*) const; 10143: 10143: protected: 10143: class __shim; 10143: }; 10143: # 483 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: class locale::id 10143: { 10143: private: 10143: friend class locale; 10143: friend class locale::_Impl; 10143: 10143: template 10143: friend const _Facet& 10143: use_facet(const locale&); 10143: 10143: template 10143: friend bool 10143: has_facet(const locale&) throw(); 10143: 10143: 10143: 10143: 10143: mutable size_t _M_index; 10143: 10143: 10143: static _Atomic_word _S_refcount; 10143: 10143: void 10143: operator=(const id&); 10143: 10143: id(const id&); 10143: 10143: public: 10143: 10143: 10143: 10143: id() { } 10143: 10143: size_t 10143: _M_id() const throw(); 10143: }; 10143: 10143: 10143: 10143: class locale::_Impl 10143: { 10143: public: 10143: 10143: friend class locale; 10143: friend class locale::facet; 10143: 10143: template 10143: friend bool 10143: has_facet(const locale&) throw(); 10143: 10143: template 10143: friend const _Facet& 10143: use_facet(const locale&); 10143: 10143: template 10143: friend struct __use_cache; 10143: 10143: private: 10143: 10143: _Atomic_word _M_refcount; 10143: const facet** _M_facets; 10143: size_t _M_facets_size; 10143: const facet** _M_caches; 10143: char** _M_names; 10143: static const locale::id* const _S_id_ctype[]; 10143: static const locale::id* const _S_id_numeric[]; 10143: static const locale::id* const _S_id_collate[]; 10143: static const locale::id* const _S_id_time[]; 10143: static const locale::id* const _S_id_monetary[]; 10143: static const locale::id* const _S_id_messages[]; 10143: static const locale::id* const* const _S_facet_categories[]; 10143: 10143: void 10143: _M_add_reference() throw() 10143: { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } 10143: 10143: void 10143: _M_remove_reference() throw() 10143: { 10143: 10143: ; 10143: if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) 10143: { 10143: ; 10143: if (true) 10143: { delete this; } 10143: if (false) 10143: { } 10143: } 10143: } 10143: 10143: _Impl(const _Impl&, size_t); 10143: _Impl(const char*, size_t); 10143: _Impl(size_t) throw(); 10143: 10143: ~_Impl() throw(); 10143: 10143: _Impl(const _Impl&); 10143: 10143: void 10143: operator=(const _Impl&); 10143: 10143: bool 10143: _M_check_same_name() 10143: { 10143: bool __ret = true; 10143: if (_M_names[1]) 10143: 10143: for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i) 10143: __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0; 10143: return __ret; 10143: } 10143: 10143: void 10143: _M_replace_categories(const _Impl*, category); 10143: 10143: void 10143: _M_replace_category(const _Impl*, const locale::id* const*); 10143: 10143: void 10143: _M_replace_facet(const _Impl*, const locale::id*); 10143: 10143: void 10143: _M_install_facet(const locale::id*, const facet*); 10143: 10143: template 10143: void 10143: _M_init_facet(_Facet* __facet) 10143: { _M_install_facet(&_Facet::id, __facet); } 10143: 10143: template 10143: void 10143: _M_init_facet_unchecked(_Facet* __facet) 10143: { 10143: __facet->_M_add_reference(); 10143: _M_facets[_Facet::id._M_id()] = __facet; 10143: } 10143: 10143: void 10143: _M_install_cache(const facet*, size_t); 10143: 10143: void _M_init_extra(facet**); 10143: void _M_init_extra(void*, void*, const char*, const char*); 10143: }; 10143: # 641 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: template 10143: class __cxx11:: collate : public locale::facet 10143: { 10143: public: 10143: 10143: 10143: 10143: typedef _CharT char_type; 10143: typedef basic_string<_CharT> string_type; 10143: 10143: 10143: protected: 10143: 10143: 10143: __c_locale _M_c_locale_collate; 10143: 10143: public: 10143: 10143: static locale::id id; 10143: # 668 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: explicit 10143: collate(size_t __refs = 0) 10143: : facet(__refs), _M_c_locale_collate(_S_get_c_locale()) 10143: { } 10143: # 682 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: explicit 10143: collate(__c_locale __cloc, size_t __refs = 0) 10143: : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc)) 10143: { } 10143: # 699 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: int 10143: compare(const _CharT* __lo1, const _CharT* __hi1, 10143: const _CharT* __lo2, const _CharT* __hi2) const 10143: { return this->do_compare(__lo1, __hi1, __lo2, __hi2); } 10143: # 718 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: string_type 10143: transform(const _CharT* __lo, const _CharT* __hi) const 10143: { return this->do_transform(__lo, __hi); } 10143: # 732 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: long 10143: hash(const _CharT* __lo, const _CharT* __hi) const 10143: { return this->do_hash(__lo, __hi); } 10143: 10143: 10143: int 10143: _M_compare(const _CharT*, const _CharT*) const throw(); 10143: 10143: size_t 10143: _M_transform(_CharT*, const _CharT*, size_t) const throw(); 10143: 10143: protected: 10143: 10143: virtual 10143: ~collate() 10143: { _S_destroy_c_locale(_M_c_locale_collate); } 10143: # 761 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: virtual int 10143: do_compare(const _CharT* __lo1, const _CharT* __hi1, 10143: const _CharT* __lo2, const _CharT* __hi2) const; 10143: # 775 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: virtual string_type 10143: do_transform(const _CharT* __lo, const _CharT* __hi) const; 10143: # 788 "/usr/include/c++/8/bits/locale_classes.h" 3 10143: virtual long 10143: do_hash(const _CharT* __lo, const _CharT* __hi) const; 10143: }; 10143: 10143: template 10143: locale::id collate<_CharT>::id; 10143: 10143: 10143: template<> 10143: int 10143: collate::_M_compare(const char*, const char*) const throw(); 10143: 10143: template<> 10143: size_t 10143: collate::_M_transform(char*, const char*, size_t) const throw(); 10143: 10143: 10143: template<> 10143: int 10143: collate::_M_compare(const wchar_t*, const wchar_t*) const throw(); 10143: 10143: template<> 10143: size_t 10143: collate::_M_transform(wchar_t*, const wchar_t*, size_t) const throw(); 10143: 10143: 10143: 10143: template 10143: class __cxx11:: collate_byname : public collate<_CharT> 10143: { 10143: public: 10143: 10143: 10143: typedef _CharT char_type; 10143: typedef basic_string<_CharT> string_type; 10143: 10143: 10143: explicit 10143: collate_byname(const char* __s, size_t __refs = 0) 10143: : collate<_CharT>(__refs) 10143: { 10143: if (__builtin_strcmp(__s, "C") != 0 10143: && __builtin_strcmp(__s, "POSIX") != 0) 10143: { 10143: this->_S_destroy_c_locale(this->_M_c_locale_collate); 10143: this->_S_create_c_locale(this->_M_c_locale_collate, __s); 10143: } 10143: } 10143: 10143: 10143: explicit 10143: collate_byname(const string& __s, size_t __refs = 0) 10143: : collate_byname(__s.c_str(), __refs) { } 10143: 10143: 10143: protected: 10143: virtual 10143: ~collate_byname() { } 10143: }; 10143: 10143: 10143: } 10143: 10143: # 1 "/usr/include/c++/8/bits/locale_classes.tcc" 1 3 10143: # 37 "/usr/include/c++/8/bits/locale_classes.tcc" 3 10143: 10143: # 38 "/usr/include/c++/8/bits/locale_classes.tcc" 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: template 10143: locale:: 10143: locale(const locale& __other, _Facet* __f) 10143: { 10143: _M_impl = new _Impl(*__other._M_impl, 1); 10143: 10143: if (true) 10143: { _M_impl->_M_install_facet(&_Facet::id, __f); } 10143: if (false) 10143: { 10143: _M_impl->_M_remove_reference(); 10143: ; 10143: } 10143: delete [] _M_impl->_M_names[0]; 10143: _M_impl->_M_names[0] = 0; 10143: } 10143: 10143: template 10143: locale 10143: locale:: 10143: combine(const locale& __other) const 10143: { 10143: _Impl* __tmp = new _Impl(*_M_impl, 1); 10143: if (true) 10143: { 10143: __tmp->_M_replace_facet(__other._M_impl, &_Facet::id); 10143: } 10143: if (false) 10143: { 10143: __tmp->_M_remove_reference(); 10143: ; 10143: } 10143: return locale(__tmp); 10143: } 10143: 10143: template 10143: bool 10143: locale:: 10143: operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1, 10143: const basic_string<_CharT, _Traits, _Alloc>& __s2) const 10143: { 10143: typedef std::collate<_CharT> __collate_type; 10143: const __collate_type& __collate = use_facet<__collate_type>(*this); 10143: return (__collate.compare(__s1.data(), __s1.data() + __s1.length(), 10143: __s2.data(), __s2.data() + __s2.length()) < 0); 10143: } 10143: # 102 "/usr/include/c++/8/bits/locale_classes.tcc" 3 10143: template 10143: bool 10143: has_facet(const locale& __loc) throw() 10143: { 10143: const size_t __i = _Facet::id._M_id(); 10143: const locale::facet** __facets = __loc._M_impl->_M_facets; 10143: return (__i < __loc._M_impl->_M_facets_size 10143: 10143: && dynamic_cast(__facets[__i])); 10143: 10143: 10143: 10143: } 10143: # 130 "/usr/include/c++/8/bits/locale_classes.tcc" 3 10143: template 10143: const _Facet& 10143: use_facet(const locale& __loc) 10143: { 10143: const size_t __i = _Facet::id._M_id(); 10143: const locale::facet** __facets = __loc._M_impl->_M_facets; 10143: if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i]) 10143: __throw_bad_cast(); 10143: 10143: return dynamic_cast(*__facets[__i]); 10143: 10143: 10143: 10143: } 10143: 10143: 10143: 10143: template 10143: int 10143: collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const throw () 10143: { return 0; } 10143: 10143: 10143: template 10143: size_t 10143: collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const throw () 10143: { return 0; } 10143: 10143: template 10143: int 10143: collate<_CharT>:: 10143: do_compare(const _CharT* __lo1, const _CharT* __hi1, 10143: const _CharT* __lo2, const _CharT* __hi2) const 10143: { 10143: 10143: 10143: const string_type __one(__lo1, __hi1); 10143: const string_type __two(__lo2, __hi2); 10143: 10143: const _CharT* __p = __one.c_str(); 10143: const _CharT* __pend = __one.data() + __one.length(); 10143: const _CharT* __q = __two.c_str(); 10143: const _CharT* __qend = __two.data() + __two.length(); 10143: 10143: 10143: 10143: 10143: for (;;) 10143: { 10143: const int __res = _M_compare(__p, __q); 10143: if (__res) 10143: return __res; 10143: 10143: __p += char_traits<_CharT>::length(__p); 10143: __q += char_traits<_CharT>::length(__q); 10143: if (__p == __pend && __q == __qend) 10143: return 0; 10143: else if (__p == __pend) 10143: return -1; 10143: else if (__q == __qend) 10143: return 1; 10143: 10143: __p++; 10143: __q++; 10143: } 10143: } 10143: 10143: template 10143: typename collate<_CharT>::string_type 10143: collate<_CharT>:: 10143: do_transform(const _CharT* __lo, const _CharT* __hi) const 10143: { 10143: string_type __ret; 10143: 10143: 10143: const string_type __str(__lo, __hi); 10143: 10143: const _CharT* __p = __str.c_str(); 10143: const _CharT* __pend = __str.data() + __str.length(); 10143: 10143: size_t __len = (__hi - __lo) * 2; 10143: 10143: _CharT* __c = new _CharT[__len]; 10143: 10143: if (true) 10143: { 10143: 10143: 10143: 10143: for (;;) 10143: { 10143: 10143: size_t __res = _M_transform(__c, __p, __len); 10143: 10143: 10143: if (__res >= __len) 10143: { 10143: __len = __res + 1; 10143: delete [] __c, __c = 0; 10143: __c = new _CharT[__len]; 10143: __res = _M_transform(__c, __p, __len); 10143: } 10143: 10143: __ret.append(__c, __res); 10143: __p += char_traits<_CharT>::length(__p); 10143: if (__p == __pend) 10143: break; 10143: 10143: __p++; 10143: __ret.push_back(_CharT()); 10143: } 10143: } 10143: if (false) 10143: { 10143: delete [] __c; 10143: ; 10143: } 10143: 10143: delete [] __c; 10143: 10143: return __ret; 10143: } 10143: 10143: template 10143: long 10143: collate<_CharT>:: 10143: do_hash(const _CharT* __lo, const _CharT* __hi) const 10143: { 10143: unsigned long __val = 0; 10143: for (; __lo < __hi; ++__lo) 10143: __val = 10143: *__lo + ((__val << 7) 10143: | (__val >> (__gnu_cxx::__numeric_traits:: 10143: __digits - 7))); 10143: return static_cast(__val); 10143: } 10143: 10143: 10143: 10143: 10143: extern template class collate; 10143: extern template class collate_byname; 10143: 10143: extern template 10143: const collate& 10143: use_facet >(const locale&); 10143: 10143: extern template 10143: bool 10143: has_facet >(const locale&); 10143: 10143: 10143: extern template class collate; 10143: extern template class collate_byname; 10143: 10143: extern template 10143: const collate& 10143: use_facet >(const locale&); 10143: 10143: extern template 10143: bool 10143: has_facet >(const locale&); 10143: 10143: 10143: 10143: 10143: } 10143: # 852 "/usr/include/c++/8/bits/locale_classes.h" 2 3 10143: # 42 "/usr/include/c++/8/bits/ios_base.h" 2 3 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/system_error" 1 3 10143: # 32 "/usr/include/c++/8/system_error" 3 10143: 10143: # 33 "/usr/include/c++/8/system_error" 3 10143: 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/error_constants.h" 1 3 10143: # 34 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/error_constants.h" 3 10143: # 1 "/usr/include/c++/8/cerrno" 1 3 10143: # 39 "/usr/include/c++/8/cerrno" 3 10143: 10143: # 40 "/usr/include/c++/8/cerrno" 3 10143: # 35 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/error_constants.h" 2 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: enum class errc 10143: { 10143: address_family_not_supported = 97, 10143: address_in_use = 98, 10143: address_not_available = 99, 10143: already_connected = 106, 10143: argument_list_too_long = 7, 10143: argument_out_of_domain = 33, 10143: bad_address = 14, 10143: bad_file_descriptor = 9, 10143: 10143: 10143: bad_message = 74, 10143: 10143: 10143: broken_pipe = 32, 10143: connection_aborted = 103, 10143: connection_already_in_progress = 114, 10143: connection_refused = 111, 10143: connection_reset = 104, 10143: cross_device_link = 18, 10143: destination_address_required = 89, 10143: device_or_resource_busy = 16, 10143: directory_not_empty = 39, 10143: executable_format_error = 8, 10143: file_exists = 17, 10143: file_too_large = 27, 10143: filename_too_long = 36, 10143: function_not_supported = 38, 10143: host_unreachable = 113, 10143: 10143: 10143: identifier_removed = 43, 10143: 10143: 10143: illegal_byte_sequence = 84, 10143: inappropriate_io_control_operation = 25, 10143: interrupted = 4, 10143: invalid_argument = 22, 10143: invalid_seek = 29, 10143: io_error = 5, 10143: is_a_directory = 21, 10143: message_size = 90, 10143: network_down = 100, 10143: network_reset = 102, 10143: network_unreachable = 101, 10143: no_buffer_space = 105, 10143: no_child_process = 10, 10143: 10143: 10143: no_link = 67, 10143: 10143: 10143: no_lock_available = 37, 10143: 10143: 10143: no_message_available = 61, 10143: 10143: 10143: no_message = 42, 10143: no_protocol_option = 92, 10143: no_space_on_device = 28, 10143: 10143: 10143: no_stream_resources = 63, 10143: 10143: 10143: no_such_device_or_address = 6, 10143: no_such_device = 19, 10143: no_such_file_or_directory = 2, 10143: no_such_process = 3, 10143: not_a_directory = 20, 10143: not_a_socket = 88, 10143: 10143: 10143: not_a_stream = 60, 10143: 10143: 10143: not_connected = 107, 10143: not_enough_memory = 12, 10143: 10143: 10143: not_supported = 95, 10143: 10143: 10143: 10143: operation_canceled = 125, 10143: 10143: 10143: operation_in_progress = 115, 10143: operation_not_permitted = 1, 10143: operation_not_supported = 95, 10143: operation_would_block = 11, 10143: 10143: 10143: owner_dead = 130, 10143: 10143: 10143: permission_denied = 13, 10143: 10143: 10143: protocol_error = 71, 10143: 10143: 10143: protocol_not_supported = 93, 10143: read_only_file_system = 30, 10143: resource_deadlock_would_occur = 35, 10143: resource_unavailable_try_again = 11, 10143: result_out_of_range = 34, 10143: 10143: 10143: state_not_recoverable = 131, 10143: 10143: 10143: 10143: stream_timeout = 62, 10143: 10143: 10143: 10143: text_file_busy = 26, 10143: 10143: 10143: timed_out = 110, 10143: too_many_files_open_in_system = 23, 10143: too_many_files_open = 24, 10143: too_many_links = 31, 10143: too_many_symbolic_link_levels = 40, 10143: 10143: 10143: value_too_large = 75, 10143: 10143: 10143: wrong_protocol_type = 91 10143: }; 10143: 10143: 10143: } 10143: # 40 "/usr/include/c++/8/system_error" 2 3 10143: 10143: # 1 "/usr/include/c++/8/stdexcept" 1 3 10143: # 36 "/usr/include/c++/8/stdexcept" 3 10143: 10143: # 37 "/usr/include/c++/8/stdexcept" 3 10143: 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: struct __cow_string 10143: { 10143: union { 10143: const char* _M_p; 10143: char _M_bytes[sizeof(const char*)]; 10143: }; 10143: 10143: __cow_string(); 10143: __cow_string(const std::string&); 10143: __cow_string(const char*, size_t); 10143: __cow_string(const __cow_string&) noexcept; 10143: __cow_string& operator=(const __cow_string&) noexcept; 10143: ~__cow_string(); 10143: 10143: __cow_string(__cow_string&&) noexcept; 10143: __cow_string& operator=(__cow_string&&) noexcept; 10143: 10143: }; 10143: 10143: typedef basic_string __sso_string; 10143: # 113 "/usr/include/c++/8/stdexcept" 3 10143: class logic_error : public exception 10143: { 10143: __cow_string _M_msg; 10143: 10143: public: 10143: 10143: explicit 10143: logic_error(const string& __arg) ; 10143: 10143: 10143: explicit 10143: logic_error(const char*) ; 10143: 10143: 10143: 10143: logic_error(const logic_error&) noexcept; 10143: logic_error& operator=(const logic_error&) noexcept; 10143: 10143: 10143: virtual ~logic_error() noexcept; 10143: 10143: 10143: 10143: virtual const char* 10143: what() const noexcept; 10143: 10143: 10143: 10143: 10143: 10143: }; 10143: 10143: 10143: 10143: class domain_error : public logic_error 10143: { 10143: public: 10143: explicit domain_error(const string& __arg) ; 10143: 10143: explicit domain_error(const char*) ; 10143: 10143: virtual ~domain_error() noexcept; 10143: }; 10143: 10143: 10143: class invalid_argument : public logic_error 10143: { 10143: public: 10143: explicit invalid_argument(const string& __arg) ; 10143: 10143: explicit invalid_argument(const char*) ; 10143: 10143: virtual ~invalid_argument() noexcept; 10143: }; 10143: 10143: 10143: 10143: class length_error : public logic_error 10143: { 10143: public: 10143: explicit length_error(const string& __arg) ; 10143: 10143: explicit length_error(const char*) ; 10143: 10143: virtual ~length_error() noexcept; 10143: }; 10143: 10143: 10143: 10143: class out_of_range : public logic_error 10143: { 10143: public: 10143: explicit out_of_range(const string& __arg) ; 10143: 10143: explicit out_of_range(const char*) ; 10143: 10143: virtual ~out_of_range() noexcept; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: class runtime_error : public exception 10143: { 10143: __cow_string _M_msg; 10143: 10143: public: 10143: 10143: explicit 10143: runtime_error(const string& __arg) ; 10143: 10143: 10143: explicit 10143: runtime_error(const char*) ; 10143: 10143: 10143: 10143: runtime_error(const runtime_error&) noexcept; 10143: runtime_error& operator=(const runtime_error&) noexcept; 10143: 10143: 10143: virtual ~runtime_error() noexcept; 10143: 10143: 10143: 10143: virtual const char* 10143: what() const noexcept; 10143: 10143: 10143: 10143: 10143: 10143: }; 10143: 10143: 10143: class range_error : public runtime_error 10143: { 10143: public: 10143: explicit range_error(const string& __arg) ; 10143: 10143: explicit range_error(const char*) ; 10143: 10143: virtual ~range_error() noexcept; 10143: }; 10143: 10143: 10143: class overflow_error : public runtime_error 10143: { 10143: public: 10143: explicit overflow_error(const string& __arg) ; 10143: 10143: explicit overflow_error(const char*) ; 10143: 10143: virtual ~overflow_error() noexcept; 10143: }; 10143: 10143: 10143: class underflow_error : public runtime_error 10143: { 10143: public: 10143: explicit underflow_error(const string& __arg) ; 10143: 10143: explicit underflow_error(const char*) ; 10143: 10143: virtual ~underflow_error() noexcept; 10143: }; 10143: 10143: 10143: 10143: 10143: } 10143: # 42 "/usr/include/c++/8/system_error" 2 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: class error_code; 10143: class error_condition; 10143: class system_error; 10143: 10143: 10143: template 10143: struct is_error_code_enum : public false_type { }; 10143: 10143: 10143: template 10143: struct is_error_condition_enum : public false_type { }; 10143: 10143: template<> 10143: struct is_error_condition_enum 10143: : public true_type { }; 10143: # 71 "/usr/include/c++/8/system_error" 3 10143: inline namespace _V2 { 10143: 10143: 10143: class error_category 10143: { 10143: public: 10143: constexpr error_category() noexcept = default; 10143: 10143: virtual ~error_category(); 10143: 10143: error_category(const error_category&) = delete; 10143: error_category& operator=(const error_category&) = delete; 10143: 10143: virtual const char* 10143: name() const noexcept = 0; 10143: 10143: 10143: 10143: 10143: 10143: 10143: private: 10143: __attribute ((__abi_tag__ ("cxx11"))) 10143: virtual __cow_string 10143: _M_message(int) const; 10143: 10143: public: 10143: __attribute ((__abi_tag__ ("cxx11"))) 10143: virtual string 10143: message(int) const = 0; 10143: # 110 "/usr/include/c++/8/system_error" 3 10143: public: 10143: virtual error_condition 10143: default_error_condition(int __i) const noexcept; 10143: 10143: virtual bool 10143: equivalent(int __i, const error_condition& __cond) const noexcept; 10143: 10143: virtual bool 10143: equivalent(const error_code& __code, int __i) const noexcept; 10143: 10143: bool 10143: operator<(const error_category& __other) const noexcept 10143: { return less()(this, &__other); } 10143: 10143: bool 10143: operator==(const error_category& __other) const noexcept 10143: { return this == &__other; } 10143: 10143: bool 10143: operator!=(const error_category& __other) const noexcept 10143: { return this != &__other; } 10143: }; 10143: 10143: 10143: __attribute__ ((__const__)) const error_category& system_category() noexcept; 10143: __attribute__ ((__const__)) const error_category& generic_category() noexcept; 10143: 10143: } 10143: 10143: error_code make_error_code(errc) noexcept; 10143: 10143: template 10143: struct hash; 10143: 10143: 10143: 10143: struct error_code 10143: { 10143: error_code() noexcept 10143: : _M_value(0), _M_cat(&system_category()) { } 10143: 10143: error_code(int __v, const error_category& __cat) noexcept 10143: : _M_value(__v), _M_cat(&__cat) { } 10143: 10143: template::value>::type> 10143: error_code(_ErrorCodeEnum __e) noexcept 10143: { *this = make_error_code(__e); } 10143: 10143: void 10143: assign(int __v, const error_category& __cat) noexcept 10143: { 10143: _M_value = __v; 10143: _M_cat = &__cat; 10143: } 10143: 10143: void 10143: clear() noexcept 10143: { assign(0, system_category()); } 10143: 10143: 10143: template 10143: typename enable_if::value, 10143: error_code&>::type 10143: operator=(_ErrorCodeEnum __e) noexcept 10143: { return *this = make_error_code(__e); } 10143: 10143: int 10143: value() const noexcept { return _M_value; } 10143: 10143: const error_category& 10143: category() const noexcept { return *_M_cat; } 10143: 10143: error_condition 10143: default_error_condition() const noexcept; 10143: 10143: __attribute ((__abi_tag__ ("cxx11"))) 10143: string 10143: message() const 10143: { return category().message(value()); } 10143: 10143: explicit operator bool() const noexcept 10143: { return _M_value != 0; } 10143: 10143: 10143: private: 10143: friend class hash; 10143: 10143: int _M_value; 10143: const error_category* _M_cat; 10143: }; 10143: 10143: 10143: inline error_code 10143: make_error_code(errc __e) noexcept 10143: { return error_code(static_cast(__e), generic_category()); } 10143: 10143: inline bool 10143: operator<(const error_code& __lhs, const error_code& __rhs) noexcept 10143: { 10143: return (__lhs.category() < __rhs.category() 10143: || (__lhs.category() == __rhs.category() 10143: && __lhs.value() < __rhs.value())); 10143: } 10143: 10143: template 10143: basic_ostream<_CharT, _Traits>& 10143: operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e) 10143: { return (__os << __e.category().name() << ':' << __e.value()); } 10143: 10143: error_condition make_error_condition(errc) noexcept; 10143: 10143: 10143: 10143: struct error_condition 10143: { 10143: error_condition() noexcept 10143: : _M_value(0), _M_cat(&generic_category()) { } 10143: 10143: error_condition(int __v, const error_category& __cat) noexcept 10143: : _M_value(__v), _M_cat(&__cat) { } 10143: 10143: template::value>::type> 10143: error_condition(_ErrorConditionEnum __e) noexcept 10143: { *this = make_error_condition(__e); } 10143: 10143: void 10143: assign(int __v, const error_category& __cat) noexcept 10143: { 10143: _M_value = __v; 10143: _M_cat = &__cat; 10143: } 10143: 10143: 10143: template 10143: typename enable_if::value, error_condition&>::type 10143: operator=(_ErrorConditionEnum __e) noexcept 10143: { return *this = make_error_condition(__e); } 10143: 10143: void 10143: clear() noexcept 10143: { assign(0, generic_category()); } 10143: 10143: 10143: int 10143: value() const noexcept { return _M_value; } 10143: 10143: const error_category& 10143: category() const noexcept { return *_M_cat; } 10143: 10143: __attribute ((__abi_tag__ ("cxx11"))) 10143: string 10143: message() const 10143: { return category().message(value()); } 10143: 10143: explicit operator bool() const noexcept 10143: { return _M_value != 0; } 10143: 10143: 10143: private: 10143: int _M_value; 10143: const error_category* _M_cat; 10143: }; 10143: 10143: 10143: inline error_condition 10143: make_error_condition(errc __e) noexcept 10143: { return error_condition(static_cast(__e), generic_category()); } 10143: 10143: inline bool 10143: operator<(const error_condition& __lhs, 10143: const error_condition& __rhs) noexcept 10143: { 10143: return (__lhs.category() < __rhs.category() 10143: || (__lhs.category() == __rhs.category() 10143: && __lhs.value() < __rhs.value())); 10143: } 10143: 10143: 10143: inline bool 10143: operator==(const error_code& __lhs, const error_code& __rhs) noexcept 10143: { return (__lhs.category() == __rhs.category() 10143: && __lhs.value() == __rhs.value()); } 10143: 10143: inline bool 10143: operator==(const error_code& __lhs, const error_condition& __rhs) noexcept 10143: { 10143: return (__lhs.category().equivalent(__lhs.value(), __rhs) 10143: || __rhs.category().equivalent(__lhs, __rhs.value())); 10143: } 10143: 10143: inline bool 10143: operator==(const error_condition& __lhs, const error_code& __rhs) noexcept 10143: { 10143: return (__rhs.category().equivalent(__rhs.value(), __lhs) 10143: || __lhs.category().equivalent(__rhs, __lhs.value())); 10143: } 10143: 10143: inline bool 10143: operator==(const error_condition& __lhs, 10143: const error_condition& __rhs) noexcept 10143: { 10143: return (__lhs.category() == __rhs.category() 10143: && __lhs.value() == __rhs.value()); 10143: } 10143: 10143: inline bool 10143: operator!=(const error_code& __lhs, const error_code& __rhs) noexcept 10143: { return !(__lhs == __rhs); } 10143: 10143: inline bool 10143: operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept 10143: { return !(__lhs == __rhs); } 10143: 10143: inline bool 10143: operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept 10143: { return !(__lhs == __rhs); } 10143: 10143: inline bool 10143: operator!=(const error_condition& __lhs, 10143: const error_condition& __rhs) noexcept 10143: { return !(__lhs == __rhs); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: class system_error : public std::runtime_error 10143: { 10143: private: 10143: error_code _M_code; 10143: 10143: public: 10143: system_error(error_code __ec = error_code()) 10143: : runtime_error(__ec.message()), _M_code(__ec) { } 10143: 10143: system_error(error_code __ec, const string& __what) 10143: : runtime_error(__what + ": " + __ec.message()), _M_code(__ec) { } 10143: 10143: system_error(error_code __ec, const char* __what) 10143: : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { } 10143: 10143: system_error(int __v, const error_category& __ecat, const char* __what) 10143: : system_error(error_code(__v, __ecat), __what) { } 10143: 10143: system_error(int __v, const error_category& __ecat) 10143: : runtime_error(error_code(__v, __ecat).message()), 10143: _M_code(__v, __ecat) { } 10143: 10143: system_error(int __v, const error_category& __ecat, const string& __what) 10143: : runtime_error(__what + ": " + error_code(__v, __ecat).message()), 10143: _M_code(__v, __ecat) { } 10143: 10143: virtual ~system_error() noexcept; 10143: 10143: const error_code& 10143: code() const noexcept { return _M_code; } 10143: }; 10143: 10143: 10143: } 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: template<> 10143: struct hash 10143: : public __hash_base 10143: { 10143: size_t 10143: operator()(const error_code& __e) const noexcept 10143: { 10143: const size_t __tmp = std::_Hash_impl::hash(__e._M_value); 10143: return std::_Hash_impl::__hash_combine(__e._M_cat, __tmp); 10143: } 10143: }; 10143: # 414 "/usr/include/c++/8/system_error" 3 10143: 10143: } 10143: # 47 "/usr/include/c++/8/bits/ios_base.h" 2 3 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: enum _Ios_Fmtflags 10143: { 10143: _S_boolalpha = 1L << 0, 10143: _S_dec = 1L << 1, 10143: _S_fixed = 1L << 2, 10143: _S_hex = 1L << 3, 10143: _S_internal = 1L << 4, 10143: _S_left = 1L << 5, 10143: _S_oct = 1L << 6, 10143: _S_right = 1L << 7, 10143: _S_scientific = 1L << 8, 10143: _S_showbase = 1L << 9, 10143: _S_showpoint = 1L << 10, 10143: _S_showpos = 1L << 11, 10143: _S_skipws = 1L << 12, 10143: _S_unitbuf = 1L << 13, 10143: _S_uppercase = 1L << 14, 10143: _S_adjustfield = _S_left | _S_right | _S_internal, 10143: _S_basefield = _S_dec | _S_oct | _S_hex, 10143: _S_floatfield = _S_scientific | _S_fixed, 10143: _S_ios_fmtflags_end = 1L << 16, 10143: _S_ios_fmtflags_max = 0x7fffffff, 10143: _S_ios_fmtflags_min = ~0x7fffffff 10143: }; 10143: 10143: inline constexpr _Ios_Fmtflags 10143: operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b) 10143: { return _Ios_Fmtflags(static_cast(__a) & static_cast(__b)); } 10143: 10143: inline constexpr _Ios_Fmtflags 10143: operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b) 10143: { return _Ios_Fmtflags(static_cast(__a) | static_cast(__b)); } 10143: 10143: inline constexpr _Ios_Fmtflags 10143: operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b) 10143: { return _Ios_Fmtflags(static_cast(__a) ^ static_cast(__b)); } 10143: 10143: inline constexpr _Ios_Fmtflags 10143: operator~(_Ios_Fmtflags __a) 10143: { return _Ios_Fmtflags(~static_cast(__a)); } 10143: 10143: inline const _Ios_Fmtflags& 10143: operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) 10143: { return __a = __a | __b; } 10143: 10143: inline const _Ios_Fmtflags& 10143: operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) 10143: { return __a = __a & __b; } 10143: 10143: inline const _Ios_Fmtflags& 10143: operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) 10143: { return __a = __a ^ __b; } 10143: 10143: 10143: enum _Ios_Openmode 10143: { 10143: _S_app = 1L << 0, 10143: _S_ate = 1L << 1, 10143: _S_bin = 1L << 2, 10143: _S_in = 1L << 3, 10143: _S_out = 1L << 4, 10143: _S_trunc = 1L << 5, 10143: _S_ios_openmode_end = 1L << 16, 10143: _S_ios_openmode_max = 0x7fffffff, 10143: _S_ios_openmode_min = ~0x7fffffff 10143: }; 10143: 10143: inline constexpr _Ios_Openmode 10143: operator&(_Ios_Openmode __a, _Ios_Openmode __b) 10143: { return _Ios_Openmode(static_cast(__a) & static_cast(__b)); } 10143: 10143: inline constexpr _Ios_Openmode 10143: operator|(_Ios_Openmode __a, _Ios_Openmode __b) 10143: { return _Ios_Openmode(static_cast(__a) | static_cast(__b)); } 10143: 10143: inline constexpr _Ios_Openmode 10143: operator^(_Ios_Openmode __a, _Ios_Openmode __b) 10143: { return _Ios_Openmode(static_cast(__a) ^ static_cast(__b)); } 10143: 10143: inline constexpr _Ios_Openmode 10143: operator~(_Ios_Openmode __a) 10143: { return _Ios_Openmode(~static_cast(__a)); } 10143: 10143: inline const _Ios_Openmode& 10143: operator|=(_Ios_Openmode& __a, _Ios_Openmode __b) 10143: { return __a = __a | __b; } 10143: 10143: inline const _Ios_Openmode& 10143: operator&=(_Ios_Openmode& __a, _Ios_Openmode __b) 10143: { return __a = __a & __b; } 10143: 10143: inline const _Ios_Openmode& 10143: operator^=(_Ios_Openmode& __a, _Ios_Openmode __b) 10143: { return __a = __a ^ __b; } 10143: 10143: 10143: enum _Ios_Iostate 10143: { 10143: _S_goodbit = 0, 10143: _S_badbit = 1L << 0, 10143: _S_eofbit = 1L << 1, 10143: _S_failbit = 1L << 2, 10143: _S_ios_iostate_end = 1L << 16, 10143: _S_ios_iostate_max = 0x7fffffff, 10143: _S_ios_iostate_min = ~0x7fffffff 10143: }; 10143: 10143: inline constexpr _Ios_Iostate 10143: operator&(_Ios_Iostate __a, _Ios_Iostate __b) 10143: { return _Ios_Iostate(static_cast(__a) & static_cast(__b)); } 10143: 10143: inline constexpr _Ios_Iostate 10143: operator|(_Ios_Iostate __a, _Ios_Iostate __b) 10143: { return _Ios_Iostate(static_cast(__a) | static_cast(__b)); } 10143: 10143: inline constexpr _Ios_Iostate 10143: operator^(_Ios_Iostate __a, _Ios_Iostate __b) 10143: { return _Ios_Iostate(static_cast(__a) ^ static_cast(__b)); } 10143: 10143: inline constexpr _Ios_Iostate 10143: operator~(_Ios_Iostate __a) 10143: { return _Ios_Iostate(~static_cast(__a)); } 10143: 10143: inline const _Ios_Iostate& 10143: operator|=(_Ios_Iostate& __a, _Ios_Iostate __b) 10143: { return __a = __a | __b; } 10143: 10143: inline const _Ios_Iostate& 10143: operator&=(_Ios_Iostate& __a, _Ios_Iostate __b) 10143: { return __a = __a & __b; } 10143: 10143: inline const _Ios_Iostate& 10143: operator^=(_Ios_Iostate& __a, _Ios_Iostate __b) 10143: { return __a = __a ^ __b; } 10143: 10143: 10143: enum _Ios_Seekdir 10143: { 10143: _S_beg = 0, 10143: _S_cur = 1, 10143: _S_end = 2, 10143: _S_ios_seekdir_end = 1L << 16 10143: }; 10143: 10143: 10143: 10143: enum class io_errc { stream = 1 }; 10143: 10143: template <> struct is_error_code_enum : public true_type { }; 10143: 10143: const error_category& iostream_category() noexcept; 10143: 10143: inline error_code 10143: make_error_code(io_errc __e) noexcept 10143: { return error_code(static_cast(__e), iostream_category()); } 10143: 10143: inline error_condition 10143: make_error_condition(io_errc __e) noexcept 10143: { return error_condition(static_cast(__e), iostream_category()); } 10143: # 228 "/usr/include/c++/8/bits/ios_base.h" 3 10143: class ios_base 10143: { 10143: # 246 "/usr/include/c++/8/bits/ios_base.h" 3 10143: public: 10143: # 255 "/usr/include/c++/8/bits/ios_base.h" 3 10143: class __attribute ((__abi_tag__ ("cxx11"))) failure : public system_error 10143: { 10143: public: 10143: explicit 10143: failure(const string& __str); 10143: 10143: 10143: explicit 10143: failure(const string&, const error_code&); 10143: 10143: explicit 10143: failure(const char*, const error_code& = io_errc::stream); 10143: 10143: 10143: virtual 10143: ~failure() throw(); 10143: 10143: virtual const char* 10143: what() const throw(); 10143: }; 10143: # 323 "/usr/include/c++/8/bits/ios_base.h" 3 10143: typedef _Ios_Fmtflags fmtflags; 10143: 10143: 10143: static const fmtflags boolalpha = _S_boolalpha; 10143: 10143: 10143: static const fmtflags dec = _S_dec; 10143: 10143: 10143: static const fmtflags fixed = _S_fixed; 10143: 10143: 10143: static const fmtflags hex = _S_hex; 10143: 10143: 10143: 10143: 10143: static const fmtflags internal = _S_internal; 10143: 10143: 10143: 10143: static const fmtflags left = _S_left; 10143: 10143: 10143: static const fmtflags oct = _S_oct; 10143: 10143: 10143: 10143: static const fmtflags right = _S_right; 10143: 10143: 10143: static const fmtflags scientific = _S_scientific; 10143: 10143: 10143: 10143: static const fmtflags showbase = _S_showbase; 10143: 10143: 10143: 10143: static const fmtflags showpoint = _S_showpoint; 10143: 10143: 10143: static const fmtflags showpos = _S_showpos; 10143: 10143: 10143: static const fmtflags skipws = _S_skipws; 10143: 10143: 10143: static const fmtflags unitbuf = _S_unitbuf; 10143: 10143: 10143: 10143: static const fmtflags uppercase = _S_uppercase; 10143: 10143: 10143: static const fmtflags adjustfield = _S_adjustfield; 10143: 10143: 10143: static const fmtflags basefield = _S_basefield; 10143: 10143: 10143: static const fmtflags floatfield = _S_floatfield; 10143: # 398 "/usr/include/c++/8/bits/ios_base.h" 3 10143: typedef _Ios_Iostate iostate; 10143: 10143: 10143: 10143: static const iostate badbit = _S_badbit; 10143: 10143: 10143: static const iostate eofbit = _S_eofbit; 10143: 10143: 10143: 10143: 10143: static const iostate failbit = _S_failbit; 10143: 10143: 10143: static const iostate goodbit = _S_goodbit; 10143: # 429 "/usr/include/c++/8/bits/ios_base.h" 3 10143: typedef _Ios_Openmode openmode; 10143: 10143: 10143: static const openmode app = _S_app; 10143: 10143: 10143: static const openmode ate = _S_ate; 10143: 10143: 10143: 10143: 10143: static const openmode binary = _S_bin; 10143: 10143: 10143: static const openmode in = _S_in; 10143: 10143: 10143: static const openmode out = _S_out; 10143: 10143: 10143: static const openmode trunc = _S_trunc; 10143: # 461 "/usr/include/c++/8/bits/ios_base.h" 3 10143: typedef _Ios_Seekdir seekdir; 10143: 10143: 10143: static const seekdir beg = _S_beg; 10143: 10143: 10143: static const seekdir cur = _S_cur; 10143: 10143: 10143: static const seekdir end = _S_end; 10143: 10143: 10143: 10143: typedef int io_state; 10143: typedef int open_mode; 10143: typedef int seek_dir; 10143: 10143: typedef std::streampos streampos; 10143: typedef std::streamoff streamoff; 10143: # 489 "/usr/include/c++/8/bits/ios_base.h" 3 10143: enum event 10143: { 10143: erase_event, 10143: imbue_event, 10143: copyfmt_event 10143: }; 10143: # 506 "/usr/include/c++/8/bits/ios_base.h" 3 10143: typedef void (*event_callback) (event __e, ios_base& __b, int __i); 10143: # 518 "/usr/include/c++/8/bits/ios_base.h" 3 10143: void 10143: register_callback(event_callback __fn, int __index); 10143: 10143: protected: 10143: streamsize _M_precision; 10143: streamsize _M_width; 10143: fmtflags _M_flags; 10143: iostate _M_exception; 10143: iostate _M_streambuf_state; 10143: 10143: 10143: 10143: struct _Callback_list 10143: { 10143: 10143: _Callback_list* _M_next; 10143: ios_base::event_callback _M_fn; 10143: int _M_index; 10143: _Atomic_word _M_refcount; 10143: 10143: _Callback_list(ios_base::event_callback __fn, int __index, 10143: _Callback_list* __cb) 10143: : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { } 10143: 10143: void 10143: _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } 10143: 10143: 10143: int 10143: _M_remove_reference() 10143: { 10143: 10143: ; 10143: int __res = __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1); 10143: if (__res == 0) 10143: { 10143: ; 10143: } 10143: return __res; 10143: } 10143: }; 10143: 10143: _Callback_list* _M_callbacks; 10143: 10143: void 10143: _M_call_callbacks(event __ev) throw(); 10143: 10143: void 10143: _M_dispose_callbacks(void) throw(); 10143: 10143: 10143: struct _Words 10143: { 10143: void* _M_pword; 10143: long _M_iword; 10143: _Words() : _M_pword(0), _M_iword(0) { } 10143: }; 10143: 10143: 10143: _Words _M_word_zero; 10143: 10143: 10143: 10143: enum { _S_local_word_size = 8 }; 10143: _Words _M_local_word[_S_local_word_size]; 10143: 10143: 10143: int _M_word_size; 10143: _Words* _M_word; 10143: 10143: _Words& 10143: _M_grow_words(int __index, bool __iword); 10143: 10143: 10143: locale _M_ios_locale; 10143: 10143: void 10143: _M_init() throw(); 10143: 10143: public: 10143: 10143: 10143: 10143: 10143: 10143: class Init 10143: { 10143: friend class ios_base; 10143: public: 10143: Init(); 10143: ~Init(); 10143: 10143: private: 10143: static _Atomic_word _S_refcount; 10143: static bool _S_synced_with_stdio; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: fmtflags 10143: flags() const 10143: { return _M_flags; } 10143: # 631 "/usr/include/c++/8/bits/ios_base.h" 3 10143: fmtflags 10143: flags(fmtflags __fmtfl) 10143: { 10143: fmtflags __old = _M_flags; 10143: _M_flags = __fmtfl; 10143: return __old; 10143: } 10143: # 647 "/usr/include/c++/8/bits/ios_base.h" 3 10143: fmtflags 10143: setf(fmtflags __fmtfl) 10143: { 10143: fmtflags __old = _M_flags; 10143: _M_flags |= __fmtfl; 10143: return __old; 10143: } 10143: # 664 "/usr/include/c++/8/bits/ios_base.h" 3 10143: fmtflags 10143: setf(fmtflags __fmtfl, fmtflags __mask) 10143: { 10143: fmtflags __old = _M_flags; 10143: _M_flags &= ~__mask; 10143: _M_flags |= (__fmtfl & __mask); 10143: return __old; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: void 10143: unsetf(fmtflags __mask) 10143: { _M_flags &= ~__mask; } 10143: # 690 "/usr/include/c++/8/bits/ios_base.h" 3 10143: streamsize 10143: precision() const 10143: { return _M_precision; } 10143: 10143: 10143: 10143: 10143: 10143: 10143: streamsize 10143: precision(streamsize __prec) 10143: { 10143: streamsize __old = _M_precision; 10143: _M_precision = __prec; 10143: return __old; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: streamsize 10143: width() const 10143: { return _M_width; } 10143: 10143: 10143: 10143: 10143: 10143: 10143: streamsize 10143: width(streamsize __wide) 10143: { 10143: streamsize __old = _M_width; 10143: _M_width = __wide; 10143: return __old; 10143: } 10143: # 741 "/usr/include/c++/8/bits/ios_base.h" 3 10143: static bool 10143: sync_with_stdio(bool __sync = true); 10143: # 753 "/usr/include/c++/8/bits/ios_base.h" 3 10143: locale 10143: imbue(const locale& __loc) throw(); 10143: # 764 "/usr/include/c++/8/bits/ios_base.h" 3 10143: locale 10143: getloc() const 10143: { return _M_ios_locale; } 10143: # 775 "/usr/include/c++/8/bits/ios_base.h" 3 10143: const locale& 10143: _M_getloc() const 10143: { return _M_ios_locale; } 10143: # 794 "/usr/include/c++/8/bits/ios_base.h" 3 10143: static int 10143: xalloc() throw(); 10143: # 810 "/usr/include/c++/8/bits/ios_base.h" 3 10143: long& 10143: iword(int __ix) 10143: { 10143: _Words& __word = (__ix < _M_word_size) 10143: ? _M_word[__ix] : _M_grow_words(__ix, true); 10143: return __word._M_iword; 10143: } 10143: # 831 "/usr/include/c++/8/bits/ios_base.h" 3 10143: void*& 10143: pword(int __ix) 10143: { 10143: _Words& __word = (__ix < _M_word_size) 10143: ? _M_word[__ix] : _M_grow_words(__ix, false); 10143: return __word._M_pword; 10143: } 10143: # 848 "/usr/include/c++/8/bits/ios_base.h" 3 10143: virtual ~ios_base(); 10143: 10143: protected: 10143: ios_base() throw (); 10143: # 862 "/usr/include/c++/8/bits/ios_base.h" 3 10143: public: 10143: ios_base(const ios_base&) = delete; 10143: 10143: ios_base& 10143: operator=(const ios_base&) = delete; 10143: 10143: protected: 10143: void 10143: _M_move(ios_base&) noexcept; 10143: 10143: void 10143: _M_swap(ios_base& __rhs) noexcept; 10143: 10143: }; 10143: 10143: 10143: 10143: inline ios_base& 10143: boolalpha(ios_base& __base) 10143: { 10143: __base.setf(ios_base::boolalpha); 10143: return __base; 10143: } 10143: 10143: 10143: inline ios_base& 10143: noboolalpha(ios_base& __base) 10143: { 10143: __base.unsetf(ios_base::boolalpha); 10143: return __base; 10143: } 10143: 10143: 10143: inline ios_base& 10143: showbase(ios_base& __base) 10143: { 10143: __base.setf(ios_base::showbase); 10143: return __base; 10143: } 10143: 10143: 10143: inline ios_base& 10143: noshowbase(ios_base& __base) 10143: { 10143: __base.unsetf(ios_base::showbase); 10143: return __base; 10143: } 10143: 10143: 10143: inline ios_base& 10143: showpoint(ios_base& __base) 10143: { 10143: __base.setf(ios_base::showpoint); 10143: return __base; 10143: } 10143: 10143: 10143: inline ios_base& 10143: noshowpoint(ios_base& __base) 10143: { 10143: __base.unsetf(ios_base::showpoint); 10143: return __base; 10143: } 10143: 10143: 10143: inline ios_base& 10143: showpos(ios_base& __base) 10143: { 10143: __base.setf(ios_base::showpos); 10143: return __base; 10143: } 10143: 10143: 10143: inline ios_base& 10143: noshowpos(ios_base& __base) 10143: { 10143: __base.unsetf(ios_base::showpos); 10143: return __base; 10143: } 10143: 10143: 10143: inline ios_base& 10143: skipws(ios_base& __base) 10143: { 10143: __base.setf(ios_base::skipws); 10143: return __base; 10143: } 10143: 10143: 10143: inline ios_base& 10143: noskipws(ios_base& __base) 10143: { 10143: __base.unsetf(ios_base::skipws); 10143: return __base; 10143: } 10143: 10143: 10143: inline ios_base& 10143: uppercase(ios_base& __base) 10143: { 10143: __base.setf(ios_base::uppercase); 10143: return __base; 10143: } 10143: 10143: 10143: inline ios_base& 10143: nouppercase(ios_base& __base) 10143: { 10143: __base.unsetf(ios_base::uppercase); 10143: return __base; 10143: } 10143: 10143: 10143: inline ios_base& 10143: unitbuf(ios_base& __base) 10143: { 10143: __base.setf(ios_base::unitbuf); 10143: return __base; 10143: } 10143: 10143: 10143: inline ios_base& 10143: nounitbuf(ios_base& __base) 10143: { 10143: __base.unsetf(ios_base::unitbuf); 10143: return __base; 10143: } 10143: 10143: 10143: 10143: inline ios_base& 10143: internal(ios_base& __base) 10143: { 10143: __base.setf(ios_base::internal, ios_base::adjustfield); 10143: return __base; 10143: } 10143: 10143: 10143: inline ios_base& 10143: left(ios_base& __base) 10143: { 10143: __base.setf(ios_base::left, ios_base::adjustfield); 10143: return __base; 10143: } 10143: 10143: 10143: inline ios_base& 10143: right(ios_base& __base) 10143: { 10143: __base.setf(ios_base::right, ios_base::adjustfield); 10143: return __base; 10143: } 10143: 10143: 10143: 10143: inline ios_base& 10143: dec(ios_base& __base) 10143: { 10143: __base.setf(ios_base::dec, ios_base::basefield); 10143: return __base; 10143: } 10143: 10143: 10143: inline ios_base& 10143: hex(ios_base& __base) 10143: { 10143: __base.setf(ios_base::hex, ios_base::basefield); 10143: return __base; 10143: } 10143: 10143: 10143: inline ios_base& 10143: oct(ios_base& __base) 10143: { 10143: __base.setf(ios_base::oct, ios_base::basefield); 10143: return __base; 10143: } 10143: 10143: 10143: 10143: inline ios_base& 10143: fixed(ios_base& __base) 10143: { 10143: __base.setf(ios_base::fixed, ios_base::floatfield); 10143: return __base; 10143: } 10143: 10143: 10143: inline ios_base& 10143: scientific(ios_base& __base) 10143: { 10143: __base.setf(ios_base::scientific, ios_base::floatfield); 10143: return __base; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: inline ios_base& 10143: hexfloat(ios_base& __base) 10143: { 10143: __base.setf(ios_base::fixed | ios_base::scientific, ios_base::floatfield); 10143: return __base; 10143: } 10143: 10143: 10143: inline ios_base& 10143: defaultfloat(ios_base& __base) 10143: { 10143: __base.unsetf(ios_base::floatfield); 10143: return __base; 10143: } 10143: 10143: 10143: 10143: } 10143: # 43 "/usr/include/c++/8/ios" 2 3 10143: # 1 "/usr/include/c++/8/streambuf" 1 3 10143: # 36 "/usr/include/c++/8/streambuf" 3 10143: 10143: # 37 "/usr/include/c++/8/streambuf" 3 10143: # 45 "/usr/include/c++/8/streambuf" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: template 10143: streamsize 10143: __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*, 10143: basic_streambuf<_CharT, _Traits>*, bool&); 10143: # 121 "/usr/include/c++/8/streambuf" 3 10143: template 10143: class basic_streambuf 10143: { 10143: public: 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef _CharT char_type; 10143: typedef _Traits traits_type; 10143: typedef typename traits_type::int_type int_type; 10143: typedef typename traits_type::pos_type pos_type; 10143: typedef typename traits_type::off_type off_type; 10143: 10143: 10143: 10143: 10143: typedef basic_streambuf __streambuf_type; 10143: 10143: 10143: friend class basic_ios; 10143: friend class basic_istream; 10143: friend class basic_ostream; 10143: friend class istreambuf_iterator; 10143: friend class ostreambuf_iterator; 10143: 10143: friend streamsize 10143: __copy_streambufs_eof<>(basic_streambuf*, basic_streambuf*, bool&); 10143: 10143: template 10143: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 10143: _CharT2*>::__type 10143: __copy_move_a2(istreambuf_iterator<_CharT2>, 10143: istreambuf_iterator<_CharT2>, _CharT2*); 10143: 10143: template 10143: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 10143: istreambuf_iterator<_CharT2> >::__type 10143: find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, 10143: const _CharT2&); 10143: 10143: template 10143: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 10143: void>::__type 10143: advance(istreambuf_iterator<_CharT2>&, _Distance); 10143: 10143: template 10143: friend basic_istream<_CharT2, _Traits2>& 10143: operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2*); 10143: 10143: template 10143: friend basic_istream<_CharT2, _Traits2>& 10143: operator>>(basic_istream<_CharT2, _Traits2>&, 10143: basic_string<_CharT2, _Traits2, _Alloc>&); 10143: 10143: template 10143: friend basic_istream<_CharT2, _Traits2>& 10143: getline(basic_istream<_CharT2, _Traits2>&, 10143: basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2); 10143: 10143: protected: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: char_type* _M_in_beg; 10143: char_type* _M_in_cur; 10143: char_type* _M_in_end; 10143: char_type* _M_out_beg; 10143: char_type* _M_out_cur; 10143: char_type* _M_out_end; 10143: 10143: 10143: locale _M_buf_locale; 10143: 10143: public: 10143: 10143: virtual 10143: ~basic_streambuf() 10143: { } 10143: # 215 "/usr/include/c++/8/streambuf" 3 10143: locale 10143: pubimbue(const locale& __loc) 10143: { 10143: locale __tmp(this->getloc()); 10143: this->imbue(__loc); 10143: _M_buf_locale = __loc; 10143: return __tmp; 10143: } 10143: # 232 "/usr/include/c++/8/streambuf" 3 10143: locale 10143: getloc() const 10143: { return _M_buf_locale; } 10143: # 245 "/usr/include/c++/8/streambuf" 3 10143: basic_streambuf* 10143: pubsetbuf(char_type* __s, streamsize __n) 10143: { return this->setbuf(__s, __n); } 10143: # 257 "/usr/include/c++/8/streambuf" 3 10143: pos_type 10143: pubseekoff(off_type __off, ios_base::seekdir __way, 10143: ios_base::openmode __mode = ios_base::in | ios_base::out) 10143: { return this->seekoff(__off, __way, __mode); } 10143: # 269 "/usr/include/c++/8/streambuf" 3 10143: pos_type 10143: pubseekpos(pos_type __sp, 10143: ios_base::openmode __mode = ios_base::in | ios_base::out) 10143: { return this->seekpos(__sp, __mode); } 10143: 10143: 10143: 10143: 10143: int 10143: pubsync() { return this->sync(); } 10143: # 290 "/usr/include/c++/8/streambuf" 3 10143: streamsize 10143: in_avail() 10143: { 10143: const streamsize __ret = this->egptr() - this->gptr(); 10143: return __ret ? __ret : this->showmanyc(); 10143: } 10143: # 304 "/usr/include/c++/8/streambuf" 3 10143: int_type 10143: snextc() 10143: { 10143: int_type __ret = traits_type::eof(); 10143: if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(), 10143: __ret), true)) 10143: __ret = this->sgetc(); 10143: return __ret; 10143: } 10143: # 322 "/usr/include/c++/8/streambuf" 3 10143: int_type 10143: sbumpc() 10143: { 10143: int_type __ret; 10143: if (__builtin_expect(this->gptr() < this->egptr(), true)) 10143: { 10143: __ret = traits_type::to_int_type(*this->gptr()); 10143: this->gbump(1); 10143: } 10143: else 10143: __ret = this->uflow(); 10143: return __ret; 10143: } 10143: # 344 "/usr/include/c++/8/streambuf" 3 10143: int_type 10143: sgetc() 10143: { 10143: int_type __ret; 10143: if (__builtin_expect(this->gptr() < this->egptr(), true)) 10143: __ret = traits_type::to_int_type(*this->gptr()); 10143: else 10143: __ret = this->underflow(); 10143: return __ret; 10143: } 10143: # 363 "/usr/include/c++/8/streambuf" 3 10143: streamsize 10143: sgetn(char_type* __s, streamsize __n) 10143: { return this->xsgetn(__s, __n); } 10143: # 378 "/usr/include/c++/8/streambuf" 3 10143: int_type 10143: sputbackc(char_type __c) 10143: { 10143: int_type __ret; 10143: const bool __testpos = this->eback() < this->gptr(); 10143: if (__builtin_expect(!__testpos || 10143: !traits_type::eq(__c, this->gptr()[-1]), false)) 10143: __ret = this->pbackfail(traits_type::to_int_type(__c)); 10143: else 10143: { 10143: this->gbump(-1); 10143: __ret = traits_type::to_int_type(*this->gptr()); 10143: } 10143: return __ret; 10143: } 10143: # 403 "/usr/include/c++/8/streambuf" 3 10143: int_type 10143: sungetc() 10143: { 10143: int_type __ret; 10143: if (__builtin_expect(this->eback() < this->gptr(), true)) 10143: { 10143: this->gbump(-1); 10143: __ret = traits_type::to_int_type(*this->gptr()); 10143: } 10143: else 10143: __ret = this->pbackfail(); 10143: return __ret; 10143: } 10143: # 430 "/usr/include/c++/8/streambuf" 3 10143: int_type 10143: sputc(char_type __c) 10143: { 10143: int_type __ret; 10143: if (__builtin_expect(this->pptr() < this->epptr(), true)) 10143: { 10143: *this->pptr() = __c; 10143: this->pbump(1); 10143: __ret = traits_type::to_int_type(__c); 10143: } 10143: else 10143: __ret = this->overflow(traits_type::to_int_type(__c)); 10143: return __ret; 10143: } 10143: # 456 "/usr/include/c++/8/streambuf" 3 10143: streamsize 10143: sputn(const char_type* __s, streamsize __n) 10143: { return this->xsputn(__s, __n); } 10143: 10143: protected: 10143: # 470 "/usr/include/c++/8/streambuf" 3 10143: basic_streambuf() 10143: : _M_in_beg(0), _M_in_cur(0), _M_in_end(0), 10143: _M_out_beg(0), _M_out_cur(0), _M_out_end(0), 10143: _M_buf_locale(locale()) 10143: { } 10143: # 488 "/usr/include/c++/8/streambuf" 3 10143: char_type* 10143: eback() const { return _M_in_beg; } 10143: 10143: char_type* 10143: gptr() const { return _M_in_cur; } 10143: 10143: char_type* 10143: egptr() const { return _M_in_end; } 10143: # 504 "/usr/include/c++/8/streambuf" 3 10143: void 10143: gbump(int __n) { _M_in_cur += __n; } 10143: # 515 "/usr/include/c++/8/streambuf" 3 10143: void 10143: setg(char_type* __gbeg, char_type* __gnext, char_type* __gend) 10143: { 10143: _M_in_beg = __gbeg; 10143: _M_in_cur = __gnext; 10143: _M_in_end = __gend; 10143: } 10143: # 535 "/usr/include/c++/8/streambuf" 3 10143: char_type* 10143: pbase() const { return _M_out_beg; } 10143: 10143: char_type* 10143: pptr() const { return _M_out_cur; } 10143: 10143: char_type* 10143: epptr() const { return _M_out_end; } 10143: # 551 "/usr/include/c++/8/streambuf" 3 10143: void 10143: pbump(int __n) { _M_out_cur += __n; } 10143: # 561 "/usr/include/c++/8/streambuf" 3 10143: void 10143: setp(char_type* __pbeg, char_type* __pend) 10143: { 10143: _M_out_beg = _M_out_cur = __pbeg; 10143: _M_out_end = __pend; 10143: } 10143: # 582 "/usr/include/c++/8/streambuf" 3 10143: virtual void 10143: imbue(const locale& __loc __attribute__ ((__unused__))) 10143: { } 10143: # 597 "/usr/include/c++/8/streambuf" 3 10143: virtual basic_streambuf* 10143: setbuf(char_type*, streamsize) 10143: { return this; } 10143: # 608 "/usr/include/c++/8/streambuf" 3 10143: virtual pos_type 10143: seekoff(off_type, ios_base::seekdir, 10143: ios_base::openmode = ios_base::in | ios_base::out) 10143: { return pos_type(off_type(-1)); } 10143: # 620 "/usr/include/c++/8/streambuf" 3 10143: virtual pos_type 10143: seekpos(pos_type, 10143: ios_base::openmode = ios_base::in | ios_base::out) 10143: { return pos_type(off_type(-1)); } 10143: # 633 "/usr/include/c++/8/streambuf" 3 10143: virtual int 10143: sync() { return 0; } 10143: # 655 "/usr/include/c++/8/streambuf" 3 10143: virtual streamsize 10143: showmanyc() { return 0; } 10143: # 671 "/usr/include/c++/8/streambuf" 3 10143: virtual streamsize 10143: xsgetn(char_type* __s, streamsize __n); 10143: # 693 "/usr/include/c++/8/streambuf" 3 10143: virtual int_type 10143: underflow() 10143: { return traits_type::eof(); } 10143: # 706 "/usr/include/c++/8/streambuf" 3 10143: virtual int_type 10143: uflow() 10143: { 10143: int_type __ret = traits_type::eof(); 10143: const bool __testeof = traits_type::eq_int_type(this->underflow(), 10143: __ret); 10143: if (!__testeof) 10143: { 10143: __ret = traits_type::to_int_type(*this->gptr()); 10143: this->gbump(1); 10143: } 10143: return __ret; 10143: } 10143: # 730 "/usr/include/c++/8/streambuf" 3 10143: virtual int_type 10143: pbackfail(int_type __c __attribute__ ((__unused__)) = traits_type::eof()) 10143: { return traits_type::eof(); } 10143: # 748 "/usr/include/c++/8/streambuf" 3 10143: virtual streamsize 10143: xsputn(const char_type* __s, streamsize __n); 10143: # 774 "/usr/include/c++/8/streambuf" 3 10143: virtual int_type 10143: overflow(int_type __c __attribute__ ((__unused__)) = traits_type::eof()) 10143: { return traits_type::eof(); } 10143: 10143: 10143: 10143: public: 10143: # 790 "/usr/include/c++/8/streambuf" 3 10143: [[__deprecated__("stossc is deprecated, use sbumpc instead")]] 10143: 10143: void 10143: stossc() 10143: { 10143: if (this->gptr() < this->egptr()) 10143: this->gbump(1); 10143: else 10143: this->uflow(); 10143: } 10143: 10143: 10143: 10143: void 10143: __safe_gbump(streamsize __n) { _M_in_cur += __n; } 10143: 10143: void 10143: __safe_pbump(streamsize __n) { _M_out_cur += __n; } 10143: 10143: 10143: 10143: 10143: protected: 10143: 10143: basic_streambuf(const basic_streambuf&); 10143: 10143: basic_streambuf& 10143: operator=(const basic_streambuf&); 10143: 10143: 10143: void 10143: swap(basic_streambuf& __sb) 10143: { 10143: std::swap(_M_in_beg, __sb._M_in_beg); 10143: std::swap(_M_in_cur, __sb._M_in_cur); 10143: std::swap(_M_in_end, __sb._M_in_end); 10143: std::swap(_M_out_beg, __sb._M_out_beg); 10143: std::swap(_M_out_cur, __sb._M_out_cur); 10143: std::swap(_M_out_end, __sb._M_out_end); 10143: std::swap(_M_buf_locale, __sb._M_buf_locale); 10143: } 10143: 10143: }; 10143: 10143: 10143: template 10143: std::basic_streambuf<_CharT, _Traits>:: 10143: basic_streambuf(const basic_streambuf&) = default; 10143: 10143: template 10143: std::basic_streambuf<_CharT, _Traits>& 10143: std::basic_streambuf<_CharT, _Traits>:: 10143: operator=(const basic_streambuf&) = default; 10143: 10143: 10143: 10143: template<> 10143: streamsize 10143: __copy_streambufs_eof(basic_streambuf* __sbin, 10143: basic_streambuf* __sbout, bool& __ineof); 10143: 10143: template<> 10143: streamsize 10143: __copy_streambufs_eof(basic_streambuf* __sbin, 10143: basic_streambuf* __sbout, bool& __ineof); 10143: 10143: 10143: 10143: 10143: 10143: } 10143: 10143: # 1 "/usr/include/c++/8/bits/streambuf.tcc" 1 3 10143: # 37 "/usr/include/c++/8/bits/streambuf.tcc" 3 10143: 10143: # 38 "/usr/include/c++/8/bits/streambuf.tcc" 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: template 10143: streamsize 10143: basic_streambuf<_CharT, _Traits>:: 10143: xsgetn(char_type* __s, streamsize __n) 10143: { 10143: streamsize __ret = 0; 10143: while (__ret < __n) 10143: { 10143: const streamsize __buf_len = this->egptr() - this->gptr(); 10143: if (__buf_len) 10143: { 10143: const streamsize __remaining = __n - __ret; 10143: const streamsize __len = std::min(__buf_len, __remaining); 10143: traits_type::copy(__s, this->gptr(), __len); 10143: __ret += __len; 10143: __s += __len; 10143: this->__safe_gbump(__len); 10143: } 10143: 10143: if (__ret < __n) 10143: { 10143: const int_type __c = this->uflow(); 10143: if (!traits_type::eq_int_type(__c, traits_type::eof())) 10143: { 10143: traits_type::assign(*__s++, traits_type::to_char_type(__c)); 10143: ++__ret; 10143: } 10143: else 10143: break; 10143: } 10143: } 10143: return __ret; 10143: } 10143: 10143: template 10143: streamsize 10143: basic_streambuf<_CharT, _Traits>:: 10143: xsputn(const char_type* __s, streamsize __n) 10143: { 10143: streamsize __ret = 0; 10143: while (__ret < __n) 10143: { 10143: const streamsize __buf_len = this->epptr() - this->pptr(); 10143: if (__buf_len) 10143: { 10143: const streamsize __remaining = __n - __ret; 10143: const streamsize __len = std::min(__buf_len, __remaining); 10143: traits_type::copy(this->pptr(), __s, __len); 10143: __ret += __len; 10143: __s += __len; 10143: this->__safe_pbump(__len); 10143: } 10143: 10143: if (__ret < __n) 10143: { 10143: int_type __c = this->overflow(traits_type::to_int_type(*__s)); 10143: if (!traits_type::eq_int_type(__c, traits_type::eof())) 10143: { 10143: ++__ret; 10143: ++__s; 10143: } 10143: else 10143: break; 10143: } 10143: } 10143: return __ret; 10143: } 10143: 10143: 10143: 10143: 10143: template 10143: streamsize 10143: __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin, 10143: basic_streambuf<_CharT, _Traits>* __sbout, 10143: bool& __ineof) 10143: { 10143: streamsize __ret = 0; 10143: __ineof = true; 10143: typename _Traits::int_type __c = __sbin->sgetc(); 10143: while (!_Traits::eq_int_type(__c, _Traits::eof())) 10143: { 10143: __c = __sbout->sputc(_Traits::to_char_type(__c)); 10143: if (_Traits::eq_int_type(__c, _Traits::eof())) 10143: { 10143: __ineof = false; 10143: break; 10143: } 10143: ++__ret; 10143: __c = __sbin->snextc(); 10143: } 10143: return __ret; 10143: } 10143: 10143: template 10143: inline streamsize 10143: __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin, 10143: basic_streambuf<_CharT, _Traits>* __sbout) 10143: { 10143: bool __ineof; 10143: return __copy_streambufs_eof(__sbin, __sbout, __ineof); 10143: } 10143: 10143: 10143: 10143: 10143: extern template class basic_streambuf; 10143: extern template 10143: streamsize 10143: __copy_streambufs(basic_streambuf*, 10143: basic_streambuf*); 10143: extern template 10143: streamsize 10143: __copy_streambufs_eof(basic_streambuf*, 10143: basic_streambuf*, bool&); 10143: 10143: 10143: extern template class basic_streambuf; 10143: extern template 10143: streamsize 10143: __copy_streambufs(basic_streambuf*, 10143: basic_streambuf*); 10143: extern template 10143: streamsize 10143: __copy_streambufs_eof(basic_streambuf*, 10143: basic_streambuf*, bool&); 10143: 10143: 10143: 10143: 10143: } 10143: # 863 "/usr/include/c++/8/streambuf" 2 3 10143: # 44 "/usr/include/c++/8/ios" 2 3 10143: # 1 "/usr/include/c++/8/bits/basic_ios.h" 1 3 10143: # 33 "/usr/include/c++/8/bits/basic_ios.h" 3 10143: 10143: # 34 "/usr/include/c++/8/bits/basic_ios.h" 3 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/locale_facets.h" 1 3 10143: # 37 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: 10143: # 38 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: 10143: # 1 "/usr/include/c++/8/cwctype" 1 3 10143: # 39 "/usr/include/c++/8/cwctype" 3 10143: 10143: # 40 "/usr/include/c++/8/cwctype" 3 10143: # 50 "/usr/include/c++/8/cwctype" 3 10143: # 1 "/usr/include/wctype.h" 1 3 4 10143: # 38 "/usr/include/wctype.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/wctype-wchar.h" 1 3 4 10143: # 38 "/usr/include/powerpc64le-linux-gnu/bits/wctype-wchar.h" 3 4 10143: typedef unsigned long int wctype_t; 10143: # 56 "/usr/include/powerpc64le-linux-gnu/bits/wctype-wchar.h" 3 4 10143: enum 10143: { 10143: __ISwupper = 0, 10143: __ISwlower = 1, 10143: __ISwalpha = 2, 10143: __ISwdigit = 3, 10143: __ISwxdigit = 4, 10143: __ISwspace = 5, 10143: __ISwprint = 6, 10143: __ISwgraph = 7, 10143: __ISwblank = 8, 10143: __ISwcntrl = 9, 10143: __ISwpunct = 10, 10143: __ISwalnum = 11, 10143: 10143: _ISwupper = ((__ISwupper) < 8 ? (int) ((1UL << (__ISwupper)) << 24) : ((__ISwupper) < 16 ? (int) ((1UL << (__ISwupper)) << 8) : ((__ISwupper) < 24 ? (int) ((1UL << (__ISwupper)) >> 8) : (int) ((1UL << (__ISwupper)) >> 24)))), 10143: _ISwlower = ((__ISwlower) < 8 ? (int) ((1UL << (__ISwlower)) << 24) : ((__ISwlower) < 16 ? (int) ((1UL << (__ISwlower)) << 8) : ((__ISwlower) < 24 ? (int) ((1UL << (__ISwlower)) >> 8) : (int) ((1UL << (__ISwlower)) >> 24)))), 10143: _ISwalpha = ((__ISwalpha) < 8 ? (int) ((1UL << (__ISwalpha)) << 24) : ((__ISwalpha) < 16 ? (int) ((1UL << (__ISwalpha)) << 8) : ((__ISwalpha) < 24 ? (int) ((1UL << (__ISwalpha)) >> 8) : (int) ((1UL << (__ISwalpha)) >> 24)))), 10143: _ISwdigit = ((__ISwdigit) < 8 ? (int) ((1UL << (__ISwdigit)) << 24) : ((__ISwdigit) < 16 ? (int) ((1UL << (__ISwdigit)) << 8) : ((__ISwdigit) < 24 ? (int) ((1UL << (__ISwdigit)) >> 8) : (int) ((1UL << (__ISwdigit)) >> 24)))), 10143: _ISwxdigit = ((__ISwxdigit) < 8 ? (int) ((1UL << (__ISwxdigit)) << 24) : ((__ISwxdigit) < 16 ? (int) ((1UL << (__ISwxdigit)) << 8) : ((__ISwxdigit) < 24 ? (int) ((1UL << (__ISwxdigit)) >> 8) : (int) ((1UL << (__ISwxdigit)) >> 24)))), 10143: _ISwspace = ((__ISwspace) < 8 ? (int) ((1UL << (__ISwspace)) << 24) : ((__ISwspace) < 16 ? (int) ((1UL << (__ISwspace)) << 8) : ((__ISwspace) < 24 ? (int) ((1UL << (__ISwspace)) >> 8) : (int) ((1UL << (__ISwspace)) >> 24)))), 10143: _ISwprint = ((__ISwprint) < 8 ? (int) ((1UL << (__ISwprint)) << 24) : ((__ISwprint) < 16 ? (int) ((1UL << (__ISwprint)) << 8) : ((__ISwprint) < 24 ? (int) ((1UL << (__ISwprint)) >> 8) : (int) ((1UL << (__ISwprint)) >> 24)))), 10143: _ISwgraph = ((__ISwgraph) < 8 ? (int) ((1UL << (__ISwgraph)) << 24) : ((__ISwgraph) < 16 ? (int) ((1UL << (__ISwgraph)) << 8) : ((__ISwgraph) < 24 ? (int) ((1UL << (__ISwgraph)) >> 8) : (int) ((1UL << (__ISwgraph)) >> 24)))), 10143: _ISwblank = ((__ISwblank) < 8 ? (int) ((1UL << (__ISwblank)) << 24) : ((__ISwblank) < 16 ? (int) ((1UL << (__ISwblank)) << 8) : ((__ISwblank) < 24 ? (int) ((1UL << (__ISwblank)) >> 8) : (int) ((1UL << (__ISwblank)) >> 24)))), 10143: _ISwcntrl = ((__ISwcntrl) < 8 ? (int) ((1UL << (__ISwcntrl)) << 24) : ((__ISwcntrl) < 16 ? (int) ((1UL << (__ISwcntrl)) << 8) : ((__ISwcntrl) < 24 ? (int) ((1UL << (__ISwcntrl)) >> 8) : (int) ((1UL << (__ISwcntrl)) >> 24)))), 10143: _ISwpunct = ((__ISwpunct) < 8 ? (int) ((1UL << (__ISwpunct)) << 24) : ((__ISwpunct) < 16 ? (int) ((1UL << (__ISwpunct)) << 8) : ((__ISwpunct) < 24 ? (int) ((1UL << (__ISwpunct)) >> 8) : (int) ((1UL << (__ISwpunct)) >> 24)))), 10143: _ISwalnum = ((__ISwalnum) < 8 ? (int) ((1UL << (__ISwalnum)) << 24) : ((__ISwalnum) < 16 ? (int) ((1UL << (__ISwalnum)) << 8) : ((__ISwalnum) < 24 ? (int) ((1UL << (__ISwalnum)) >> 8) : (int) ((1UL << (__ISwalnum)) >> 24)))) 10143: }; 10143: 10143: 10143: 10143: extern "C" { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int iswalnum (wint_t __wc) throw (); 10143: 10143: 10143: 10143: 10143: 10143: extern int iswalpha (wint_t __wc) throw (); 10143: 10143: 10143: extern int iswcntrl (wint_t __wc) throw (); 10143: 10143: 10143: 10143: extern int iswdigit (wint_t __wc) throw (); 10143: 10143: 10143: 10143: extern int iswgraph (wint_t __wc) throw (); 10143: 10143: 10143: 10143: 10143: extern int iswlower (wint_t __wc) throw (); 10143: 10143: 10143: extern int iswprint (wint_t __wc) throw (); 10143: 10143: 10143: 10143: 10143: extern int iswpunct (wint_t __wc) throw (); 10143: 10143: 10143: 10143: 10143: extern int iswspace (wint_t __wc) throw (); 10143: 10143: 10143: 10143: 10143: extern int iswupper (wint_t __wc) throw (); 10143: 10143: 10143: 10143: 10143: extern int iswxdigit (wint_t __wc) throw (); 10143: 10143: 10143: 10143: 10143: 10143: extern int iswblank (wint_t __wc) throw (); 10143: # 155 "/usr/include/powerpc64le-linux-gnu/bits/wctype-wchar.h" 3 4 10143: extern wctype_t wctype (const char *__property) throw (); 10143: 10143: 10143: 10143: extern int iswctype (wint_t __wc, wctype_t __desc) throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern wint_t towlower (wint_t __wc) throw (); 10143: 10143: 10143: extern wint_t towupper (wint_t __wc) throw (); 10143: 10143: } 10143: # 39 "/usr/include/wctype.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: extern "C" { 10143: 10143: 10143: 10143: typedef const __int32_t *wctrans_t; 10143: 10143: 10143: 10143: extern wctrans_t wctrans (const char *__property) throw (); 10143: 10143: 10143: extern wint_t towctrans (wint_t __wc, wctrans_t __desc) throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern int iswalnum_l (wint_t __wc, locale_t __locale) throw (); 10143: 10143: 10143: 10143: 10143: 10143: extern int iswalpha_l (wint_t __wc, locale_t __locale) throw (); 10143: 10143: 10143: extern int iswcntrl_l (wint_t __wc, locale_t __locale) throw (); 10143: 10143: 10143: 10143: extern int iswdigit_l (wint_t __wc, locale_t __locale) throw (); 10143: 10143: 10143: 10143: extern int iswgraph_l (wint_t __wc, locale_t __locale) throw (); 10143: 10143: 10143: 10143: 10143: extern int iswlower_l (wint_t __wc, locale_t __locale) throw (); 10143: 10143: 10143: extern int iswprint_l (wint_t __wc, locale_t __locale) throw (); 10143: 10143: 10143: 10143: 10143: extern int iswpunct_l (wint_t __wc, locale_t __locale) throw (); 10143: 10143: 10143: 10143: 10143: extern int iswspace_l (wint_t __wc, locale_t __locale) throw (); 10143: 10143: 10143: 10143: 10143: extern int iswupper_l (wint_t __wc, locale_t __locale) throw (); 10143: 10143: 10143: 10143: 10143: extern int iswxdigit_l (wint_t __wc, locale_t __locale) throw (); 10143: 10143: 10143: 10143: 10143: extern int iswblank_l (wint_t __wc, locale_t __locale) throw (); 10143: 10143: 10143: 10143: extern wctype_t wctype_l (const char *__property, locale_t __locale) 10143: throw (); 10143: 10143: 10143: 10143: extern int iswctype_l (wint_t __wc, wctype_t __desc, locale_t __locale) 10143: throw (); 10143: 10143: 10143: 10143: 10143: 10143: 10143: extern wint_t towlower_l (wint_t __wc, locale_t __locale) throw (); 10143: 10143: 10143: extern wint_t towupper_l (wint_t __wc, locale_t __locale) throw (); 10143: 10143: 10143: 10143: extern wctrans_t wctrans_l (const char *__property, locale_t __locale) 10143: throw (); 10143: 10143: 10143: extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc, 10143: locale_t __locale) throw (); 10143: 10143: 10143: 10143: } 10143: # 51 "/usr/include/c++/8/cwctype" 2 3 10143: # 80 "/usr/include/c++/8/cwctype" 3 10143: namespace std 10143: { 10143: using ::wctrans_t; 10143: using ::wctype_t; 10143: using ::wint_t; 10143: 10143: using ::iswalnum; 10143: using ::iswalpha; 10143: 10143: using ::iswblank; 10143: 10143: using ::iswcntrl; 10143: using ::iswctype; 10143: using ::iswdigit; 10143: using ::iswgraph; 10143: using ::iswlower; 10143: using ::iswprint; 10143: using ::iswpunct; 10143: using ::iswspace; 10143: using ::iswupper; 10143: using ::iswxdigit; 10143: using ::towctrans; 10143: using ::towlower; 10143: using ::towupper; 10143: using ::wctrans; 10143: using ::wctype; 10143: } 10143: # 40 "/usr/include/c++/8/bits/locale_facets.h" 2 3 10143: # 1 "/usr/include/c++/8/cctype" 1 3 10143: # 39 "/usr/include/c++/8/cctype" 3 10143: 10143: # 40 "/usr/include/c++/8/cctype" 3 10143: # 41 "/usr/include/c++/8/bits/locale_facets.h" 2 3 10143: # 1 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/ctype_base.h" 1 3 10143: # 36 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/ctype_base.h" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: struct ctype_base 10143: { 10143: 10143: typedef const int* __to_type; 10143: 10143: 10143: 10143: typedef unsigned short mask; 10143: static const mask upper = _ISupper; 10143: static const mask lower = _ISlower; 10143: static const mask alpha = _ISalpha; 10143: static const mask digit = _ISdigit; 10143: static const mask xdigit = _ISxdigit; 10143: static const mask space = _ISspace; 10143: static const mask print = _ISprint; 10143: static const mask graph = _ISalpha | _ISdigit | _ISpunct; 10143: static const mask cntrl = _IScntrl; 10143: static const mask punct = _ISpunct; 10143: static const mask alnum = _ISalpha | _ISdigit; 10143: 10143: static const mask blank = _ISblank; 10143: 10143: }; 10143: 10143: 10143: } 10143: # 42 "/usr/include/c++/8/bits/locale_facets.h" 2 3 10143: 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/streambuf_iterator.h" 1 3 10143: # 33 "/usr/include/c++/8/bits/streambuf_iterator.h" 3 10143: 10143: # 34 "/usr/include/c++/8/bits/streambuf_iterator.h" 3 10143: 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 49 "/usr/include/c++/8/bits/streambuf_iterator.h" 3 10143: template 10143: class istreambuf_iterator 10143: : public iterator 10143: 10143: 10143: 10143: { 10143: public: 10143: 10143: 10143: 10143: typedef _CharT char_type; 10143: typedef _Traits traits_type; 10143: typedef typename _Traits::int_type int_type; 10143: typedef basic_streambuf<_CharT, _Traits> streambuf_type; 10143: typedef basic_istream<_CharT, _Traits> istream_type; 10143: 10143: 10143: template 10143: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 10143: ostreambuf_iterator<_CharT2> >::__type 10143: copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, 10143: ostreambuf_iterator<_CharT2>); 10143: 10143: template 10143: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 10143: _CharT2*>::__type 10143: __copy_move_a2(istreambuf_iterator<_CharT2>, 10143: istreambuf_iterator<_CharT2>, _CharT2*); 10143: 10143: template 10143: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 10143: istreambuf_iterator<_CharT2> >::__type 10143: find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, 10143: const _CharT2&); 10143: 10143: template 10143: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 10143: void>::__type 10143: advance(istreambuf_iterator<_CharT2>&, _Distance); 10143: 10143: private: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: mutable streambuf_type* _M_sbuf; 10143: int_type _M_c; 10143: 10143: public: 10143: 10143: constexpr istreambuf_iterator() noexcept 10143: : _M_sbuf(0), _M_c(traits_type::eof()) { } 10143: 10143: 10143: istreambuf_iterator(const istreambuf_iterator&) noexcept = default; 10143: 10143: ~istreambuf_iterator() = default; 10143: 10143: 10143: 10143: istreambuf_iterator(istream_type& __s) noexcept 10143: : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { } 10143: 10143: 10143: istreambuf_iterator(streambuf_type* __s) noexcept 10143: : _M_sbuf(__s), _M_c(traits_type::eof()) { } 10143: 10143: 10143: 10143: 10143: char_type 10143: operator*() const 10143: { 10143: int_type __c = _M_get(); 10143: # 139 "/usr/include/c++/8/bits/streambuf_iterator.h" 3 10143: return traits_type::to_char_type(__c); 10143: } 10143: 10143: 10143: istreambuf_iterator& 10143: operator++() 10143: { 10143: 10143: 10143: 10143: ; 10143: 10143: _M_sbuf->sbumpc(); 10143: _M_c = traits_type::eof(); 10143: return *this; 10143: } 10143: 10143: 10143: istreambuf_iterator 10143: operator++(int) 10143: { 10143: 10143: 10143: 10143: ; 10143: 10143: istreambuf_iterator __old = *this; 10143: __old._M_c = _M_sbuf->sbumpc(); 10143: _M_c = traits_type::eof(); 10143: return __old; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: bool 10143: equal(const istreambuf_iterator& __b) const 10143: { return _M_at_eof() == __b._M_at_eof(); } 10143: 10143: private: 10143: int_type 10143: _M_get() const 10143: { 10143: int_type __ret = _M_c; 10143: if (_M_sbuf && _S_is_eof(__ret) && _S_is_eof(__ret = _M_sbuf->sgetc())) 10143: _M_sbuf = 0; 10143: return __ret; 10143: } 10143: 10143: bool 10143: _M_at_eof() const 10143: { return _S_is_eof(_M_get()); } 10143: 10143: static bool 10143: _S_is_eof(int_type __c) 10143: { 10143: const int_type __eof = traits_type::eof(); 10143: return traits_type::eq_int_type(__c, __eof); 10143: } 10143: }; 10143: 10143: template 10143: inline bool 10143: operator==(const istreambuf_iterator<_CharT, _Traits>& __a, 10143: const istreambuf_iterator<_CharT, _Traits>& __b) 10143: { return __a.equal(__b); } 10143: 10143: template 10143: inline bool 10143: operator!=(const istreambuf_iterator<_CharT, _Traits>& __a, 10143: const istreambuf_iterator<_CharT, _Traits>& __b) 10143: { return !__a.equal(__b); } 10143: 10143: 10143: template 10143: class ostreambuf_iterator 10143: : public iterator 10143: { 10143: public: 10143: 10143: 10143: 10143: typedef _CharT char_type; 10143: typedef _Traits traits_type; 10143: typedef basic_streambuf<_CharT, _Traits> streambuf_type; 10143: typedef basic_ostream<_CharT, _Traits> ostream_type; 10143: 10143: 10143: template 10143: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 10143: ostreambuf_iterator<_CharT2> >::__type 10143: copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, 10143: ostreambuf_iterator<_CharT2>); 10143: 10143: private: 10143: streambuf_type* _M_sbuf; 10143: bool _M_failed; 10143: 10143: public: 10143: 10143: ostreambuf_iterator(ostream_type& __s) noexcept 10143: : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { } 10143: 10143: 10143: ostreambuf_iterator(streambuf_type* __s) noexcept 10143: : _M_sbuf(__s), _M_failed(!_M_sbuf) { } 10143: 10143: 10143: ostreambuf_iterator& 10143: operator=(_CharT __c) 10143: { 10143: if (!_M_failed && 10143: _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof())) 10143: _M_failed = true; 10143: return *this; 10143: } 10143: 10143: 10143: ostreambuf_iterator& 10143: operator*() 10143: { return *this; } 10143: 10143: 10143: ostreambuf_iterator& 10143: operator++(int) 10143: { return *this; } 10143: 10143: 10143: ostreambuf_iterator& 10143: operator++() 10143: { return *this; } 10143: 10143: 10143: bool 10143: failed() const noexcept 10143: { return _M_failed; } 10143: 10143: ostreambuf_iterator& 10143: _M_put(const _CharT* __ws, streamsize __len) 10143: { 10143: if (__builtin_expect(!_M_failed, true) 10143: && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len, 10143: false)) 10143: _M_failed = true; 10143: return *this; 10143: } 10143: }; 10143: 10143: 10143: template 10143: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 10143: ostreambuf_iterator<_CharT> >::__type 10143: copy(istreambuf_iterator<_CharT> __first, 10143: istreambuf_iterator<_CharT> __last, 10143: ostreambuf_iterator<_CharT> __result) 10143: { 10143: if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed) 10143: { 10143: bool __ineof; 10143: __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof); 10143: if (!__ineof) 10143: __result._M_failed = true; 10143: } 10143: return __result; 10143: } 10143: 10143: template 10143: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 10143: ostreambuf_iterator<_CharT> >::__type 10143: __copy_move_a2(_CharT* __first, _CharT* __last, 10143: ostreambuf_iterator<_CharT> __result) 10143: { 10143: const streamsize __num = __last - __first; 10143: if (__num > 0) 10143: __result._M_put(__first, __num); 10143: return __result; 10143: } 10143: 10143: template 10143: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 10143: ostreambuf_iterator<_CharT> >::__type 10143: __copy_move_a2(const _CharT* __first, const _CharT* __last, 10143: ostreambuf_iterator<_CharT> __result) 10143: { 10143: const streamsize __num = __last - __first; 10143: if (__num > 0) 10143: __result._M_put(__first, __num); 10143: return __result; 10143: } 10143: 10143: template 10143: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 10143: _CharT*>::__type 10143: __copy_move_a2(istreambuf_iterator<_CharT> __first, 10143: istreambuf_iterator<_CharT> __last, _CharT* __result) 10143: { 10143: typedef istreambuf_iterator<_CharT> __is_iterator_type; 10143: typedef typename __is_iterator_type::traits_type traits_type; 10143: typedef typename __is_iterator_type::streambuf_type streambuf_type; 10143: typedef typename traits_type::int_type int_type; 10143: 10143: if (__first._M_sbuf && !__last._M_sbuf) 10143: { 10143: streambuf_type* __sb = __first._M_sbuf; 10143: int_type __c = __sb->sgetc(); 10143: while (!traits_type::eq_int_type(__c, traits_type::eof())) 10143: { 10143: const streamsize __n = __sb->egptr() - __sb->gptr(); 10143: if (__n > 1) 10143: { 10143: traits_type::copy(__result, __sb->gptr(), __n); 10143: __sb->__safe_gbump(__n); 10143: __result += __n; 10143: __c = __sb->underflow(); 10143: } 10143: else 10143: { 10143: *__result++ = traits_type::to_char_type(__c); 10143: __c = __sb->snextc(); 10143: } 10143: } 10143: } 10143: return __result; 10143: } 10143: 10143: template 10143: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 10143: istreambuf_iterator<_CharT> >::__type 10143: find(istreambuf_iterator<_CharT> __first, 10143: istreambuf_iterator<_CharT> __last, const _CharT& __val) 10143: { 10143: typedef istreambuf_iterator<_CharT> __is_iterator_type; 10143: typedef typename __is_iterator_type::traits_type traits_type; 10143: typedef typename __is_iterator_type::streambuf_type streambuf_type; 10143: typedef typename traits_type::int_type int_type; 10143: const int_type __eof = traits_type::eof(); 10143: 10143: if (__first._M_sbuf && !__last._M_sbuf) 10143: { 10143: const int_type __ival = traits_type::to_int_type(__val); 10143: streambuf_type* __sb = __first._M_sbuf; 10143: int_type __c = __sb->sgetc(); 10143: while (!traits_type::eq_int_type(__c, __eof) 10143: && !traits_type::eq_int_type(__c, __ival)) 10143: { 10143: streamsize __n = __sb->egptr() - __sb->gptr(); 10143: if (__n > 1) 10143: { 10143: const _CharT* __p = traits_type::find(__sb->gptr(), 10143: __n, __val); 10143: if (__p) 10143: __n = __p - __sb->gptr(); 10143: __sb->__safe_gbump(__n); 10143: __c = __sb->sgetc(); 10143: } 10143: else 10143: __c = __sb->snextc(); 10143: } 10143: 10143: __first._M_c = __eof; 10143: } 10143: 10143: return __first; 10143: } 10143: 10143: template 10143: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 10143: void>::__type 10143: advance(istreambuf_iterator<_CharT>& __i, _Distance __n) 10143: { 10143: if (__n == 0) 10143: return; 10143: 10143: ; 10143: 10143: 10143: ; 10143: 10143: typedef istreambuf_iterator<_CharT> __is_iterator_type; 10143: typedef typename __is_iterator_type::traits_type traits_type; 10143: typedef typename __is_iterator_type::streambuf_type streambuf_type; 10143: typedef typename traits_type::int_type int_type; 10143: const int_type __eof = traits_type::eof(); 10143: 10143: streambuf_type* __sb = __i._M_sbuf; 10143: while (__n > 0) 10143: { 10143: streamsize __size = __sb->egptr() - __sb->gptr(); 10143: if (__size > __n) 10143: { 10143: __sb->__safe_gbump(__n); 10143: break; 10143: } 10143: 10143: __sb->__safe_gbump(__size); 10143: __n -= __size; 10143: if (traits_type::eq_int_type(__sb->underflow(), __eof)) 10143: { 10143: 10143: 10143: ; 10143: break; 10143: } 10143: } 10143: 10143: __i._M_c = __eof; 10143: } 10143: 10143: 10143: 10143: 10143: } 10143: # 49 "/usr/include/c++/8/bits/locale_facets.h" 2 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 71 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: template 10143: void 10143: __convert_to_v(const char*, _Tp&, ios_base::iostate&, 10143: const __c_locale&) throw(); 10143: 10143: 10143: template<> 10143: void 10143: __convert_to_v(const char*, float&, ios_base::iostate&, 10143: const __c_locale&) throw(); 10143: 10143: template<> 10143: void 10143: __convert_to_v(const char*, double&, ios_base::iostate&, 10143: const __c_locale&) throw(); 10143: 10143: template<> 10143: void 10143: __convert_to_v(const char*, long double&, ios_base::iostate&, 10143: const __c_locale&) throw(); 10143: 10143: 10143: 10143: template 10143: struct __pad 10143: { 10143: static void 10143: _S_pad(ios_base& __io, _CharT __fill, _CharT* __news, 10143: const _CharT* __olds, streamsize __newlen, streamsize __oldlen); 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: _CharT* 10143: __add_grouping(_CharT* __s, _CharT __sep, 10143: const char* __gbeg, size_t __gsize, 10143: const _CharT* __first, const _CharT* __last); 10143: 10143: 10143: 10143: 10143: template 10143: inline 10143: ostreambuf_iterator<_CharT> 10143: __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len) 10143: { 10143: __s._M_put(__ws, __len); 10143: return __s; 10143: } 10143: 10143: 10143: template 10143: inline 10143: _OutIter 10143: __write(_OutIter __s, const _CharT* __ws, int __len) 10143: { 10143: for (int __j = 0; __j < __len; __j++, ++__s) 10143: *__s = __ws[__j]; 10143: return __s; 10143: } 10143: # 149 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: template 10143: class __ctype_abstract_base : public locale::facet, public ctype_base 10143: { 10143: public: 10143: 10143: 10143: typedef _CharT char_type; 10143: # 168 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: bool 10143: is(mask __m, char_type __c) const 10143: { return this->do_is(__m, __c); } 10143: # 185 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: const char_type* 10143: is(const char_type *__lo, const char_type *__hi, mask *__vec) const 10143: { return this->do_is(__lo, __hi, __vec); } 10143: # 201 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: const char_type* 10143: scan_is(mask __m, const char_type* __lo, const char_type* __hi) const 10143: { return this->do_scan_is(__m, __lo, __hi); } 10143: # 217 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: const char_type* 10143: scan_not(mask __m, const char_type* __lo, const char_type* __hi) const 10143: { return this->do_scan_not(__m, __lo, __hi); } 10143: # 231 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: char_type 10143: toupper(char_type __c) const 10143: { return this->do_toupper(__c); } 10143: # 246 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: const char_type* 10143: toupper(char_type *__lo, const char_type* __hi) const 10143: { return this->do_toupper(__lo, __hi); } 10143: # 260 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: char_type 10143: tolower(char_type __c) const 10143: { return this->do_tolower(__c); } 10143: # 275 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: const char_type* 10143: tolower(char_type* __lo, const char_type* __hi) const 10143: { return this->do_tolower(__lo, __hi); } 10143: # 292 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: char_type 10143: widen(char __c) const 10143: { return this->do_widen(__c); } 10143: # 311 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: const char* 10143: widen(const char* __lo, const char* __hi, char_type* __to) const 10143: { return this->do_widen(__lo, __hi, __to); } 10143: # 330 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: char 10143: narrow(char_type __c, char __dfault) const 10143: { return this->do_narrow(__c, __dfault); } 10143: # 352 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: const char_type* 10143: narrow(const char_type* __lo, const char_type* __hi, 10143: char __dfault, char* __to) const 10143: { return this->do_narrow(__lo, __hi, __dfault, __to); } 10143: 10143: protected: 10143: explicit 10143: __ctype_abstract_base(size_t __refs = 0): facet(__refs) { } 10143: 10143: virtual 10143: ~__ctype_abstract_base() { } 10143: # 377 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual bool 10143: do_is(mask __m, char_type __c) const = 0; 10143: # 396 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual const char_type* 10143: do_is(const char_type* __lo, const char_type* __hi, 10143: mask* __vec) const = 0; 10143: # 415 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual const char_type* 10143: do_scan_is(mask __m, const char_type* __lo, 10143: const char_type* __hi) const = 0; 10143: # 434 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual const char_type* 10143: do_scan_not(mask __m, const char_type* __lo, 10143: const char_type* __hi) const = 0; 10143: # 452 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual char_type 10143: do_toupper(char_type __c) const = 0; 10143: # 469 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual const char_type* 10143: do_toupper(char_type* __lo, const char_type* __hi) const = 0; 10143: # 485 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual char_type 10143: do_tolower(char_type __c) const = 0; 10143: # 502 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual const char_type* 10143: do_tolower(char_type* __lo, const char_type* __hi) const = 0; 10143: # 521 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual char_type 10143: do_widen(char __c) const = 0; 10143: # 542 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual const char* 10143: do_widen(const char* __lo, const char* __hi, char_type* __to) const = 0; 10143: # 563 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual char 10143: do_narrow(char_type __c, char __dfault) const = 0; 10143: # 588 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual const char_type* 10143: do_narrow(const char_type* __lo, const char_type* __hi, 10143: char __dfault, char* __to) const = 0; 10143: }; 10143: # 611 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: template 10143: class ctype : public __ctype_abstract_base<_CharT> 10143: { 10143: public: 10143: 10143: typedef _CharT char_type; 10143: typedef typename __ctype_abstract_base<_CharT>::mask mask; 10143: 10143: 10143: static locale::id id; 10143: 10143: explicit 10143: ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { } 10143: 10143: protected: 10143: virtual 10143: ~ctype(); 10143: 10143: virtual bool 10143: do_is(mask __m, char_type __c) const; 10143: 10143: virtual const char_type* 10143: do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; 10143: 10143: virtual const char_type* 10143: do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; 10143: 10143: virtual const char_type* 10143: do_scan_not(mask __m, const char_type* __lo, 10143: const char_type* __hi) const; 10143: 10143: virtual char_type 10143: do_toupper(char_type __c) const; 10143: 10143: virtual const char_type* 10143: do_toupper(char_type* __lo, const char_type* __hi) const; 10143: 10143: virtual char_type 10143: do_tolower(char_type __c) const; 10143: 10143: virtual const char_type* 10143: do_tolower(char_type* __lo, const char_type* __hi) const; 10143: 10143: virtual char_type 10143: do_widen(char __c) const; 10143: 10143: virtual const char* 10143: do_widen(const char* __lo, const char* __hi, char_type* __dest) const; 10143: 10143: virtual char 10143: do_narrow(char_type, char __dfault) const; 10143: 10143: virtual const char_type* 10143: do_narrow(const char_type* __lo, const char_type* __hi, 10143: char __dfault, char* __to) const; 10143: }; 10143: 10143: template 10143: locale::id ctype<_CharT>::id; 10143: # 680 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: template<> 10143: class ctype : public locale::facet, public ctype_base 10143: { 10143: public: 10143: 10143: 10143: typedef char char_type; 10143: 10143: protected: 10143: 10143: __c_locale _M_c_locale_ctype; 10143: bool _M_del; 10143: __to_type _M_toupper; 10143: __to_type _M_tolower; 10143: const mask* _M_table; 10143: mutable char _M_widen_ok; 10143: mutable char _M_widen[1 + static_cast(-1)]; 10143: mutable char _M_narrow[1 + static_cast(-1)]; 10143: mutable char _M_narrow_ok; 10143: 10143: 10143: public: 10143: 10143: static locale::id id; 10143: 10143: static const size_t table_size = 1 + static_cast(-1); 10143: # 717 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: explicit 10143: ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0); 10143: # 730 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: explicit 10143: ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false, 10143: size_t __refs = 0); 10143: # 743 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: inline bool 10143: is(mask __m, char __c) const; 10143: # 758 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: inline const char* 10143: is(const char* __lo, const char* __hi, mask* __vec) const; 10143: # 772 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: inline const char* 10143: scan_is(mask __m, const char* __lo, const char* __hi) const; 10143: # 786 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: inline const char* 10143: scan_not(mask __m, const char* __lo, const char* __hi) const; 10143: # 801 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: char_type 10143: toupper(char_type __c) const 10143: { return this->do_toupper(__c); } 10143: # 818 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: const char_type* 10143: toupper(char_type *__lo, const char_type* __hi) const 10143: { return this->do_toupper(__lo, __hi); } 10143: # 834 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: char_type 10143: tolower(char_type __c) const 10143: { return this->do_tolower(__c); } 10143: # 851 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: const char_type* 10143: tolower(char_type* __lo, const char_type* __hi) const 10143: { return this->do_tolower(__lo, __hi); } 10143: # 871 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: char_type 10143: widen(char __c) const 10143: { 10143: if (_M_widen_ok) 10143: return _M_widen[static_cast(__c)]; 10143: this->_M_widen_init(); 10143: return this->do_widen(__c); 10143: } 10143: # 898 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: const char* 10143: widen(const char* __lo, const char* __hi, char_type* __to) const 10143: { 10143: if (_M_widen_ok == 1) 10143: { 10143: __builtin_memcpy(__to, __lo, __hi - __lo); 10143: return __hi; 10143: } 10143: if (!_M_widen_ok) 10143: _M_widen_init(); 10143: return this->do_widen(__lo, __hi, __to); 10143: } 10143: # 929 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: char 10143: narrow(char_type __c, char __dfault) const 10143: { 10143: if (_M_narrow[static_cast(__c)]) 10143: return _M_narrow[static_cast(__c)]; 10143: const char __t = do_narrow(__c, __dfault); 10143: if (__t != __dfault) 10143: _M_narrow[static_cast(__c)] = __t; 10143: return __t; 10143: } 10143: # 962 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: const char_type* 10143: narrow(const char_type* __lo, const char_type* __hi, 10143: char __dfault, char* __to) const 10143: { 10143: if (__builtin_expect(_M_narrow_ok == 1, true)) 10143: { 10143: __builtin_memcpy(__to, __lo, __hi - __lo); 10143: return __hi; 10143: } 10143: if (!_M_narrow_ok) 10143: _M_narrow_init(); 10143: return this->do_narrow(__lo, __hi, __dfault, __to); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: const mask* 10143: table() const throw() 10143: { return _M_table; } 10143: 10143: 10143: static const mask* 10143: classic_table() throw(); 10143: protected: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: virtual 10143: ~ctype(); 10143: # 1011 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual char_type 10143: do_toupper(char_type __c) const; 10143: # 1028 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual const char_type* 10143: do_toupper(char_type* __lo, const char_type* __hi) const; 10143: # 1044 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual char_type 10143: do_tolower(char_type __c) const; 10143: # 1061 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual const char_type* 10143: do_tolower(char_type* __lo, const char_type* __hi) const; 10143: # 1081 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual char_type 10143: do_widen(char __c) const 10143: { return __c; } 10143: # 1104 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual const char* 10143: do_widen(const char* __lo, const char* __hi, char_type* __to) const 10143: { 10143: __builtin_memcpy(__to, __lo, __hi - __lo); 10143: return __hi; 10143: } 10143: # 1130 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual char 10143: do_narrow(char_type __c, char __dfault __attribute__((__unused__))) const 10143: { return __c; } 10143: # 1156 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual const char_type* 10143: do_narrow(const char_type* __lo, const char_type* __hi, 10143: char __dfault __attribute__((__unused__)), char* __to) const 10143: { 10143: __builtin_memcpy(__to, __lo, __hi - __lo); 10143: return __hi; 10143: } 10143: 10143: private: 10143: void _M_narrow_init() const; 10143: void _M_widen_init() const; 10143: }; 10143: # 1181 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: template<> 10143: class ctype : public __ctype_abstract_base 10143: { 10143: public: 10143: 10143: 10143: typedef wchar_t char_type; 10143: typedef wctype_t __wmask_type; 10143: 10143: protected: 10143: __c_locale _M_c_locale_ctype; 10143: 10143: 10143: bool _M_narrow_ok; 10143: char _M_narrow[128]; 10143: wint_t _M_widen[1 + static_cast(-1)]; 10143: 10143: 10143: mask _M_bit[16]; 10143: __wmask_type _M_wmask[16]; 10143: 10143: public: 10143: 10143: 10143: static locale::id id; 10143: # 1214 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: explicit 10143: ctype(size_t __refs = 0); 10143: # 1225 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: explicit 10143: ctype(__c_locale __cloc, size_t __refs = 0); 10143: 10143: protected: 10143: __wmask_type 10143: _M_convert_to_wmask(const mask __m) const throw(); 10143: 10143: 10143: virtual 10143: ~ctype(); 10143: # 1249 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual bool 10143: do_is(mask __m, char_type __c) const; 10143: # 1268 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual const char_type* 10143: do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; 10143: # 1286 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual const char_type* 10143: do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; 10143: # 1304 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual const char_type* 10143: do_scan_not(mask __m, const char_type* __lo, 10143: const char_type* __hi) const; 10143: # 1321 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual char_type 10143: do_toupper(char_type __c) const; 10143: # 1338 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual const char_type* 10143: do_toupper(char_type* __lo, const char_type* __hi) const; 10143: # 1354 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual char_type 10143: do_tolower(char_type __c) const; 10143: # 1371 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual const char_type* 10143: do_tolower(char_type* __lo, const char_type* __hi) const; 10143: # 1391 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual char_type 10143: do_widen(char __c) const; 10143: # 1413 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual const char* 10143: do_widen(const char* __lo, const char* __hi, char_type* __to) const; 10143: # 1436 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual char 10143: do_narrow(char_type __c, char __dfault) const; 10143: # 1462 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual const char_type* 10143: do_narrow(const char_type* __lo, const char_type* __hi, 10143: char __dfault, char* __to) const; 10143: 10143: 10143: void 10143: _M_initialize_ctype() throw(); 10143: }; 10143: 10143: 10143: 10143: template 10143: class ctype_byname : public ctype<_CharT> 10143: { 10143: public: 10143: typedef typename ctype<_CharT>::mask mask; 10143: 10143: explicit 10143: ctype_byname(const char* __s, size_t __refs = 0); 10143: 10143: 10143: explicit 10143: ctype_byname(const string& __s, size_t __refs = 0) 10143: : ctype_byname(__s.c_str(), __refs) { } 10143: 10143: 10143: protected: 10143: virtual 10143: ~ctype_byname() { } 10143: }; 10143: 10143: 10143: template<> 10143: class ctype_byname : public ctype 10143: { 10143: public: 10143: explicit 10143: ctype_byname(const char* __s, size_t __refs = 0); 10143: 10143: 10143: explicit 10143: ctype_byname(const string& __s, size_t __refs = 0); 10143: 10143: 10143: protected: 10143: virtual 10143: ~ctype_byname(); 10143: }; 10143: 10143: 10143: template<> 10143: class ctype_byname : public ctype 10143: { 10143: public: 10143: explicit 10143: ctype_byname(const char* __s, size_t __refs = 0); 10143: 10143: 10143: explicit 10143: ctype_byname(const string& __s, size_t __refs = 0); 10143: 10143: 10143: protected: 10143: virtual 10143: ~ctype_byname(); 10143: }; 10143: 10143: 10143: 10143: } 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/ctype_inline.h" 1 3 10143: # 37 "/usr/include/powerpc64le-linux-gnu/c++/8/bits/ctype_inline.h" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: bool 10143: ctype:: 10143: is(mask __m, char __c) const 10143: { return _M_table[static_cast(__c)] & __m; } 10143: 10143: const char* 10143: ctype:: 10143: is(const char* __low, const char* __high, mask* __vec) const 10143: { 10143: while (__low < __high) 10143: *__vec++ = _M_table[static_cast(*__low++)]; 10143: return __high; 10143: } 10143: 10143: const char* 10143: ctype:: 10143: scan_is(mask __m, const char* __low, const char* __high) const 10143: { 10143: while (__low < __high 10143: && !(_M_table[static_cast(*__low)] & __m)) 10143: ++__low; 10143: return __low; 10143: } 10143: 10143: const char* 10143: ctype:: 10143: scan_not(mask __m, const char* __low, const char* __high) const 10143: { 10143: while (__low < __high 10143: && (_M_table[static_cast(*__low)] & __m) != 0) 10143: ++__low; 10143: return __low; 10143: } 10143: 10143: 10143: } 10143: # 1535 "/usr/include/c++/8/bits/locale_facets.h" 2 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: class __num_base 10143: { 10143: public: 10143: 10143: 10143: enum 10143: { 10143: _S_ominus, 10143: _S_oplus, 10143: _S_ox, 10143: _S_oX, 10143: _S_odigits, 10143: _S_odigits_end = _S_odigits + 16, 10143: _S_oudigits = _S_odigits_end, 10143: _S_oudigits_end = _S_oudigits + 16, 10143: _S_oe = _S_odigits + 14, 10143: _S_oE = _S_oudigits + 14, 10143: _S_oend = _S_oudigits_end 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: static const char* _S_atoms_out; 10143: 10143: 10143: 10143: static const char* _S_atoms_in; 10143: 10143: enum 10143: { 10143: _S_iminus, 10143: _S_iplus, 10143: _S_ix, 10143: _S_iX, 10143: _S_izero, 10143: _S_ie = _S_izero + 14, 10143: _S_iE = _S_izero + 20, 10143: _S_iend = 26 10143: }; 10143: 10143: 10143: 10143: static void 10143: _S_format_float(const ios_base& __io, char* __fptr, char __mod) throw(); 10143: }; 10143: 10143: template 10143: struct __numpunct_cache : public locale::facet 10143: { 10143: const char* _M_grouping; 10143: size_t _M_grouping_size; 10143: bool _M_use_grouping; 10143: const _CharT* _M_truename; 10143: size_t _M_truename_size; 10143: const _CharT* _M_falsename; 10143: size_t _M_falsename_size; 10143: _CharT _M_decimal_point; 10143: _CharT _M_thousands_sep; 10143: 10143: 10143: 10143: 10143: 10143: _CharT _M_atoms_out[__num_base::_S_oend]; 10143: 10143: 10143: 10143: 10143: 10143: _CharT _M_atoms_in[__num_base::_S_iend]; 10143: 10143: bool _M_allocated; 10143: 10143: __numpunct_cache(size_t __refs = 0) 10143: : facet(__refs), _M_grouping(0), _M_grouping_size(0), 10143: _M_use_grouping(false), 10143: _M_truename(0), _M_truename_size(0), _M_falsename(0), 10143: _M_falsename_size(0), _M_decimal_point(_CharT()), 10143: _M_thousands_sep(_CharT()), _M_allocated(false) 10143: { } 10143: 10143: ~__numpunct_cache(); 10143: 10143: void 10143: _M_cache(const locale& __loc); 10143: 10143: private: 10143: __numpunct_cache& 10143: operator=(const __numpunct_cache&); 10143: 10143: explicit 10143: __numpunct_cache(const __numpunct_cache&); 10143: }; 10143: 10143: template 10143: __numpunct_cache<_CharT>::~__numpunct_cache() 10143: { 10143: if (_M_allocated) 10143: { 10143: delete [] _M_grouping; 10143: delete [] _M_truename; 10143: delete [] _M_falsename; 10143: } 10143: } 10143: 10143: namespace __cxx11 { 10143: # 1665 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: template 10143: class numpunct : public locale::facet 10143: { 10143: public: 10143: 10143: 10143: 10143: typedef _CharT char_type; 10143: typedef basic_string<_CharT> string_type; 10143: 10143: typedef __numpunct_cache<_CharT> __cache_type; 10143: 10143: protected: 10143: __cache_type* _M_data; 10143: 10143: public: 10143: 10143: static locale::id id; 10143: 10143: 10143: 10143: 10143: 10143: 10143: explicit 10143: numpunct(size_t __refs = 0) 10143: : facet(__refs), _M_data(0) 10143: { _M_initialize_numpunct(); } 10143: # 1703 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: explicit 10143: numpunct(__cache_type* __cache, size_t __refs = 0) 10143: : facet(__refs), _M_data(__cache) 10143: { _M_initialize_numpunct(); } 10143: # 1717 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: explicit 10143: numpunct(__c_locale __cloc, size_t __refs = 0) 10143: : facet(__refs), _M_data(0) 10143: { _M_initialize_numpunct(__cloc); } 10143: # 1731 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: char_type 10143: decimal_point() const 10143: { return this->do_decimal_point(); } 10143: # 1744 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: char_type 10143: thousands_sep() const 10143: { return this->do_thousands_sep(); } 10143: # 1775 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: string 10143: grouping() const 10143: { return this->do_grouping(); } 10143: # 1788 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: string_type 10143: truename() const 10143: { return this->do_truename(); } 10143: # 1801 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: string_type 10143: falsename() const 10143: { return this->do_falsename(); } 10143: 10143: protected: 10143: 10143: virtual 10143: ~numpunct(); 10143: # 1818 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual char_type 10143: do_decimal_point() const 10143: { return _M_data->_M_decimal_point; } 10143: # 1830 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual char_type 10143: do_thousands_sep() const 10143: { return _M_data->_M_thousands_sep; } 10143: # 1843 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual string 10143: do_grouping() const 10143: { return _M_data->_M_grouping; } 10143: # 1856 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual string_type 10143: do_truename() const 10143: { return _M_data->_M_truename; } 10143: # 1869 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual string_type 10143: do_falsename() const 10143: { return _M_data->_M_falsename; } 10143: 10143: 10143: void 10143: _M_initialize_numpunct(__c_locale __cloc = 0); 10143: }; 10143: 10143: template 10143: locale::id numpunct<_CharT>::id; 10143: 10143: template<> 10143: numpunct::~numpunct(); 10143: 10143: template<> 10143: void 10143: numpunct::_M_initialize_numpunct(__c_locale __cloc); 10143: 10143: 10143: template<> 10143: numpunct::~numpunct(); 10143: 10143: template<> 10143: void 10143: numpunct::_M_initialize_numpunct(__c_locale __cloc); 10143: 10143: 10143: 10143: template 10143: class numpunct_byname : public numpunct<_CharT> 10143: { 10143: public: 10143: typedef _CharT char_type; 10143: typedef basic_string<_CharT> string_type; 10143: 10143: explicit 10143: numpunct_byname(const char* __s, size_t __refs = 0) 10143: : numpunct<_CharT>(__refs) 10143: { 10143: if (__builtin_strcmp(__s, "C") != 0 10143: && __builtin_strcmp(__s, "POSIX") != 0) 10143: { 10143: __c_locale __tmp; 10143: this->_S_create_c_locale(__tmp, __s); 10143: this->_M_initialize_numpunct(__tmp); 10143: this->_S_destroy_c_locale(__tmp); 10143: } 10143: } 10143: 10143: 10143: explicit 10143: numpunct_byname(const string& __s, size_t __refs = 0) 10143: : numpunct_byname(__s.c_str(), __refs) { } 10143: 10143: 10143: protected: 10143: virtual 10143: ~numpunct_byname() { } 10143: }; 10143: 10143: } 10143: 10143: namespace __gnu_cxx_ldbl128 { 10143: # 1947 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: template 10143: class num_get : public locale::facet 10143: { 10143: public: 10143: 10143: 10143: 10143: typedef _CharT char_type; 10143: typedef _InIter iter_type; 10143: 10143: 10143: 10143: static locale::id id; 10143: # 1968 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: explicit 10143: num_get(size_t __refs = 0) : facet(__refs) { } 10143: # 1994 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: iter_type 10143: get(iter_type __in, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, bool& __v) const 10143: { return this->do_get(__in, __end, __io, __err, __v); } 10143: # 2031 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: iter_type 10143: get(iter_type __in, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, long& __v) const 10143: { return this->do_get(__in, __end, __io, __err, __v); } 10143: 10143: iter_type 10143: get(iter_type __in, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, unsigned short& __v) const 10143: { return this->do_get(__in, __end, __io, __err, __v); } 10143: 10143: iter_type 10143: get(iter_type __in, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, unsigned int& __v) const 10143: { return this->do_get(__in, __end, __io, __err, __v); } 10143: 10143: iter_type 10143: get(iter_type __in, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, unsigned long& __v) const 10143: { return this->do_get(__in, __end, __io, __err, __v); } 10143: 10143: 10143: iter_type 10143: get(iter_type __in, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, long long& __v) const 10143: { return this->do_get(__in, __end, __io, __err, __v); } 10143: 10143: iter_type 10143: get(iter_type __in, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, unsigned long long& __v) const 10143: { return this->do_get(__in, __end, __io, __err, __v); } 10143: # 2091 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: iter_type 10143: get(iter_type __in, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, float& __v) const 10143: { return this->do_get(__in, __end, __io, __err, __v); } 10143: 10143: iter_type 10143: get(iter_type __in, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, double& __v) const 10143: { return this->do_get(__in, __end, __io, __err, __v); } 10143: 10143: iter_type 10143: get(iter_type __in, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, long double& __v) const 10143: { return this->do_get(__in, __end, __io, __err, __v); } 10143: # 2134 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: iter_type 10143: get(iter_type __in, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, void*& __v) const 10143: { return this->do_get(__in, __end, __io, __err, __v); } 10143: 10143: protected: 10143: 10143: virtual ~num_get() { } 10143: 10143: __attribute ((__abi_tag__ ("cxx11"))) 10143: iter_type 10143: _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&, 10143: string&) const; 10143: 10143: template 10143: __attribute ((__abi_tag__ ("cxx11"))) 10143: iter_type 10143: _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&, 10143: _ValueT&) const; 10143: 10143: template 10143: typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, int>::__type 10143: _M_find(const _CharT2*, size_t __len, _CharT2 __c) const 10143: { 10143: int __ret = -1; 10143: if (__len <= 10) 10143: { 10143: if (__c >= _CharT2('0') && __c < _CharT2(_CharT2('0') + __len)) 10143: __ret = __c - _CharT2('0'); 10143: } 10143: else 10143: { 10143: if (__c >= _CharT2('0') && __c <= _CharT2('9')) 10143: __ret = __c - _CharT2('0'); 10143: else if (__c >= _CharT2('a') && __c <= _CharT2('f')) 10143: __ret = 10 + (__c - _CharT2('a')); 10143: else if (__c >= _CharT2('A') && __c <= _CharT2('F')) 10143: __ret = 10 + (__c - _CharT2('A')); 10143: } 10143: return __ret; 10143: } 10143: 10143: template 10143: typename __gnu_cxx::__enable_if::__value, 10143: int>::__type 10143: _M_find(const _CharT2* __zero, size_t __len, _CharT2 __c) const 10143: { 10143: int __ret = -1; 10143: const char_type* __q = char_traits<_CharT2>::find(__zero, __len, __c); 10143: if (__q) 10143: { 10143: __ret = __q - __zero; 10143: if (__ret > 15) 10143: __ret -= 6; 10143: } 10143: return __ret; 10143: } 10143: # 2207 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual iter_type 10143: do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const; 10143: 10143: virtual iter_type 10143: do_get(iter_type __beg, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, long& __v) const 10143: { return _M_extract_int(__beg, __end, __io, __err, __v); } 10143: 10143: virtual iter_type 10143: do_get(iter_type __beg, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, unsigned short& __v) const 10143: { return _M_extract_int(__beg, __end, __io, __err, __v); } 10143: 10143: virtual iter_type 10143: do_get(iter_type __beg, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, unsigned int& __v) const 10143: { return _M_extract_int(__beg, __end, __io, __err, __v); } 10143: 10143: virtual iter_type 10143: do_get(iter_type __beg, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, unsigned long& __v) const 10143: { return _M_extract_int(__beg, __end, __io, __err, __v); } 10143: 10143: 10143: virtual iter_type 10143: do_get(iter_type __beg, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, long long& __v) const 10143: { return _M_extract_int(__beg, __end, __io, __err, __v); } 10143: 10143: virtual iter_type 10143: do_get(iter_type __beg, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, unsigned long long& __v) const 10143: { return _M_extract_int(__beg, __end, __io, __err, __v); } 10143: 10143: 10143: virtual iter_type 10143: do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, float&) const; 10143: 10143: virtual iter_type 10143: do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, 10143: double&) const; 10143: 10143: 10143: 10143: virtual iter_type 10143: __do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, 10143: double&) const; 10143: 10143: 10143: 10143: 10143: 10143: 10143: virtual iter_type 10143: do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, void*&) const; 10143: 10143: 10143: 10143: virtual iter_type 10143: do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, 10143: long double&) const; 10143: 10143: 10143: }; 10143: 10143: template 10143: locale::id num_get<_CharT, _InIter>::id; 10143: # 2288 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: template 10143: class num_put : public locale::facet 10143: { 10143: public: 10143: 10143: 10143: 10143: typedef _CharT char_type; 10143: typedef _OutIter iter_type; 10143: 10143: 10143: 10143: static locale::id id; 10143: # 2309 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: explicit 10143: num_put(size_t __refs = 0) : facet(__refs) { } 10143: # 2327 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: iter_type 10143: put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const 10143: { return this->do_put(__s, __io, __fill, __v); } 10143: # 2369 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: iter_type 10143: put(iter_type __s, ios_base& __io, char_type __fill, long __v) const 10143: { return this->do_put(__s, __io, __fill, __v); } 10143: 10143: iter_type 10143: put(iter_type __s, ios_base& __io, char_type __fill, 10143: unsigned long __v) const 10143: { return this->do_put(__s, __io, __fill, __v); } 10143: 10143: 10143: iter_type 10143: put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const 10143: { return this->do_put(__s, __io, __fill, __v); } 10143: 10143: iter_type 10143: put(iter_type __s, ios_base& __io, char_type __fill, 10143: unsigned long long __v) const 10143: { return this->do_put(__s, __io, __fill, __v); } 10143: # 2432 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: iter_type 10143: put(iter_type __s, ios_base& __io, char_type __fill, double __v) const 10143: { return this->do_put(__s, __io, __fill, __v); } 10143: 10143: iter_type 10143: put(iter_type __s, ios_base& __io, char_type __fill, 10143: long double __v) const 10143: { return this->do_put(__s, __io, __fill, __v); } 10143: # 2457 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: iter_type 10143: put(iter_type __s, ios_base& __io, char_type __fill, 10143: const void* __v) const 10143: { return this->do_put(__s, __io, __fill, __v); } 10143: 10143: protected: 10143: template 10143: iter_type 10143: _M_insert_float(iter_type, ios_base& __io, char_type __fill, 10143: char __mod, _ValueT __v) const; 10143: 10143: void 10143: _M_group_float(const char* __grouping, size_t __grouping_size, 10143: char_type __sep, const char_type* __p, char_type* __new, 10143: char_type* __cs, int& __len) const; 10143: 10143: template 10143: iter_type 10143: _M_insert_int(iter_type, ios_base& __io, char_type __fill, 10143: _ValueT __v) const; 10143: 10143: void 10143: _M_group_int(const char* __grouping, size_t __grouping_size, 10143: char_type __sep, ios_base& __io, char_type* __new, 10143: char_type* __cs, int& __len) const; 10143: 10143: void 10143: _M_pad(char_type __fill, streamsize __w, ios_base& __io, 10143: char_type* __new, const char_type* __cs, int& __len) const; 10143: 10143: 10143: virtual 10143: ~num_put() { } 10143: # 2505 "/usr/include/c++/8/bits/locale_facets.h" 3 10143: virtual iter_type 10143: do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const; 10143: 10143: virtual iter_type 10143: do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const 10143: { return _M_insert_int(__s, __io, __fill, __v); } 10143: 10143: virtual iter_type 10143: do_put(iter_type __s, ios_base& __io, char_type __fill, 10143: unsigned long __v) const 10143: { return _M_insert_int(__s, __io, __fill, __v); } 10143: 10143: 10143: virtual iter_type 10143: do_put(iter_type __s, ios_base& __io, char_type __fill, 10143: long long __v) const 10143: { return _M_insert_int(__s, __io, __fill, __v); } 10143: 10143: virtual iter_type 10143: do_put(iter_type __s, ios_base& __io, char_type __fill, 10143: unsigned long long __v) const 10143: { return _M_insert_int(__s, __io, __fill, __v); } 10143: 10143: 10143: virtual iter_type 10143: do_put(iter_type, ios_base&, char_type, double) const; 10143: 10143: 10143: 10143: virtual iter_type 10143: __do_put(iter_type, ios_base&, char_type, double) const; 10143: 10143: 10143: 10143: 10143: 10143: virtual iter_type 10143: do_put(iter_type, ios_base&, char_type, const void*) const; 10143: 10143: 10143: 10143: virtual iter_type 10143: do_put(iter_type, ios_base&, char_type, long double) const; 10143: 10143: 10143: }; 10143: 10143: template 10143: locale::id num_put<_CharT, _OutIter>::id; 10143: 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline bool 10143: isspace(_CharT __c, const locale& __loc) 10143: { return use_facet >(__loc).is(ctype_base::space, __c); } 10143: 10143: 10143: template 10143: inline bool 10143: isprint(_CharT __c, const locale& __loc) 10143: { return use_facet >(__loc).is(ctype_base::print, __c); } 10143: 10143: 10143: template 10143: inline bool 10143: iscntrl(_CharT __c, const locale& __loc) 10143: { return use_facet >(__loc).is(ctype_base::cntrl, __c); } 10143: 10143: 10143: template 10143: inline bool 10143: isupper(_CharT __c, const locale& __loc) 10143: { return use_facet >(__loc).is(ctype_base::upper, __c); } 10143: 10143: 10143: template 10143: inline bool 10143: islower(_CharT __c, const locale& __loc) 10143: { return use_facet >(__loc).is(ctype_base::lower, __c); } 10143: 10143: 10143: template 10143: inline bool 10143: isalpha(_CharT __c, const locale& __loc) 10143: { return use_facet >(__loc).is(ctype_base::alpha, __c); } 10143: 10143: 10143: template 10143: inline bool 10143: isdigit(_CharT __c, const locale& __loc) 10143: { return use_facet >(__loc).is(ctype_base::digit, __c); } 10143: 10143: 10143: template 10143: inline bool 10143: ispunct(_CharT __c, const locale& __loc) 10143: { return use_facet >(__loc).is(ctype_base::punct, __c); } 10143: 10143: 10143: template 10143: inline bool 10143: isxdigit(_CharT __c, const locale& __loc) 10143: { return use_facet >(__loc).is(ctype_base::xdigit, __c); } 10143: 10143: 10143: template 10143: inline bool 10143: isalnum(_CharT __c, const locale& __loc) 10143: { return use_facet >(__loc).is(ctype_base::alnum, __c); } 10143: 10143: 10143: template 10143: inline bool 10143: isgraph(_CharT __c, const locale& __loc) 10143: { return use_facet >(__loc).is(ctype_base::graph, __c); } 10143: 10143: 10143: 10143: template 10143: inline bool 10143: isblank(_CharT __c, const locale& __loc) 10143: { return use_facet >(__loc).is(ctype_base::blank, __c); } 10143: 10143: 10143: 10143: template 10143: inline _CharT 10143: toupper(_CharT __c, const locale& __loc) 10143: { return use_facet >(__loc).toupper(__c); } 10143: 10143: 10143: template 10143: inline _CharT 10143: tolower(_CharT __c, const locale& __loc) 10143: { return use_facet >(__loc).tolower(__c); } 10143: 10143: 10143: } 10143: 10143: # 1 "/usr/include/c++/8/bits/locale_facets.tcc" 1 3 10143: # 33 "/usr/include/c++/8/bits/locale_facets.tcc" 3 10143: 10143: # 34 "/usr/include/c++/8/bits/locale_facets.tcc" 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: template 10143: struct __use_cache 10143: { 10143: const _Facet* 10143: operator() (const locale& __loc) const; 10143: }; 10143: 10143: 10143: template 10143: struct __use_cache<__numpunct_cache<_CharT> > 10143: { 10143: const __numpunct_cache<_CharT>* 10143: operator() (const locale& __loc) const 10143: { 10143: const size_t __i = numpunct<_CharT>::id._M_id(); 10143: const locale::facet** __caches = __loc._M_impl->_M_caches; 10143: if (!__caches[__i]) 10143: { 10143: __numpunct_cache<_CharT>* __tmp = 0; 10143: if (true) 10143: { 10143: __tmp = new __numpunct_cache<_CharT>; 10143: __tmp->_M_cache(__loc); 10143: } 10143: if (false) 10143: { 10143: delete __tmp; 10143: ; 10143: } 10143: __loc._M_impl->_M_install_cache(__tmp, __i); 10143: } 10143: return static_cast*>(__caches[__i]); 10143: } 10143: }; 10143: 10143: template 10143: void 10143: __numpunct_cache<_CharT>::_M_cache(const locale& __loc) 10143: { 10143: const numpunct<_CharT>& __np = use_facet >(__loc); 10143: 10143: char* __grouping = 0; 10143: _CharT* __truename = 0; 10143: _CharT* __falsename = 0; 10143: if (true) 10143: { 10143: const string& __g = __np.grouping(); 10143: _M_grouping_size = __g.size(); 10143: __grouping = new char[_M_grouping_size]; 10143: __g.copy(__grouping, _M_grouping_size); 10143: _M_use_grouping = (_M_grouping_size 10143: && static_cast(__grouping[0]) > 0 10143: && (__grouping[0] 10143: != __gnu_cxx::__numeric_traits::__max)); 10143: 10143: const basic_string<_CharT>& __tn = __np.truename(); 10143: _M_truename_size = __tn.size(); 10143: __truename = new _CharT[_M_truename_size]; 10143: __tn.copy(__truename, _M_truename_size); 10143: 10143: const basic_string<_CharT>& __fn = __np.falsename(); 10143: _M_falsename_size = __fn.size(); 10143: __falsename = new _CharT[_M_falsename_size]; 10143: __fn.copy(__falsename, _M_falsename_size); 10143: 10143: _M_decimal_point = __np.decimal_point(); 10143: _M_thousands_sep = __np.thousands_sep(); 10143: 10143: const ctype<_CharT>& __ct = use_facet >(__loc); 10143: __ct.widen(__num_base::_S_atoms_out, 10143: __num_base::_S_atoms_out 10143: + __num_base::_S_oend, _M_atoms_out); 10143: __ct.widen(__num_base::_S_atoms_in, 10143: __num_base::_S_atoms_in 10143: + __num_base::_S_iend, _M_atoms_in); 10143: 10143: _M_grouping = __grouping; 10143: _M_truename = __truename; 10143: _M_falsename = __falsename; 10143: _M_allocated = true; 10143: } 10143: if (false) 10143: { 10143: delete [] __grouping; 10143: delete [] __truename; 10143: delete [] __falsename; 10143: ; 10143: } 10143: } 10143: # 139 "/usr/include/c++/8/bits/locale_facets.tcc" 3 10143: __attribute__ ((__pure__)) bool 10143: __verify_grouping(const char* __grouping, size_t __grouping_size, 10143: const string& __grouping_tmp) throw (); 10143: 10143: namespace __gnu_cxx_ldbl128 { 10143: 10143: template 10143: __attribute ((__abi_tag__ ("cxx11"))) 10143: _InIter 10143: num_get<_CharT, _InIter>:: 10143: _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io, 10143: ios_base::iostate& __err, string& __xtrc) const 10143: { 10143: typedef char_traits<_CharT> __traits_type; 10143: typedef __numpunct_cache<_CharT> __cache_type; 10143: __use_cache<__cache_type> __uc; 10143: const locale& __loc = __io._M_getloc(); 10143: const __cache_type* __lc = __uc(__loc); 10143: const _CharT* __lit = __lc->_M_atoms_in; 10143: char_type __c = char_type(); 10143: 10143: 10143: bool __testeof = __beg == __end; 10143: 10143: 10143: if (!__testeof) 10143: { 10143: __c = *__beg; 10143: const bool __plus = __c == __lit[__num_base::_S_iplus]; 10143: if ((__plus || __c == __lit[__num_base::_S_iminus]) 10143: && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) 10143: && !(__c == __lc->_M_decimal_point)) 10143: { 10143: __xtrc += __plus ? '+' : '-'; 10143: if (++__beg != __end) 10143: __c = *__beg; 10143: else 10143: __testeof = true; 10143: } 10143: } 10143: 10143: 10143: bool __found_mantissa = false; 10143: int __sep_pos = 0; 10143: while (!__testeof) 10143: { 10143: if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) 10143: || __c == __lc->_M_decimal_point) 10143: break; 10143: else if (__c == __lit[__num_base::_S_izero]) 10143: { 10143: if (!__found_mantissa) 10143: { 10143: __xtrc += '0'; 10143: __found_mantissa = true; 10143: } 10143: ++__sep_pos; 10143: 10143: if (++__beg != __end) 10143: __c = *__beg; 10143: else 10143: __testeof = true; 10143: } 10143: else 10143: break; 10143: } 10143: 10143: 10143: bool __found_dec = false; 10143: bool __found_sci = false; 10143: string __found_grouping; 10143: if (__lc->_M_use_grouping) 10143: __found_grouping.reserve(32); 10143: const char_type* __lit_zero = __lit + __num_base::_S_izero; 10143: 10143: if (!__lc->_M_allocated) 10143: 10143: while (!__testeof) 10143: { 10143: const int __digit = _M_find(__lit_zero, 10, __c); 10143: if (__digit != -1) 10143: { 10143: __xtrc += '0' + __digit; 10143: __found_mantissa = true; 10143: } 10143: else if (__c == __lc->_M_decimal_point 10143: && !__found_dec && !__found_sci) 10143: { 10143: __xtrc += '.'; 10143: __found_dec = true; 10143: } 10143: else if ((__c == __lit[__num_base::_S_ie] 10143: || __c == __lit[__num_base::_S_iE]) 10143: && !__found_sci && __found_mantissa) 10143: { 10143: 10143: __xtrc += 'e'; 10143: __found_sci = true; 10143: 10143: 10143: if (++__beg != __end) 10143: { 10143: __c = *__beg; 10143: const bool __plus = __c == __lit[__num_base::_S_iplus]; 10143: if (__plus || __c == __lit[__num_base::_S_iminus]) 10143: __xtrc += __plus ? '+' : '-'; 10143: else 10143: continue; 10143: } 10143: else 10143: { 10143: __testeof = true; 10143: break; 10143: } 10143: } 10143: else 10143: break; 10143: 10143: if (++__beg != __end) 10143: __c = *__beg; 10143: else 10143: __testeof = true; 10143: } 10143: else 10143: while (!__testeof) 10143: { 10143: 10143: 10143: if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) 10143: { 10143: if (!__found_dec && !__found_sci) 10143: { 10143: 10143: 10143: if (__sep_pos) 10143: { 10143: __found_grouping += static_cast(__sep_pos); 10143: __sep_pos = 0; 10143: } 10143: else 10143: { 10143: 10143: 10143: __xtrc.clear(); 10143: break; 10143: } 10143: } 10143: else 10143: break; 10143: } 10143: else if (__c == __lc->_M_decimal_point) 10143: { 10143: if (!__found_dec && !__found_sci) 10143: { 10143: 10143: 10143: 10143: if (__found_grouping.size()) 10143: __found_grouping += static_cast(__sep_pos); 10143: __xtrc += '.'; 10143: __found_dec = true; 10143: } 10143: else 10143: break; 10143: } 10143: else 10143: { 10143: const char_type* __q = 10143: __traits_type::find(__lit_zero, 10, __c); 10143: if (__q) 10143: { 10143: __xtrc += '0' + (__q - __lit_zero); 10143: __found_mantissa = true; 10143: ++__sep_pos; 10143: } 10143: else if ((__c == __lit[__num_base::_S_ie] 10143: || __c == __lit[__num_base::_S_iE]) 10143: && !__found_sci && __found_mantissa) 10143: { 10143: 10143: if (__found_grouping.size() && !__found_dec) 10143: __found_grouping += static_cast(__sep_pos); 10143: __xtrc += 'e'; 10143: __found_sci = true; 10143: 10143: 10143: if (++__beg != __end) 10143: { 10143: __c = *__beg; 10143: const bool __plus = __c == __lit[__num_base::_S_iplus]; 10143: if ((__plus || __c == __lit[__num_base::_S_iminus]) 10143: && !(__lc->_M_use_grouping 10143: && __c == __lc->_M_thousands_sep) 10143: && !(__c == __lc->_M_decimal_point)) 10143: __xtrc += __plus ? '+' : '-'; 10143: else 10143: continue; 10143: } 10143: else 10143: { 10143: __testeof = true; 10143: break; 10143: } 10143: } 10143: else 10143: break; 10143: } 10143: 10143: if (++__beg != __end) 10143: __c = *__beg; 10143: else 10143: __testeof = true; 10143: } 10143: 10143: 10143: 10143: if (__found_grouping.size()) 10143: { 10143: 10143: if (!__found_dec && !__found_sci) 10143: __found_grouping += static_cast(__sep_pos); 10143: 10143: if (!std::__verify_grouping(__lc->_M_grouping, 10143: __lc->_M_grouping_size, 10143: __found_grouping)) 10143: __err = ios_base::failbit; 10143: } 10143: 10143: return __beg; 10143: } 10143: 10143: template 10143: template 10143: __attribute ((__abi_tag__ ("cxx11"))) 10143: _InIter 10143: num_get<_CharT, _InIter>:: 10143: _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io, 10143: ios_base::iostate& __err, _ValueT& __v) const 10143: { 10143: typedef char_traits<_CharT> __traits_type; 10143: using __gnu_cxx::__add_unsigned; 10143: typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; 10143: typedef __numpunct_cache<_CharT> __cache_type; 10143: __use_cache<__cache_type> __uc; 10143: const locale& __loc = __io._M_getloc(); 10143: const __cache_type* __lc = __uc(__loc); 10143: const _CharT* __lit = __lc->_M_atoms_in; 10143: char_type __c = char_type(); 10143: 10143: 10143: const ios_base::fmtflags __basefield = __io.flags() 10143: & ios_base::basefield; 10143: const bool __oct = __basefield == ios_base::oct; 10143: int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10); 10143: 10143: 10143: bool __testeof = __beg == __end; 10143: 10143: 10143: bool __negative = false; 10143: if (!__testeof) 10143: { 10143: __c = *__beg; 10143: __negative = __c == __lit[__num_base::_S_iminus]; 10143: if ((__negative || __c == __lit[__num_base::_S_iplus]) 10143: && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) 10143: && !(__c == __lc->_M_decimal_point)) 10143: { 10143: if (++__beg != __end) 10143: __c = *__beg; 10143: else 10143: __testeof = true; 10143: } 10143: } 10143: 10143: 10143: 10143: bool __found_zero = false; 10143: int __sep_pos = 0; 10143: while (!__testeof) 10143: { 10143: if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) 10143: || __c == __lc->_M_decimal_point) 10143: break; 10143: else if (__c == __lit[__num_base::_S_izero] 10143: && (!__found_zero || __base == 10)) 10143: { 10143: __found_zero = true; 10143: ++__sep_pos; 10143: if (__basefield == 0) 10143: __base = 8; 10143: if (__base == 8) 10143: __sep_pos = 0; 10143: } 10143: else if (__found_zero 10143: && (__c == __lit[__num_base::_S_ix] 10143: || __c == __lit[__num_base::_S_iX])) 10143: { 10143: if (__basefield == 0) 10143: __base = 16; 10143: if (__base == 16) 10143: { 10143: __found_zero = false; 10143: __sep_pos = 0; 10143: } 10143: else 10143: break; 10143: } 10143: else 10143: break; 10143: 10143: if (++__beg != __end) 10143: { 10143: __c = *__beg; 10143: if (!__found_zero) 10143: break; 10143: } 10143: else 10143: __testeof = true; 10143: } 10143: 10143: 10143: 10143: const size_t __len = (__base == 16 ? __num_base::_S_iend 10143: - __num_base::_S_izero : __base); 10143: 10143: 10143: typedef __gnu_cxx::__numeric_traits<_ValueT> __num_traits; 10143: string __found_grouping; 10143: if (__lc->_M_use_grouping) 10143: __found_grouping.reserve(32); 10143: bool __testfail = false; 10143: bool __testoverflow = false; 10143: const __unsigned_type __max = 10143: (__negative && __num_traits::__is_signed) 10143: ? -static_cast<__unsigned_type>(__num_traits::__min) 10143: : __num_traits::__max; 10143: const __unsigned_type __smax = __max / __base; 10143: __unsigned_type __result = 0; 10143: int __digit = 0; 10143: const char_type* __lit_zero = __lit + __num_base::_S_izero; 10143: 10143: if (!__lc->_M_allocated) 10143: 10143: while (!__testeof) 10143: { 10143: __digit = _M_find(__lit_zero, __len, __c); 10143: if (__digit == -1) 10143: break; 10143: 10143: if (__result > __smax) 10143: __testoverflow = true; 10143: else 10143: { 10143: __result *= __base; 10143: __testoverflow |= __result > __max - __digit; 10143: __result += __digit; 10143: ++__sep_pos; 10143: } 10143: 10143: if (++__beg != __end) 10143: __c = *__beg; 10143: else 10143: __testeof = true; 10143: } 10143: else 10143: while (!__testeof) 10143: { 10143: 10143: 10143: if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) 10143: { 10143: 10143: 10143: if (__sep_pos) 10143: { 10143: __found_grouping += static_cast(__sep_pos); 10143: __sep_pos = 0; 10143: } 10143: else 10143: { 10143: __testfail = true; 10143: break; 10143: } 10143: } 10143: else if (__c == __lc->_M_decimal_point) 10143: break; 10143: else 10143: { 10143: const char_type* __q = 10143: __traits_type::find(__lit_zero, __len, __c); 10143: if (!__q) 10143: break; 10143: 10143: __digit = __q - __lit_zero; 10143: if (__digit > 15) 10143: __digit -= 6; 10143: if (__result > __smax) 10143: __testoverflow = true; 10143: else 10143: { 10143: __result *= __base; 10143: __testoverflow |= __result > __max - __digit; 10143: __result += __digit; 10143: ++__sep_pos; 10143: } 10143: } 10143: 10143: if (++__beg != __end) 10143: __c = *__beg; 10143: else 10143: __testeof = true; 10143: } 10143: 10143: 10143: 10143: if (__found_grouping.size()) 10143: { 10143: 10143: __found_grouping += static_cast(__sep_pos); 10143: 10143: if (!std::__verify_grouping(__lc->_M_grouping, 10143: __lc->_M_grouping_size, 10143: __found_grouping)) 10143: __err = ios_base::failbit; 10143: } 10143: 10143: 10143: 10143: if ((!__sep_pos && !__found_zero && !__found_grouping.size()) 10143: || __testfail) 10143: { 10143: __v = 0; 10143: __err = ios_base::failbit; 10143: } 10143: else if (__testoverflow) 10143: { 10143: if (__negative && __num_traits::__is_signed) 10143: __v = __num_traits::__min; 10143: else 10143: __v = __num_traits::__max; 10143: __err = ios_base::failbit; 10143: } 10143: else 10143: __v = __negative ? -__result : __result; 10143: 10143: if (__testeof) 10143: __err |= ios_base::eofbit; 10143: return __beg; 10143: } 10143: 10143: 10143: 10143: template 10143: _InIter 10143: num_get<_CharT, _InIter>:: 10143: do_get(iter_type __beg, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, bool& __v) const 10143: { 10143: if (!(__io.flags() & ios_base::boolalpha)) 10143: { 10143: 10143: 10143: 10143: long __l = -1; 10143: __beg = _M_extract_int(__beg, __end, __io, __err, __l); 10143: if (__l == 0 || __l == 1) 10143: __v = bool(__l); 10143: else 10143: { 10143: 10143: 10143: __v = true; 10143: __err = ios_base::failbit; 10143: if (__beg == __end) 10143: __err |= ios_base::eofbit; 10143: } 10143: } 10143: else 10143: { 10143: 10143: typedef __numpunct_cache<_CharT> __cache_type; 10143: __use_cache<__cache_type> __uc; 10143: const locale& __loc = __io._M_getloc(); 10143: const __cache_type* __lc = __uc(__loc); 10143: 10143: bool __testf = true; 10143: bool __testt = true; 10143: bool __donef = __lc->_M_falsename_size == 0; 10143: bool __donet = __lc->_M_truename_size == 0; 10143: bool __testeof = false; 10143: size_t __n = 0; 10143: while (!__donef || !__donet) 10143: { 10143: if (__beg == __end) 10143: { 10143: __testeof = true; 10143: break; 10143: } 10143: 10143: const char_type __c = *__beg; 10143: 10143: if (!__donef) 10143: __testf = __c == __lc->_M_falsename[__n]; 10143: 10143: if (!__testf && __donet) 10143: break; 10143: 10143: if (!__donet) 10143: __testt = __c == __lc->_M_truename[__n]; 10143: 10143: if (!__testt && __donef) 10143: break; 10143: 10143: if (!__testt && !__testf) 10143: break; 10143: 10143: ++__n; 10143: ++__beg; 10143: 10143: __donef = !__testf || __n >= __lc->_M_falsename_size; 10143: __donet = !__testt || __n >= __lc->_M_truename_size; 10143: } 10143: if (__testf && __n == __lc->_M_falsename_size && __n) 10143: { 10143: __v = false; 10143: if (__testt && __n == __lc->_M_truename_size) 10143: __err = ios_base::failbit; 10143: else 10143: __err = __testeof ? ios_base::eofbit : ios_base::goodbit; 10143: } 10143: else if (__testt && __n == __lc->_M_truename_size && __n) 10143: { 10143: __v = true; 10143: __err = __testeof ? ios_base::eofbit : ios_base::goodbit; 10143: } 10143: else 10143: { 10143: 10143: 10143: __v = false; 10143: __err = ios_base::failbit; 10143: if (__testeof) 10143: __err |= ios_base::eofbit; 10143: } 10143: } 10143: return __beg; 10143: } 10143: 10143: template 10143: _InIter 10143: num_get<_CharT, _InIter>:: 10143: do_get(iter_type __beg, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, float& __v) const 10143: { 10143: string __xtrc; 10143: __xtrc.reserve(32); 10143: __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); 10143: std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); 10143: if (__beg == __end) 10143: __err |= ios_base::eofbit; 10143: return __beg; 10143: } 10143: 10143: template 10143: _InIter 10143: num_get<_CharT, _InIter>:: 10143: do_get(iter_type __beg, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, double& __v) const 10143: { 10143: string __xtrc; 10143: __xtrc.reserve(32); 10143: __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); 10143: std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); 10143: if (__beg == __end) 10143: __err |= ios_base::eofbit; 10143: return __beg; 10143: } 10143: 10143: 10143: template 10143: _InIter 10143: num_get<_CharT, _InIter>:: 10143: __do_get(iter_type __beg, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, double& __v) const 10143: { 10143: string __xtrc; 10143: __xtrc.reserve(32); 10143: __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); 10143: std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); 10143: if (__beg == __end) 10143: __err |= ios_base::eofbit; 10143: return __beg; 10143: } 10143: 10143: 10143: template 10143: _InIter 10143: num_get<_CharT, _InIter>:: 10143: do_get(iter_type __beg, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, long double& __v) const 10143: { 10143: string __xtrc; 10143: __xtrc.reserve(32); 10143: __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); 10143: std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); 10143: if (__beg == __end) 10143: __err |= ios_base::eofbit; 10143: return __beg; 10143: } 10143: 10143: template 10143: _InIter 10143: num_get<_CharT, _InIter>:: 10143: do_get(iter_type __beg, iter_type __end, ios_base& __io, 10143: ios_base::iostate& __err, void*& __v) const 10143: { 10143: 10143: typedef ios_base::fmtflags fmtflags; 10143: const fmtflags __fmt = __io.flags(); 10143: __io.flags((__fmt & ~ios_base::basefield) | ios_base::hex); 10143: 10143: typedef __gnu_cxx::__conditional_type<(sizeof(void*) 10143: <= sizeof(unsigned long)), 10143: unsigned long, unsigned long long>::__type _UIntPtrType; 10143: 10143: _UIntPtrType __ul; 10143: __beg = _M_extract_int(__beg, __end, __io, __err, __ul); 10143: 10143: 10143: __io.flags(__fmt); 10143: 10143: __v = reinterpret_cast(__ul); 10143: return __beg; 10143: } 10143: 10143: 10143: 10143: template 10143: void 10143: num_put<_CharT, _OutIter>:: 10143: _M_pad(_CharT __fill, streamsize __w, ios_base& __io, 10143: _CharT* __new, const _CharT* __cs, int& __len) const 10143: { 10143: 10143: 10143: __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new, 10143: __cs, __w, __len); 10143: __len = static_cast(__w); 10143: } 10143: 10143: } 10143: 10143: template 10143: int 10143: __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit, 10143: ios_base::fmtflags __flags, bool __dec) 10143: { 10143: _CharT* __buf = __bufend; 10143: if (__builtin_expect(__dec, true)) 10143: { 10143: 10143: do 10143: { 10143: *--__buf = __lit[(__v % 10) + __num_base::_S_odigits]; 10143: __v /= 10; 10143: } 10143: while (__v != 0); 10143: } 10143: else if ((__flags & ios_base::basefield) == ios_base::oct) 10143: { 10143: 10143: do 10143: { 10143: *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits]; 10143: __v >>= 3; 10143: } 10143: while (__v != 0); 10143: } 10143: else 10143: { 10143: 10143: const bool __uppercase = __flags & ios_base::uppercase; 10143: const int __case_offset = __uppercase ? __num_base::_S_oudigits 10143: : __num_base::_S_odigits; 10143: do 10143: { 10143: *--__buf = __lit[(__v & 0xf) + __case_offset]; 10143: __v >>= 4; 10143: } 10143: while (__v != 0); 10143: } 10143: return __bufend - __buf; 10143: } 10143: 10143: namespace __gnu_cxx_ldbl128 { 10143: 10143: template 10143: void 10143: num_put<_CharT, _OutIter>:: 10143: _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep, 10143: ios_base&, _CharT* __new, _CharT* __cs, int& __len) const 10143: { 10143: _CharT* __p = std::__add_grouping(__new, __sep, __grouping, 10143: __grouping_size, __cs, __cs + __len); 10143: __len = __p - __new; 10143: } 10143: 10143: template 10143: template 10143: _OutIter 10143: num_put<_CharT, _OutIter>:: 10143: _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill, 10143: _ValueT __v) const 10143: { 10143: using __gnu_cxx::__add_unsigned; 10143: typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; 10143: typedef __numpunct_cache<_CharT> __cache_type; 10143: __use_cache<__cache_type> __uc; 10143: const locale& __loc = __io._M_getloc(); 10143: const __cache_type* __lc = __uc(__loc); 10143: const _CharT* __lit = __lc->_M_atoms_out; 10143: const ios_base::fmtflags __flags = __io.flags(); 10143: 10143: 10143: const int __ilen = 5 * sizeof(_ValueT); 10143: _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 10143: * __ilen)); 10143: 10143: 10143: 10143: const ios_base::fmtflags __basefield = __flags & ios_base::basefield; 10143: const bool __dec = (__basefield != ios_base::oct 10143: && __basefield != ios_base::hex); 10143: const __unsigned_type __u = ((__v > 0 || !__dec) 10143: ? __unsigned_type(__v) 10143: : -__unsigned_type(__v)); 10143: int __len = __int_to_char(__cs + __ilen, __u, __lit, __flags, __dec); 10143: __cs += __ilen - __len; 10143: 10143: 10143: if (__lc->_M_use_grouping) 10143: { 10143: 10143: 10143: _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 10143: * (__len + 1) 10143: * 2)); 10143: _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size, 10143: __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len); 10143: __cs = __cs2 + 2; 10143: } 10143: 10143: 10143: if (__builtin_expect(__dec, true)) 10143: { 10143: 10143: if (__v >= 0) 10143: { 10143: if (bool(__flags & ios_base::showpos) 10143: && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) 10143: *--__cs = __lit[__num_base::_S_oplus], ++__len; 10143: } 10143: else 10143: *--__cs = __lit[__num_base::_S_ominus], ++__len; 10143: } 10143: else if (bool(__flags & ios_base::showbase) && __v) 10143: { 10143: if (__basefield == ios_base::oct) 10143: *--__cs = __lit[__num_base::_S_odigits], ++__len; 10143: else 10143: { 10143: 10143: const bool __uppercase = __flags & ios_base::uppercase; 10143: *--__cs = __lit[__num_base::_S_ox + __uppercase]; 10143: 10143: *--__cs = __lit[__num_base::_S_odigits]; 10143: __len += 2; 10143: } 10143: } 10143: 10143: 10143: const streamsize __w = __io.width(); 10143: if (__w > static_cast(__len)) 10143: { 10143: _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 10143: * __w)); 10143: _M_pad(__fill, __w, __io, __cs3, __cs, __len); 10143: __cs = __cs3; 10143: } 10143: __io.width(0); 10143: 10143: 10143: 10143: return std::__write(__s, __cs, __len); 10143: } 10143: 10143: template 10143: void 10143: num_put<_CharT, _OutIter>:: 10143: _M_group_float(const char* __grouping, size_t __grouping_size, 10143: _CharT __sep, const _CharT* __p, _CharT* __new, 10143: _CharT* __cs, int& __len) const 10143: { 10143: 10143: 10143: 10143: const int __declen = __p ? __p - __cs : __len; 10143: _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping, 10143: __grouping_size, 10143: __cs, __cs + __declen); 10143: 10143: 10143: int __newlen = __p2 - __new; 10143: if (__p) 10143: { 10143: char_traits<_CharT>::copy(__p2, __p, __len - __declen); 10143: __newlen += __len - __declen; 10143: } 10143: __len = __newlen; 10143: } 10143: # 971 "/usr/include/c++/8/bits/locale_facets.tcc" 3 10143: template 10143: template 10143: _OutIter 10143: num_put<_CharT, _OutIter>:: 10143: _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod, 10143: _ValueT __v) const 10143: { 10143: typedef __numpunct_cache<_CharT> __cache_type; 10143: __use_cache<__cache_type> __uc; 10143: const locale& __loc = __io._M_getloc(); 10143: const __cache_type* __lc = __uc(__loc); 10143: 10143: 10143: const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision(); 10143: 10143: const int __max_digits = 10143: __gnu_cxx::__numeric_traits<_ValueT>::__digits10; 10143: 10143: 10143: int __len; 10143: 10143: char __fbuf[16]; 10143: __num_base::_S_format_float(__io, __fbuf, __mod); 10143: 10143: 10143: 10143: const bool __use_prec = 10143: (__io.flags() & ios_base::floatfield) != ios_base::floatfield; 10143: 10143: 10143: 10143: int __cs_size = __max_digits * 3; 10143: char* __cs = static_cast(__builtin_alloca(__cs_size)); 10143: if (__use_prec) 10143: __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, 10143: __fbuf, __prec, __v); 10143: else 10143: __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, 10143: __fbuf, __v); 10143: 10143: 10143: if (__len >= __cs_size) 10143: { 10143: __cs_size = __len + 1; 10143: __cs = static_cast(__builtin_alloca(__cs_size)); 10143: if (__use_prec) 10143: __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, 10143: __fbuf, __prec, __v); 10143: else 10143: __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, 10143: __fbuf, __v); 10143: } 10143: # 1044 "/usr/include/c++/8/bits/locale_facets.tcc" 3 10143: const ctype<_CharT>& __ctype = use_facet >(__loc); 10143: 10143: _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 10143: * __len)); 10143: __ctype.widen(__cs, __cs + __len, __ws); 10143: 10143: 10143: _CharT* __wp = 0; 10143: const char* __p = char_traits::find(__cs, __len, '.'); 10143: if (__p) 10143: { 10143: __wp = __ws + (__p - __cs); 10143: *__wp = __lc->_M_decimal_point; 10143: } 10143: 10143: 10143: 10143: 10143: if (__lc->_M_use_grouping 10143: && (__wp || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9' 10143: && __cs[1] >= '0' && __cs[2] >= '0'))) 10143: { 10143: 10143: 10143: _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 10143: * __len * 2)); 10143: 10143: streamsize __off = 0; 10143: if (__cs[0] == '-' || __cs[0] == '+') 10143: { 10143: __off = 1; 10143: __ws2[0] = __ws[0]; 10143: __len -= 1; 10143: } 10143: 10143: _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size, 10143: __lc->_M_thousands_sep, __wp, __ws2 + __off, 10143: __ws + __off, __len); 10143: __len += __off; 10143: 10143: __ws = __ws2; 10143: } 10143: 10143: 10143: const streamsize __w = __io.width(); 10143: if (__w > static_cast(__len)) 10143: { 10143: _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 10143: * __w)); 10143: _M_pad(__fill, __w, __io, __ws3, __ws, __len); 10143: __ws = __ws3; 10143: } 10143: __io.width(0); 10143: 10143: 10143: 10143: return std::__write(__s, __ws, __len); 10143: } 10143: 10143: template 10143: _OutIter 10143: num_put<_CharT, _OutIter>:: 10143: do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const 10143: { 10143: const ios_base::fmtflags __flags = __io.flags(); 10143: if ((__flags & ios_base::boolalpha) == 0) 10143: { 10143: const long __l = __v; 10143: __s = _M_insert_int(__s, __io, __fill, __l); 10143: } 10143: else 10143: { 10143: typedef __numpunct_cache<_CharT> __cache_type; 10143: __use_cache<__cache_type> __uc; 10143: const locale& __loc = __io._M_getloc(); 10143: const __cache_type* __lc = __uc(__loc); 10143: 10143: const _CharT* __name = __v ? __lc->_M_truename 10143: : __lc->_M_falsename; 10143: int __len = __v ? __lc->_M_truename_size 10143: : __lc->_M_falsename_size; 10143: 10143: const streamsize __w = __io.width(); 10143: if (__w > static_cast(__len)) 10143: { 10143: const streamsize __plen = __w - __len; 10143: _CharT* __ps 10143: = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 10143: * __plen)); 10143: 10143: char_traits<_CharT>::assign(__ps, __plen, __fill); 10143: __io.width(0); 10143: 10143: if ((__flags & ios_base::adjustfield) == ios_base::left) 10143: { 10143: __s = std::__write(__s, __name, __len); 10143: __s = std::__write(__s, __ps, __plen); 10143: } 10143: else 10143: { 10143: __s = std::__write(__s, __ps, __plen); 10143: __s = std::__write(__s, __name, __len); 10143: } 10143: return __s; 10143: } 10143: __io.width(0); 10143: __s = std::__write(__s, __name, __len); 10143: } 10143: return __s; 10143: } 10143: 10143: template 10143: _OutIter 10143: num_put<_CharT, _OutIter>:: 10143: do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const 10143: { return _M_insert_float(__s, __io, __fill, char(), __v); } 10143: 10143: 10143: template 10143: _OutIter 10143: num_put<_CharT, _OutIter>:: 10143: __do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const 10143: { return _M_insert_float(__s, __io, __fill, char(), __v); } 10143: 10143: 10143: template 10143: _OutIter 10143: num_put<_CharT, _OutIter>:: 10143: do_put(iter_type __s, ios_base& __io, char_type __fill, 10143: long double __v) const 10143: { return _M_insert_float(__s, __io, __fill, 'L', __v); } 10143: 10143: template 10143: _OutIter 10143: num_put<_CharT, _OutIter>:: 10143: do_put(iter_type __s, ios_base& __io, char_type __fill, 10143: const void* __v) const 10143: { 10143: const ios_base::fmtflags __flags = __io.flags(); 10143: const ios_base::fmtflags __fmt = ~(ios_base::basefield 10143: | ios_base::uppercase); 10143: __io.flags((__flags & __fmt) | (ios_base::hex | ios_base::showbase)); 10143: 10143: typedef __gnu_cxx::__conditional_type<(sizeof(const void*) 10143: <= sizeof(unsigned long)), 10143: unsigned long, unsigned long long>::__type _UIntPtrType; 10143: 10143: __s = _M_insert_int(__s, __io, __fill, 10143: reinterpret_cast<_UIntPtrType>(__v)); 10143: __io.flags(__flags); 10143: return __s; 10143: } 10143: 10143: } 10143: # 1206 "/usr/include/c++/8/bits/locale_facets.tcc" 3 10143: template 10143: void 10143: __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill, 10143: _CharT* __news, const _CharT* __olds, 10143: streamsize __newlen, streamsize __oldlen) 10143: { 10143: const size_t __plen = static_cast(__newlen - __oldlen); 10143: const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield; 10143: 10143: 10143: if (__adjust == ios_base::left) 10143: { 10143: _Traits::copy(__news, __olds, __oldlen); 10143: _Traits::assign(__news + __oldlen, __plen, __fill); 10143: return; 10143: } 10143: 10143: size_t __mod = 0; 10143: if (__adjust == ios_base::internal) 10143: { 10143: 10143: 10143: 10143: const locale& __loc = __io._M_getloc(); 10143: const ctype<_CharT>& __ctype = use_facet >(__loc); 10143: 10143: if (__ctype.widen('-') == __olds[0] 10143: || __ctype.widen('+') == __olds[0]) 10143: { 10143: __news[0] = __olds[0]; 10143: __mod = 1; 10143: ++__news; 10143: } 10143: else if (__ctype.widen('0') == __olds[0] 10143: && __oldlen > 1 10143: && (__ctype.widen('x') == __olds[1] 10143: || __ctype.widen('X') == __olds[1])) 10143: { 10143: __news[0] = __olds[0]; 10143: __news[1] = __olds[1]; 10143: __mod = 2; 10143: __news += 2; 10143: } 10143: 10143: } 10143: _Traits::assign(__news, __plen, __fill); 10143: _Traits::copy(__news + __plen, __olds + __mod, __oldlen - __mod); 10143: } 10143: 10143: template 10143: _CharT* 10143: __add_grouping(_CharT* __s, _CharT __sep, 10143: const char* __gbeg, size_t __gsize, 10143: const _CharT* __first, const _CharT* __last) 10143: { 10143: size_t __idx = 0; 10143: size_t __ctr = 0; 10143: 10143: while (__last - __first > __gbeg[__idx] 10143: && static_cast(__gbeg[__idx]) > 0 10143: && __gbeg[__idx] != __gnu_cxx::__numeric_traits::__max) 10143: { 10143: __last -= __gbeg[__idx]; 10143: __idx < __gsize - 1 ? ++__idx : ++__ctr; 10143: } 10143: 10143: while (__first != __last) 10143: *__s++ = *__first++; 10143: 10143: while (__ctr--) 10143: { 10143: *__s++ = __sep; 10143: for (char __i = __gbeg[__idx]; __i > 0; --__i) 10143: *__s++ = *__first++; 10143: } 10143: 10143: while (__idx--) 10143: { 10143: *__s++ = __sep; 10143: for (char __i = __gbeg[__idx]; __i > 0; --__i) 10143: *__s++ = *__first++; 10143: } 10143: 10143: return __s; 10143: } 10143: 10143: 10143: 10143: 10143: extern template class __cxx11:: numpunct; 10143: extern template class __cxx11:: numpunct_byname; 10143: extern template class __gnu_cxx_ldbl128:: num_get; 10143: extern template class __gnu_cxx_ldbl128:: num_put; 10143: extern template class ctype_byname; 10143: 10143: extern template 10143: const ctype& 10143: use_facet >(const locale&); 10143: 10143: extern template 10143: const numpunct& 10143: use_facet >(const locale&); 10143: 10143: extern template 10143: const num_put& 10143: use_facet >(const locale&); 10143: 10143: extern template 10143: const num_get& 10143: use_facet >(const locale&); 10143: 10143: extern template 10143: bool 10143: has_facet >(const locale&); 10143: 10143: extern template 10143: bool 10143: has_facet >(const locale&); 10143: 10143: extern template 10143: bool 10143: has_facet >(const locale&); 10143: 10143: extern template 10143: bool 10143: has_facet >(const locale&); 10143: 10143: 10143: extern template class __cxx11:: numpunct; 10143: extern template class __cxx11:: numpunct_byname; 10143: extern template class __gnu_cxx_ldbl128:: num_get; 10143: extern template class __gnu_cxx_ldbl128:: num_put; 10143: extern template class ctype_byname; 10143: 10143: extern template 10143: const ctype& 10143: use_facet >(const locale&); 10143: 10143: extern template 10143: const numpunct& 10143: use_facet >(const locale&); 10143: 10143: extern template 10143: const num_put& 10143: use_facet >(const locale&); 10143: 10143: extern template 10143: const num_get& 10143: use_facet >(const locale&); 10143: 10143: extern template 10143: bool 10143: has_facet >(const locale&); 10143: 10143: extern template 10143: bool 10143: has_facet >(const locale&); 10143: 10143: extern template 10143: bool 10143: has_facet >(const locale&); 10143: 10143: extern template 10143: bool 10143: has_facet >(const locale&); 10143: 10143: 10143: 10143: 10143: } 10143: # 2652 "/usr/include/c++/8/bits/locale_facets.h" 2 3 10143: # 38 "/usr/include/c++/8/bits/basic_ios.h" 2 3 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: template 10143: inline const _Facet& 10143: __check_facet(const _Facet* __f) 10143: { 10143: if (!__f) 10143: __throw_bad_cast(); 10143: return *__f; 10143: } 10143: # 66 "/usr/include/c++/8/bits/basic_ios.h" 3 10143: template 10143: class basic_ios : public ios_base 10143: { 10143: public: 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef _CharT char_type; 10143: typedef typename _Traits::int_type int_type; 10143: typedef typename _Traits::pos_type pos_type; 10143: typedef typename _Traits::off_type off_type; 10143: typedef _Traits traits_type; 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef ctype<_CharT> __ctype_type; 10143: typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > 10143: __num_put_type; 10143: typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > 10143: __num_get_type; 10143: 10143: 10143: 10143: protected: 10143: basic_ostream<_CharT, _Traits>* _M_tie; 10143: mutable char_type _M_fill; 10143: mutable bool _M_fill_init; 10143: basic_streambuf<_CharT, _Traits>* _M_streambuf; 10143: 10143: 10143: const __ctype_type* _M_ctype; 10143: 10143: const __num_put_type* _M_num_put; 10143: 10143: const __num_get_type* _M_num_get; 10143: 10143: public: 10143: # 117 "/usr/include/c++/8/bits/basic_ios.h" 3 10143: explicit operator bool() const 10143: { return !this->fail(); } 10143: 10143: 10143: 10143: 10143: 10143: bool 10143: operator!() const 10143: { return this->fail(); } 10143: # 136 "/usr/include/c++/8/bits/basic_ios.h" 3 10143: iostate 10143: rdstate() const 10143: { return _M_streambuf_state; } 10143: # 147 "/usr/include/c++/8/bits/basic_ios.h" 3 10143: void 10143: clear(iostate __state = goodbit); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: void 10143: setstate(iostate __state) 10143: { this->clear(this->rdstate() | __state); } 10143: 10143: 10143: 10143: 10143: void 10143: _M_setstate(iostate __state) 10143: { 10143: 10143: 10143: _M_streambuf_state |= __state; 10143: if (this->exceptions() & __state) 10143: ; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: bool 10143: good() const 10143: { return this->rdstate() == 0; } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: bool 10143: eof() const 10143: { return (this->rdstate() & eofbit) != 0; } 10143: # 200 "/usr/include/c++/8/bits/basic_ios.h" 3 10143: bool 10143: fail() const 10143: { return (this->rdstate() & (badbit | failbit)) != 0; } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: bool 10143: bad() const 10143: { return (this->rdstate() & badbit) != 0; } 10143: # 221 "/usr/include/c++/8/bits/basic_ios.h" 3 10143: iostate 10143: exceptions() const 10143: { return _M_exception; } 10143: # 256 "/usr/include/c++/8/bits/basic_ios.h" 3 10143: void 10143: exceptions(iostate __except) 10143: { 10143: _M_exception = __except; 10143: this->clear(_M_streambuf_state); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: explicit 10143: basic_ios(basic_streambuf<_CharT, _Traits>* __sb) 10143: : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0), 10143: _M_ctype(0), _M_num_put(0), _M_num_get(0) 10143: { this->init(__sb); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: virtual 10143: ~basic_ios() { } 10143: # 294 "/usr/include/c++/8/bits/basic_ios.h" 3 10143: basic_ostream<_CharT, _Traits>* 10143: tie() const 10143: { return _M_tie; } 10143: # 306 "/usr/include/c++/8/bits/basic_ios.h" 3 10143: basic_ostream<_CharT, _Traits>* 10143: tie(basic_ostream<_CharT, _Traits>* __tiestr) 10143: { 10143: basic_ostream<_CharT, _Traits>* __old = _M_tie; 10143: _M_tie = __tiestr; 10143: return __old; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: basic_streambuf<_CharT, _Traits>* 10143: rdbuf() const 10143: { return _M_streambuf; } 10143: # 346 "/usr/include/c++/8/bits/basic_ios.h" 3 10143: basic_streambuf<_CharT, _Traits>* 10143: rdbuf(basic_streambuf<_CharT, _Traits>* __sb); 10143: # 360 "/usr/include/c++/8/bits/basic_ios.h" 3 10143: basic_ios& 10143: copyfmt(const basic_ios& __rhs); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: char_type 10143: fill() const 10143: { 10143: if (!_M_fill_init) 10143: { 10143: _M_fill = this->widen(' '); 10143: _M_fill_init = true; 10143: } 10143: return _M_fill; 10143: } 10143: # 389 "/usr/include/c++/8/bits/basic_ios.h" 3 10143: char_type 10143: fill(char_type __ch) 10143: { 10143: char_type __old = this->fill(); 10143: _M_fill = __ch; 10143: return __old; 10143: } 10143: # 409 "/usr/include/c++/8/bits/basic_ios.h" 3 10143: locale 10143: imbue(const locale& __loc); 10143: # 429 "/usr/include/c++/8/bits/basic_ios.h" 3 10143: char 10143: narrow(char_type __c, char __dfault) const 10143: { return __check_facet(_M_ctype).narrow(__c, __dfault); } 10143: # 448 "/usr/include/c++/8/bits/basic_ios.h" 3 10143: char_type 10143: widen(char __c) const 10143: { return __check_facet(_M_ctype).widen(__c); } 10143: 10143: protected: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: basic_ios() 10143: : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false), 10143: _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0) 10143: { } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: void 10143: init(basic_streambuf<_CharT, _Traits>* __sb); 10143: 10143: 10143: basic_ios(const basic_ios&) = delete; 10143: basic_ios& operator=(const basic_ios&) = delete; 10143: 10143: void 10143: move(basic_ios& __rhs) 10143: { 10143: ios_base::_M_move(__rhs); 10143: _M_cache_locale(_M_ios_locale); 10143: this->tie(__rhs.tie(nullptr)); 10143: _M_fill = __rhs._M_fill; 10143: _M_fill_init = __rhs._M_fill_init; 10143: _M_streambuf = nullptr; 10143: } 10143: 10143: void 10143: move(basic_ios&& __rhs) 10143: { this->move(__rhs); } 10143: 10143: void 10143: swap(basic_ios& __rhs) noexcept 10143: { 10143: ios_base::_M_swap(__rhs); 10143: _M_cache_locale(_M_ios_locale); 10143: __rhs._M_cache_locale(__rhs._M_ios_locale); 10143: std::swap(_M_tie, __rhs._M_tie); 10143: std::swap(_M_fill, __rhs._M_fill); 10143: std::swap(_M_fill_init, __rhs._M_fill_init); 10143: } 10143: 10143: void 10143: set_rdbuf(basic_streambuf<_CharT, _Traits>* __sb) 10143: { _M_streambuf = __sb; } 10143: 10143: 10143: void 10143: _M_cache_locale(const locale& __loc); 10143: }; 10143: 10143: 10143: } 10143: 10143: # 1 "/usr/include/c++/8/bits/basic_ios.tcc" 1 3 10143: # 33 "/usr/include/c++/8/bits/basic_ios.tcc" 3 10143: 10143: # 34 "/usr/include/c++/8/bits/basic_ios.tcc" 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: template 10143: void 10143: basic_ios<_CharT, _Traits>::clear(iostate __state) 10143: { 10143: if (this->rdbuf()) 10143: _M_streambuf_state = __state; 10143: else 10143: _M_streambuf_state = __state | badbit; 10143: if (this->exceptions() & this->rdstate()) 10143: __throw_ios_failure(("basic_ios::clear")); 10143: } 10143: 10143: template 10143: basic_streambuf<_CharT, _Traits>* 10143: basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb) 10143: { 10143: basic_streambuf<_CharT, _Traits>* __old = _M_streambuf; 10143: _M_streambuf = __sb; 10143: this->clear(); 10143: return __old; 10143: } 10143: 10143: template 10143: basic_ios<_CharT, _Traits>& 10143: basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs) 10143: { 10143: 10143: 10143: if (this != &__rhs) 10143: { 10143: 10143: 10143: 10143: 10143: _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ? 10143: _M_local_word : new _Words[__rhs._M_word_size]; 10143: 10143: 10143: _Callback_list* __cb = __rhs._M_callbacks; 10143: if (__cb) 10143: __cb->_M_add_reference(); 10143: _M_call_callbacks(erase_event); 10143: if (_M_word != _M_local_word) 10143: { 10143: delete [] _M_word; 10143: _M_word = 0; 10143: } 10143: _M_dispose_callbacks(); 10143: 10143: 10143: _M_callbacks = __cb; 10143: for (int __i = 0; __i < __rhs._M_word_size; ++__i) 10143: __words[__i] = __rhs._M_word[__i]; 10143: _M_word = __words; 10143: _M_word_size = __rhs._M_word_size; 10143: 10143: this->flags(__rhs.flags()); 10143: this->width(__rhs.width()); 10143: this->precision(__rhs.precision()); 10143: this->tie(__rhs.tie()); 10143: this->fill(__rhs.fill()); 10143: _M_ios_locale = __rhs.getloc(); 10143: _M_cache_locale(_M_ios_locale); 10143: 10143: _M_call_callbacks(copyfmt_event); 10143: 10143: 10143: this->exceptions(__rhs.exceptions()); 10143: } 10143: return *this; 10143: } 10143: 10143: 10143: template 10143: locale 10143: basic_ios<_CharT, _Traits>::imbue(const locale& __loc) 10143: { 10143: locale __old(this->getloc()); 10143: ios_base::imbue(__loc); 10143: _M_cache_locale(__loc); 10143: if (this->rdbuf() != 0) 10143: this->rdbuf()->pubimbue(__loc); 10143: return __old; 10143: } 10143: 10143: template 10143: void 10143: basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb) 10143: { 10143: 10143: ios_base::_M_init(); 10143: 10143: 10143: _M_cache_locale(_M_ios_locale); 10143: # 146 "/usr/include/c++/8/bits/basic_ios.tcc" 3 10143: _M_fill = _CharT(); 10143: _M_fill_init = false; 10143: 10143: _M_tie = 0; 10143: _M_exception = goodbit; 10143: _M_streambuf = __sb; 10143: _M_streambuf_state = __sb ? goodbit : badbit; 10143: } 10143: 10143: template 10143: void 10143: basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc) 10143: { 10143: if (__builtin_expect(has_facet<__ctype_type>(__loc), true)) 10143: _M_ctype = std::__addressof(use_facet<__ctype_type>(__loc)); 10143: else 10143: _M_ctype = 0; 10143: 10143: if (__builtin_expect(has_facet<__num_put_type>(__loc), true)) 10143: _M_num_put = std::__addressof(use_facet<__num_put_type>(__loc)); 10143: else 10143: _M_num_put = 0; 10143: 10143: if (__builtin_expect(has_facet<__num_get_type>(__loc), true)) 10143: _M_num_get = std::__addressof(use_facet<__num_get_type>(__loc)); 10143: else 10143: _M_num_get = 0; 10143: } 10143: 10143: 10143: 10143: 10143: extern template class basic_ios; 10143: 10143: 10143: extern template class basic_ios; 10143: 10143: 10143: 10143: 10143: } 10143: # 517 "/usr/include/c++/8/bits/basic_ios.h" 2 3 10143: # 45 "/usr/include/c++/8/ios" 2 3 10143: # 39 "/usr/include/c++/8/ostream" 2 3 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 57 "/usr/include/c++/8/ostream" 3 10143: template 10143: class basic_ostream : virtual public basic_ios<_CharT, _Traits> 10143: { 10143: public: 10143: 10143: typedef _CharT char_type; 10143: typedef typename _Traits::int_type int_type; 10143: typedef typename _Traits::pos_type pos_type; 10143: typedef typename _Traits::off_type off_type; 10143: typedef _Traits traits_type; 10143: 10143: 10143: typedef basic_streambuf<_CharT, _Traits> __streambuf_type; 10143: typedef basic_ios<_CharT, _Traits> __ios_type; 10143: typedef basic_ostream<_CharT, _Traits> __ostream_type; 10143: typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > 10143: __num_put_type; 10143: typedef ctype<_CharT> __ctype_type; 10143: # 83 "/usr/include/c++/8/ostream" 3 10143: explicit 10143: basic_ostream(__streambuf_type* __sb) 10143: { this->init(__sb); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: virtual 10143: ~basic_ostream() { } 10143: 10143: 10143: class sentry; 10143: friend class sentry; 10143: # 107 "/usr/include/c++/8/ostream" 3 10143: __ostream_type& 10143: operator<<(__ostream_type& (*__pf)(__ostream_type&)) 10143: { 10143: 10143: 10143: 10143: return __pf(*this); 10143: } 10143: 10143: __ostream_type& 10143: operator<<(__ios_type& (*__pf)(__ios_type&)) 10143: { 10143: 10143: 10143: 10143: __pf(*this); 10143: return *this; 10143: } 10143: 10143: __ostream_type& 10143: operator<<(ios_base& (*__pf) (ios_base&)) 10143: { 10143: 10143: 10143: 10143: __pf(*this); 10143: return *this; 10143: } 10143: # 165 "/usr/include/c++/8/ostream" 3 10143: __ostream_type& 10143: operator<<(long __n) 10143: { return _M_insert(__n); } 10143: 10143: __ostream_type& 10143: operator<<(unsigned long __n) 10143: { return _M_insert(__n); } 10143: 10143: __ostream_type& 10143: operator<<(bool __n) 10143: { return _M_insert(__n); } 10143: 10143: __ostream_type& 10143: operator<<(short __n); 10143: 10143: __ostream_type& 10143: operator<<(unsigned short __n) 10143: { 10143: 10143: 10143: return _M_insert(static_cast(__n)); 10143: } 10143: 10143: __ostream_type& 10143: operator<<(int __n); 10143: 10143: __ostream_type& 10143: operator<<(unsigned int __n) 10143: { 10143: 10143: 10143: return _M_insert(static_cast(__n)); 10143: } 10143: 10143: 10143: __ostream_type& 10143: operator<<(long long __n) 10143: { return _M_insert(__n); } 10143: 10143: __ostream_type& 10143: operator<<(unsigned long long __n) 10143: { return _M_insert(__n); } 10143: # 219 "/usr/include/c++/8/ostream" 3 10143: __ostream_type& 10143: operator<<(double __f) 10143: { return _M_insert(__f); } 10143: 10143: __ostream_type& 10143: operator<<(float __f) 10143: { 10143: 10143: 10143: return _M_insert(static_cast(__f)); 10143: } 10143: 10143: __ostream_type& 10143: operator<<(long double __f) 10143: { return _M_insert(__f); } 10143: # 244 "/usr/include/c++/8/ostream" 3 10143: __ostream_type& 10143: operator<<(const void* __p) 10143: { return _M_insert(__p); } 10143: # 269 "/usr/include/c++/8/ostream" 3 10143: __ostream_type& 10143: operator<<(__streambuf_type* __sb); 10143: # 302 "/usr/include/c++/8/ostream" 3 10143: __ostream_type& 10143: put(char_type __c); 10143: 10143: 10143: 10143: 10143: 10143: 10143: void 10143: _M_write(const char_type* __s, streamsize __n) 10143: { 10143: const streamsize __put = this->rdbuf()->sputn(__s, __n); 10143: if (__put != __n) 10143: this->setstate(ios_base::badbit); 10143: } 10143: # 334 "/usr/include/c++/8/ostream" 3 10143: __ostream_type& 10143: write(const char_type* __s, streamsize __n); 10143: # 347 "/usr/include/c++/8/ostream" 3 10143: __ostream_type& 10143: flush(); 10143: # 357 "/usr/include/c++/8/ostream" 3 10143: pos_type 10143: tellp(); 10143: # 368 "/usr/include/c++/8/ostream" 3 10143: __ostream_type& 10143: seekp(pos_type); 10143: # 380 "/usr/include/c++/8/ostream" 3 10143: __ostream_type& 10143: seekp(off_type, ios_base::seekdir); 10143: 10143: protected: 10143: basic_ostream() 10143: { this->init(0); } 10143: 10143: 10143: 10143: basic_ostream(basic_iostream<_CharT, _Traits>&) { } 10143: 10143: basic_ostream(const basic_ostream&) = delete; 10143: 10143: basic_ostream(basic_ostream&& __rhs) 10143: : __ios_type() 10143: { __ios_type::move(__rhs); } 10143: 10143: 10143: 10143: basic_ostream& operator=(const basic_ostream&) = delete; 10143: 10143: basic_ostream& 10143: operator=(basic_ostream&& __rhs) 10143: { 10143: swap(__rhs); 10143: return *this; 10143: } 10143: 10143: void 10143: swap(basic_ostream& __rhs) 10143: { __ios_type::swap(__rhs); } 10143: 10143: 10143: template 10143: __ostream_type& 10143: _M_insert(_ValueT __v); 10143: }; 10143: # 425 "/usr/include/c++/8/ostream" 3 10143: template 10143: class basic_ostream<_CharT, _Traits>::sentry 10143: { 10143: 10143: bool _M_ok; 10143: basic_ostream<_CharT, _Traits>& _M_os; 10143: 10143: public: 10143: # 444 "/usr/include/c++/8/ostream" 3 10143: explicit 10143: sentry(basic_ostream<_CharT, _Traits>& __os); 10143: # 454 "/usr/include/c++/8/ostream" 3 10143: ~sentry() 10143: { 10143: 10143: if (bool(_M_os.flags() & ios_base::unitbuf) && !uncaught_exception()) 10143: { 10143: 10143: if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1) 10143: _M_os.setstate(ios_base::badbit); 10143: } 10143: } 10143: # 473 "/usr/include/c++/8/ostream" 3 10143: explicit 10143: 10143: operator bool() const 10143: { return _M_ok; } 10143: }; 10143: # 495 "/usr/include/c++/8/ostream" 3 10143: template 10143: inline basic_ostream<_CharT, _Traits>& 10143: operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) 10143: { return __ostream_insert(__out, &__c, 1); } 10143: 10143: template 10143: inline basic_ostream<_CharT, _Traits>& 10143: operator<<(basic_ostream<_CharT, _Traits>& __out, char __c) 10143: { return (__out << __out.widen(__c)); } 10143: 10143: 10143: template 10143: inline basic_ostream& 10143: operator<<(basic_ostream& __out, char __c) 10143: { return __ostream_insert(__out, &__c, 1); } 10143: 10143: 10143: template 10143: inline basic_ostream& 10143: operator<<(basic_ostream& __out, signed char __c) 10143: { return (__out << static_cast(__c)); } 10143: 10143: template 10143: inline basic_ostream& 10143: operator<<(basic_ostream& __out, unsigned char __c) 10143: { return (__out << static_cast(__c)); } 10143: # 537 "/usr/include/c++/8/ostream" 3 10143: template 10143: inline basic_ostream<_CharT, _Traits>& 10143: operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) 10143: { 10143: if (!__s) 10143: __out.setstate(ios_base::badbit); 10143: else 10143: __ostream_insert(__out, __s, 10143: static_cast(_Traits::length(__s))); 10143: return __out; 10143: } 10143: 10143: template 10143: basic_ostream<_CharT, _Traits> & 10143: operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s); 10143: 10143: 10143: template 10143: inline basic_ostream& 10143: operator<<(basic_ostream& __out, const char* __s) 10143: { 10143: if (!__s) 10143: __out.setstate(ios_base::badbit); 10143: else 10143: __ostream_insert(__out, __s, 10143: static_cast(_Traits::length(__s))); 10143: return __out; 10143: } 10143: 10143: 10143: template 10143: inline basic_ostream& 10143: operator<<(basic_ostream& __out, const signed char* __s) 10143: { return (__out << reinterpret_cast(__s)); } 10143: 10143: template 10143: inline basic_ostream & 10143: operator<<(basic_ostream& __out, const unsigned char* __s) 10143: { return (__out << reinterpret_cast(__s)); } 10143: # 588 "/usr/include/c++/8/ostream" 3 10143: template 10143: inline basic_ostream<_CharT, _Traits>& 10143: endl(basic_ostream<_CharT, _Traits>& __os) 10143: { return flush(__os.put(__os.widen('\n'))); } 10143: # 600 "/usr/include/c++/8/ostream" 3 10143: template 10143: inline basic_ostream<_CharT, _Traits>& 10143: ends(basic_ostream<_CharT, _Traits>& __os) 10143: { return __os.put(_CharT()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline basic_ostream<_CharT, _Traits>& 10143: flush(basic_ostream<_CharT, _Traits>& __os) 10143: { return __os.flush(); } 10143: 10143: 10143: template 10143: basic_ostream<_Ch, _Up>& 10143: __is_convertible_to_basic_ostream_test(basic_ostream<_Ch, _Up>*); 10143: 10143: template 10143: struct __is_convertible_to_basic_ostream_impl 10143: { 10143: using __ostream_type = void; 10143: }; 10143: 10143: template 10143: using __do_is_convertible_to_basic_ostream_impl = 10143: decltype(__is_convertible_to_basic_ostream_test 10143: (declval::type*>())); 10143: 10143: template 10143: struct __is_convertible_to_basic_ostream_impl 10143: <_Tp, 10143: __void_t<__do_is_convertible_to_basic_ostream_impl<_Tp>>> 10143: { 10143: using __ostream_type = 10143: __do_is_convertible_to_basic_ostream_impl<_Tp>; 10143: }; 10143: 10143: template 10143: struct __is_convertible_to_basic_ostream 10143: : __is_convertible_to_basic_ostream_impl<_Tp> 10143: { 10143: public: 10143: using type = __not_::__ostream_type>>; 10143: constexpr static bool value = type::value; 10143: }; 10143: 10143: template 10143: struct __is_insertable : false_type {}; 10143: 10143: template 10143: struct __is_insertable<_Ostream, _Tp, 10143: __void_t() 10143: << declval())>> 10143: : true_type {}; 10143: 10143: template 10143: using __rvalue_ostream_type = 10143: typename __is_convertible_to_basic_ostream< 10143: _Ostream>::__ostream_type; 10143: # 674 "/usr/include/c++/8/ostream" 3 10143: template 10143: inline 10143: typename enable_if<__and_<__not_>, 10143: __is_convertible_to_basic_ostream<_Ostream>, 10143: __is_insertable< 10143: __rvalue_ostream_type<_Ostream>, 10143: const _Tp&>>::value, 10143: __rvalue_ostream_type<_Ostream>>::type 10143: operator<<(_Ostream&& __os, const _Tp& __x) 10143: { 10143: __rvalue_ostream_type<_Ostream> __ret_os = __os; 10143: __ret_os << __x; 10143: return __ret_os; 10143: } 10143: 10143: 10143: 10143: } 10143: 10143: # 1 "/usr/include/c++/8/bits/ostream.tcc" 1 3 10143: # 37 "/usr/include/c++/8/bits/ostream.tcc" 3 10143: 10143: # 38 "/usr/include/c++/8/bits/ostream.tcc" 3 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: template 10143: basic_ostream<_CharT, _Traits>::sentry:: 10143: sentry(basic_ostream<_CharT, _Traits>& __os) 10143: : _M_ok(false), _M_os(__os) 10143: { 10143: 10143: if (__os.tie() && __os.good()) 10143: __os.tie()->flush(); 10143: 10143: if (__os.good()) 10143: _M_ok = true; 10143: else 10143: __os.setstate(ios_base::failbit); 10143: } 10143: 10143: template 10143: template 10143: basic_ostream<_CharT, _Traits>& 10143: basic_ostream<_CharT, _Traits>:: 10143: _M_insert(_ValueT __v) 10143: { 10143: sentry __cerb(*this); 10143: if (__cerb) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (true) 10143: { 10143: const __num_put_type& __np = __check_facet(this->_M_num_put); 10143: if (__np.put(*this, *this, this->fill(), __v).failed()) 10143: __err |= ios_base::badbit; 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: if (__err) 10143: this->setstate(__err); 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: basic_ostream<_CharT, _Traits>& 10143: basic_ostream<_CharT, _Traits>:: 10143: operator<<(short __n) 10143: { 10143: 10143: 10143: const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; 10143: if (__fmt == ios_base::oct || __fmt == ios_base::hex) 10143: return _M_insert(static_cast(static_cast(__n))); 10143: else 10143: return _M_insert(static_cast(__n)); 10143: } 10143: 10143: template 10143: basic_ostream<_CharT, _Traits>& 10143: basic_ostream<_CharT, _Traits>:: 10143: operator<<(int __n) 10143: { 10143: 10143: 10143: const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; 10143: if (__fmt == ios_base::oct || __fmt == ios_base::hex) 10143: return _M_insert(static_cast(static_cast(__n))); 10143: else 10143: return _M_insert(static_cast(__n)); 10143: } 10143: 10143: template 10143: basic_ostream<_CharT, _Traits>& 10143: basic_ostream<_CharT, _Traits>:: 10143: operator<<(__streambuf_type* __sbin) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: sentry __cerb(*this); 10143: if (__cerb && __sbin) 10143: { 10143: if (true) 10143: { 10143: if (!__copy_streambufs(__sbin, this->rdbuf())) 10143: __err |= ios_base::failbit; 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::failbit); } 10143: } 10143: else if (!__sbin) 10143: __err |= ios_base::badbit; 10143: if (__err) 10143: this->setstate(__err); 10143: return *this; 10143: } 10143: 10143: template 10143: basic_ostream<_CharT, _Traits>& 10143: basic_ostream<_CharT, _Traits>:: 10143: put(char_type __c) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: sentry __cerb(*this); 10143: if (__cerb) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (true) 10143: { 10143: const int_type __put = this->rdbuf()->sputc(__c); 10143: if (traits_type::eq_int_type(__put, traits_type::eof())) 10143: __err |= ios_base::badbit; 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: if (__err) 10143: this->setstate(__err); 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: basic_ostream<_CharT, _Traits>& 10143: basic_ostream<_CharT, _Traits>:: 10143: write(const _CharT* __s, streamsize __n) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: sentry __cerb(*this); 10143: if (__cerb) 10143: { 10143: if (true) 10143: { _M_write(__s, __n); } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: basic_ostream<_CharT, _Traits>& 10143: basic_ostream<_CharT, _Traits>:: 10143: flush() 10143: { 10143: 10143: 10143: 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (true) 10143: { 10143: if (this->rdbuf() && this->rdbuf()->pubsync() == -1) 10143: __err |= ios_base::badbit; 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: if (__err) 10143: this->setstate(__err); 10143: return *this; 10143: } 10143: 10143: template 10143: typename basic_ostream<_CharT, _Traits>::pos_type 10143: basic_ostream<_CharT, _Traits>:: 10143: tellp() 10143: { 10143: pos_type __ret = pos_type(-1); 10143: if (true) 10143: { 10143: if (!this->fail()) 10143: __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out); 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: return __ret; 10143: } 10143: 10143: template 10143: basic_ostream<_CharT, _Traits>& 10143: basic_ostream<_CharT, _Traits>:: 10143: seekp(pos_type __pos) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (true) 10143: { 10143: if (!this->fail()) 10143: { 10143: 10143: 10143: const pos_type __p = this->rdbuf()->pubseekpos(__pos, 10143: ios_base::out); 10143: 10143: 10143: if (__p == pos_type(off_type(-1))) 10143: __err |= ios_base::failbit; 10143: } 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: if (__err) 10143: this->setstate(__err); 10143: return *this; 10143: } 10143: 10143: template 10143: basic_ostream<_CharT, _Traits>& 10143: basic_ostream<_CharT, _Traits>:: 10143: seekp(off_type __off, ios_base::seekdir __dir) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (true) 10143: { 10143: if (!this->fail()) 10143: { 10143: 10143: 10143: const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, 10143: ios_base::out); 10143: 10143: 10143: if (__p == pos_type(off_type(-1))) 10143: __err |= ios_base::failbit; 10143: } 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: if (__err) 10143: this->setstate(__err); 10143: return *this; 10143: } 10143: 10143: template 10143: basic_ostream<_CharT, _Traits>& 10143: operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s) 10143: { 10143: if (!__s) 10143: __out.setstate(ios_base::badbit); 10143: else 10143: { 10143: 10143: 10143: const size_t __clen = char_traits::length(__s); 10143: if (true) 10143: { 10143: struct __ptr_guard 10143: { 10143: _CharT *__p; 10143: __ptr_guard (_CharT *__ip): __p(__ip) { } 10143: ~__ptr_guard() { delete[] __p; } 10143: _CharT* __get() { return __p; } 10143: } __pg (new _CharT[__clen]); 10143: 10143: _CharT *__ws = __pg.__get(); 10143: for (size_t __i = 0; __i < __clen; ++__i) 10143: __ws[__i] = __out.widen(__s[__i]); 10143: __ostream_insert(__out, __ws, __clen); 10143: } 10143: if (false) 10143: { 10143: __out._M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { __out._M_setstate(ios_base::badbit); } 10143: } 10143: return __out; 10143: } 10143: 10143: 10143: 10143: 10143: extern template class basic_ostream; 10143: extern template ostream& endl(ostream&); 10143: extern template ostream& ends(ostream&); 10143: extern template ostream& flush(ostream&); 10143: extern template ostream& operator<<(ostream&, char); 10143: extern template ostream& operator<<(ostream&, unsigned char); 10143: extern template ostream& operator<<(ostream&, signed char); 10143: extern template ostream& operator<<(ostream&, const char*); 10143: extern template ostream& operator<<(ostream&, const unsigned char*); 10143: extern template ostream& operator<<(ostream&, const signed char*); 10143: 10143: extern template ostream& ostream::_M_insert(long); 10143: extern template ostream& ostream::_M_insert(unsigned long); 10143: extern template ostream& ostream::_M_insert(bool); 10143: 10143: extern template ostream& ostream::_M_insert(long long); 10143: extern template ostream& ostream::_M_insert(unsigned long long); 10143: 10143: extern template ostream& ostream::_M_insert(double); 10143: extern template ostream& ostream::_M_insert(long double); 10143: extern template ostream& ostream::_M_insert(const void*); 10143: 10143: 10143: extern template class basic_ostream; 10143: extern template wostream& endl(wostream&); 10143: extern template wostream& ends(wostream&); 10143: extern template wostream& flush(wostream&); 10143: extern template wostream& operator<<(wostream&, wchar_t); 10143: extern template wostream& operator<<(wostream&, char); 10143: extern template wostream& operator<<(wostream&, const wchar_t*); 10143: extern template wostream& operator<<(wostream&, const char*); 10143: 10143: extern template wostream& wostream::_M_insert(long); 10143: extern template wostream& wostream::_M_insert(unsigned long); 10143: extern template wostream& wostream::_M_insert(bool); 10143: 10143: extern template wostream& wostream::_M_insert(long long); 10143: extern template wostream& wostream::_M_insert(unsigned long long); 10143: 10143: extern template wostream& wostream::_M_insert(double); 10143: extern template wostream& wostream::_M_insert(long double); 10143: extern template wostream& wostream::_M_insert(const void*); 10143: 10143: 10143: 10143: 10143: } 10143: # 694 "/usr/include/c++/8/ostream" 2 3 10143: # 65 "/usr/include/c++/8/iterator" 2 3 10143: # 1 "/usr/include/c++/8/istream" 1 3 10143: # 36 "/usr/include/c++/8/istream" 3 10143: 10143: # 37 "/usr/include/c++/8/istream" 3 10143: 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 57 "/usr/include/c++/8/istream" 3 10143: template 10143: class basic_istream : virtual public basic_ios<_CharT, _Traits> 10143: { 10143: public: 10143: 10143: typedef _CharT char_type; 10143: typedef typename _Traits::int_type int_type; 10143: typedef typename _Traits::pos_type pos_type; 10143: typedef typename _Traits::off_type off_type; 10143: typedef _Traits traits_type; 10143: 10143: 10143: typedef basic_streambuf<_CharT, _Traits> __streambuf_type; 10143: typedef basic_ios<_CharT, _Traits> __ios_type; 10143: typedef basic_istream<_CharT, _Traits> __istream_type; 10143: typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > 10143: __num_get_type; 10143: typedef ctype<_CharT> __ctype_type; 10143: 10143: protected: 10143: 10143: 10143: 10143: 10143: 10143: streamsize _M_gcount; 10143: 10143: public: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: explicit 10143: basic_istream(__streambuf_type* __sb) 10143: : _M_gcount(streamsize(0)) 10143: { this->init(__sb); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: virtual 10143: ~basic_istream() 10143: { _M_gcount = streamsize(0); } 10143: 10143: 10143: class sentry; 10143: friend class sentry; 10143: # 119 "/usr/include/c++/8/istream" 3 10143: __istream_type& 10143: operator>>(__istream_type& (*__pf)(__istream_type&)) 10143: { return __pf(*this); } 10143: 10143: __istream_type& 10143: operator>>(__ios_type& (*__pf)(__ios_type&)) 10143: { 10143: __pf(*this); 10143: return *this; 10143: } 10143: 10143: __istream_type& 10143: operator>>(ios_base& (*__pf)(ios_base&)) 10143: { 10143: __pf(*this); 10143: return *this; 10143: } 10143: # 167 "/usr/include/c++/8/istream" 3 10143: __istream_type& 10143: operator>>(bool& __n) 10143: { return _M_extract(__n); } 10143: 10143: __istream_type& 10143: operator>>(short& __n); 10143: 10143: __istream_type& 10143: operator>>(unsigned short& __n) 10143: { return _M_extract(__n); } 10143: 10143: __istream_type& 10143: operator>>(int& __n); 10143: 10143: __istream_type& 10143: operator>>(unsigned int& __n) 10143: { return _M_extract(__n); } 10143: 10143: __istream_type& 10143: operator>>(long& __n) 10143: { return _M_extract(__n); } 10143: 10143: __istream_type& 10143: operator>>(unsigned long& __n) 10143: { return _M_extract(__n); } 10143: 10143: 10143: __istream_type& 10143: operator>>(long long& __n) 10143: { return _M_extract(__n); } 10143: 10143: __istream_type& 10143: operator>>(unsigned long long& __n) 10143: { return _M_extract(__n); } 10143: # 213 "/usr/include/c++/8/istream" 3 10143: __istream_type& 10143: operator>>(float& __f) 10143: { return _M_extract(__f); } 10143: 10143: __istream_type& 10143: operator>>(double& __f) 10143: { return _M_extract(__f); } 10143: 10143: __istream_type& 10143: operator>>(long double& __f) 10143: { return _M_extract(__f); } 10143: # 234 "/usr/include/c++/8/istream" 3 10143: __istream_type& 10143: operator>>(void*& __p) 10143: { return _M_extract(__p); } 10143: # 258 "/usr/include/c++/8/istream" 3 10143: __istream_type& 10143: operator>>(__streambuf_type* __sb); 10143: # 268 "/usr/include/c++/8/istream" 3 10143: streamsize 10143: gcount() const 10143: { return _M_gcount; } 10143: # 301 "/usr/include/c++/8/istream" 3 10143: int_type 10143: get(); 10143: # 315 "/usr/include/c++/8/istream" 3 10143: __istream_type& 10143: get(char_type& __c); 10143: # 342 "/usr/include/c++/8/istream" 3 10143: __istream_type& 10143: get(char_type* __s, streamsize __n, char_type __delim); 10143: # 353 "/usr/include/c++/8/istream" 3 10143: __istream_type& 10143: get(char_type* __s, streamsize __n) 10143: { return this->get(__s, __n, this->widen('\n')); } 10143: # 376 "/usr/include/c++/8/istream" 3 10143: __istream_type& 10143: get(__streambuf_type& __sb, char_type __delim); 10143: # 386 "/usr/include/c++/8/istream" 3 10143: __istream_type& 10143: get(__streambuf_type& __sb) 10143: { return this->get(__sb, this->widen('\n')); } 10143: # 415 "/usr/include/c++/8/istream" 3 10143: __istream_type& 10143: getline(char_type* __s, streamsize __n, char_type __delim); 10143: # 426 "/usr/include/c++/8/istream" 3 10143: __istream_type& 10143: getline(char_type* __s, streamsize __n) 10143: { return this->getline(__s, __n, this->widen('\n')); } 10143: # 450 "/usr/include/c++/8/istream" 3 10143: __istream_type& 10143: ignore(streamsize __n, int_type __delim); 10143: 10143: __istream_type& 10143: ignore(streamsize __n); 10143: 10143: __istream_type& 10143: ignore(); 10143: # 467 "/usr/include/c++/8/istream" 3 10143: int_type 10143: peek(); 10143: # 485 "/usr/include/c++/8/istream" 3 10143: __istream_type& 10143: read(char_type* __s, streamsize __n); 10143: # 504 "/usr/include/c++/8/istream" 3 10143: streamsize 10143: readsome(char_type* __s, streamsize __n); 10143: # 521 "/usr/include/c++/8/istream" 3 10143: __istream_type& 10143: putback(char_type __c); 10143: # 537 "/usr/include/c++/8/istream" 3 10143: __istream_type& 10143: unget(); 10143: # 555 "/usr/include/c++/8/istream" 3 10143: int 10143: sync(); 10143: # 570 "/usr/include/c++/8/istream" 3 10143: pos_type 10143: tellg(); 10143: # 585 "/usr/include/c++/8/istream" 3 10143: __istream_type& 10143: seekg(pos_type); 10143: # 601 "/usr/include/c++/8/istream" 3 10143: __istream_type& 10143: seekg(off_type, ios_base::seekdir); 10143: 10143: 10143: protected: 10143: basic_istream() 10143: : _M_gcount(streamsize(0)) 10143: { this->init(0); } 10143: 10143: 10143: basic_istream(const basic_istream&) = delete; 10143: 10143: basic_istream(basic_istream&& __rhs) 10143: : __ios_type(), _M_gcount(__rhs._M_gcount) 10143: { 10143: __ios_type::move(__rhs); 10143: __rhs._M_gcount = 0; 10143: } 10143: 10143: 10143: 10143: basic_istream& operator=(const basic_istream&) = delete; 10143: 10143: basic_istream& 10143: operator=(basic_istream&& __rhs) 10143: { 10143: swap(__rhs); 10143: return *this; 10143: } 10143: 10143: void 10143: swap(basic_istream& __rhs) 10143: { 10143: __ios_type::swap(__rhs); 10143: std::swap(_M_gcount, __rhs._M_gcount); 10143: } 10143: 10143: 10143: template 10143: __istream_type& 10143: _M_extract(_ValueT& __v); 10143: }; 10143: 10143: 10143: template<> 10143: basic_istream& 10143: basic_istream:: 10143: getline(char_type* __s, streamsize __n, char_type __delim); 10143: 10143: template<> 10143: basic_istream& 10143: basic_istream:: 10143: ignore(streamsize __n); 10143: 10143: template<> 10143: basic_istream& 10143: basic_istream:: 10143: ignore(streamsize __n, int_type __delim); 10143: 10143: 10143: template<> 10143: basic_istream& 10143: basic_istream:: 10143: getline(char_type* __s, streamsize __n, char_type __delim); 10143: 10143: template<> 10143: basic_istream& 10143: basic_istream:: 10143: ignore(streamsize __n); 10143: 10143: template<> 10143: basic_istream& 10143: basic_istream:: 10143: ignore(streamsize __n, int_type __delim); 10143: # 685 "/usr/include/c++/8/istream" 3 10143: template 10143: class basic_istream<_CharT, _Traits>::sentry 10143: { 10143: 10143: bool _M_ok; 10143: 10143: public: 10143: 10143: typedef _Traits traits_type; 10143: typedef basic_streambuf<_CharT, _Traits> __streambuf_type; 10143: typedef basic_istream<_CharT, _Traits> __istream_type; 10143: typedef typename __istream_type::__ctype_type __ctype_type; 10143: typedef typename _Traits::int_type __int_type; 10143: # 721 "/usr/include/c++/8/istream" 3 10143: explicit 10143: sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false); 10143: # 732 "/usr/include/c++/8/istream" 3 10143: explicit 10143: 10143: operator bool() const 10143: { return _M_ok; } 10143: }; 10143: # 750 "/usr/include/c++/8/istream" 3 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c); 10143: 10143: template 10143: inline basic_istream& 10143: operator>>(basic_istream& __in, unsigned char& __c) 10143: { return (__in >> reinterpret_cast(__c)); } 10143: 10143: template 10143: inline basic_istream& 10143: operator>>(basic_istream& __in, signed char& __c) 10143: { return (__in >> reinterpret_cast(__c)); } 10143: # 792 "/usr/include/c++/8/istream" 3 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s); 10143: 10143: 10143: template<> 10143: basic_istream& 10143: operator>>(basic_istream& __in, char* __s); 10143: 10143: template 10143: inline basic_istream& 10143: operator>>(basic_istream& __in, unsigned char* __s) 10143: { return (__in >> reinterpret_cast(__s)); } 10143: 10143: template 10143: inline basic_istream& 10143: operator>>(basic_istream& __in, signed char* __s) 10143: { return (__in >> reinterpret_cast(__s)); } 10143: # 823 "/usr/include/c++/8/istream" 3 10143: template 10143: class basic_iostream 10143: : public basic_istream<_CharT, _Traits>, 10143: public basic_ostream<_CharT, _Traits> 10143: { 10143: public: 10143: 10143: 10143: 10143: typedef _CharT char_type; 10143: typedef typename _Traits::int_type int_type; 10143: typedef typename _Traits::pos_type pos_type; 10143: typedef typename _Traits::off_type off_type; 10143: typedef _Traits traits_type; 10143: 10143: 10143: typedef basic_istream<_CharT, _Traits> __istream_type; 10143: typedef basic_ostream<_CharT, _Traits> __ostream_type; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: explicit 10143: basic_iostream(basic_streambuf<_CharT, _Traits>* __sb) 10143: : __istream_type(__sb), __ostream_type(__sb) { } 10143: 10143: 10143: 10143: 10143: virtual 10143: ~basic_iostream() { } 10143: 10143: protected: 10143: basic_iostream() 10143: : __istream_type(), __ostream_type() { } 10143: 10143: 10143: basic_iostream(const basic_iostream&) = delete; 10143: 10143: basic_iostream(basic_iostream&& __rhs) 10143: : __istream_type(std::move(__rhs)), __ostream_type(*this) 10143: { } 10143: 10143: 10143: 10143: basic_iostream& operator=(const basic_iostream&) = delete; 10143: 10143: basic_iostream& 10143: operator=(basic_iostream&& __rhs) 10143: { 10143: swap(__rhs); 10143: return *this; 10143: } 10143: 10143: void 10143: swap(basic_iostream& __rhs) 10143: { __istream_type::swap(__rhs); } 10143: 10143: }; 10143: # 906 "/usr/include/c++/8/istream" 3 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: ws(basic_istream<_CharT, _Traits>& __is); 10143: 10143: 10143: template 10143: basic_istream<_Ch, _Up>& 10143: __is_convertible_to_basic_istream_test(basic_istream<_Ch, _Up>*); 10143: 10143: template 10143: struct __is_convertible_to_basic_istream_impl 10143: { 10143: using __istream_type = void; 10143: }; 10143: 10143: template 10143: using __do_is_convertible_to_basic_istream_impl = 10143: decltype(__is_convertible_to_basic_istream_test 10143: (declval::type*>())); 10143: 10143: template 10143: struct __is_convertible_to_basic_istream_impl 10143: <_Tp, 10143: __void_t<__do_is_convertible_to_basic_istream_impl<_Tp>>> 10143: { 10143: using __istream_type = 10143: __do_is_convertible_to_basic_istream_impl<_Tp>; 10143: }; 10143: 10143: template 10143: struct __is_convertible_to_basic_istream 10143: : __is_convertible_to_basic_istream_impl<_Tp> 10143: { 10143: public: 10143: using type = __not_::__istream_type>>; 10143: constexpr static bool value = type::value; 10143: }; 10143: 10143: template 10143: struct __is_extractable : false_type {}; 10143: 10143: template 10143: struct __is_extractable<_Istream, _Tp, 10143: __void_t() 10143: >> declval<_Tp>())>> 10143: : true_type {}; 10143: 10143: template 10143: using __rvalue_istream_type = 10143: typename __is_convertible_to_basic_istream< 10143: _Istream>::__istream_type; 10143: # 972 "/usr/include/c++/8/istream" 3 10143: template 10143: inline 10143: typename enable_if<__and_<__not_>, 10143: __is_convertible_to_basic_istream<_Istream>, 10143: __is_extractable< 10143: __rvalue_istream_type<_Istream>, 10143: _Tp&&>>::value, 10143: __rvalue_istream_type<_Istream>>::type 10143: operator>>(_Istream&& __is, _Tp&& __x) 10143: { 10143: __rvalue_istream_type<_Istream> __ret_is = __is; 10143: __ret_is >> std::forward<_Tp>(__x); 10143: return __ret_is; 10143: } 10143: 10143: 10143: 10143: } 10143: 10143: # 1 "/usr/include/c++/8/bits/istream.tcc" 1 3 10143: # 37 "/usr/include/c++/8/bits/istream.tcc" 3 10143: 10143: # 38 "/usr/include/c++/8/bits/istream.tcc" 3 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: template 10143: basic_istream<_CharT, _Traits>::sentry:: 10143: sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (__in.good()) 10143: if (true) 10143: { 10143: if (__in.tie()) 10143: __in.tie()->flush(); 10143: if (!__noskip && bool(__in.flags() & ios_base::skipws)) 10143: { 10143: const __int_type __eof = traits_type::eof(); 10143: __streambuf_type* __sb = __in.rdbuf(); 10143: __int_type __c = __sb->sgetc(); 10143: 10143: const __ctype_type& __ct = __check_facet(__in._M_ctype); 10143: while (!traits_type::eq_int_type(__c, __eof) 10143: && __ct.is(ctype_base::space, 10143: traits_type::to_char_type(__c))) 10143: __c = __sb->snextc(); 10143: 10143: 10143: 10143: 10143: if (traits_type::eq_int_type(__c, __eof)) 10143: __err |= ios_base::eofbit; 10143: } 10143: } 10143: if (false) 10143: { 10143: __in._M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { __in._M_setstate(ios_base::badbit); } 10143: 10143: if (__in.good() && __err == ios_base::goodbit) 10143: _M_ok = true; 10143: else 10143: { 10143: __err |= ios_base::failbit; 10143: __in.setstate(__err); 10143: } 10143: } 10143: 10143: template 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: basic_istream<_CharT, _Traits>:: 10143: _M_extract(_ValueT& __v) 10143: { 10143: sentry __cerb(*this, false); 10143: if (__cerb) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (true) 10143: { 10143: const __num_get_type& __ng = __check_facet(this->_M_num_get); 10143: __ng.get(*this, 0, *this, __err, __v); 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: if (__err) 10143: this->setstate(__err); 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: basic_istream<_CharT, _Traits>:: 10143: operator>>(short& __n) 10143: { 10143: 10143: 10143: sentry __cerb(*this, false); 10143: if (__cerb) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (true) 10143: { 10143: long __l; 10143: const __num_get_type& __ng = __check_facet(this->_M_num_get); 10143: __ng.get(*this, 0, *this, __err, __l); 10143: 10143: 10143: 10143: if (__l < __gnu_cxx::__numeric_traits::__min) 10143: { 10143: __err |= ios_base::failbit; 10143: __n = __gnu_cxx::__numeric_traits::__min; 10143: } 10143: else if (__l > __gnu_cxx::__numeric_traits::__max) 10143: { 10143: __err |= ios_base::failbit; 10143: __n = __gnu_cxx::__numeric_traits::__max; 10143: } 10143: else 10143: __n = short(__l); 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: if (__err) 10143: this->setstate(__err); 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: basic_istream<_CharT, _Traits>:: 10143: operator>>(int& __n) 10143: { 10143: 10143: 10143: sentry __cerb(*this, false); 10143: if (__cerb) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (true) 10143: { 10143: long __l; 10143: const __num_get_type& __ng = __check_facet(this->_M_num_get); 10143: __ng.get(*this, 0, *this, __err, __l); 10143: 10143: 10143: 10143: if (__l < __gnu_cxx::__numeric_traits::__min) 10143: { 10143: __err |= ios_base::failbit; 10143: __n = __gnu_cxx::__numeric_traits::__min; 10143: } 10143: else if (__l > __gnu_cxx::__numeric_traits::__max) 10143: { 10143: __err |= ios_base::failbit; 10143: __n = __gnu_cxx::__numeric_traits::__max; 10143: } 10143: else 10143: __n = int(__l); 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: if (__err) 10143: this->setstate(__err); 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: basic_istream<_CharT, _Traits>:: 10143: operator>>(__streambuf_type* __sbout) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: sentry __cerb(*this, false); 10143: if (__cerb && __sbout) 10143: { 10143: if (true) 10143: { 10143: bool __ineof; 10143: if (!__copy_streambufs_eof(this->rdbuf(), __sbout, __ineof)) 10143: __err |= ios_base::failbit; 10143: if (__ineof) 10143: __err |= ios_base::eofbit; 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::failbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::failbit); } 10143: } 10143: else if (!__sbout) 10143: __err |= ios_base::failbit; 10143: if (__err) 10143: this->setstate(__err); 10143: return *this; 10143: } 10143: 10143: template 10143: typename basic_istream<_CharT, _Traits>::int_type 10143: basic_istream<_CharT, _Traits>:: 10143: get(void) 10143: { 10143: const int_type __eof = traits_type::eof(); 10143: int_type __c = __eof; 10143: _M_gcount = 0; 10143: ios_base::iostate __err = ios_base::goodbit; 10143: sentry __cerb(*this, true); 10143: if (__cerb) 10143: { 10143: if (true) 10143: { 10143: __c = this->rdbuf()->sbumpc(); 10143: 10143: if (!traits_type::eq_int_type(__c, __eof)) 10143: _M_gcount = 1; 10143: else 10143: __err |= ios_base::eofbit; 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: } 10143: if (!_M_gcount) 10143: __err |= ios_base::failbit; 10143: if (__err) 10143: this->setstate(__err); 10143: return __c; 10143: } 10143: 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: basic_istream<_CharT, _Traits>:: 10143: get(char_type& __c) 10143: { 10143: _M_gcount = 0; 10143: ios_base::iostate __err = ios_base::goodbit; 10143: sentry __cerb(*this, true); 10143: if (__cerb) 10143: { 10143: if (true) 10143: { 10143: const int_type __cb = this->rdbuf()->sbumpc(); 10143: 10143: if (!traits_type::eq_int_type(__cb, traits_type::eof())) 10143: { 10143: _M_gcount = 1; 10143: __c = traits_type::to_char_type(__cb); 10143: } 10143: else 10143: __err |= ios_base::eofbit; 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: } 10143: if (!_M_gcount) 10143: __err |= ios_base::failbit; 10143: if (__err) 10143: this->setstate(__err); 10143: return *this; 10143: } 10143: 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: basic_istream<_CharT, _Traits>:: 10143: get(char_type* __s, streamsize __n, char_type __delim) 10143: { 10143: _M_gcount = 0; 10143: ios_base::iostate __err = ios_base::goodbit; 10143: sentry __cerb(*this, true); 10143: if (__cerb) 10143: { 10143: if (true) 10143: { 10143: const int_type __idelim = traits_type::to_int_type(__delim); 10143: const int_type __eof = traits_type::eof(); 10143: __streambuf_type* __sb = this->rdbuf(); 10143: int_type __c = __sb->sgetc(); 10143: 10143: while (_M_gcount + 1 < __n 10143: && !traits_type::eq_int_type(__c, __eof) 10143: && !traits_type::eq_int_type(__c, __idelim)) 10143: { 10143: *__s++ = traits_type::to_char_type(__c); 10143: ++_M_gcount; 10143: __c = __sb->snextc(); 10143: } 10143: if (traits_type::eq_int_type(__c, __eof)) 10143: __err |= ios_base::eofbit; 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: } 10143: 10143: 10143: if (__n > 0) 10143: *__s = char_type(); 10143: if (!_M_gcount) 10143: __err |= ios_base::failbit; 10143: if (__err) 10143: this->setstate(__err); 10143: return *this; 10143: } 10143: 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: basic_istream<_CharT, _Traits>:: 10143: get(__streambuf_type& __sb, char_type __delim) 10143: { 10143: _M_gcount = 0; 10143: ios_base::iostate __err = ios_base::goodbit; 10143: sentry __cerb(*this, true); 10143: if (__cerb) 10143: { 10143: if (true) 10143: { 10143: const int_type __idelim = traits_type::to_int_type(__delim); 10143: const int_type __eof = traits_type::eof(); 10143: __streambuf_type* __this_sb = this->rdbuf(); 10143: int_type __c = __this_sb->sgetc(); 10143: char_type __c2 = traits_type::to_char_type(__c); 10143: 10143: while (!traits_type::eq_int_type(__c, __eof) 10143: && !traits_type::eq_int_type(__c, __idelim) 10143: && !traits_type::eq_int_type(__sb.sputc(__c2), __eof)) 10143: { 10143: ++_M_gcount; 10143: __c = __this_sb->snextc(); 10143: __c2 = traits_type::to_char_type(__c); 10143: } 10143: if (traits_type::eq_int_type(__c, __eof)) 10143: __err |= ios_base::eofbit; 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: } 10143: if (!_M_gcount) 10143: __err |= ios_base::failbit; 10143: if (__err) 10143: this->setstate(__err); 10143: return *this; 10143: } 10143: 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: basic_istream<_CharT, _Traits>:: 10143: getline(char_type* __s, streamsize __n, char_type __delim) 10143: { 10143: _M_gcount = 0; 10143: ios_base::iostate __err = ios_base::goodbit; 10143: sentry __cerb(*this, true); 10143: if (__cerb) 10143: { 10143: if (true) 10143: { 10143: const int_type __idelim = traits_type::to_int_type(__delim); 10143: const int_type __eof = traits_type::eof(); 10143: __streambuf_type* __sb = this->rdbuf(); 10143: int_type __c = __sb->sgetc(); 10143: 10143: while (_M_gcount + 1 < __n 10143: && !traits_type::eq_int_type(__c, __eof) 10143: && !traits_type::eq_int_type(__c, __idelim)) 10143: { 10143: *__s++ = traits_type::to_char_type(__c); 10143: __c = __sb->snextc(); 10143: ++_M_gcount; 10143: } 10143: if (traits_type::eq_int_type(__c, __eof)) 10143: __err |= ios_base::eofbit; 10143: else 10143: { 10143: if (traits_type::eq_int_type(__c, __idelim)) 10143: { 10143: __sb->sbumpc(); 10143: ++_M_gcount; 10143: } 10143: else 10143: __err |= ios_base::failbit; 10143: } 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: } 10143: 10143: 10143: if (__n > 0) 10143: *__s = char_type(); 10143: if (!_M_gcount) 10143: __err |= ios_base::failbit; 10143: if (__err) 10143: this->setstate(__err); 10143: return *this; 10143: } 10143: 10143: 10143: 10143: 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: basic_istream<_CharT, _Traits>:: 10143: ignore(void) 10143: { 10143: _M_gcount = 0; 10143: sentry __cerb(*this, true); 10143: if (__cerb) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (true) 10143: { 10143: const int_type __eof = traits_type::eof(); 10143: __streambuf_type* __sb = this->rdbuf(); 10143: 10143: if (traits_type::eq_int_type(__sb->sbumpc(), __eof)) 10143: __err |= ios_base::eofbit; 10143: else 10143: _M_gcount = 1; 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: if (__err) 10143: this->setstate(__err); 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: basic_istream<_CharT, _Traits>:: 10143: ignore(streamsize __n) 10143: { 10143: _M_gcount = 0; 10143: sentry __cerb(*this, true); 10143: if (__cerb && __n > 0) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (true) 10143: { 10143: const int_type __eof = traits_type::eof(); 10143: __streambuf_type* __sb = this->rdbuf(); 10143: int_type __c = __sb->sgetc(); 10143: # 521 "/usr/include/c++/8/bits/istream.tcc" 3 10143: bool __large_ignore = false; 10143: while (true) 10143: { 10143: while (_M_gcount < __n 10143: && !traits_type::eq_int_type(__c, __eof)) 10143: { 10143: ++_M_gcount; 10143: __c = __sb->snextc(); 10143: } 10143: if (__n == __gnu_cxx::__numeric_traits::__max 10143: && !traits_type::eq_int_type(__c, __eof)) 10143: { 10143: _M_gcount = 10143: __gnu_cxx::__numeric_traits::__min; 10143: __large_ignore = true; 10143: } 10143: else 10143: break; 10143: } 10143: 10143: if (__large_ignore) 10143: _M_gcount = __gnu_cxx::__numeric_traits::__max; 10143: 10143: if (traits_type::eq_int_type(__c, __eof)) 10143: __err |= ios_base::eofbit; 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: if (__err) 10143: this->setstate(__err); 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: basic_istream<_CharT, _Traits>:: 10143: ignore(streamsize __n, int_type __delim) 10143: { 10143: _M_gcount = 0; 10143: sentry __cerb(*this, true); 10143: if (__cerb && __n > 0) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (true) 10143: { 10143: const int_type __eof = traits_type::eof(); 10143: __streambuf_type* __sb = this->rdbuf(); 10143: int_type __c = __sb->sgetc(); 10143: 10143: 10143: bool __large_ignore = false; 10143: while (true) 10143: { 10143: while (_M_gcount < __n 10143: && !traits_type::eq_int_type(__c, __eof) 10143: && !traits_type::eq_int_type(__c, __delim)) 10143: { 10143: ++_M_gcount; 10143: __c = __sb->snextc(); 10143: } 10143: if (__n == __gnu_cxx::__numeric_traits::__max 10143: && !traits_type::eq_int_type(__c, __eof) 10143: && !traits_type::eq_int_type(__c, __delim)) 10143: { 10143: _M_gcount = 10143: __gnu_cxx::__numeric_traits::__min; 10143: __large_ignore = true; 10143: } 10143: else 10143: break; 10143: } 10143: 10143: if (__large_ignore) 10143: _M_gcount = __gnu_cxx::__numeric_traits::__max; 10143: 10143: if (traits_type::eq_int_type(__c, __eof)) 10143: __err |= ios_base::eofbit; 10143: else if (traits_type::eq_int_type(__c, __delim)) 10143: { 10143: if (_M_gcount 10143: < __gnu_cxx::__numeric_traits::__max) 10143: ++_M_gcount; 10143: __sb->sbumpc(); 10143: } 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: if (__err) 10143: this->setstate(__err); 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: typename basic_istream<_CharT, _Traits>::int_type 10143: basic_istream<_CharT, _Traits>:: 10143: peek(void) 10143: { 10143: int_type __c = traits_type::eof(); 10143: _M_gcount = 0; 10143: sentry __cerb(*this, true); 10143: if (__cerb) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (true) 10143: { 10143: __c = this->rdbuf()->sgetc(); 10143: if (traits_type::eq_int_type(__c, traits_type::eof())) 10143: __err |= ios_base::eofbit; 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: if (__err) 10143: this->setstate(__err); 10143: } 10143: return __c; 10143: } 10143: 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: basic_istream<_CharT, _Traits>:: 10143: read(char_type* __s, streamsize __n) 10143: { 10143: _M_gcount = 0; 10143: sentry __cerb(*this, true); 10143: if (__cerb) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (true) 10143: { 10143: _M_gcount = this->rdbuf()->sgetn(__s, __n); 10143: if (_M_gcount != __n) 10143: __err |= (ios_base::eofbit | ios_base::failbit); 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: if (__err) 10143: this->setstate(__err); 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: streamsize 10143: basic_istream<_CharT, _Traits>:: 10143: readsome(char_type* __s, streamsize __n) 10143: { 10143: _M_gcount = 0; 10143: sentry __cerb(*this, true); 10143: if (__cerb) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (true) 10143: { 10143: 10143: const streamsize __num = this->rdbuf()->in_avail(); 10143: if (__num > 0) 10143: _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n)); 10143: else if (__num == -1) 10143: __err |= ios_base::eofbit; 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: if (__err) 10143: this->setstate(__err); 10143: } 10143: return _M_gcount; 10143: } 10143: 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: basic_istream<_CharT, _Traits>:: 10143: putback(char_type __c) 10143: { 10143: 10143: 10143: _M_gcount = 0; 10143: 10143: this->clear(this->rdstate() & ~ios_base::eofbit); 10143: sentry __cerb(*this, true); 10143: if (__cerb) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (true) 10143: { 10143: const int_type __eof = traits_type::eof(); 10143: __streambuf_type* __sb = this->rdbuf(); 10143: if (!__sb 10143: || traits_type::eq_int_type(__sb->sputbackc(__c), __eof)) 10143: __err |= ios_base::badbit; 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: if (__err) 10143: this->setstate(__err); 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: basic_istream<_CharT, _Traits>:: 10143: unget(void) 10143: { 10143: 10143: 10143: _M_gcount = 0; 10143: 10143: this->clear(this->rdstate() & ~ios_base::eofbit); 10143: sentry __cerb(*this, true); 10143: if (__cerb) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (true) 10143: { 10143: const int_type __eof = traits_type::eof(); 10143: __streambuf_type* __sb = this->rdbuf(); 10143: if (!__sb 10143: || traits_type::eq_int_type(__sb->sungetc(), __eof)) 10143: __err |= ios_base::badbit; 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: if (__err) 10143: this->setstate(__err); 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: int 10143: basic_istream<_CharT, _Traits>:: 10143: sync(void) 10143: { 10143: 10143: 10143: int __ret = -1; 10143: sentry __cerb(*this, true); 10143: if (__cerb) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (true) 10143: { 10143: __streambuf_type* __sb = this->rdbuf(); 10143: if (__sb) 10143: { 10143: if (__sb->pubsync() == -1) 10143: __err |= ios_base::badbit; 10143: else 10143: __ret = 0; 10143: } 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: if (__err) 10143: this->setstate(__err); 10143: } 10143: return __ret; 10143: } 10143: 10143: template 10143: typename basic_istream<_CharT, _Traits>::pos_type 10143: basic_istream<_CharT, _Traits>:: 10143: tellg(void) 10143: { 10143: 10143: 10143: pos_type __ret = pos_type(-1); 10143: sentry __cerb(*this, true); 10143: if (__cerb) 10143: { 10143: if (true) 10143: { 10143: if (!this->fail()) 10143: __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, 10143: ios_base::in); 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: } 10143: return __ret; 10143: } 10143: 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: basic_istream<_CharT, _Traits>:: 10143: seekg(pos_type __pos) 10143: { 10143: 10143: 10143: 10143: this->clear(this->rdstate() & ~ios_base::eofbit); 10143: sentry __cerb(*this, true); 10143: if (__cerb) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (true) 10143: { 10143: if (!this->fail()) 10143: { 10143: 10143: const pos_type __p = this->rdbuf()->pubseekpos(__pos, 10143: ios_base::in); 10143: 10143: 10143: if (__p == pos_type(off_type(-1))) 10143: __err |= ios_base::failbit; 10143: } 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: if (__err) 10143: this->setstate(__err); 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: basic_istream<_CharT, _Traits>:: 10143: seekg(off_type __off, ios_base::seekdir __dir) 10143: { 10143: 10143: 10143: 10143: this->clear(this->rdstate() & ~ios_base::eofbit); 10143: sentry __cerb(*this, true); 10143: if (__cerb) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (true) 10143: { 10143: if (!this->fail()) 10143: { 10143: 10143: const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, 10143: ios_base::in); 10143: 10143: 10143: if (__p == pos_type(off_type(-1))) 10143: __err |= ios_base::failbit; 10143: } 10143: } 10143: if (false) 10143: { 10143: this->_M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { this->_M_setstate(ios_base::badbit); } 10143: if (__err) 10143: this->setstate(__err); 10143: } 10143: return *this; 10143: } 10143: 10143: 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c) 10143: { 10143: typedef basic_istream<_CharT, _Traits> __istream_type; 10143: typedef typename __istream_type::int_type __int_type; 10143: 10143: typename __istream_type::sentry __cerb(__in, false); 10143: if (__cerb) 10143: { 10143: ios_base::iostate __err = ios_base::goodbit; 10143: if (true) 10143: { 10143: const __int_type __cb = __in.rdbuf()->sbumpc(); 10143: if (!_Traits::eq_int_type(__cb, _Traits::eof())) 10143: __c = _Traits::to_char_type(__cb); 10143: else 10143: __err |= (ios_base::eofbit | ios_base::failbit); 10143: } 10143: if (false) 10143: { 10143: __in._M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { __in._M_setstate(ios_base::badbit); } 10143: if (__err) 10143: __in.setstate(__err); 10143: } 10143: return __in; 10143: } 10143: 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s) 10143: { 10143: typedef basic_istream<_CharT, _Traits> __istream_type; 10143: typedef basic_streambuf<_CharT, _Traits> __streambuf_type; 10143: typedef typename _Traits::int_type int_type; 10143: typedef _CharT char_type; 10143: typedef ctype<_CharT> __ctype_type; 10143: 10143: streamsize __extracted = 0; 10143: ios_base::iostate __err = ios_base::goodbit; 10143: typename __istream_type::sentry __cerb(__in, false); 10143: if (__cerb) 10143: { 10143: if (true) 10143: { 10143: 10143: streamsize __num = __in.width(); 10143: if (__num <= 0) 10143: __num = __gnu_cxx::__numeric_traits::__max; 10143: 10143: const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); 10143: 10143: const int_type __eof = _Traits::eof(); 10143: __streambuf_type* __sb = __in.rdbuf(); 10143: int_type __c = __sb->sgetc(); 10143: 10143: while (__extracted < __num - 1 10143: && !_Traits::eq_int_type(__c, __eof) 10143: && !__ct.is(ctype_base::space, 10143: _Traits::to_char_type(__c))) 10143: { 10143: *__s++ = _Traits::to_char_type(__c); 10143: ++__extracted; 10143: __c = __sb->snextc(); 10143: } 10143: if (_Traits::eq_int_type(__c, __eof)) 10143: __err |= ios_base::eofbit; 10143: 10143: 10143: 10143: *__s = char_type(); 10143: __in.width(0); 10143: } 10143: if (false) 10143: { 10143: __in._M_setstate(ios_base::badbit); 10143: ; 10143: } 10143: if (false) 10143: { __in._M_setstate(ios_base::badbit); } 10143: } 10143: if (!__extracted) 10143: __err |= ios_base::failbit; 10143: if (__err) 10143: __in.setstate(__err); 10143: return __in; 10143: } 10143: 10143: 10143: template 10143: basic_istream<_CharT, _Traits>& 10143: ws(basic_istream<_CharT, _Traits>& __in) 10143: { 10143: typedef basic_istream<_CharT, _Traits> __istream_type; 10143: typedef basic_streambuf<_CharT, _Traits> __streambuf_type; 10143: typedef typename __istream_type::int_type __int_type; 10143: typedef ctype<_CharT> __ctype_type; 10143: 10143: const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); 10143: const __int_type __eof = _Traits::eof(); 10143: __streambuf_type* __sb = __in.rdbuf(); 10143: __int_type __c = __sb->sgetc(); 10143: 10143: while (!_Traits::eq_int_type(__c, __eof) 10143: && __ct.is(ctype_base::space, _Traits::to_char_type(__c))) 10143: __c = __sb->snextc(); 10143: 10143: if (_Traits::eq_int_type(__c, __eof)) 10143: __in.setstate(ios_base::eofbit); 10143: return __in; 10143: } 10143: 10143: 10143: 10143: 10143: extern template class basic_istream; 10143: extern template istream& ws(istream&); 10143: extern template istream& operator>>(istream&, char&); 10143: extern template istream& operator>>(istream&, char*); 10143: extern template istream& operator>>(istream&, unsigned char&); 10143: extern template istream& operator>>(istream&, signed char&); 10143: extern template istream& operator>>(istream&, unsigned char*); 10143: extern template istream& operator>>(istream&, signed char*); 10143: 10143: extern template istream& istream::_M_extract(unsigned short&); 10143: extern template istream& istream::_M_extract(unsigned int&); 10143: extern template istream& istream::_M_extract(long&); 10143: extern template istream& istream::_M_extract(unsigned long&); 10143: extern template istream& istream::_M_extract(bool&); 10143: 10143: extern template istream& istream::_M_extract(long long&); 10143: extern template istream& istream::_M_extract(unsigned long long&); 10143: 10143: extern template istream& istream::_M_extract(float&); 10143: extern template istream& istream::_M_extract(double&); 10143: extern template istream& istream::_M_extract(long double&); 10143: extern template istream& istream::_M_extract(void*&); 10143: 10143: extern template class basic_iostream; 10143: 10143: 10143: extern template class basic_istream; 10143: extern template wistream& ws(wistream&); 10143: extern template wistream& operator>>(wistream&, wchar_t&); 10143: extern template wistream& operator>>(wistream&, wchar_t*); 10143: 10143: extern template wistream& wistream::_M_extract(unsigned short&); 10143: extern template wistream& wistream::_M_extract(unsigned int&); 10143: extern template wistream& wistream::_M_extract(long&); 10143: extern template wistream& wistream::_M_extract(unsigned long&); 10143: extern template wistream& wistream::_M_extract(bool&); 10143: 10143: extern template wistream& wistream::_M_extract(long long&); 10143: extern template wistream& wistream::_M_extract(unsigned long long&); 10143: 10143: extern template wistream& wistream::_M_extract(float&); 10143: extern template wistream& wistream::_M_extract(double&); 10143: extern template wistream& wistream::_M_extract(long double&); 10143: extern template wistream& wistream::_M_extract(void*&); 10143: 10143: extern template class basic_iostream; 10143: 10143: 10143: 10143: 10143: } 10143: # 992 "/usr/include/c++/8/istream" 2 3 10143: # 66 "/usr/include/c++/8/iterator" 2 3 10143: # 1 "/usr/include/c++/8/bits/stream_iterator.h" 1 3 10143: # 33 "/usr/include/c++/8/bits/stream_iterator.h" 3 10143: 10143: # 34 "/usr/include/c++/8/bits/stream_iterator.h" 3 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template, typename _Dist = ptrdiff_t> 10143: class istream_iterator 10143: : public iterator 10143: { 10143: public: 10143: typedef _CharT char_type; 10143: typedef _Traits traits_type; 10143: typedef basic_istream<_CharT, _Traits> istream_type; 10143: 10143: private: 10143: istream_type* _M_stream; 10143: _Tp _M_value; 10143: bool _M_ok; 10143: 10143: public: 10143: 10143: constexpr istream_iterator() 10143: : _M_stream(0), _M_value(), _M_ok(false) {} 10143: 10143: 10143: istream_iterator(istream_type& __s) 10143: : _M_stream(std::__addressof(__s)) 10143: { _M_read(); } 10143: 10143: istream_iterator(const istream_iterator& __obj) 10143: : _M_stream(__obj._M_stream), _M_value(__obj._M_value), 10143: _M_ok(__obj._M_ok) 10143: { } 10143: 10143: const _Tp& 10143: operator*() const 10143: { 10143: 10143: 10143: ; 10143: return _M_value; 10143: } 10143: 10143: const _Tp* 10143: operator->() const { return std::__addressof((operator*())); } 10143: 10143: istream_iterator& 10143: operator++() 10143: { 10143: 10143: 10143: ; 10143: _M_read(); 10143: return *this; 10143: } 10143: 10143: istream_iterator 10143: operator++(int) 10143: { 10143: 10143: 10143: ; 10143: istream_iterator __tmp = *this; 10143: _M_read(); 10143: return __tmp; 10143: } 10143: 10143: bool 10143: _M_equal(const istream_iterator& __x) const 10143: { return (_M_ok == __x._M_ok) && (!_M_ok || _M_stream == __x._M_stream); } 10143: 10143: private: 10143: void 10143: _M_read() 10143: { 10143: _M_ok = (_M_stream && *_M_stream) ? true : false; 10143: if (_M_ok) 10143: { 10143: *_M_stream >> _M_value; 10143: _M_ok = *_M_stream ? true : false; 10143: } 10143: } 10143: }; 10143: 10143: 10143: template 10143: inline bool 10143: operator==(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x, 10143: const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __y) 10143: { return __x._M_equal(__y); } 10143: 10143: 10143: template 10143: inline bool 10143: operator!=(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x, 10143: const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __y) 10143: { return !__x._M_equal(__y); } 10143: # 152 "/usr/include/c++/8/bits/stream_iterator.h" 3 10143: template > 10143: class ostream_iterator 10143: : public iterator 10143: { 10143: public: 10143: 10143: 10143: typedef _CharT char_type; 10143: typedef _Traits traits_type; 10143: typedef basic_ostream<_CharT, _Traits> ostream_type; 10143: 10143: 10143: private: 10143: ostream_type* _M_stream; 10143: const _CharT* _M_string; 10143: 10143: public: 10143: 10143: ostream_iterator(ostream_type& __s) 10143: : _M_stream(std::__addressof(__s)), _M_string(0) {} 10143: # 184 "/usr/include/c++/8/bits/stream_iterator.h" 3 10143: ostream_iterator(ostream_type& __s, const _CharT* __c) 10143: : _M_stream(&__s), _M_string(__c) { } 10143: 10143: 10143: ostream_iterator(const ostream_iterator& __obj) 10143: : _M_stream(__obj._M_stream), _M_string(__obj._M_string) { } 10143: 10143: 10143: 10143: ostream_iterator& 10143: operator=(const _Tp& __value) 10143: { 10143: 10143: 10143: ; 10143: *_M_stream << __value; 10143: if (_M_string) *_M_stream << _M_string; 10143: return *this; 10143: } 10143: 10143: ostream_iterator& 10143: operator*() 10143: { return *this; } 10143: 10143: ostream_iterator& 10143: operator++() 10143: { return *this; } 10143: 10143: ostream_iterator& 10143: operator++(int) 10143: { return *this; } 10143: }; 10143: 10143: 10143: 10143: 10143: } 10143: # 67 "/usr/include/c++/8/iterator" 2 3 10143: # 54 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbytearray.h" 2 3 4 10143: # 64 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbytearray.h" 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) char *qstrdup(const char *); 10143: 10143: inline uint qstrlen(const char *str) 10143: { return str ? uint(strlen(str)) : 0; } 10143: 10143: inline uint qstrnlen(const char *str, uint maxlen) 10143: { 10143: uint length = 0; 10143: if (str) { 10143: while (length < maxlen && *str++) 10143: length++; 10143: } 10143: return length; 10143: } 10143: 10143: __attribute__((visibility("default"))) char *qstrcpy(char *dst, const char *src); 10143: __attribute__((visibility("default"))) char *qstrncpy(char *dst, const char *src, uint len); 10143: 10143: __attribute__((visibility("default"))) int qstrcmp(const char *str1, const char *str2); 10143: __attribute__((visibility("default"))) int qstrcmp(const QByteArray &str1, const QByteArray &str2); 10143: __attribute__((visibility("default"))) int qstrcmp(const QByteArray &str1, const char *str2); 10143: static inline int qstrcmp(const char *str1, const QByteArray &str2) 10143: { return -qstrcmp(str2, str1); } 10143: 10143: inline int qstrncmp(const char *str1, const char *str2, uint len) 10143: { 10143: return (str1 && str2) ? strncmp(str1, str2, len) 10143: : (str1 ? 1 : (str2 ? -1 : 0)); 10143: } 10143: __attribute__((visibility("default"))) int qstricmp(const char *, const char *); 10143: __attribute__((visibility("default"))) int qstrnicmp(const char *, const char *, uint len); 10143: 10143: 10143: __attribute__((visibility("default"))) int qvsnprintf(char *str, size_t n, const char *fmt, va_list ap); 10143: __attribute__((visibility("default"))) int qsnprintf(char *str, size_t n, const char *fmt, ...); 10143: 10143: 10143: __attribute__((visibility("default"))) quint16 qChecksum(const char *s, uint len); 10143: __attribute__((visibility("default"))) quint16 qChecksum(const char *s, uint len, Qt::ChecksumType standard); 10143: 10143: class QByteRef; 10143: class QString; 10143: class QDataStream; 10143: template class QList; 10143: 10143: typedef QArrayData QByteArrayData; 10143: 10143: template struct QStaticByteArrayData 10143: { 10143: QByteArrayData ba; 10143: char data[N + 1]; 10143: 10143: QByteArrayData *data_ptr() const 10143: { 10143: do { } while ((false) && (ba.ref.isStatic())); 10143: return const_cast(&ba); 10143: } 10143: }; 10143: 10143: struct QByteArrayDataPtr 10143: { 10143: QByteArrayData *ptr; 10143: }; 10143: # 155 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbytearray.h" 3 4 10143: class __attribute__((visibility("default"))) QByteArray 10143: { 10143: private: 10143: typedef QTypedArrayData Data; 10143: 10143: public: 10143: enum Base64Option { 10143: Base64Encoding = 0, 10143: Base64UrlEncoding = 1, 10143: 10143: KeepTrailingEquals = 0, 10143: OmitTrailingEquals = 2 10143: }; 10143: typedef QFlags Base64Options; 10143: 10143: inline QByteArray() noexcept; 10143: QByteArray(const char *, int size = -1); 10143: QByteArray(int size, char c); 10143: QByteArray(int size, Qt::Initialization); 10143: inline QByteArray(const QByteArray &) noexcept; 10143: inline ~QByteArray(); 10143: 10143: QByteArray &operator=(const QByteArray &) noexcept; 10143: QByteArray &operator=(const char *str); 10143: 10143: inline QByteArray(QByteArray && other) noexcept : d(other.d) { other.d = Data::sharedNull(); } 10143: inline QByteArray &operator=(QByteArray &&other) noexcept 10143: { qSwap(d, other.d); return *this; } 10143: 10143: 10143: inline void swap(QByteArray &other) noexcept 10143: { qSwap(d, other.d); } 10143: 10143: inline int size() const; 10143: bool isEmpty() const; 10143: void resize(int size); 10143: 10143: QByteArray &fill(char c, int size = -1); 10143: 10143: int capacity() const; 10143: void reserve(int size); 10143: void squeeze(); 10143: 10143: 10143: operator const char *() const; 10143: operator const void *() const; 10143: 10143: char *data(); 10143: const char *data() const; 10143: inline const char *constData() const; 10143: inline void detach(); 10143: bool isDetached() const; 10143: inline bool isSharedWith(const QByteArray &other) const { return d == other.d; } 10143: void clear(); 10143: 10143: char at(int i) const; 10143: char operator[](int i) const; 10143: char operator[](uint i) const; 10143: QByteRef operator[](int i); 10143: QByteRef operator[](uint i); 10143: 10143: int indexOf(char c, int from = 0) const; 10143: int indexOf(const char *c, int from = 0) const; 10143: int indexOf(const QByteArray &a, int from = 0) const; 10143: int lastIndexOf(char c, int from = -1) const; 10143: int lastIndexOf(const char *c, int from = -1) const; 10143: int lastIndexOf(const QByteArray &a, int from = -1) const; 10143: 10143: bool contains(char c) const; 10143: bool contains(const char *a) const; 10143: bool contains(const QByteArray &a) const; 10143: int count(char c) const; 10143: int count(const char *a) const; 10143: int count(const QByteArray &a) const; 10143: 10143: [[nodiscard]] QByteArray left(int len) const; 10143: [[nodiscard]] QByteArray right(int len) const; 10143: [[nodiscard]] QByteArray mid(int index, int len = -1) const; 10143: 10143: bool startsWith(const QByteArray &a) const; 10143: bool startsWith(char c) const; 10143: bool startsWith(const char *c) const; 10143: 10143: bool endsWith(const QByteArray &a) const; 10143: bool endsWith(char c) const; 10143: bool endsWith(const char *c) const; 10143: 10143: void truncate(int pos); 10143: void chop(int n); 10143: # 253 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbytearray.h" 3 4 10143: [[nodiscard]] inline __attribute__((always_inline)) QByteArray toLower() const & 10143: { return toLower_helper(*this); } 10143: [[nodiscard]] inline __attribute__((always_inline)) QByteArray toLower() && 10143: { return toLower_helper(*this); } 10143: [[nodiscard]] inline __attribute__((always_inline)) QByteArray toUpper() const & 10143: { return toUpper_helper(*this); } 10143: [[nodiscard]] inline __attribute__((always_inline)) QByteArray toUpper() && 10143: { return toUpper_helper(*this); } 10143: [[nodiscard]] inline __attribute__((always_inline)) QByteArray trimmed() const & 10143: { return trimmed_helper(*this); } 10143: [[nodiscard]] inline __attribute__((always_inline)) QByteArray trimmed() && 10143: { return trimmed_helper(*this); } 10143: [[nodiscard]] inline __attribute__((always_inline)) QByteArray simplified() const & 10143: { return simplified_helper(*this); } 10143: [[nodiscard]] inline __attribute__((always_inline)) QByteArray simplified() && 10143: { return simplified_helper(*this); } 10143: # 279 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbytearray.h" 3 4 10143: [[nodiscard]] QByteArray leftJustified(int width, char fill = ' ', bool truncate = false) const; 10143: [[nodiscard]] QByteArray rightJustified(int width, char fill = ' ', bool truncate = false) const; 10143: 10143: QByteArray &prepend(char c); 10143: QByteArray &prepend(int count, char c); 10143: QByteArray &prepend(const char *s); 10143: QByteArray &prepend(const char *s, int len); 10143: QByteArray &prepend(const QByteArray &a); 10143: QByteArray &append(char c); 10143: QByteArray &append(int count, char c); 10143: QByteArray &append(const char *s); 10143: QByteArray &append(const char *s, int len); 10143: QByteArray &append(const QByteArray &a); 10143: QByteArray &insert(int i, char c); 10143: QByteArray &insert(int i, int count, char c); 10143: QByteArray &insert(int i, const char *s); 10143: QByteArray &insert(int i, const char *s, int len); 10143: QByteArray &insert(int i, const QByteArray &a); 10143: QByteArray &remove(int index, int len); 10143: QByteArray &replace(int index, int len, const char *s); 10143: QByteArray &replace(int index, int len, const char *s, int alen); 10143: QByteArray &replace(int index, int len, const QByteArray &s); 10143: QByteArray &replace(char before, const char *after); 10143: QByteArray &replace(char before, const QByteArray &after); 10143: QByteArray &replace(const char *before, const char *after); 10143: QByteArray &replace(const char *before, int bsize, const char *after, int asize); 10143: QByteArray &replace(const QByteArray &before, const QByteArray &after); 10143: QByteArray &replace(const QByteArray &before, const char *after); 10143: QByteArray &replace(const char *before, const QByteArray &after); 10143: QByteArray &replace(char before, char after); 10143: QByteArray &operator+=(char c); 10143: QByteArray &operator+=(const char *s); 10143: QByteArray &operator+=(const QByteArray &a); 10143: 10143: QList split(char sep) const; 10143: 10143: [[nodiscard]] QByteArray repeated(int times) const; 10143: 10143: 10143: QByteArray &append(const QString &s); 10143: QByteArray &insert(int i, const QString &s); 10143: QByteArray &replace(const QString &before, const char *after); 10143: QByteArray &replace(char c, const QString &after); 10143: QByteArray &replace(const QString &before, const QByteArray &after); 10143: 10143: QByteArray &operator+=(const QString &s); 10143: int indexOf(const QString &s, int from = 0) const; 10143: int lastIndexOf(const QString &s, int from = -1) const; 10143: 10143: 10143: inline bool operator==(const QString &s2) const; 10143: inline bool operator!=(const QString &s2) const; 10143: inline bool operator<(const QString &s2) const; 10143: inline bool operator>(const QString &s2) const; 10143: inline bool operator<=(const QString &s2) const; 10143: inline bool operator>=(const QString &s2) const; 10143: 10143: 10143: short toShort(bool *ok = nullptr, int base = 10) const; 10143: ushort toUShort(bool *ok = nullptr, int base = 10) const; 10143: int toInt(bool *ok = nullptr, int base = 10) const; 10143: uint toUInt(bool *ok = nullptr, int base = 10) const; 10143: long toLong(bool *ok = nullptr, int base = 10) const; 10143: ulong toULong(bool *ok = nullptr, int base = 10) const; 10143: qlonglong toLongLong(bool *ok = nullptr, int base = 10) const; 10143: qulonglong toULongLong(bool *ok = nullptr, int base = 10) const; 10143: float toFloat(bool *ok = nullptr) const; 10143: double toDouble(bool *ok = nullptr) const; 10143: QByteArray toBase64(Base64Options options) const; 10143: QByteArray toBase64() const; 10143: QByteArray toHex() const; 10143: QByteArray toHex(char separator) const; 10143: QByteArray toPercentEncoding(const QByteArray &exclude = QByteArray(), 10143: const QByteArray &include = QByteArray(), 10143: char percent = '%') const; 10143: 10143: QByteArray &setNum(short, int base = 10); 10143: QByteArray &setNum(ushort, int base = 10); 10143: QByteArray &setNum(int, int base = 10); 10143: QByteArray &setNum(uint, int base = 10); 10143: QByteArray &setNum(qlonglong, int base = 10); 10143: QByteArray &setNum(qulonglong, int base = 10); 10143: QByteArray &setNum(float, char f = 'g', int prec = 6); 10143: QByteArray &setNum(double, char f = 'g', int prec = 6); 10143: QByteArray &setRawData(const char *a, uint n); 10143: 10143: [[nodiscard]] static QByteArray number(int, int base = 10); 10143: [[nodiscard]] static QByteArray number(uint, int base = 10); 10143: [[nodiscard]] static QByteArray number(qlonglong, int base = 10); 10143: [[nodiscard]] static QByteArray number(qulonglong, int base = 10); 10143: [[nodiscard]] static QByteArray number(double, char f = 'g', int prec = 6); 10143: [[nodiscard]] static QByteArray fromRawData(const char *, int size); 10143: [[nodiscard]] static QByteArray fromBase64(const QByteArray &base64, Base64Options options); 10143: [[nodiscard]] static QByteArray fromBase64(const QByteArray &base64); 10143: [[nodiscard]] static QByteArray fromHex(const QByteArray &hexEncoded); 10143: [[nodiscard]] static QByteArray fromPercentEncoding(const QByteArray &pctEncoded, char percent = '%'); 10143: # 387 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbytearray.h" 3 4 10143: typedef char *iterator; 10143: typedef const char *const_iterator; 10143: typedef iterator Iterator; 10143: typedef const_iterator ConstIterator; 10143: typedef std::reverse_iterator reverse_iterator; 10143: typedef std::reverse_iterator const_reverse_iterator; 10143: inline iterator begin(); 10143: inline const_iterator begin() const; 10143: inline const_iterator cbegin() const; 10143: inline const_iterator constBegin() const; 10143: inline iterator end(); 10143: inline const_iterator end() const; 10143: inline const_iterator cend() const; 10143: inline const_iterator constEnd() const; 10143: reverse_iterator rbegin() { return reverse_iterator(end()); } 10143: reverse_iterator rend() { return reverse_iterator(begin()); } 10143: const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } 10143: const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } 10143: const_reverse_iterator crbegin() const { return const_reverse_iterator(end()); } 10143: const_reverse_iterator crend() const { return const_reverse_iterator(begin()); } 10143: 10143: 10143: typedef int size_type; 10143: typedef qptrdiff difference_type; 10143: typedef const char & const_reference; 10143: typedef char & reference; 10143: typedef char *pointer; 10143: typedef const char *const_pointer; 10143: typedef char value_type; 10143: void push_back(char c); 10143: void push_back(const char *c); 10143: void push_back(const QByteArray &a); 10143: void push_front(char c); 10143: void push_front(const char *c); 10143: void push_front(const QByteArray &a); 10143: 10143: static inline QByteArray fromStdString(const std::string &s); 10143: inline std::string toStdString() const; 10143: 10143: inline int count() const { return d->size; } 10143: int length() const { return d->size; } 10143: bool isNull() const; 10143: 10143: inline QByteArray(QByteArrayDataPtr dd) 10143: : d(static_cast(dd.ptr)) 10143: { 10143: } 10143: 10143: private: 10143: operator QNoImplicitBoolCast() const; 10143: Data *d; 10143: void reallocData(uint alloc, Data::AllocationOptions options); 10143: void expand(int i); 10143: QByteArray nulTerminated() const; 10143: 10143: static QByteArray toLower_helper(const QByteArray &a); 10143: static QByteArray toLower_helper(QByteArray &a); 10143: static QByteArray toUpper_helper(const QByteArray &a); 10143: static QByteArray toUpper_helper(QByteArray &a); 10143: static QByteArray trimmed_helper(const QByteArray &a); 10143: static QByteArray trimmed_helper(QByteArray &a); 10143: static QByteArray simplified_helper(const QByteArray &a); 10143: static QByteArray simplified_helper(QByteArray &a); 10143: 10143: friend class QByteRef; 10143: friend class QString; 10143: friend __attribute__((visibility("default"))) QByteArray qUncompress(const uchar *data, int nbytes); 10143: public: 10143: typedef Data * DataPtr; 10143: inline DataPtr &data_ptr() { return d; } 10143: }; 10143: 10143: constexpr inline QFlags operator|(QByteArray::Base64Options::enum_type f1, QByteArray::Base64Options::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(QByteArray::Base64Options::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(QByteArray::Base64Options::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: 10143: inline QByteArray::QByteArray() noexcept : d(Data::sharedNull()) { } 10143: inline QByteArray::~QByteArray() { if (!d->ref.deref()) Data::deallocate(d); } 10143: inline int QByteArray::size() const 10143: { return d->size; } 10143: 10143: inline char QByteArray::at(int i) const 10143: { do { } while ((false) && (uint(i) < uint(size()))); return d->data()[i]; } 10143: inline char QByteArray::operator[](int i) const 10143: { do { } while ((false) && (uint(i) < uint(size()))); return d->data()[i]; } 10143: inline char QByteArray::operator[](uint i) const 10143: { do { } while ((false) && (i < uint(size()))); return d->data()[i]; } 10143: 10143: inline bool QByteArray::isEmpty() const 10143: { return d->size == 0; } 10143: 10143: inline QByteArray::operator const char *() const 10143: { return d->data(); } 10143: inline QByteArray::operator const void *() const 10143: { return d->data(); } 10143: 10143: inline char *QByteArray::data() 10143: { detach(); return d->data(); } 10143: inline const char *QByteArray::data() const 10143: { return d->data(); } 10143: inline const char *QByteArray::constData() const 10143: { return d->data(); } 10143: inline void QByteArray::detach() 10143: { if (d->ref.isShared() || (d->offset != sizeof(QByteArrayData))) reallocData(uint(d->size) + 1u, d->detachFlags()); } 10143: inline bool QByteArray::isDetached() const 10143: { return !d->ref.isShared(); } 10143: inline QByteArray::QByteArray(const QByteArray &a) noexcept : d(a.d) 10143: { d->ref.ref(); } 10143: 10143: inline int QByteArray::capacity() const 10143: { return d->alloc ? d->alloc - 1 : 0; } 10143: 10143: inline void QByteArray::reserve(int asize) 10143: { 10143: if (d->ref.isShared() || uint(asize) + 1u > d->alloc) { 10143: reallocData(qMax(uint(size()), uint(asize)) + 1u, d->detachFlags() | Data::CapacityReserved); 10143: } else { 10143: 10143: 10143: d->capacityReserved = true; 10143: } 10143: } 10143: 10143: inline void QByteArray::squeeze() 10143: { 10143: if (d->ref.isShared() || uint(d->size) + 1u < d->alloc) { 10143: reallocData(uint(d->size) + 1u, d->detachFlags() & ~Data::CapacityReserved); 10143: } else { 10143: 10143: 10143: d->capacityReserved = false; 10143: } 10143: } 10143: 10143: class __attribute__((visibility("default"))) QByteRef { 10143: QByteArray &a; 10143: int i; 10143: inline QByteRef(QByteArray &array, int idx) 10143: : a(array),i(idx) {} 10143: friend class QByteArray; 10143: public: 10143: inline operator char() const 10143: { return i < a.d->size ? a.d->data()[i] : char(0); } 10143: inline QByteRef &operator=(char c) 10143: { if (i >= a.d->size) a.expand(i); else a.detach(); 10143: a.d->data()[i] = c; return *this; } 10143: inline QByteRef &operator=(const QByteRef &c) 10143: { if (i >= a.d->size) a.expand(i); else a.detach(); 10143: a.d->data()[i] = c.a.d->data()[c.i]; return *this; } 10143: inline bool operator==(char c) const 10143: { return a.d->data()[i] == c; } 10143: inline bool operator!=(char c) const 10143: { return a.d->data()[i] != c; } 10143: inline bool operator>(char c) const 10143: { return a.d->data()[i] > c; } 10143: inline bool operator>=(char c) const 10143: { return a.d->data()[i] >= c; } 10143: inline bool operator<(char c) const 10143: { return a.d->data()[i] < c; } 10143: inline bool operator<=(char c) const 10143: { return a.d->data()[i] <= c; } 10143: }; 10143: 10143: inline QByteRef QByteArray::operator[](int i) 10143: { do { } while ((false) && (i >= 0)); return QByteRef(*this, i); } 10143: inline QByteRef QByteArray::operator[](uint i) 10143: { return QByteRef(*this, i); } 10143: inline QByteArray::iterator QByteArray::begin() 10143: { detach(); return d->data(); } 10143: inline QByteArray::const_iterator QByteArray::begin() const 10143: { return d->data(); } 10143: inline QByteArray::const_iterator QByteArray::cbegin() const 10143: { return d->data(); } 10143: inline QByteArray::const_iterator QByteArray::constBegin() const 10143: { return d->data(); } 10143: inline QByteArray::iterator QByteArray::end() 10143: { detach(); return d->data() + d->size; } 10143: inline QByteArray::const_iterator QByteArray::end() const 10143: { return d->data() + d->size; } 10143: inline QByteArray::const_iterator QByteArray::cend() const 10143: { return d->data() + d->size; } 10143: inline QByteArray::const_iterator QByteArray::constEnd() const 10143: { return d->data() + d->size; } 10143: inline QByteArray &QByteArray::append(int n, char ch) 10143: { return insert(d->size, n, ch); } 10143: inline QByteArray &QByteArray::prepend(int n, char ch) 10143: { return insert(0, n, ch); } 10143: inline QByteArray &QByteArray::operator+=(char c) 10143: { return append(c); } 10143: inline QByteArray &QByteArray::operator+=(const char *s) 10143: { return append(s); } 10143: inline QByteArray &QByteArray::operator+=(const QByteArray &a) 10143: { return append(a); } 10143: inline void QByteArray::push_back(char c) 10143: { append(c); } 10143: inline void QByteArray::push_back(const char *c) 10143: { append(c); } 10143: inline void QByteArray::push_back(const QByteArray &a) 10143: { append(a); } 10143: inline void QByteArray::push_front(char c) 10143: { prepend(c); } 10143: inline void QByteArray::push_front(const char *c) 10143: { prepend(c); } 10143: inline void QByteArray::push_front(const QByteArray &a) 10143: { prepend(a); } 10143: inline bool QByteArray::contains(const QByteArray &a) const 10143: { return indexOf(a) != -1; } 10143: inline bool QByteArray::contains(char c) const 10143: { return indexOf(c) != -1; } 10143: inline bool operator==(const QByteArray &a1, const QByteArray &a2) noexcept 10143: { return (a1.size() == a2.size()) && (memcmp(a1.constData(), a2.constData(), a1.size())==0); } 10143: inline bool operator==(const QByteArray &a1, const char *a2) noexcept 10143: { return a2 ? qstrcmp(a1,a2) == 0 : a1.isEmpty(); } 10143: inline bool operator==(const char *a1, const QByteArray &a2) noexcept 10143: { return a1 ? qstrcmp(a1,a2) == 0 : a2.isEmpty(); } 10143: inline bool operator!=(const QByteArray &a1, const QByteArray &a2) noexcept 10143: { return !(a1==a2); } 10143: inline bool operator!=(const QByteArray &a1, const char *a2) noexcept 10143: { return a2 ? qstrcmp(a1,a2) != 0 : !a1.isEmpty(); } 10143: inline bool operator!=(const char *a1, const QByteArray &a2) noexcept 10143: { return a1 ? qstrcmp(a1,a2) != 0 : !a2.isEmpty(); } 10143: inline bool operator<(const QByteArray &a1, const QByteArray &a2) noexcept 10143: { return qstrcmp(a1, a2) < 0; } 10143: inline bool operator<(const QByteArray &a1, const char *a2) noexcept 10143: { return qstrcmp(a1, a2) < 0; } 10143: inline bool operator<(const char *a1, const QByteArray &a2) noexcept 10143: { return qstrcmp(a1, a2) < 0; } 10143: inline bool operator<=(const QByteArray &a1, const QByteArray &a2) noexcept 10143: { return qstrcmp(a1, a2) <= 0; } 10143: inline bool operator<=(const QByteArray &a1, const char *a2) noexcept 10143: { return qstrcmp(a1, a2) <= 0; } 10143: inline bool operator<=(const char *a1, const QByteArray &a2) noexcept 10143: { return qstrcmp(a1, a2) <= 0; } 10143: inline bool operator>(const QByteArray &a1, const QByteArray &a2) noexcept 10143: { return qstrcmp(a1, a2) > 0; } 10143: inline bool operator>(const QByteArray &a1, const char *a2) noexcept 10143: { return qstrcmp(a1, a2) > 0; } 10143: inline bool operator>(const char *a1, const QByteArray &a2) noexcept 10143: { return qstrcmp(a1, a2) > 0; } 10143: inline bool operator>=(const QByteArray &a1, const QByteArray &a2) noexcept 10143: { return qstrcmp(a1, a2) >= 0; } 10143: inline bool operator>=(const QByteArray &a1, const char *a2) noexcept 10143: { return qstrcmp(a1, a2) >= 0; } 10143: inline bool operator>=(const char *a1, const QByteArray &a2) noexcept 10143: { return qstrcmp(a1, a2) >= 0; } 10143: 10143: inline const QByteArray operator+(const QByteArray &a1, const QByteArray &a2) 10143: { return QByteArray(a1) += a2; } 10143: inline const QByteArray operator+(const QByteArray &a1, const char *a2) 10143: { return QByteArray(a1) += a2; } 10143: inline const QByteArray operator+(const QByteArray &a1, char a2) 10143: { return QByteArray(a1) += a2; } 10143: inline const QByteArray operator+(const char *a1, const QByteArray &a2) 10143: { return QByteArray(a1) += a2; } 10143: inline const QByteArray operator+(char a1, const QByteArray &a2) 10143: { return QByteArray(&a1, 1) += a2; } 10143: 10143: inline bool QByteArray::contains(const char *c) const 10143: { return indexOf(c) != -1; } 10143: inline QByteArray &QByteArray::replace(char before, const char *c) 10143: { return replace(&before, 1, c, qstrlen(c)); } 10143: inline QByteArray &QByteArray::replace(const QByteArray &before, const char *c) 10143: { return replace(before.constData(), before.size(), c, qstrlen(c)); } 10143: inline QByteArray &QByteArray::replace(const char *before, const char *after) 10143: { return replace(before, qstrlen(before), after, qstrlen(after)); } 10143: 10143: inline QByteArray &QByteArray::setNum(short n, int base) 10143: { return base == 10 ? setNum(qlonglong(n), base) : setNum(qulonglong(ushort(n)), base); } 10143: inline QByteArray &QByteArray::setNum(ushort n, int base) 10143: { return setNum(qulonglong(n), base); } 10143: inline QByteArray &QByteArray::setNum(int n, int base) 10143: { return base == 10 ? setNum(qlonglong(n), base) : setNum(qulonglong(uint(n)), base); } 10143: inline QByteArray &QByteArray::setNum(uint n, int base) 10143: { return setNum(qulonglong(n), base); } 10143: inline QByteArray &QByteArray::setNum(float n, char f, int prec) 10143: { return setNum(double(n),f,prec); } 10143: 10143: inline std::string QByteArray::toStdString() const 10143: { return std::string(constData(), length()); } 10143: 10143: inline QByteArray QByteArray::fromStdString(const std::string &s) 10143: { return QByteArray(s.data(), int(s.size())); } 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QByteArray &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QByteArray &); 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QByteArray qCompress(const uchar* data, int nbytes, int compressionLevel = -1); 10143: __attribute__((visibility("default"))) QByteArray qUncompress(const uchar* data, int nbytes); 10143: inline QByteArray qCompress(const QByteArray& data, int compressionLevel = -1) 10143: { return qCompress(reinterpret_cast(data.constData()), data.size(), compressionLevel); } 10143: inline QByteArray qUncompress(const QByteArray& data) 10143: { return qUncompress(reinterpret_cast(data.constData()), data.size()); } 10143: 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QByteArray)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QByteArray >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QByteArray) }; static inline const char *name() { return "QByteArray"; } }; inline void swap(QByteArray &value1, QByteArray &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 10143: 10143: 10143: # 50 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstring.h" 2 3 4 10143: # 76 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstring.h" 3 4 10143: 10143: 10143: class QCharRef; 10143: class QRegExp; 10143: class QRegularExpression; 10143: class QRegularExpressionMatch; 10143: class QString; 10143: class QStringList; 10143: class QTextCodec; 10143: class QStringRef; 10143: template class QVector; 10143: 10143: class QLatin1String 10143: { 10143: public: 10143: constexpr inline QLatin1String() noexcept : m_size(0), m_data(nullptr) {} 10143: constexpr inline explicit QLatin1String(const char *s) noexcept : m_size(s ? int(strlen(s)) : 0), m_data(s) {} 10143: constexpr inline explicit QLatin1String(const char *s, int sz) noexcept : m_size(sz), m_data(s) {} 10143: inline explicit QLatin1String(const QByteArray &s) noexcept : m_size(int(qstrnlen(s.constData(), s.size()))), m_data(s.constData()) {} 10143: 10143: constexpr const char *latin1() const noexcept { return m_data; } 10143: constexpr int size() const noexcept { return m_size; } 10143: constexpr const char *data() const noexcept { return m_data; } 10143: 10143: constexpr QLatin1Char at(int i) const { return QLatin1Char(m_data[i]); } 10143: constexpr QLatin1Char operator[](int i) const { return at(i); } 10143: 10143: constexpr QLatin1String mid(int pos) const 10143: { return QLatin1String(m_data + pos, m_size - pos); } 10143: constexpr QLatin1String mid(int pos, int n) const 10143: { return QLatin1String(m_data + pos, n); } 10143: constexpr QLatin1String left(int n) const 10143: { return QLatin1String(m_data, n); } 10143: constexpr QLatin1String right(int n) const 10143: { return QLatin1String(m_data + m_size - n, n); } 10143: 10143: inline bool operator==(const QString &s) const noexcept; 10143: inline bool operator!=(const QString &s) const noexcept; 10143: inline bool operator>(const QString &s) const noexcept; 10143: inline bool operator<(const QString &s) const noexcept; 10143: inline bool operator>=(const QString &s) const noexcept; 10143: inline bool operator<=(const QString &s) const noexcept; 10143: 10143: 10143: inline bool operator==(const char *s) const; 10143: inline bool operator!=(const char *s) const; 10143: inline bool operator<(const char *s) const; 10143: inline bool operator>(const char *s) const; 10143: inline bool operator<=(const char *s) const; 10143: inline bool operator>=(const char *s) const; 10143: 10143: inline bool operator==(const QByteArray &s) const; 10143: inline bool operator!=(const QByteArray &s) const; 10143: inline bool operator<(const QByteArray &s) const; 10143: inline bool operator>(const QByteArray &s) const; 10143: inline bool operator<=(const QByteArray &s) const; 10143: inline bool operator>=(const QByteArray &s) const; 10143: 10143: 10143: private: 10143: int m_size; 10143: const char *m_data; 10143: }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QLatin1String)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QLatin1String >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QLatin1String) }; static inline const char *name() { return "QLatin1String"; } }; 10143: 10143: 10143: typedef QLatin1String QLatin1Literal; 10143: 10143: 10143: typedef QTypedArrayData QStringData; 10143: # 166 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstring.h" 3 4 10143: typedef char16_t qunicodechar; 10143: 10143: 10143: 10143: static_assert(bool(sizeof(qunicodechar) == 2), "qunicodechar must typedef an integral type of size 2") 10143: ; 10143: # 194 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstring.h" 3 4 10143: template 10143: struct QStaticStringData 10143: { 10143: QArrayData str; 10143: qunicodechar data[N + 1]; 10143: 10143: QStringData *data_ptr() const 10143: { 10143: do { } while ((false) && (str.ref.isStatic())); 10143: return const_cast(static_cast(&str)); 10143: } 10143: }; 10143: 10143: struct QStringDataPtr 10143: { 10143: QStringData *ptr; 10143: }; 10143: 10143: class __attribute__((visibility("default"))) QString 10143: { 10143: public: 10143: typedef QStringData Data; 10143: 10143: inline QString() noexcept; 10143: explicit QString(const QChar *unicode, int size = -1); 10143: QString(QChar c); 10143: QString(int size, QChar c); 10143: inline QString(QLatin1String latin1); 10143: inline QString(const QString &) noexcept; 10143: inline ~QString(); 10143: QString &operator=(QChar c); 10143: QString &operator=(const QString &) noexcept; 10143: QString &operator=(QLatin1String latin1); 10143: 10143: inline QString(QString && other) noexcept : d(other.d) { other.d = Data::sharedNull(); } 10143: inline QString &operator=(QString &&other) noexcept 10143: { qSwap(d, other.d); return *this; } 10143: 10143: inline void swap(QString &other) noexcept { qSwap(d, other.d); } 10143: inline int size() const { return d->size; } 10143: inline int count() const { return d->size; } 10143: inline int length() const; 10143: inline bool isEmpty() const; 10143: void resize(int size); 10143: void resize(int size, QChar fillChar); 10143: 10143: QString &fill(QChar c, int size = -1); 10143: void truncate(int pos); 10143: void chop(int n); 10143: 10143: int capacity() const; 10143: inline void reserve(int size); 10143: inline void squeeze(); 10143: 10143: inline const QChar *unicode() const; 10143: inline QChar *data(); 10143: inline const QChar *data() const; 10143: inline const QChar *constData() const; 10143: 10143: inline void detach(); 10143: inline bool isDetached() const; 10143: inline bool isSharedWith(const QString &other) const { return d == other.d; } 10143: void clear(); 10143: 10143: inline const QChar at(int i) const; 10143: const QChar operator[](int i) const; 10143: QCharRef operator[](int i); 10143: const QChar operator[](uint i) const; 10143: QCharRef operator[](uint i); 10143: 10143: [[nodiscard]] QString arg(qlonglong a, int fieldwidth=0, int base=10, 10143: QChar fillChar = QLatin1Char(' ')) const; 10143: [[nodiscard]] QString arg(qulonglong a, int fieldwidth=0, int base=10, 10143: QChar fillChar = QLatin1Char(' ')) const; 10143: [[nodiscard]] QString arg(long a, int fieldwidth=0, int base=10, 10143: QChar fillChar = QLatin1Char(' ')) const; 10143: [[nodiscard]] QString arg(ulong a, int fieldwidth=0, int base=10, 10143: QChar fillChar = QLatin1Char(' ')) const; 10143: [[nodiscard]] QString arg(int a, int fieldWidth = 0, int base = 10, 10143: QChar fillChar = QLatin1Char(' ')) const; 10143: [[nodiscard]] QString arg(uint a, int fieldWidth = 0, int base = 10, 10143: QChar fillChar = QLatin1Char(' ')) const; 10143: [[nodiscard]] QString arg(short a, int fieldWidth = 0, int base = 10, 10143: QChar fillChar = QLatin1Char(' ')) const; 10143: [[nodiscard]] QString arg(ushort a, int fieldWidth = 0, int base = 10, 10143: QChar fillChar = QLatin1Char(' ')) const; 10143: [[nodiscard]] QString arg(double a, int fieldWidth = 0, char fmt = 'g', int prec = -1, 10143: QChar fillChar = QLatin1Char(' ')) const; 10143: [[nodiscard]] QString arg(char a, int fieldWidth = 0, 10143: QChar fillChar = QLatin1Char(' ')) const; 10143: [[nodiscard]] QString arg(QChar a, int fieldWidth = 0, 10143: QChar fillChar = QLatin1Char(' ')) const; 10143: [[nodiscard]] QString arg(const QString &a, int fieldWidth = 0, 10143: QChar fillChar = QLatin1Char(' ')) const; 10143: [[nodiscard]] QString arg(const QString &a1, const QString &a2) const; 10143: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3) const; 10143: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3, 10143: const QString &a4) const; 10143: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3, 10143: const QString &a4, const QString &a5) const; 10143: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3, 10143: const QString &a4, const QString &a5, const QString &a6) const; 10143: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3, 10143: const QString &a4, const QString &a5, const QString &a6, 10143: const QString &a7) const; 10143: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3, 10143: const QString &a4, const QString &a5, const QString &a6, 10143: const QString &a7, const QString &a8) const; 10143: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3, 10143: const QString &a4, const QString &a5, const QString &a6, 10143: const QString &a7, const QString &a8, const QString &a9) const; 10143: 10143: QString &vsprintf(const char *format, va_list ap) __attribute__((format(printf, (2), (0)))); 10143: QString &sprintf(const char *format, ...) __attribute__((format(printf, (2), (3)))); 10143: static QString vasprintf(const char *format, va_list ap) __attribute__((format(printf, (1), (0)))); 10143: static QString asprintf(const char *format, ...) __attribute__((format(printf, (1), (2)))); 10143: 10143: int indexOf(QChar c, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: int indexOf(const QString &s, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: int indexOf(QLatin1String s, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: int indexOf(const QStringRef &s, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: int lastIndexOf(QChar c, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: int lastIndexOf(const QString &s, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: int lastIndexOf(QLatin1String s, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: int lastIndexOf(const QStringRef &s, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: 10143: inline bool contains(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: inline bool contains(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: inline bool contains(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: inline bool contains(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: int count(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: int count(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: int count(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: 10143: 10143: int indexOf(const QRegExp &, int from = 0) const; 10143: int lastIndexOf(const QRegExp &, int from = -1) const; 10143: inline bool contains(const QRegExp &rx) const { return indexOf(rx) != -1; } 10143: int count(const QRegExp &) const; 10143: 10143: int indexOf(QRegExp &, int from = 0) const; 10143: int lastIndexOf(QRegExp &, int from = -1) const; 10143: inline bool contains(QRegExp &rx) const { return indexOf(rx) != -1; } 10143: 10143: 10143: 10143: int indexOf(const QRegularExpression &re, int from = 0) const; 10143: int indexOf(const QRegularExpression &re, int from, QRegularExpressionMatch *rmatch) const; 10143: int lastIndexOf(const QRegularExpression &re, int from = -1) const; 10143: int lastIndexOf(const QRegularExpression &re, int from, QRegularExpressionMatch *rmatch) const; 10143: bool contains(const QRegularExpression &re) const; 10143: bool contains(const QRegularExpression &re, QRegularExpressionMatch *match) const; 10143: int count(const QRegularExpression &re) const; 10143: 10143: 10143: enum SectionFlag { 10143: SectionDefault = 0x00, 10143: SectionSkipEmpty = 0x01, 10143: SectionIncludeLeadingSep = 0x02, 10143: SectionIncludeTrailingSep = 0x04, 10143: SectionCaseInsensitiveSeps = 0x08 10143: }; 10143: typedef QFlags SectionFlags; 10143: 10143: QString section(QChar sep, int start, int end = -1, SectionFlags flags = SectionDefault) const; 10143: QString section(const QString &in_sep, int start, int end = -1, SectionFlags flags = SectionDefault) const; 10143: 10143: QString section(const QRegExp ®, int start, int end = -1, SectionFlags flags = SectionDefault) const; 10143: 10143: 10143: QString section(const QRegularExpression &re, int start, int end = -1, SectionFlags flags = SectionDefault) const; 10143: 10143: [[nodiscard]] QString left(int n) const; 10143: [[nodiscard]] QString right(int n) const; 10143: [[nodiscard]] QString mid(int position, int n = -1) const; 10143: [[nodiscard]] QStringRef leftRef(int n) const; 10143: [[nodiscard]] QStringRef rightRef(int n) const; 10143: [[nodiscard]] QStringRef midRef(int position, int n = -1) const; 10143: 10143: bool startsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: bool startsWith(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: bool startsWith(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: bool startsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: bool endsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: bool endsWith(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: bool endsWith(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: bool endsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: 10143: [[nodiscard]] QString leftJustified(int width, QChar fill = QLatin1Char(' '), bool trunc = false) const; 10143: [[nodiscard]] QString rightJustified(int width, QChar fill = QLatin1Char(' '), bool trunc = false) const; 10143: # 393 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstring.h" 3 4 10143: [[nodiscard]] inline __attribute__((always_inline)) QString toLower() const & 10143: { return toLower_helper(*this); } 10143: [[nodiscard]] inline __attribute__((always_inline)) QString toLower() && 10143: { return toLower_helper(*this); } 10143: [[nodiscard]] inline __attribute__((always_inline)) QString toUpper() const & 10143: { return toUpper_helper(*this); } 10143: [[nodiscard]] inline __attribute__((always_inline)) QString toUpper() && 10143: { return toUpper_helper(*this); } 10143: [[nodiscard]] inline __attribute__((always_inline)) QString toCaseFolded() const & 10143: { return toCaseFolded_helper(*this); } 10143: [[nodiscard]] inline __attribute__((always_inline)) QString toCaseFolded() && 10143: { return toCaseFolded_helper(*this); } 10143: [[nodiscard]] inline __attribute__((always_inline)) QString trimmed() const & 10143: { return trimmed_helper(*this); } 10143: [[nodiscard]] inline __attribute__((always_inline)) QString trimmed() && 10143: { return trimmed_helper(*this); } 10143: [[nodiscard]] inline __attribute__((always_inline)) QString simplified() const & 10143: { return simplified_helper(*this); } 10143: [[nodiscard]] inline __attribute__((always_inline)) QString simplified() && 10143: { return simplified_helper(*this); } 10143: # 423 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstring.h" 3 4 10143: [[nodiscard]] QString toHtmlEscaped() const; 10143: 10143: QString &insert(int i, QChar c); 10143: QString &insert(int i, const QChar *uc, int len); 10143: inline QString &insert(int i, const QString &s) { return insert(i, s.constData(), s.length()); } 10143: inline QString &insert(int i, const QStringRef &s); 10143: QString &insert(int i, QLatin1String s); 10143: QString &append(QChar c); 10143: QString &append(const QChar *uc, int len); 10143: QString &append(const QString &s); 10143: QString &append(const QStringRef &s); 10143: QString &append(QLatin1String s); 10143: inline QString &prepend(QChar c) { return insert(0, c); } 10143: inline QString &prepend(const QChar *uc, int len) { return insert(0, uc, len); } 10143: inline QString &prepend(const QString &s) { return insert(0, s); } 10143: inline QString &prepend(const QStringRef &s) { return insert(0, s); } 10143: inline QString &prepend(QLatin1String s) { return insert(0, s); } 10143: 10143: inline QString &operator+=(QChar c) { 10143: if (d->ref.isShared() || uint(d->size) + 2u > d->alloc) 10143: reallocData(uint(d->size) + 2u, true); 10143: d->data()[d->size++] = c.unicode(); 10143: d->data()[d->size] = '\0'; 10143: return *this; 10143: } 10143: 10143: inline QString &operator+=(QChar::SpecialCharacter c) { return append(QChar(c)); } 10143: inline QString &operator+=(const QString &s) { return append(s); } 10143: inline QString &operator+=(const QStringRef &s) { return append(s); } 10143: inline QString &operator+=(QLatin1String s) { return append(s); } 10143: 10143: QString &remove(int i, int len); 10143: QString &remove(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive); 10143: QString &remove(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive); 10143: QString &replace(int i, int len, QChar after); 10143: QString &replace(int i, int len, const QChar *s, int slen); 10143: QString &replace(int i, int len, const QString &after); 10143: QString &replace(QChar before, QChar after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 10143: QString &replace(const QChar *before, int blen, const QChar *after, int alen, Qt::CaseSensitivity cs = Qt::CaseSensitive); 10143: QString &replace(QLatin1String before, QLatin1String after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 10143: QString &replace(QLatin1String before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 10143: QString &replace(const QString &before, QLatin1String after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 10143: QString &replace(const QString &before, const QString &after, 10143: Qt::CaseSensitivity cs = Qt::CaseSensitive); 10143: QString &replace(QChar c, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 10143: QString &replace(QChar c, QLatin1String after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 10143: 10143: QString &replace(const QRegExp &rx, const QString &after); 10143: inline QString &remove(const QRegExp &rx) 10143: { return replace(rx, QString()); } 10143: 10143: 10143: QString &replace(const QRegularExpression &re, const QString &after); 10143: inline QString &remove(const QRegularExpression &re) 10143: { return replace(re, QString()); } 10143: 10143: 10143: enum SplitBehavior { KeepEmptyParts, SkipEmptyParts }; 10143: 10143: [[nodiscard]] QStringList split(const QString &sep, SplitBehavior behavior = KeepEmptyParts, 10143: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: [[nodiscard]] QVector splitRef(const QString &sep, SplitBehavior behavior = KeepEmptyParts, 10143: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: [[nodiscard]] QStringList split(QChar sep, SplitBehavior behavior = KeepEmptyParts, 10143: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: [[nodiscard]] QVector splitRef(QChar sep, SplitBehavior behavior = KeepEmptyParts, 10143: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: 10143: [[nodiscard]] QStringList split(const QRegExp &sep, SplitBehavior behavior = KeepEmptyParts) const; 10143: [[nodiscard]] QVector splitRef(const QRegExp &sep, SplitBehavior behavior = KeepEmptyParts) const; 10143: 10143: 10143: [[nodiscard]] QStringList split(const QRegularExpression &sep, SplitBehavior behavior = KeepEmptyParts) const; 10143: [[nodiscard]] QVector splitRef(const QRegularExpression &sep, SplitBehavior behavior = KeepEmptyParts) const; 10143: 10143: enum NormalizationForm { 10143: NormalizationForm_D, 10143: NormalizationForm_C, 10143: NormalizationForm_KD, 10143: NormalizationForm_KC 10143: }; 10143: [[nodiscard]] QString normalized(NormalizationForm mode, QChar::UnicodeVersion version = QChar::Unicode_Unassigned) const; 10143: 10143: [[nodiscard]] QString repeated(int times) const; 10143: 10143: const ushort *utf16() const; 10143: 10143: 10143: [[nodiscard]] QByteArray toLatin1() const & 10143: { return toLatin1_helper(*this); } 10143: [[nodiscard]] QByteArray toLatin1() && 10143: { return toLatin1_helper_inplace(*this); } 10143: [[nodiscard]] QByteArray toUtf8() const & 10143: { return toUtf8_helper(*this); } 10143: [[nodiscard]] QByteArray toUtf8() && 10143: { return toUtf8_helper(*this); } 10143: [[nodiscard]] QByteArray toLocal8Bit() const & 10143: { return toLocal8Bit_helper(isNull() ? nullptr : constData(), size()); } 10143: [[nodiscard]] QByteArray toLocal8Bit() && 10143: { return toLocal8Bit_helper(isNull() ? nullptr : constData(), size()); } 10143: 10143: 10143: 10143: 10143: 10143: [[nodiscard]] QVector toUcs4() const; 10143: 10143: 10143: static inline QString fromLatin1(const char *str, int size = -1) 10143: { 10143: QStringDataPtr dataPtr = { fromLatin1_helper(str, (str && size == -1) ? int(strlen(str)) : size) }; 10143: return QString(dataPtr); 10143: } 10143: static inline QString fromUtf8(const char *str, int size = -1) 10143: { 10143: return fromUtf8_helper(str, (str && size == -1) ? int(strlen(str)) : size); 10143: } 10143: static inline QString fromLocal8Bit(const char *str, int size = -1) 10143: { 10143: return fromLocal8Bit_helper(str, (str && size == -1) ? int(strlen(str)) : size); 10143: } 10143: static inline QString fromLatin1(const QByteArray &str) 10143: { return str.isNull() ? QString() : fromLatin1(str.data(), qstrnlen(str.constData(), str.size())); } 10143: static inline QString fromUtf8(const QByteArray &str) 10143: { return str.isNull() ? QString() : fromUtf8(str.data(), qstrnlen(str.constData(), str.size())); } 10143: static inline QString fromLocal8Bit(const QByteArray &str) 10143: { return str.isNull() ? QString() : fromLocal8Bit(str.data(), qstrnlen(str.constData(), str.size())); } 10143: static QString fromUtf16(const ushort *, int size = -1); 10143: static QString fromUcs4(const uint *, int size = -1); 10143: static QString fromRawData(const QChar *, int size); 10143: 10143: 10143: static QString fromUtf16(const char16_t *str, int size = -1) 10143: { return fromUtf16(reinterpret_cast(str), size); } 10143: static QString fromUcs4(const char32_t *str, int size = -1) 10143: { return fromUcs4(reinterpret_cast(str), size); } 10143: # 570 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstring.h" 3 4 10143: inline int toWCharArray(wchar_t *array) const; 10143: [[nodiscard]] static inline QString fromWCharArray(const wchar_t *string, int size = -1); 10143: 10143: QString &setRawData(const QChar *unicode, int size); 10143: QString &setUnicode(const QChar *unicode, int size); 10143: inline QString &setUtf16(const ushort *utf16, int size); 10143: 10143: int compare(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 10143: int compare(QLatin1String other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 10143: 10143: static inline int compare(const QString &s1, const QString &s2, 10143: Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept 10143: { return s1.compare(s2, cs); } 10143: 10143: static inline int compare(const QString &s1, QLatin1String s2, 10143: Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept 10143: { return s1.compare(s2, cs); } 10143: static inline int compare(QLatin1String s1, const QString &s2, 10143: Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept 10143: { return -s2.compare(s1, cs); } 10143: 10143: inline int compare(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 10143: static int compare(const QString &s1, const QStringRef &s2, 10143: Qt::CaseSensitivity = Qt::CaseSensitive) noexcept; 10143: 10143: int localeAwareCompare(const QString& s) const; 10143: static int localeAwareCompare(const QString& s1, const QString& s2) 10143: { return s1.localeAwareCompare(s2); } 10143: 10143: int localeAwareCompare(const QStringRef &s) const; 10143: static int localeAwareCompare(const QString& s1, const QStringRef& s2); 10143: 10143: 10143: short toShort(bool *ok=nullptr, int base=10) const; 10143: ushort toUShort(bool *ok=nullptr, int base=10) const; 10143: int toInt(bool *ok=nullptr, int base=10) const; 10143: uint toUInt(bool *ok=nullptr, int base=10) const; 10143: long toLong(bool *ok=nullptr, int base=10) const; 10143: ulong toULong(bool *ok=nullptr, int base=10) const; 10143: qlonglong toLongLong(bool *ok=nullptr, int base=10) const; 10143: qulonglong toULongLong(bool *ok=nullptr, int base=10) const; 10143: float toFloat(bool *ok=nullptr) const; 10143: double toDouble(bool *ok=nullptr) const; 10143: 10143: QString &setNum(short, int base=10); 10143: QString &setNum(ushort, int base=10); 10143: QString &setNum(int, int base=10); 10143: QString &setNum(uint, int base=10); 10143: QString &setNum(long, int base=10); 10143: QString &setNum(ulong, int base=10); 10143: QString &setNum(qlonglong, int base=10); 10143: QString &setNum(qulonglong, int base=10); 10143: QString &setNum(float, char f='g', int prec=6); 10143: QString &setNum(double, char f='g', int prec=6); 10143: 10143: static QString number(int, int base=10); 10143: static QString number(uint, int base=10); 10143: static QString number(long, int base=10); 10143: static QString number(ulong, int base=10); 10143: static QString number(qlonglong, int base=10); 10143: static QString number(qulonglong, int base=10); 10143: static QString number(double, char f='g', int prec=6); 10143: 10143: friend __attribute__((visibility("default"))) bool operator==(const QString &s1, const QString &s2) noexcept; 10143: friend __attribute__((visibility("default"))) bool operator<(const QString &s1, const QString &s2) noexcept; 10143: friend inline bool operator>(const QString &s1, const QString &s2) noexcept { return s2 < s1; } 10143: friend inline bool operator!=(const QString &s1, const QString &s2) noexcept { return !(s1 == s2); } 10143: friend inline bool operator<=(const QString &s1, const QString &s2) noexcept { return !(s1 > s2); } 10143: friend inline bool operator>=(const QString &s1, const QString &s2) noexcept { return !(s1 < s2); } 10143: 10143: bool operator==(QLatin1String s) const noexcept; 10143: bool operator<(QLatin1String s) const noexcept; 10143: bool operator>(QLatin1String s) const noexcept; 10143: inline bool operator!=(QLatin1String s) const noexcept { return !operator==(s); } 10143: inline bool operator<=(QLatin1String s) const noexcept { return !operator>(s); } 10143: inline bool operator>=(QLatin1String s) const noexcept { return !operator<(s); } 10143: # 658 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstring.h" 3 4 10143: inline QString(const char *ch) 10143: : d(fromAscii_helper(ch, ch ? int(strlen(ch)) : -1)) 10143: {} 10143: inline QString(const QByteArray &a) 10143: : d(fromAscii_helper(a.constData(), qstrnlen(a.constData(), a.size()))) 10143: {} 10143: inline QString &operator=(const char *ch) 10143: { return (*this = fromUtf8(ch)); } 10143: inline QString &operator=(const QByteArray &a) 10143: { return (*this = fromUtf8(a)); } 10143: inline QString &operator=(char c) 10143: { return (*this = QChar::fromLatin1(c)); } 10143: 10143: 10143: inline QString &prepend(const char *s) 10143: { return prepend(QString::fromUtf8(s)); } 10143: inline QString &prepend(const QByteArray &s) 10143: { return prepend(QString::fromUtf8(s)); } 10143: inline QString &append(const char *s) 10143: { return append(QString::fromUtf8(s)); } 10143: inline QString &append(const QByteArray &s) 10143: { return append(QString::fromUtf8(s)); } 10143: inline QString &insert(int i, const char *s) 10143: { return insert(i, QString::fromUtf8(s)); } 10143: inline QString &insert(int i, const QByteArray &s) 10143: { return insert(i, QString::fromUtf8(s)); } 10143: inline QString &operator+=(const char *s) 10143: { return append(QString::fromUtf8(s)); } 10143: inline QString &operator+=(const QByteArray &s) 10143: { return append(QString::fromUtf8(s)); } 10143: inline QString &operator+=(char c) 10143: { return append(QChar::fromLatin1(c)); } 10143: 10143: inline bool operator==(const char *s) const; 10143: inline bool operator!=(const char *s) const; 10143: inline bool operator<(const char *s) const; 10143: inline bool operator<=(const char *s) const; 10143: inline bool operator>(const char *s) const; 10143: inline bool operator>=(const char *s) const; 10143: 10143: inline bool operator==(const QByteArray &s) const; 10143: inline bool operator!=(const QByteArray &s) const; 10143: inline bool operator<(const QByteArray &s) const; 10143: inline bool operator>(const QByteArray &s) const; 10143: inline bool operator<=(const QByteArray &s) const; 10143: inline bool operator>=(const QByteArray &s) const; 10143: 10143: friend inline bool operator==(const char *s1, const QString &s2); 10143: friend inline bool operator!=(const char *s1, const QString &s2); 10143: friend inline bool operator<(const char *s1, const QString &s2); 10143: friend inline bool operator>(const char *s1, const QString &s2); 10143: friend inline bool operator<=(const char *s1, const QString &s2); 10143: friend inline bool operator>=(const char *s1, const QString &s2); 10143: 10143: friend inline bool operator==(const char *s1, const QStringRef &s2); 10143: friend inline bool operator!=(const char *s1, const QStringRef &s2); 10143: friend inline bool operator<(const char *s1, const QStringRef &s2); 10143: friend inline bool operator>(const char *s1, const QStringRef &s2); 10143: friend inline bool operator<=(const char *s1, const QStringRef &s2); 10143: friend inline bool operator>=(const char *s1, const QStringRef &s2); 10143: 10143: 10143: typedef QChar *iterator; 10143: typedef const QChar *const_iterator; 10143: typedef iterator Iterator; 10143: typedef const_iterator ConstIterator; 10143: typedef std::reverse_iterator reverse_iterator; 10143: typedef std::reverse_iterator const_reverse_iterator; 10143: inline iterator begin(); 10143: inline const_iterator begin() const; 10143: inline const_iterator cbegin() const; 10143: inline const_iterator constBegin() const; 10143: inline iterator end(); 10143: inline const_iterator end() const; 10143: inline const_iterator cend() const; 10143: inline const_iterator constEnd() const; 10143: reverse_iterator rbegin() { return reverse_iterator(end()); } 10143: reverse_iterator rend() { return reverse_iterator(begin()); } 10143: const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } 10143: const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } 10143: const_reverse_iterator crbegin() const { return const_reverse_iterator(end()); } 10143: const_reverse_iterator crend() const { return const_reverse_iterator(begin()); } 10143: 10143: 10143: typedef int size_type; 10143: typedef qptrdiff difference_type; 10143: typedef const QChar & const_reference; 10143: typedef QChar & reference; 10143: typedef QChar *pointer; 10143: typedef const QChar *const_pointer; 10143: typedef QChar value_type; 10143: inline void push_back(QChar c) { append(c); } 10143: inline void push_back(const QString &s) { append(s); } 10143: inline void push_front(QChar c) { prepend(c); } 10143: inline void push_front(const QString &s) { prepend(s); } 10143: 10143: static inline QString fromStdString(const std::string &s); 10143: inline std::string toStdString() const; 10143: static inline QString fromStdWString(const std::wstring &s); 10143: inline std::wstring toStdWString() const; 10143: 10143: 10143: static inline QString fromStdU16String(const std::u16string &s); 10143: inline std::u16string toStdU16String() const; 10143: static inline QString fromStdU32String(const std::u32string &s); 10143: inline std::u32string toStdU32String() const; 10143: # 774 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstring.h" 3 4 10143: struct Null { }; 10143: 10143: static const Null null; 10143: inline QString(const Null &): d(Data::sharedNull()) {} 10143: inline QString &operator=(const Null &) { *this = QString(); return *this; } 10143: 10143: inline bool isNull() const { return d == Data::sharedNull(); } 10143: 10143: 10143: bool isSimpleText() const; 10143: bool isRightToLeft() const; 10143: 10143: QString(int size, Qt::Initialization); 10143: constexpr inline QString(QStringDataPtr dd) : d(dd.ptr) {} 10143: 10143: private: 10143: # 799 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstring.h" 3 4 10143: Data *d; 10143: 10143: friend inline bool operator==(QChar, const QString &) noexcept; 10143: friend inline bool operator< (QChar, const QString &) noexcept; 10143: friend inline bool operator> (QChar, const QString &) noexcept; 10143: friend inline bool operator==(QChar, const QStringRef &) noexcept; 10143: friend inline bool operator< (QChar, const QStringRef &) noexcept; 10143: friend inline bool operator> (QChar, const QStringRef &) noexcept; 10143: friend inline bool operator==(QChar, QLatin1String) noexcept; 10143: friend inline bool operator< (QChar, QLatin1String) noexcept; 10143: friend inline bool operator> (QChar, QLatin1String) noexcept; 10143: 10143: void reallocData(uint alloc, bool grow = false); 10143: 10143: void expand(int i); 10143: 10143: QString multiArg(int numArgs, const QString **args) const; 10143: static int compare_helper(const QChar *data1, int length1, 10143: const QChar *data2, int length2, 10143: Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 10143: static int compare_helper(const QChar *data1, int length1, 10143: const char *data2, int length2, 10143: Qt::CaseSensitivity cs = Qt::CaseSensitive); 10143: static int compare_helper(const QChar *data1, int length1, 10143: QLatin1String s2, 10143: Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 10143: static int localeAwareCompare_helper(const QChar *data1, int length1, 10143: const QChar *data2, int length2); 10143: static QString toLower_helper(const QString &str); 10143: static QString toLower_helper(QString &str); 10143: static QString toUpper_helper(const QString &str); 10143: static QString toUpper_helper(QString &str); 10143: static QString toCaseFolded_helper(const QString &str); 10143: static QString toCaseFolded_helper(QString &str); 10143: static QString trimmed_helper(const QString &str); 10143: static QString trimmed_helper(QString &str); 10143: static QString simplified_helper(const QString &str); 10143: static QString simplified_helper(QString &str); 10143: static Data *fromLatin1_helper(const char *str, int size = -1); 10143: static Data *fromAscii_helper(const char *str, int size = -1); 10143: static QString fromUtf8_helper(const char *str, int size); 10143: static QString fromLocal8Bit_helper(const char *, int size); 10143: static QByteArray toLatin1_helper(const QString &); 10143: static QByteArray toLatin1_helper(const QChar *data, int size); 10143: static QByteArray toLatin1_helper_inplace(QString &); 10143: static QByteArray toUtf8_helper(const QString &); 10143: static QByteArray toLocal8Bit_helper(const QChar *data, int size); 10143: static int toUcs4_helper(const ushort *uc, int length, uint *out); 10143: static qlonglong toIntegral_helper(const QChar *data, int len, bool *ok, int base); 10143: static qulonglong toIntegral_helper(const QChar *data, uint len, bool *ok, int base); 10143: void replace_helper(uint *indices, int nIndices, int blen, const QChar *after, int alen); 10143: friend class QCharRef; 10143: friend class QTextCodec; 10143: friend class QStringRef; 10143: friend class QByteArray; 10143: friend class QCollator; 10143: friend struct QAbstractConcatenable; 10143: 10143: template static 10143: T toIntegral_helper(const QChar *data, int len, bool *ok, int base) 10143: { 10143: 10143: const bool isUnsigned = T(0) < T(-1); 10143: typedef typename QtPrivate::QConditional::Type Int64; 10143: typedef typename QtPrivate::QConditional::Type Int32; 10143: 10143: 10143: Int64 val = toIntegral_helper(data, Int32(len), ok, base); 10143: if (T(val) != val) { 10143: if (ok) 10143: *ok = false; 10143: val = 0; 10143: } 10143: return T(val); 10143: } 10143: 10143: public: 10143: typedef Data * DataPtr; 10143: inline DataPtr &data_ptr() { return d; } 10143: }; 10143: 10143: inline QString::QString(QLatin1String aLatin1) : d(fromLatin1_helper(aLatin1.latin1(), aLatin1.size())) 10143: { } 10143: inline int QString::length() const 10143: { return d->size; } 10143: inline const QChar QString::at(int i) const 10143: { do { } while ((false) && (uint(i) < uint(size()))); return d->data()[i]; } 10143: inline const QChar QString::operator[](int i) const 10143: { do { } while ((false) && (uint(i) < uint(size()))); return d->data()[i]; } 10143: inline const QChar QString::operator[](uint i) const 10143: { do { } while ((false) && (i < uint(size()))); return d->data()[i]; } 10143: inline bool QString::isEmpty() const 10143: { return d->size == 0; } 10143: inline const QChar *QString::unicode() const 10143: { return reinterpret_cast(d->data()); } 10143: inline const QChar *QString::data() const 10143: { return reinterpret_cast(d->data()); } 10143: inline QChar *QString::data() 10143: { detach(); return reinterpret_cast(d->data()); } 10143: inline const QChar *QString::constData() const 10143: { return reinterpret_cast(d->data()); } 10143: inline void QString::detach() 10143: { if (d->ref.isShared() || (d->offset != sizeof(QStringData))) reallocData(uint(d->size) + 1u); } 10143: inline bool QString::isDetached() const 10143: { return !d->ref.isShared(); } 10143: inline void QString::clear() 10143: { if (!isNull()) *this = QString(); } 10143: inline QString::QString(const QString &other) noexcept : d(other.d) 10143: { do { } while ((false) && (&other != this)); d->ref.ref(); } 10143: inline int QString::capacity() const 10143: { return d->alloc ? d->alloc - 1 : 0; } 10143: inline QString &QString::setNum(short n, int base) 10143: { return setNum(qlonglong(n), base); } 10143: inline QString &QString::setNum(ushort n, int base) 10143: { return setNum(qulonglong(n), base); } 10143: inline QString &QString::setNum(int n, int base) 10143: { return setNum(qlonglong(n), base); } 10143: inline QString &QString::setNum(uint n, int base) 10143: { return setNum(qulonglong(n), base); } 10143: inline QString &QString::setNum(long n, int base) 10143: { return setNum(qlonglong(n), base); } 10143: inline QString &QString::setNum(ulong n, int base) 10143: { return setNum(qulonglong(n), base); } 10143: inline QString &QString::setNum(float n, char f, int prec) 10143: { return setNum(double(n),f,prec); } 10143: inline QString QString::arg(int a, int fieldWidth, int base, QChar fillChar) const 10143: { return arg(qlonglong(a), fieldWidth, base, fillChar); } 10143: inline QString QString::arg(uint a, int fieldWidth, int base, QChar fillChar) const 10143: { return arg(qulonglong(a), fieldWidth, base, fillChar); } 10143: inline QString QString::arg(long a, int fieldWidth, int base, QChar fillChar) const 10143: { return arg(qlonglong(a), fieldWidth, base, fillChar); } 10143: inline QString QString::arg(ulong a, int fieldWidth, int base, QChar fillChar) const 10143: { return arg(qulonglong(a), fieldWidth, base, fillChar); } 10143: inline QString QString::arg(short a, int fieldWidth, int base, QChar fillChar) const 10143: { return arg(qlonglong(a), fieldWidth, base, fillChar); } 10143: inline QString QString::arg(ushort a, int fieldWidth, int base, QChar fillChar) const 10143: { return arg(qulonglong(a), fieldWidth, base, fillChar); } 10143: inline QString QString::arg(const QString &a1, const QString &a2) const 10143: { const QString *args[2] = { &a1, &a2 }; return multiArg(2, args); } 10143: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3) const 10143: { const QString *args[3] = { &a1, &a2, &a3 }; return multiArg(3, args); } 10143: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, 10143: const QString &a4) const 10143: { const QString *args[4] = { &a1, &a2, &a3, &a4 }; return multiArg(4, args); } 10143: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, 10143: const QString &a4, const QString &a5) const 10143: { const QString *args[5] = { &a1, &a2, &a3, &a4, &a5 }; return multiArg(5, args); } 10143: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, 10143: const QString &a4, const QString &a5, const QString &a6) const 10143: { const QString *args[6] = { &a1, &a2, &a3, &a4, &a5, &a6 }; return multiArg(6, args); } 10143: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, 10143: const QString &a4, const QString &a5, const QString &a6, 10143: const QString &a7) const 10143: { const QString *args[7] = { &a1, &a2, &a3, &a4, &a5, &a6, &a7 }; return multiArg(7, args); } 10143: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, 10143: const QString &a4, const QString &a5, const QString &a6, 10143: const QString &a7, const QString &a8) const 10143: { const QString *args[8] = { &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8 }; return multiArg(8, args); } 10143: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, 10143: const QString &a4, const QString &a5, const QString &a6, 10143: const QString &a7, const QString &a8, const QString &a9) const 10143: { const QString *args[9] = { &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9 }; return multiArg(9, args); } 10143: 10143: inline QString QString::section(QChar asep, int astart, int aend, SectionFlags aflags) const 10143: { return section(QString(asep), astart, aend, aflags); } 10143: 10143: 10143: # 965 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstring.h" 3 4 10143: #pragma GCC diagnostic push 10143: # 965 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstring.h" 3 4 10143: 10143: 10143: 10143: 10143: inline int QString::toWCharArray(wchar_t *array) const 10143: { 10143: if (sizeof(wchar_t) == sizeof(QChar)) { 10143: memcpy(array, d->data(), sizeof(QChar) * size()); 10143: return size(); 10143: } else { 10143: return toUcs4_helper(d->data(), size(), reinterpret_cast(array)); 10143: } 10143: } 10143: 10143: 10143: # 979 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstring.h" 3 4 10143: #pragma GCC diagnostic pop 10143: # 979 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstring.h" 3 4 10143: 10143: 10143: inline QString QString::fromWCharArray(const wchar_t *string, int size) 10143: { 10143: return sizeof(wchar_t) == sizeof(QChar) ? fromUtf16(reinterpret_cast(string), size) 10143: : fromUcs4(reinterpret_cast(string), size); 10143: } 10143: 10143: 10143: class __attribute__((visibility("default"))) QCharRef { 10143: QString &s; 10143: int i; 10143: inline QCharRef(QString &str, int idx) 10143: : s(str),i(idx) {} 10143: friend class QString; 10143: public: 10143: 10143: 10143: 10143: 10143: inline operator QChar() const 10143: { return i < s.d->size ? s.d->data()[i] : 0; } 10143: inline QCharRef &operator=(QChar c) 10143: { if (i >= s.d->size) s.resize(i + 1, QLatin1Char(' ')); else s.detach(); 10143: s.d->data()[i] = c.unicode(); return *this; } 10143: 10143: 10143: 10143: inline QCharRef &operator=(char c) 10143: { return operator=(QChar::fromLatin1(c)); } 10143: inline QCharRef &operator=(uchar c) 10143: { return operator=(QChar::fromLatin1(c)); } 10143: 10143: inline QCharRef &operator=(const QCharRef &c) { return operator=(QChar(c)); } 10143: inline QCharRef &operator=(ushort rc) { return operator=(QChar(rc)); } 10143: inline QCharRef &operator=(short rc) { return operator=(QChar(rc)); } 10143: inline QCharRef &operator=(uint rc) { return operator=(QChar(rc)); } 10143: inline QCharRef &operator=(int rc) { return operator=(QChar(rc)); } 10143: 10143: 10143: inline bool isNull() const { return QChar(*this).isNull(); } 10143: inline bool isPrint() const { return QChar(*this).isPrint(); } 10143: inline bool isPunct() const { return QChar(*this).isPunct(); } 10143: inline bool isSpace() const { return QChar(*this).isSpace(); } 10143: inline bool isMark() const { return QChar(*this).isMark(); } 10143: inline bool isLetter() const { return QChar(*this).isLetter(); } 10143: inline bool isNumber() const { return QChar(*this).isNumber(); } 10143: inline bool isLetterOrNumber() { return QChar(*this).isLetterOrNumber(); } 10143: inline bool isDigit() const { return QChar(*this).isDigit(); } 10143: inline bool isLower() const { return QChar(*this).isLower(); } 10143: inline bool isUpper() const { return QChar(*this).isUpper(); } 10143: inline bool isTitleCase() const { return QChar(*this).isTitleCase(); } 10143: 10143: inline int digitValue() const { return QChar(*this).digitValue(); } 10143: QChar toLower() const { return QChar(*this).toLower(); } 10143: QChar toUpper() const { return QChar(*this).toUpper(); } 10143: QChar toTitleCase () const { return QChar(*this).toTitleCase(); } 10143: 10143: QChar::Category category() const { return QChar(*this).category(); } 10143: QChar::Direction direction() const { return QChar(*this).direction(); } 10143: QChar::JoiningType joiningType() const { return QChar(*this).joiningType(); } 10143: 10143: QChar::Joining joining() const 10143: { 10143: switch (QChar(*this).joiningType()) { 10143: case QChar::Joining_Causing: return QChar::Center; 10143: case QChar::Joining_Dual: return QChar::Dual; 10143: case QChar::Joining_Right: return QChar::Right; 10143: case QChar::Joining_None: 10143: case QChar::Joining_Left: 10143: case QChar::Joining_Transparent: 10143: default: return QChar::OtherJoining; 10143: } 10143: } 10143: 10143: bool hasMirrored() const { return QChar(*this).hasMirrored(); } 10143: QChar mirroredChar() const { return QChar(*this).mirroredChar(); } 10143: QString decomposition() const { return QChar(*this).decomposition(); } 10143: QChar::Decomposition decompositionTag() const { return QChar(*this).decompositionTag(); } 10143: uchar combiningClass() const { return QChar(*this).combiningClass(); } 10143: 10143: inline QChar::Script script() const { return QChar(*this).script(); } 10143: 10143: QChar::UnicodeVersion unicodeVersion() const { return QChar(*this).unicodeVersion(); } 10143: 10143: inline uchar cell() const { return QChar(*this).cell(); } 10143: inline uchar row() const { return QChar(*this).row(); } 10143: inline void setCell(uchar cell); 10143: inline void setRow(uchar row); 10143: 10143: 10143: 10143: 10143: char toLatin1() const { return QChar(*this).toLatin1(); } 10143: ushort unicode() const { return QChar(*this).unicode(); } 10143: ushort& unicode() { return s.data()[i].unicode(); } 10143: 10143: }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QCharRef)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QCharRef >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QCharRef) }; static inline const char *name() { return "QCharRef"; } }; 10143: 10143: inline void QCharRef::setRow(uchar arow) { QChar(*this).setRow(arow); } 10143: inline void QCharRef::setCell(uchar acell) { QChar(*this).setCell(acell); } 10143: 10143: 10143: inline QString::QString() noexcept : d(Data::sharedNull()) {} 10143: inline QString::~QString() { if (!d->ref.deref()) Data::deallocate(d); } 10143: 10143: inline void QString::reserve(int asize) 10143: { 10143: if (d->ref.isShared() || uint(asize) >= d->alloc) 10143: reallocData(qMax(asize, d->size) + 1u); 10143: 10143: if (!d->capacityReserved) { 10143: 10143: d->capacityReserved = true; 10143: } 10143: } 10143: 10143: inline void QString::squeeze() 10143: { 10143: if (d->ref.isShared() || uint(d->size) + 1u < d->alloc) 10143: reallocData(uint(d->size) + 1u); 10143: 10143: if (d->capacityReserved) { 10143: 10143: 10143: d->capacityReserved = false; 10143: } 10143: } 10143: 10143: inline QString &QString::setUtf16(const ushort *autf16, int asize) 10143: { return setUnicode(reinterpret_cast(autf16), asize); } 10143: inline QCharRef QString::operator[](int i) 10143: { do { } while ((false) && (i >= 0)); return QCharRef(*this, i); } 10143: inline QCharRef QString::operator[](uint i) 10143: { return QCharRef(*this, i); } 10143: inline QString::iterator QString::begin() 10143: { detach(); return reinterpret_cast(d->data()); } 10143: inline QString::const_iterator QString::begin() const 10143: { return reinterpret_cast(d->data()); } 10143: inline QString::const_iterator QString::cbegin() const 10143: { return reinterpret_cast(d->data()); } 10143: inline QString::const_iterator QString::constBegin() const 10143: { return reinterpret_cast(d->data()); } 10143: inline QString::iterator QString::end() 10143: { detach(); return reinterpret_cast(d->data() + d->size); } 10143: inline QString::const_iterator QString::end() const 10143: { return reinterpret_cast(d->data() + d->size); } 10143: inline QString::const_iterator QString::cend() const 10143: { return reinterpret_cast(d->data() + d->size); } 10143: inline QString::const_iterator QString::constEnd() const 10143: { return reinterpret_cast(d->data() + d->size); } 10143: inline bool QString::contains(const QString &s, Qt::CaseSensitivity cs) const 10143: { return indexOf(s, 0, cs) != -1; } 10143: inline bool QString::contains(const QStringRef &s, Qt::CaseSensitivity cs) const 10143: { return indexOf(s, 0, cs) != -1; } 10143: inline bool QString::contains(QLatin1String s, Qt::CaseSensitivity cs) const 10143: { return indexOf(s, 0, cs) != -1; } 10143: inline bool QString::contains(QChar c, Qt::CaseSensitivity cs) const 10143: { return indexOf(c, 0, cs) != -1; } 10143: 10143: 10143: inline bool operator==(QString::Null, QString::Null) { return true; } 10143: 10143: inline bool operator==(QString::Null, const QString &s) { return s.isNull(); } 10143: 10143: inline bool operator==(const QString &s, QString::Null) { return s.isNull(); } 10143: inline bool operator!=(QString::Null, QString::Null) { return false; } 10143: 10143: inline bool operator!=(QString::Null, const QString &s) { return !s.isNull(); } 10143: 10143: inline bool operator!=(const QString &s, QString::Null) { return !s.isNull(); } 10143: 10143: 10143: inline bool operator==(QLatin1String s1, QLatin1String s2) noexcept 10143: { return s1.size() == s2.size() && (!s1.size() || !memcmp(s1.latin1(), s2.latin1(), s1.size())); } 10143: inline bool operator!=(QLatin1String s1, QLatin1String s2) noexcept 10143: { return !operator==(s1, s2); } 10143: inline bool operator<(QLatin1String s1, QLatin1String s2) noexcept 10143: { 10143: const int len = qMin(s1.size(), s2.size()); 10143: const int r = len ? memcmp(s1.latin1(), s2.latin1(), len) : 0; 10143: return r < 0 || (r == 0 && s1.size() < s2.size()); 10143: } 10143: inline bool operator>(QLatin1String s1, QLatin1String s2) noexcept 10143: { return operator<(s2, s1); } 10143: inline bool operator<=(QLatin1String s1, QLatin1String s2) noexcept 10143: { return !operator>(s1, s2); } 10143: inline bool operator>=(QLatin1String s1, QLatin1String s2) noexcept 10143: { return !operator<(s1, s2); } 10143: 10143: inline bool QLatin1String::operator==(const QString &s) const noexcept 10143: { return s == *this; } 10143: inline bool QLatin1String::operator!=(const QString &s) const noexcept 10143: { return s != *this; } 10143: inline bool QLatin1String::operator>(const QString &s) const noexcept 10143: { return s < *this; } 10143: inline bool QLatin1String::operator<(const QString &s) const noexcept 10143: { return s > *this; } 10143: inline bool QLatin1String::operator>=(const QString &s) const noexcept 10143: { return s <= *this; } 10143: inline bool QLatin1String::operator<=(const QString &s) const noexcept 10143: { return s >= *this; } 10143: 10143: 10143: inline bool QString::operator==(const char *s) const 10143: { return QString::compare_helper(constData(), size(), s, -1) == 0; } 10143: inline bool QString::operator!=(const char *s) const 10143: { return QString::compare_helper(constData(), size(), s, -1) != 0; } 10143: inline bool QString::operator<(const char *s) const 10143: { return QString::compare_helper(constData(), size(), s, -1) < 0; } 10143: inline bool QString::operator>(const char *s) const 10143: { return QString::compare_helper(constData(), size(), s, -1) > 0; } 10143: inline bool QString::operator<=(const char *s) const 10143: { return QString::compare_helper(constData(), size(), s, -1) <= 0; } 10143: inline bool QString::operator>=(const char *s) const 10143: { return QString::compare_helper(constData(), size(), s, -1) >= 0; } 10143: 10143: inline bool operator==(const char *s1, const QString &s2) 10143: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) == 0; } 10143: inline bool operator!=(const char *s1, const QString &s2) 10143: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) != 0; } 10143: inline bool operator<(const char *s1, const QString &s2) 10143: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) > 0; } 10143: inline bool operator>(const char *s1, const QString &s2) 10143: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) < 0; } 10143: inline bool operator<=(const char *s1, const QString &s2) 10143: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) >= 0; } 10143: inline bool operator>=(const char *s1, const QString &s2) 10143: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) <= 0; } 10143: 10143: inline bool operator==(const char *s1, QLatin1String s2) 10143: { return QString::fromUtf8(s1) == s2; } 10143: inline bool operator!=(const char *s1, QLatin1String s2) 10143: { return QString::fromUtf8(s1) != s2; } 10143: inline bool operator<(const char *s1, QLatin1String s2) 10143: { return (QString::fromUtf8(s1) < s2); } 10143: inline bool operator>(const char *s1, QLatin1String s2) 10143: { return (QString::fromUtf8(s1) > s2); } 10143: inline bool operator<=(const char *s1, QLatin1String s2) 10143: { return (QString::fromUtf8(s1) <= s2); } 10143: inline bool operator>=(const char *s1, QLatin1String s2) 10143: { return (QString::fromUtf8(s1) >= s2); } 10143: 10143: inline bool QLatin1String::operator==(const char *s) const 10143: { return QString::fromUtf8(s) == *this; } 10143: inline bool QLatin1String::operator!=(const char *s) const 10143: { return QString::fromUtf8(s) != *this; } 10143: inline bool QLatin1String::operator<(const char *s) const 10143: { return QString::fromUtf8(s) > *this; } 10143: inline bool QLatin1String::operator>(const char *s) const 10143: { return QString::fromUtf8(s) < *this; } 10143: inline bool QLatin1String::operator<=(const char *s) const 10143: { return QString::fromUtf8(s) >= *this; } 10143: inline bool QLatin1String::operator>=(const char *s) const 10143: { return QString::fromUtf8(s) <= *this; } 10143: 10143: inline bool QLatin1String::operator==(const QByteArray &s) const 10143: { return QString::fromUtf8(s) == *this; } 10143: inline bool QLatin1String::operator!=(const QByteArray &s) const 10143: { return QString::fromUtf8(s) != *this; } 10143: inline bool QLatin1String::operator<(const QByteArray &s) const 10143: { return QString::fromUtf8(s) > *this; } 10143: inline bool QLatin1String::operator>(const QByteArray &s) const 10143: { return QString::fromUtf8(s) < *this; } 10143: inline bool QLatin1String::operator<=(const QByteArray &s) const 10143: { return QString::fromUtf8(s) >= *this; } 10143: inline bool QLatin1String::operator>=(const QByteArray &s) const 10143: { return QString::fromUtf8(s) <= *this; } 10143: 10143: inline bool QString::operator==(const QByteArray &s) const 10143: { return QString::compare_helper(constData(), size(), s.constData(), qstrnlen(s.constData(), s.size())) == 0; } 10143: inline bool QString::operator!=(const QByteArray &s) const 10143: { return QString::compare_helper(constData(), size(), s.constData(), qstrnlen(s.constData(), s.size())) != 0; } 10143: inline bool QString::operator<(const QByteArray &s) const 10143: { return QString::compare_helper(constData(), size(), s.constData(), s.size()) < 0; } 10143: inline bool QString::operator>(const QByteArray &s) const 10143: { return QString::compare_helper(constData(), size(), s.constData(), s.size()) > 0; } 10143: inline bool QString::operator<=(const QByteArray &s) const 10143: { return QString::compare_helper(constData(), size(), s.constData(), s.size()) <= 0; } 10143: inline bool QString::operator>=(const QByteArray &s) const 10143: { return QString::compare_helper(constData(), size(), s.constData(), s.size()) >= 0; } 10143: 10143: inline bool QByteArray::operator==(const QString &s) const 10143: { return QString::compare_helper(s.constData(), s.size(), constData(), qstrnlen(constData(), size())) == 0; } 10143: inline bool QByteArray::operator!=(const QString &s) const 10143: { return QString::compare_helper(s.constData(), s.size(), constData(), qstrnlen(constData(), size())) != 0; } 10143: inline bool QByteArray::operator<(const QString &s) const 10143: { return QString::compare_helper(s.constData(), s.size(), constData(), size()) > 0; } 10143: inline bool QByteArray::operator>(const QString &s) const 10143: { return QString::compare_helper(s.constData(), s.size(), constData(), size()) < 0; } 10143: inline bool QByteArray::operator<=(const QString &s) const 10143: { return QString::compare_helper(s.constData(), s.size(), constData(), size()) >= 0; } 10143: inline bool QByteArray::operator>=(const QString &s) const 10143: { return QString::compare_helper(s.constData(), s.size(), constData(), size()) <= 0; } 10143: 10143: 10143: 10143: inline QByteArray &QByteArray::append(const QString &s) 10143: { return append(s.toUtf8()); } 10143: inline QByteArray &QByteArray::insert(int i, const QString &s) 10143: { return insert(i, s.toUtf8()); } 10143: inline QByteArray &QByteArray::replace(char c, const QString &after) 10143: { return replace(c, after.toUtf8()); } 10143: inline QByteArray &QByteArray::replace(const QString &before, const char *after) 10143: { return replace(before.toUtf8(), after); } 10143: inline QByteArray &QByteArray::replace(const QString &before, const QByteArray &after) 10143: { return replace(before.toUtf8(), after); } 10143: inline QByteArray &QByteArray::operator+=(const QString &s) 10143: { return operator+=(s.toUtf8()); } 10143: inline int QByteArray::indexOf(const QString &s, int from) const 10143: { return indexOf(s.toUtf8(), from); } 10143: inline int QByteArray::lastIndexOf(const QString &s, int from) const 10143: { return lastIndexOf(s.toUtf8(), from); } 10143: 10143: 10143: 10143: inline const QString operator+(const QString &s1, const QString &s2) 10143: { QString t(s1); t += s2; return t; } 10143: inline const QString operator+(const QString &s1, QChar s2) 10143: { QString t(s1); t += s2; return t; } 10143: inline const QString operator+(QChar s1, const QString &s2) 10143: { QString t(s1); t += s2; return t; } 10143: 10143: inline const QString operator+(const QString &s1, const char *s2) 10143: { QString t(s1); t += QString::fromUtf8(s2); return t; } 10143: inline const QString operator+(const char *s1, const QString &s2) 10143: { QString t = QString::fromUtf8(s1); t += s2; return t; } 10143: inline const QString operator+(char c, const QString &s) 10143: { QString t = s; t.prepend(QChar::fromLatin1(c)); return t; } 10143: inline const QString operator+(const QString &s, char c) 10143: { QString t = s; t += QChar::fromLatin1(c); return t; } 10143: inline const QString operator+(const QByteArray &ba, const QString &s) 10143: { QString t = QString::fromUtf8(ba); t += s; return t; } 10143: inline const QString operator+(const QString &s, const QByteArray &ba) 10143: { QString t(s); t += QString::fromUtf8(ba); return t; } 10143: 10143: 10143: 10143: inline std::string QString::toStdString() const 10143: { return toUtf8().toStdString(); } 10143: 10143: inline QString QString::fromStdString(const std::string &s) 10143: { return fromUtf8(s.data(), int(s.size())); } 10143: 10143: inline std::wstring QString::toStdWString() const 10143: { 10143: std::wstring str; 10143: str.resize(length()); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: str.resize(toWCharArray(&(*str.begin()))); 10143: return str; 10143: } 10143: 10143: inline QString QString::fromStdWString(const std::wstring &s) 10143: { return fromWCharArray(s.data(), int(s.size())); } 10143: 10143: 10143: inline QString QString::fromStdU16String(const std::u16string &s) 10143: { return fromUtf16(s.data(), int(s.size())); } 10143: 10143: inline std::u16string QString::toStdU16String() const 10143: { return std::u16string(reinterpret_cast(utf16()), length()); } 10143: 10143: inline QString QString::fromStdU32String(const std::u32string &s) 10143: { return fromUcs4(s.data(), int(s.size())); } 10143: 10143: inline std::u32string QString::toStdU32String() const 10143: { 10143: std::u32string u32str(length(), char32_t(0)); 10143: int len = toUcs4_helper(d->data(), length(), reinterpret_cast(&u32str[0])); 10143: u32str.resize(len); 10143: return u32str; 10143: } 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QString &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QString &); 10143: 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QString)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QString >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QString) }; static inline const char *name() { return "QString"; } }; inline void swap(QString &value1, QString &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 10143: constexpr inline QFlags operator|(QString::SectionFlags::enum_type f1, QString::SectionFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(QString::SectionFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(QString::SectionFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: 10143: 10143: class __attribute__((visibility("default"))) QStringRef { 10143: const QString *m_string; 10143: int m_position; 10143: int m_size; 10143: public: 10143: typedef QString::size_type size_type; 10143: typedef QString::value_type value_type; 10143: typedef const QChar *const_iterator; 10143: typedef std::reverse_iterator const_reverse_iterator; 10143: typedef QString::const_pointer const_pointer; 10143: typedef QString::const_reference const_reference; 10143: 10143: 10143: inline QStringRef() : m_string(nullptr), m_position(0), m_size(0) {} 10143: inline QStringRef(const QString *string, int position, int size); 10143: inline QStringRef(const QString *string); 10143: 10143: 10143: 10143: QStringRef(const QStringRef &other) noexcept 10143: :m_string(other.m_string), m_position(other.m_position), m_size(other.m_size) 10143: {} 10143: 10143: QStringRef(QStringRef &&other) noexcept : m_string(other.m_string), m_position(other.m_position), m_size(other.m_size) {} 10143: QStringRef &operator=(QStringRef &&other) noexcept { return *this = other; } 10143: 10143: QStringRef &operator=(const QStringRef &other) noexcept 10143: { 10143: m_string = other.m_string; m_position = other.m_position; 10143: m_size = other.m_size; return *this; 10143: } 10143: inline ~QStringRef(){} 10143: 10143: 10143: inline const QString *string() const { return m_string; } 10143: inline int position() const { return m_position; } 10143: inline int size() const { return m_size; } 10143: inline int count() const { return m_size; } 10143: inline int length() const { return m_size; } 10143: 10143: int indexOf(const QString &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: int indexOf(QChar ch, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: int indexOf(QLatin1String str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: int indexOf(const QStringRef &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: int lastIndexOf(const QString &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: int lastIndexOf(QChar ch, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: int lastIndexOf(QLatin1String str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: int lastIndexOf(const QStringRef &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: 10143: inline bool contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: inline bool contains(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: inline bool contains(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: inline bool contains(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: 10143: int count(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: int count(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: int count(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: 10143: [[nodiscard]] QVector split(const QString &sep, QString::SplitBehavior behavior = QString::KeepEmptyParts, 10143: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: [[nodiscard]] QVector split(QChar sep, QString::SplitBehavior behavior = QString::KeepEmptyParts, 10143: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: 10143: [[nodiscard]] QStringRef left(int n) const; 10143: [[nodiscard]] QStringRef right(int n) const; 10143: [[nodiscard]] QStringRef mid(int pos, int n = -1) const; 10143: 10143: void truncate(int pos) noexcept { m_size = qBound(0, pos, m_size); } 10143: void chop(int n) noexcept 10143: { 10143: if (n >= m_size) 10143: m_size = 0; 10143: else if (n > 0) 10143: m_size -= n; 10143: } 10143: 10143: bool isRightToLeft() const; 10143: 10143: bool startsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: bool startsWith(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: bool startsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: bool startsWith(const QStringRef &c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: 10143: bool endsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: bool endsWith(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: bool endsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: bool endsWith(const QStringRef &c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: 10143: inline QStringRef &operator=(const QString *string); 10143: 10143: inline const QChar *unicode() const 10143: { 10143: if (!m_string) 10143: return reinterpret_cast(QString::Data::sharedNull()->data()); 10143: return m_string->unicode() + m_position; 10143: } 10143: inline const QChar *data() const { return unicode(); } 10143: inline const QChar *constData() const { return unicode(); } 10143: 10143: inline const_iterator begin() const { return unicode(); } 10143: inline const_iterator cbegin() const { return unicode(); } 10143: inline const_iterator constBegin() const { return unicode(); } 10143: inline const_iterator end() const { return unicode() + size(); } 10143: inline const_iterator cend() const { return unicode() + size(); } 10143: inline const_iterator constEnd() const { return unicode() + size(); } 10143: inline const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } 10143: inline const_reverse_iterator crbegin() const { return rbegin(); } 10143: inline const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } 10143: inline const_reverse_iterator crend() const { return rend(); } 10143: 10143: 10143: 10143: 10143: 10143: [[nodiscard]] QByteArray toLatin1() const; 10143: [[nodiscard]] QByteArray toUtf8() const; 10143: [[nodiscard]] QByteArray toLocal8Bit() const; 10143: [[nodiscard]] QVector toUcs4() const; 10143: 10143: inline void clear() { m_string = nullptr; m_position = m_size = 0; } 10143: QString toString() const; 10143: inline bool isEmpty() const { return m_size == 0; } 10143: inline bool isNull() const { return m_string == nullptr || m_string->isNull(); } 10143: 10143: QStringRef appendTo(QString *string) const; 10143: 10143: inline const QChar at(int i) const 10143: { do { } while ((false) && (uint(i) < uint(size()))); return m_string->at(i + m_position); } 10143: QChar operator[](int i) const { return at(i); } 10143: 10143: 10143: 10143: inline bool operator==(const char *s) const; 10143: inline bool operator!=(const char *s) const; 10143: inline bool operator<(const char *s) const; 10143: inline bool operator<=(const char *s) const; 10143: inline bool operator>(const char *s) const; 10143: inline bool operator>=(const char *s) const; 10143: 10143: 10143: int compare(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 10143: int compare(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 10143: int compare(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 10143: 10143: int compare(const QByteArray &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const 10143: { return QString::compare_helper(unicode(), size(), s.data(), qstrnlen(s.data(), s.size()), cs); } 10143: 10143: static int compare(const QStringRef &s1, const QString &s2, 10143: Qt::CaseSensitivity = Qt::CaseSensitive) noexcept; 10143: static int compare(const QStringRef &s1, const QStringRef &s2, 10143: Qt::CaseSensitivity = Qt::CaseSensitive) noexcept; 10143: static int compare(const QStringRef &s1, QLatin1String s2, 10143: Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 10143: 10143: int localeAwareCompare(const QString &s) const; 10143: int localeAwareCompare(const QStringRef &s) const; 10143: static int localeAwareCompare(const QStringRef &s1, const QString &s2); 10143: static int localeAwareCompare(const QStringRef &s1, const QStringRef &s2); 10143: 10143: [[nodiscard]] QStringRef trimmed() const; 10143: short toShort(bool *ok = nullptr, int base = 10) const; 10143: ushort toUShort(bool *ok = nullptr, int base = 10) const; 10143: int toInt(bool *ok = nullptr, int base = 10) const; 10143: uint toUInt(bool *ok = nullptr, int base = 10) const; 10143: long toLong(bool *ok = nullptr, int base = 10) const; 10143: ulong toULong(bool *ok = nullptr, int base = 10) const; 10143: qlonglong toLongLong(bool *ok = nullptr, int base = 10) const; 10143: qulonglong toULongLong(bool *ok = nullptr, int base = 10) const; 10143: float toFloat(bool *ok = nullptr) const; 10143: double toDouble(bool *ok = nullptr) const; 10143: }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QStringRef)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QStringRef >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QStringRef) }; static inline const char *name() { return "QStringRef"; } }; 10143: 10143: inline QStringRef &QStringRef::operator=(const QString *aString) 10143: { m_string = aString; m_position = 0; m_size = aString?aString->size():0; return *this; } 10143: 10143: inline QStringRef::QStringRef(const QString *aString, int aPosition, int aSize) 10143: :m_string(aString), m_position(aPosition), m_size(aSize){} 10143: 10143: inline QStringRef::QStringRef(const QString *aString) 10143: :m_string(aString), m_position(0), m_size(aString?aString->size() : 0){} 10143: 10143: 10143: __attribute__((visibility("default"))) bool operator==(const QStringRef &s1, const QStringRef &s2) noexcept; 10143: inline bool operator!=(const QStringRef &s1, const QStringRef &s2) noexcept 10143: { return !(s1 == s2); } 10143: __attribute__((visibility("default"))) bool operator<(const QStringRef &s1, const QStringRef &s2) noexcept; 10143: inline bool operator>(const QStringRef &s1, const QStringRef &s2) noexcept 10143: { return s2 < s1; } 10143: inline bool operator<=(const QStringRef &s1, const QStringRef &s2) noexcept 10143: { return !(s1 > s2); } 10143: inline bool operator>=(const QStringRef &s1, const QStringRef &s2) noexcept 10143: { return !(s1 < s2); } 10143: 10143: 10143: __attribute__((visibility("default"))) bool operator==(const QString &lhs, const QStringRef &rhs) noexcept; 10143: inline bool operator!=(const QString &lhs, const QStringRef &rhs) noexcept { return lhs.compare(rhs) != 0; } 10143: inline bool operator< (const QString &lhs, const QStringRef &rhs) noexcept { return lhs.compare(rhs) < 0; } 10143: inline bool operator> (const QString &lhs, const QStringRef &rhs) noexcept { return lhs.compare(rhs) > 0; } 10143: inline bool operator<=(const QString &lhs, const QStringRef &rhs) noexcept { return lhs.compare(rhs) <= 0; } 10143: inline bool operator>=(const QString &lhs, const QStringRef &rhs) noexcept { return lhs.compare(rhs) >= 0; } 10143: 10143: inline bool operator==(const QStringRef &lhs, const QString &rhs) noexcept { return rhs == lhs; } 10143: inline bool operator!=(const QStringRef &lhs, const QString &rhs) noexcept { return rhs != lhs; } 10143: inline bool operator< (const QStringRef &lhs, const QString &rhs) noexcept { return rhs > lhs; } 10143: inline bool operator> (const QStringRef &lhs, const QString &rhs) noexcept { return rhs < lhs; } 10143: inline bool operator<=(const QStringRef &lhs, const QString &rhs) noexcept { return rhs >= lhs; } 10143: inline bool operator>=(const QStringRef &lhs, const QString &rhs) noexcept { return rhs <= lhs; } 10143: 10143: inline int QString::compare(const QStringRef &s, Qt::CaseSensitivity cs) const noexcept 10143: { return QString::compare_helper(constData(), length(), s.constData(), s.length(), cs); } 10143: inline int QString::compare(const QString &s1, const QStringRef &s2, Qt::CaseSensitivity cs) noexcept 10143: { return QString::compare_helper(s1.constData(), s1.length(), s2.constData(), s2.length(), cs); } 10143: inline int QStringRef::compare(const QString &s, Qt::CaseSensitivity cs) const noexcept 10143: { return QString::compare_helper(constData(), length(), s.constData(), s.length(), cs); } 10143: inline int QStringRef::compare(const QStringRef &s, Qt::CaseSensitivity cs) const noexcept 10143: { return QString::compare_helper(constData(), length(), s.constData(), s.length(), cs); } 10143: inline int QStringRef::compare(QLatin1String s, Qt::CaseSensitivity cs) const noexcept 10143: { return QString::compare_helper(constData(), length(), s, cs); } 10143: inline int QStringRef::compare(const QStringRef &s1, const QString &s2, Qt::CaseSensitivity cs) noexcept 10143: { return QString::compare_helper(s1.constData(), s1.length(), s2.constData(), s2.length(), cs); } 10143: inline int QStringRef::compare(const QStringRef &s1, const QStringRef &s2, Qt::CaseSensitivity cs) noexcept 10143: { return QString::compare_helper(s1.constData(), s1.length(), s2.constData(), s2.length(), cs); } 10143: inline int QStringRef::compare(const QStringRef &s1, QLatin1String s2, Qt::CaseSensitivity cs) noexcept 10143: { return QString::compare_helper(s1.constData(), s1.length(), s2, cs); } 10143: 10143: 10143: __attribute__((visibility("default"))) bool operator==(QLatin1String lhs, const QStringRef &rhs) noexcept; 10143: inline bool operator!=(QLatin1String lhs, const QStringRef &rhs) noexcept { return rhs.compare(lhs) != 0; } 10143: inline bool operator< (QLatin1String lhs, const QStringRef &rhs) noexcept { return rhs.compare(lhs) > 0; } 10143: inline bool operator> (QLatin1String lhs, const QStringRef &rhs) noexcept { return rhs.compare(lhs) < 0; } 10143: inline bool operator<=(QLatin1String lhs, const QStringRef &rhs) noexcept { return rhs.compare(lhs) >= 0; } 10143: inline bool operator>=(QLatin1String lhs, const QStringRef &rhs) noexcept { return rhs.compare(lhs) <= 0; } 10143: 10143: inline bool operator==(const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs == lhs; } 10143: inline bool operator!=(const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs != lhs; } 10143: inline bool operator< (const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs > lhs; } 10143: inline bool operator> (const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs < lhs; } 10143: inline bool operator<=(const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs >= lhs; } 10143: inline bool operator>=(const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs <= lhs; } 10143: 10143: 10143: inline bool operator==(QChar lhs, const QString &rhs) noexcept 10143: { return QString::compare_helper(&lhs, 1, rhs.data(), rhs.size()) == 0; } 10143: inline bool operator< (QChar lhs, const QString &rhs) noexcept 10143: { return QString::compare_helper(&lhs, 1, rhs.data(), rhs.size()) < 0; } 10143: inline bool operator> (QChar lhs, const QString &rhs) noexcept 10143: { return QString::compare_helper(&lhs, 1, rhs.data(), rhs.size()) > 0; } 10143: 10143: inline bool operator!=(QChar lhs, const QString &rhs) noexcept { return !(lhs == rhs); } 10143: inline bool operator<=(QChar lhs, const QString &rhs) noexcept { return !(lhs > rhs); } 10143: inline bool operator>=(QChar lhs, const QString &rhs) noexcept { return !(lhs < rhs); } 10143: 10143: inline bool operator==(const QString &lhs, QChar rhs) noexcept { return rhs == lhs; } 10143: inline bool operator!=(const QString &lhs, QChar rhs) noexcept { return !(rhs == lhs); } 10143: inline bool operator< (const QString &lhs, QChar rhs) noexcept { return rhs > lhs; } 10143: inline bool operator> (const QString &lhs, QChar rhs) noexcept { return rhs < lhs; } 10143: inline bool operator<=(const QString &lhs, QChar rhs) noexcept { return !(rhs < lhs); } 10143: inline bool operator>=(const QString &lhs, QChar rhs) noexcept { return !(rhs > lhs); } 10143: 10143: 10143: inline bool operator==(QChar lhs, const QStringRef &rhs) noexcept 10143: { return QString::compare_helper(&lhs, 1, rhs.data(), rhs.size()) == 0; } 10143: inline bool operator< (QChar lhs, const QStringRef &rhs) noexcept 10143: { return QString::compare_helper(&lhs, 1, rhs.data(), rhs.size()) < 0; } 10143: inline bool operator> (QChar lhs, const QStringRef &rhs) noexcept 10143: { return QString::compare_helper(&lhs, 1, rhs.data(), rhs.size()) > 0; } 10143: 10143: inline bool operator!=(QChar lhs, const QStringRef &rhs) noexcept { return !(lhs == rhs); } 10143: inline bool operator<=(QChar lhs, const QStringRef &rhs) noexcept { return !(lhs > rhs); } 10143: inline bool operator>=(QChar lhs, const QStringRef &rhs) noexcept { return !(lhs < rhs); } 10143: 10143: inline bool operator==(const QStringRef &lhs, QChar rhs) noexcept { return rhs == lhs; } 10143: inline bool operator!=(const QStringRef &lhs, QChar rhs) noexcept { return !(rhs == lhs); } 10143: inline bool operator< (const QStringRef &lhs, QChar rhs) noexcept { return rhs > lhs; } 10143: inline bool operator> (const QStringRef &lhs, QChar rhs) noexcept { return rhs < lhs; } 10143: inline bool operator<=(const QStringRef &lhs, QChar rhs) noexcept { return !(rhs < lhs); } 10143: inline bool operator>=(const QStringRef &lhs, QChar rhs) noexcept { return !(rhs > lhs); } 10143: 10143: 10143: inline bool operator==(QChar lhs, QLatin1String rhs) noexcept 10143: { return QString::compare_helper(&lhs, 1, rhs) == 0; } 10143: inline bool operator< (QChar lhs, QLatin1String rhs) noexcept 10143: { return QString::compare_helper(&lhs, 1, rhs) < 0; } 10143: inline bool operator> (QChar lhs, QLatin1String rhs) noexcept 10143: { return QString::compare_helper(&lhs, 1, rhs) > 0; } 10143: 10143: inline bool operator!=(QChar lhs, QLatin1String rhs) noexcept { return !(lhs == rhs); } 10143: inline bool operator<=(QChar lhs, QLatin1String rhs) noexcept { return !(lhs > rhs); } 10143: inline bool operator>=(QChar lhs, QLatin1String rhs) noexcept { return !(lhs < rhs); } 10143: 10143: inline bool operator==(QLatin1String lhs, QChar rhs) noexcept { return rhs == lhs; } 10143: inline bool operator!=(QLatin1String lhs, QChar rhs) noexcept { return !(rhs == lhs); } 10143: inline bool operator< (QLatin1String lhs, QChar rhs) noexcept { return rhs > lhs; } 10143: inline bool operator> (QLatin1String lhs, QChar rhs) noexcept { return rhs < lhs; } 10143: inline bool operator<=(QLatin1String lhs, QChar rhs) noexcept { return !(rhs < lhs); } 10143: inline bool operator>=(QLatin1String lhs, QChar rhs) noexcept { return !(rhs > lhs); } 10143: 10143: 10143: 10143: inline bool operator==(const QStringRef &lhs, const QByteArray &rhs) { return lhs.compare(rhs) == 0; } 10143: inline bool operator!=(const QStringRef &lhs, const QByteArray &rhs) { return lhs.compare(rhs) != 0; } 10143: inline bool operator< (const QStringRef &lhs, const QByteArray &rhs) { return lhs.compare(rhs) < 0; } 10143: inline bool operator> (const QStringRef &lhs, const QByteArray &rhs) { return lhs.compare(rhs) > 0; } 10143: inline bool operator<=(const QStringRef &lhs, const QByteArray &rhs) { return lhs.compare(rhs) <= 0; } 10143: inline bool operator>=(const QStringRef &lhs, const QByteArray &rhs) { return lhs.compare(rhs) >= 0; } 10143: 10143: inline bool operator==(const QByteArray &lhs, const QStringRef &rhs) { return rhs.compare(lhs) == 0; } 10143: inline bool operator!=(const QByteArray &lhs, const QStringRef &rhs) { return rhs.compare(lhs) != 0; } 10143: inline bool operator< (const QByteArray &lhs, const QStringRef &rhs) { return rhs.compare(lhs) > 0; } 10143: inline bool operator> (const QByteArray &lhs, const QStringRef &rhs) { return rhs.compare(lhs) < 0; } 10143: inline bool operator<=(const QByteArray &lhs, const QStringRef &rhs) { return rhs.compare(lhs) >= 0; } 10143: inline bool operator>=(const QByteArray &lhs, const QStringRef &rhs) { return rhs.compare(lhs) <= 0; } 10143: 10143: 10143: inline bool QStringRef::operator==(const char *s) const 10143: { return QString::compare_helper(constData(), size(), s, -1) == 0; } 10143: inline bool QStringRef::operator!=(const char *s) const 10143: { return QString::compare_helper(constData(), size(), s, -1) != 0; } 10143: inline bool QStringRef::operator<(const char *s) const 10143: { return QString::compare_helper(constData(), size(), s, -1) < 0; } 10143: inline bool QStringRef::operator<=(const char *s) const 10143: { return QString::compare_helper(constData(), size(), s, -1) <= 0; } 10143: inline bool QStringRef::operator>(const char *s) const 10143: { return QString::compare_helper(constData(), size(), s, -1) > 0; } 10143: inline bool QStringRef::operator>=(const char *s) const 10143: { return QString::compare_helper(constData(), size(), s, -1) >= 0; } 10143: 10143: inline bool operator==(const char *s1, const QStringRef &s2) 10143: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) == 0; } 10143: inline bool operator!=(const char *s1, const QStringRef &s2) 10143: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) != 0; } 10143: inline bool operator<(const char *s1, const QStringRef &s2) 10143: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) > 0; } 10143: inline bool operator<=(const char *s1, const QStringRef &s2) 10143: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) >= 0; } 10143: inline bool operator>(const char *s1, const QStringRef &s2) 10143: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) < 0; } 10143: inline bool operator>=(const char *s1, const QStringRef &s2) 10143: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) <= 0; } 10143: 10143: 10143: inline int QString::localeAwareCompare(const QStringRef &s) const 10143: { return localeAwareCompare_helper(constData(), length(), s.constData(), s.length()); } 10143: inline int QString::localeAwareCompare(const QString& s1, const QStringRef& s2) 10143: { return localeAwareCompare_helper(s1.constData(), s1.length(), s2.constData(), s2.length()); } 10143: inline int QStringRef::localeAwareCompare(const QString &s) const 10143: { return QString::localeAwareCompare_helper(constData(), length(), s.constData(), s.length()); } 10143: inline int QStringRef::localeAwareCompare(const QStringRef &s) const 10143: { return QString::localeAwareCompare_helper(constData(), length(), s.constData(), s.length()); } 10143: inline int QStringRef::localeAwareCompare(const QStringRef &s1, const QString &s2) 10143: { return QString::localeAwareCompare_helper(s1.constData(), s1.length(), s2.constData(), s2.length()); } 10143: inline int QStringRef::localeAwareCompare(const QStringRef &s1, const QStringRef &s2) 10143: { return QString::localeAwareCompare_helper(s1.constData(), s1.length(), s2.constData(), s2.length()); } 10143: 10143: inline bool QStringRef::contains(const QString &s, Qt::CaseSensitivity cs) const 10143: { return indexOf(s, 0, cs) != -1; } 10143: inline bool QStringRef::contains(QLatin1String s, Qt::CaseSensitivity cs) const 10143: { return indexOf(s, 0, cs) != -1; } 10143: inline bool QStringRef::contains(QChar c, Qt::CaseSensitivity cs) const 10143: { return indexOf(c, 0, cs) != -1; } 10143: inline bool QStringRef::contains(const QStringRef &s, Qt::CaseSensitivity cs) const 10143: { return indexOf(s, 0, cs) != -1; } 10143: 10143: inline QString &QString::insert(int i, const QStringRef &s) 10143: { return insert(i, s.constData(), s.length()); } 10143: 10143: 10143: inline QString operator+(const QString &s1, const QStringRef &s2) 10143: { QString t; t.reserve(s1.size() + s2.size()); t += s1; t += s2; return t; } 10143: inline QString operator+(const QStringRef &s1, const QString &s2) 10143: { QString t; t.reserve(s1.size() + s2.size()); t += s1; t += s2; return t; } 10143: inline QString operator+(const QStringRef &s1, QLatin1String s2) 10143: { QString t; t.reserve(s1.size() + s2.size()); t += s1; t += s2; return t; } 10143: inline QString operator+(QLatin1String s1, const QStringRef &s2) 10143: { QString t; t.reserve(s1.size() + s2.size()); t += s1; t += s2; return t; } 10143: inline QString operator+(const QStringRef &s1, const QStringRef &s2) 10143: { QString t; t.reserve(s1.size() + s2.size()); t += s1; t += s2; return t; } 10143: inline QString operator+(const QStringRef &s1, QChar s2) 10143: { QString t; t.reserve(s1.size() + 1); t += s1; t += s2; return t; } 10143: inline QString operator+(QChar s1, const QStringRef &s2) 10143: { QString t; t.reserve(1 + s2.size()); t += s1; t += s2; return t; } 10143: 10143: 10143: namespace Qt { 10143: 10143: 10143: 10143: 10143: 10143: } 10143: 10143: 10143: # 48 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 2 3 4 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qlist.h" 1 3 4 10143: # 43 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qlist.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qalgorithms.h" 1 3 4 10143: # 49 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 10143: 10143: 10143: # 50 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 10143: #pragma GCC diagnostic push 10143: # 50 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 10143: 10143: 10143: # 51 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 10143: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 10143: # 51 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: namespace QAlgorithmsPrivate { 10143: 10143: 10143: template 10143: void qSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan); 10143: template 10143: inline void qSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy); 10143: 10143: template 10143: void qStableSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan); 10143: template 10143: inline void qStableSortHelper(RandomAccessIterator, RandomAccessIterator, const T &); 10143: 10143: template 10143: RandomAccessIterator qLowerBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan); 10143: template 10143: RandomAccessIterator qUpperBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan); 10143: template 10143: RandomAccessIterator qBinaryFindHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan); 10143: 10143: 10143: } 10143: 10143: 10143: template 10143: inline OutputIterator qCopy(InputIterator begin, InputIterator end, OutputIterator dest) 10143: { 10143: while (begin != end) 10143: *dest++ = *begin++; 10143: return dest; 10143: } 10143: 10143: template 10143: inline BiIterator2 qCopyBackward(BiIterator1 begin, BiIterator1 end, BiIterator2 dest) 10143: { 10143: while (begin != end) 10143: *--dest = *--end; 10143: return dest; 10143: } 10143: 10143: template 10143: inline bool qEqual(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2) 10143: { 10143: for (; first1 != last1; ++first1, ++first2) 10143: if (!(*first1 == *first2)) 10143: return false; 10143: return true; 10143: } 10143: 10143: template 10143: inline void qFill(ForwardIterator first, ForwardIterator last, const T &val) 10143: { 10143: for (; first != last; ++first) 10143: *first = val; 10143: } 10143: 10143: template 10143: inline void qFill(Container &container, const T &val) 10143: { 10143: qFill(container.begin(), container.end(), val); 10143: } 10143: 10143: template 10143: inline InputIterator qFind(InputIterator first, InputIterator last, const T &val) 10143: { 10143: while (first != last && !(*first == val)) 10143: ++first; 10143: return first; 10143: } 10143: 10143: template 10143: inline typename Container::const_iterator qFind(const Container &container, const T &val) 10143: { 10143: return qFind(container.constBegin(), container.constEnd(), val); 10143: } 10143: 10143: template 10143: inline void qCount(InputIterator first, InputIterator last, const T &value, Size &n) 10143: { 10143: for (; first != last; ++first) 10143: if (*first == value) 10143: ++n; 10143: } 10143: 10143: template 10143: inline void qCount(const Container &container, const T &value, Size &n) 10143: { 10143: qCount(container.constBegin(), container.constEnd(), value, n); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: class qLess 10143: { 10143: public: 10143: inline bool operator()(const T &t1, const T &t2) const 10143: { 10143: return (t1 < t2); 10143: } 10143: }; 10143: 10143: template 10143: class qGreater 10143: { 10143: public: 10143: inline bool operator()(const T &t1, const T &t2) const 10143: { 10143: return (t2 < t1); 10143: } 10143: }; 10143: 10143: 10143: template 10143: inline void qSort(RandomAccessIterator start, RandomAccessIterator end) 10143: { 10143: if (start != end) 10143: QAlgorithmsPrivate::qSortHelper(start, end, *start); 10143: } 10143: 10143: template 10143: inline void qSort(RandomAccessIterator start, RandomAccessIterator end, LessThan lessThan) 10143: { 10143: if (start != end) 10143: QAlgorithmsPrivate::qSortHelper(start, end, *start, lessThan); 10143: } 10143: 10143: template 10143: inline void qSort(Container &c) 10143: { 10143: 10143: 10143: 10143: 10143: if (!c.empty()) 10143: QAlgorithmsPrivate::qSortHelper(c.begin(), c.end(), *c.begin()); 10143: } 10143: 10143: template 10143: inline void qStableSort(RandomAccessIterator start, RandomAccessIterator end) 10143: { 10143: if (start != end) 10143: QAlgorithmsPrivate::qStableSortHelper(start, end, *start); 10143: } 10143: 10143: template 10143: inline void qStableSort(RandomAccessIterator start, RandomAccessIterator end, LessThan lessThan) 10143: { 10143: if (start != end) 10143: QAlgorithmsPrivate::qStableSortHelper(start, end, *start, lessThan); 10143: } 10143: 10143: template 10143: inline void qStableSort(Container &c) 10143: { 10143: 10143: 10143: 10143: 10143: if (!c.empty()) 10143: QAlgorithmsPrivate::qStableSortHelper(c.begin(), c.end(), *c.begin()); 10143: } 10143: 10143: template 10143: RandomAccessIterator qLowerBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value) 10143: { 10143: 10143: 10143: 10143: RandomAccessIterator middle; 10143: int n = end - begin; 10143: int half; 10143: 10143: while (n > 0) { 10143: half = n >> 1; 10143: middle = begin + half; 10143: if (*middle < value) { 10143: begin = middle + 1; 10143: n -= half + 1; 10143: } else { 10143: n = half; 10143: } 10143: } 10143: return begin; 10143: } 10143: 10143: template 10143: RandomAccessIterator qLowerBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) 10143: { 10143: return QAlgorithmsPrivate::qLowerBoundHelper(begin, end, value, lessThan); 10143: } 10143: 10143: template 10143: typename Container::const_iterator qLowerBound(const Container &container, const T &value) 10143: { 10143: return QAlgorithmsPrivate::qLowerBoundHelper(container.constBegin(), container.constEnd(), value, qLess()); 10143: } 10143: 10143: template 10143: RandomAccessIterator qUpperBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value) 10143: { 10143: 10143: RandomAccessIterator middle; 10143: int n = end - begin; 10143: int half; 10143: 10143: while (n > 0) { 10143: half = n >> 1; 10143: middle = begin + half; 10143: if (value < *middle) { 10143: n = half; 10143: } else { 10143: begin = middle + 1; 10143: n -= half + 1; 10143: } 10143: } 10143: return begin; 10143: } 10143: 10143: template 10143: RandomAccessIterator qUpperBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) 10143: { 10143: return QAlgorithmsPrivate::qUpperBoundHelper(begin, end, value, lessThan); 10143: } 10143: 10143: template 10143: typename Container::const_iterator qUpperBound(const Container &container, const T &value) 10143: { 10143: return QAlgorithmsPrivate::qUpperBoundHelper(container.constBegin(), container.constEnd(), value, qLess()); 10143: } 10143: 10143: template 10143: RandomAccessIterator qBinaryFind(RandomAccessIterator begin, RandomAccessIterator end, const T &value) 10143: { 10143: 10143: RandomAccessIterator it = qLowerBound(begin, end, value); 10143: 10143: if (it == end || value < *it) 10143: return end; 10143: 10143: return it; 10143: } 10143: 10143: template 10143: RandomAccessIterator qBinaryFind(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) 10143: { 10143: return QAlgorithmsPrivate::qBinaryFindHelper(begin, end, value, lessThan); 10143: } 10143: 10143: template 10143: typename Container::const_iterator qBinaryFind(const Container &container, const T &value) 10143: { 10143: return QAlgorithmsPrivate::qBinaryFindHelper(container.constBegin(), container.constEnd(), value, qLess()); 10143: } 10143: 10143: 10143: template 10143: void qDeleteAll(ForwardIterator begin, ForwardIterator end) 10143: { 10143: while (begin != end) { 10143: delete *begin; 10143: ++begin; 10143: } 10143: } 10143: 10143: template 10143: inline void qDeleteAll(const Container &c) 10143: { 10143: qDeleteAll(c.begin(), c.end()); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: namespace QAlgorithmsPrivate { 10143: 10143: 10143: 10143: template 10143: void qSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan) 10143: { 10143: top: 10143: int span = int(end - start); 10143: if (span < 2) 10143: return; 10143: 10143: --end; 10143: RandomAccessIterator low = start, high = end - 1; 10143: RandomAccessIterator pivot = start + span / 2; 10143: 10143: if (lessThan(*end, *start)) 10143: qSwap(*end, *start); 10143: if (span == 2) 10143: return; 10143: 10143: if (lessThan(*pivot, *start)) 10143: qSwap(*pivot, *start); 10143: if (lessThan(*end, *pivot)) 10143: qSwap(*end, *pivot); 10143: if (span == 3) 10143: return; 10143: 10143: qSwap(*pivot, *end); 10143: 10143: while (low < high) { 10143: while (low < high && lessThan(*low, *end)) 10143: ++low; 10143: 10143: while (high > low && lessThan(*end, *high)) 10143: --high; 10143: 10143: if (low < high) { 10143: qSwap(*low, *high); 10143: ++low; 10143: --high; 10143: } else { 10143: break; 10143: } 10143: } 10143: 10143: if (lessThan(*low, *end)) 10143: ++low; 10143: 10143: qSwap(*end, *low); 10143: qSortHelper(start, low, t, lessThan); 10143: 10143: start = low + 1; 10143: ++end; 10143: goto top; 10143: } 10143: 10143: template 10143: inline void qSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy) 10143: { 10143: qSortHelper(begin, end, dummy, qLess()); 10143: } 10143: 10143: template 10143: void qReverse(RandomAccessIterator begin, RandomAccessIterator end) 10143: { 10143: --end; 10143: while (begin < end) 10143: qSwap(*begin++, *end--); 10143: } 10143: 10143: template 10143: void qRotate(RandomAccessIterator begin, RandomAccessIterator middle, RandomAccessIterator end) 10143: { 10143: qReverse(begin, middle); 10143: qReverse(middle, end); 10143: qReverse(begin, end); 10143: } 10143: 10143: template 10143: void qMerge(RandomAccessIterator begin, RandomAccessIterator pivot, RandomAccessIterator end, T &t, LessThan lessThan) 10143: { 10143: const int len1 = pivot - begin; 10143: const int len2 = end - pivot; 10143: 10143: if (len1 == 0 || len2 == 0) 10143: return; 10143: 10143: if (len1 + len2 == 2) { 10143: if (lessThan(*(begin + 1), *(begin))) 10143: qSwap(*begin, *(begin + 1)); 10143: return; 10143: } 10143: 10143: RandomAccessIterator firstCut; 10143: RandomAccessIterator secondCut; 10143: int len2Half; 10143: if (len1 > len2) { 10143: const int len1Half = len1 / 2; 10143: firstCut = begin + len1Half; 10143: secondCut = qLowerBound(pivot, end, *firstCut, lessThan); 10143: len2Half = secondCut - pivot; 10143: } else { 10143: len2Half = len2 / 2; 10143: secondCut = pivot + len2Half; 10143: firstCut = qUpperBound(begin, pivot, *secondCut, lessThan); 10143: } 10143: 10143: qRotate(firstCut, pivot, secondCut); 10143: const RandomAccessIterator newPivot = firstCut + len2Half; 10143: qMerge(begin, firstCut, newPivot, t, lessThan); 10143: qMerge(newPivot, secondCut, end, t, lessThan); 10143: } 10143: 10143: template 10143: void qStableSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &t, LessThan lessThan) 10143: { 10143: const int span = end - begin; 10143: if (span < 2) 10143: return; 10143: 10143: const RandomAccessIterator middle = begin + span / 2; 10143: qStableSortHelper(begin, middle, t, lessThan); 10143: qStableSortHelper(middle, end, t, lessThan); 10143: qMerge(begin, middle, end, t, lessThan); 10143: } 10143: 10143: template 10143: inline void qStableSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy) 10143: { 10143: qStableSortHelper(begin, end, dummy, qLess()); 10143: } 10143: 10143: template 10143: RandomAccessIterator qLowerBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) 10143: { 10143: RandomAccessIterator middle; 10143: int n = int(end - begin); 10143: int half; 10143: 10143: while (n > 0) { 10143: half = n >> 1; 10143: middle = begin + half; 10143: if (lessThan(*middle, value)) { 10143: begin = middle + 1; 10143: n -= half + 1; 10143: } else { 10143: n = half; 10143: } 10143: } 10143: return begin; 10143: } 10143: 10143: 10143: template 10143: RandomAccessIterator qUpperBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) 10143: { 10143: RandomAccessIterator middle; 10143: int n = end - begin; 10143: int half; 10143: 10143: while (n > 0) { 10143: half = n >> 1; 10143: middle = begin + half; 10143: if (lessThan(value, *middle)) { 10143: n = half; 10143: } else { 10143: begin = middle + 1; 10143: n -= half + 1; 10143: } 10143: } 10143: return begin; 10143: } 10143: 10143: template 10143: RandomAccessIterator qBinaryFindHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) 10143: { 10143: RandomAccessIterator it = qLowerBoundHelper(begin, end, value, lessThan); 10143: 10143: if (it == end || lessThan(value, *it)) 10143: return end; 10143: 10143: return it; 10143: } 10143: # 536 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 10143: constexpr inline __attribute__((always_inline)) uint qt_builtin_ctzs(quint16 v) noexcept 10143: { 10143: 10143: 10143: 10143: return __builtin_ctz(v); 10143: 10143: } 10143: 10143: constexpr inline __attribute__((always_inline)) uint qt_builtin_clzs(quint16 v) noexcept 10143: { 10143: 10143: 10143: 10143: return __builtin_clz(v) - 16U; 10143: 10143: } 10143: 10143: constexpr inline __attribute__((always_inline)) uint qt_builtin_ctz(quint32 v) noexcept 10143: { 10143: return __builtin_ctz(v); 10143: } 10143: 10143: constexpr inline __attribute__((always_inline)) uint qt_builtin_clz(quint32 v) noexcept 10143: { 10143: return __builtin_clz(v); 10143: } 10143: 10143: constexpr inline __attribute__((always_inline)) uint qt_builtin_ctzll(quint64 v) noexcept 10143: { 10143: return __builtin_ctzll(v); 10143: } 10143: 10143: constexpr inline __attribute__((always_inline)) uint qt_builtin_clzll(quint64 v) noexcept 10143: { 10143: return __builtin_clzll(v); 10143: } 10143: 10143: constexpr inline __attribute__((always_inline)) uint qt_builtin_popcount(quint32 v) noexcept 10143: { 10143: return __builtin_popcount(v); 10143: } 10143: constexpr inline __attribute__((always_inline)) uint qt_builtin_popcount(quint8 v) noexcept 10143: { 10143: return __builtin_popcount(v); 10143: } 10143: constexpr inline __attribute__((always_inline)) uint qt_builtin_popcount(quint16 v) noexcept 10143: { 10143: return __builtin_popcount(v); 10143: } 10143: 10143: constexpr inline __attribute__((always_inline)) uint qt_builtin_popcountll(quint64 v) noexcept 10143: { 10143: return __builtin_popcountll(v); 10143: } 10143: # 681 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 10143: } 10143: 10143: __attribute__((const)) constexpr inline uint qPopulationCount(quint32 v) noexcept 10143: { 10143: 10143: return QAlgorithmsPrivate::qt_builtin_popcount(v); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: } 10143: 10143: __attribute__((const)) constexpr inline uint qPopulationCount(quint8 v) noexcept 10143: { 10143: 10143: return QAlgorithmsPrivate::qt_builtin_popcount(v); 10143: 10143: 10143: 10143: 10143: } 10143: 10143: __attribute__((const)) constexpr inline uint qPopulationCount(quint16 v) noexcept 10143: { 10143: 10143: return QAlgorithmsPrivate::qt_builtin_popcount(v); 10143: 10143: 10143: 10143: 10143: 10143: } 10143: 10143: __attribute__((const)) constexpr inline uint qPopulationCount(quint64 v) noexcept 10143: { 10143: 10143: return QAlgorithmsPrivate::qt_builtin_popcountll(v); 10143: # 730 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 10143: } 10143: 10143: __attribute__((const)) constexpr inline uint qPopulationCount(long unsigned int v) noexcept 10143: { 10143: return qPopulationCount(static_cast(v)); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: inline uint qCountTrailingZeroBits(quint32 v) noexcept 10143: { 10143: 10143: return v ? QAlgorithmsPrivate::qt_builtin_ctz(v) : 32U; 10143: # 758 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 10143: } 10143: 10143: inline uint qCountTrailingZeroBits(quint8 v) noexcept 10143: { 10143: 10143: return v ? QAlgorithmsPrivate::qt_builtin_ctz(v) : 8U; 10143: # 773 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 10143: } 10143: 10143: inline uint qCountTrailingZeroBits(quint16 v) noexcept 10143: { 10143: 10143: return v ? QAlgorithmsPrivate::qt_builtin_ctzs(v) : 16U; 10143: # 789 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 10143: } 10143: 10143: inline uint qCountTrailingZeroBits(quint64 v) noexcept 10143: { 10143: 10143: return v ? QAlgorithmsPrivate::qt_builtin_ctzll(v) : 64; 10143: 10143: 10143: 10143: 10143: 10143: } 10143: 10143: inline uint qCountTrailingZeroBits(unsigned long v) noexcept 10143: { 10143: return qCountTrailingZeroBits(QIntegerForSizeof::Unsigned(v)); 10143: } 10143: 10143: inline uint qCountLeadingZeroBits(quint32 v) noexcept 10143: { 10143: 10143: return v ? QAlgorithmsPrivate::qt_builtin_clz(v) : 32U; 10143: # 820 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 10143: } 10143: 10143: inline uint qCountLeadingZeroBits(quint8 v) noexcept 10143: { 10143: 10143: return v ? QAlgorithmsPrivate::qt_builtin_clz(v)-24U : 8U; 10143: 10143: 10143: 10143: 10143: 10143: 10143: } 10143: 10143: inline uint qCountLeadingZeroBits(quint16 v) noexcept 10143: { 10143: 10143: return v ? QAlgorithmsPrivate::qt_builtin_clzs(v) : 16U; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: } 10143: 10143: inline uint qCountLeadingZeroBits(quint64 v) noexcept 10143: { 10143: 10143: return v ? QAlgorithmsPrivate::qt_builtin_clzll(v) : 64U; 10143: # 860 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 10143: } 10143: 10143: inline uint qCountLeadingZeroBits(unsigned long v) noexcept 10143: { 10143: return qCountLeadingZeroBits(QIntegerForSizeof::Unsigned(v)); 10143: } 10143: 10143: 10143: # 867 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 10143: #pragma GCC diagnostic pop 10143: # 867 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 10143: 10143: 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qlist.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qiterator.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qiterator.h" 3 4 10143: 10143: # 182 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qiterator.h" 3 4 10143: 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qlist.h" 2 3 4 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qhashfunctions.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qhashfunctions.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qpair.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qpair.h" 3 4 10143: 10143: 10143: 10143: template 10143: struct QPair 10143: { 10143: typedef T1 first_type; 10143: typedef T2 second_type; 10143: 10143: constexpr QPair() 10143: noexcept((std::is_nothrow_default_constructible::value && std::is_nothrow_default_constructible::value)) 10143: 10143: : first(), second() {} 10143: constexpr QPair(const T1 &t1, const T2 &t2) 10143: noexcept((std::is_nothrow_copy_constructible::value && std::is_nothrow_copy_constructible::value)) 10143: 10143: : first(t1), second(t2) {} 10143: 10143: 10143: template 10143: constexpr QPair(const QPair &p) 10143: noexcept((std::is_nothrow_constructible::value && std::is_nothrow_constructible::value)) 10143: 10143: : first(p.first), second(p.second) {} 10143: template 10143: QPair &operator=(const QPair &p) 10143: noexcept((std::is_nothrow_assignable::value && std::is_nothrow_assignable::value)) 10143: 10143: { first = p.first; second = p.second; return *this; } 10143: 10143: template 10143: constexpr QPair(QPair &&p) 10143: noexcept((std::is_nothrow_constructible::value && std::is_nothrow_constructible::value)) 10143: 10143: 10143: : first(static_cast(p.first)), second(static_cast(p.second)) {} 10143: template 10143: QPair &operator=(QPair &&p) 10143: noexcept((std::is_nothrow_assignable::value && std::is_nothrow_assignable::value)) 10143: 10143: { first = std::move(p.first); second = std::move(p.second); return *this; } 10143: 10143: 10143: void swap(QPair &other) 10143: noexcept(noexcept(qSwap(other.first, other.first)) && noexcept(qSwap(other.second, other.second))) 10143: { 10143: 10143: qSwap(first, other.first); 10143: qSwap(second, other.second); 10143: } 10143: 10143: T1 first; 10143: T2 second; 10143: }; 10143: 10143: template 10143: void swap(QPair &lhs, QPair &rhs) noexcept(noexcept(lhs.swap(rhs))) 10143: { lhs.swap(rhs); } 10143: 10143: 10143: 10143: template 10143: class QTypeInfo > : public QTypeInfoMerger, T1, T2> {}; 10143: 10143: template 10143: constexpr inline bool operator==(const QPair &p1, const QPair &p2) 10143: noexcept(noexcept(p1.first == p2.first && p1.second == p2.second)) 10143: { return p1.first == p2.first && p1.second == p2.second; } 10143: 10143: template 10143: constexpr inline bool operator!=(const QPair &p1, const QPair &p2) 10143: noexcept(noexcept(!(p1 == p2))) 10143: { return !(p1 == p2); } 10143: 10143: template 10143: constexpr inline bool operator<(const QPair &p1, const QPair &p2) 10143: noexcept(noexcept(p1.first < p2.first || (!(p2.first < p1.first) && p1.second < p2.second))) 10143: { 10143: return p1.first < p2.first || (!(p2.first < p1.first) && p1.second < p2.second); 10143: } 10143: 10143: template 10143: constexpr inline bool operator>(const QPair &p1, const QPair &p2) 10143: noexcept(noexcept(p2 < p1)) 10143: { 10143: return p2 < p1; 10143: } 10143: 10143: template 10143: constexpr inline bool operator<=(const QPair &p1, const QPair &p2) 10143: noexcept(noexcept(!(p2 < p1))) 10143: { 10143: return !(p2 < p1); 10143: } 10143: 10143: template 10143: constexpr inline bool operator>=(const QPair &p1, const QPair &p2) 10143: noexcept(noexcept(!(p1 < p2))) 10143: { 10143: return !(p1 < p2); 10143: } 10143: 10143: template 10143: constexpr QPair qMakePair(const T1 &x, const T2 &y) 10143: noexcept(noexcept(QPair(x, y))) 10143: { 10143: return QPair(x, y); 10143: } 10143: 10143: 10143: # 46 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qhashfunctions.h" 2 3 4 10143: 10143: # 1 "/usr/include/c++/8/numeric" 1 3 4 10143: # 58 "/usr/include/c++/8/numeric" 3 4 10143: 10143: # 59 "/usr/include/c++/8/numeric" 3 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/stl_numeric.h" 1 3 10143: # 65 "/usr/include/c++/8/bits/stl_numeric.h" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 80 "/usr/include/c++/8/bits/stl_numeric.h" 3 10143: template 10143: void 10143: iota(_ForwardIterator __first, _ForwardIterator __last, _Tp __value) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: for (; __first != __last; ++__first) 10143: { 10143: *__first = __value; 10143: ++__value; 10143: } 10143: } 10143: 10143: 10143: } 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 118 "/usr/include/c++/8/bits/stl_numeric.h" 3 10143: template 10143: inline _Tp 10143: accumulate(_InputIterator __first, _InputIterator __last, _Tp __init) 10143: { 10143: 10143: 10143: ; 10143: 10143: for (; __first != __last; ++__first) 10143: __init = __init + *__first; 10143: return __init; 10143: } 10143: # 144 "/usr/include/c++/8/bits/stl_numeric.h" 3 10143: template 10143: inline _Tp 10143: accumulate(_InputIterator __first, _InputIterator __last, _Tp __init, 10143: _BinaryOperation __binary_op) 10143: { 10143: 10143: 10143: ; 10143: 10143: for (; __first != __last; ++__first) 10143: __init = __binary_op(__init, *__first); 10143: return __init; 10143: } 10143: # 172 "/usr/include/c++/8/bits/stl_numeric.h" 3 10143: template 10143: inline _Tp 10143: inner_product(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _Tp __init) 10143: { 10143: 10143: 10143: 10143: ; 10143: 10143: for (; __first1 != __last1; ++__first1, (void)++__first2) 10143: __init = __init + (*__first1 * *__first2); 10143: return __init; 10143: } 10143: # 203 "/usr/include/c++/8/bits/stl_numeric.h" 3 10143: template 10143: inline _Tp 10143: inner_product(_InputIterator1 __first1, _InputIterator1 __last1, 10143: _InputIterator2 __first2, _Tp __init, 10143: _BinaryOperation1 __binary_op1, 10143: _BinaryOperation2 __binary_op2) 10143: { 10143: 10143: 10143: 10143: ; 10143: 10143: for (; __first1 != __last1; ++__first1, (void)++__first2) 10143: __init = __binary_op1(__init, __binary_op2(*__first1, *__first2)); 10143: return __init; 10143: } 10143: # 235 "/usr/include/c++/8/bits/stl_numeric.h" 3 10143: template 10143: _OutputIterator 10143: partial_sum(_InputIterator __first, _InputIterator __last, 10143: _OutputIterator __result) 10143: { 10143: typedef typename iterator_traits<_InputIterator>::value_type _ValueType; 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: if (__first == __last) 10143: return __result; 10143: _ValueType __value = *__first; 10143: *__result = __value; 10143: while (++__first != __last) 10143: { 10143: __value = __value + *__first; 10143: *++__result = __value; 10143: } 10143: return ++__result; 10143: } 10143: # 275 "/usr/include/c++/8/bits/stl_numeric.h" 3 10143: template 10143: _OutputIterator 10143: partial_sum(_InputIterator __first, _InputIterator __last, 10143: _OutputIterator __result, _BinaryOperation __binary_op) 10143: { 10143: typedef typename iterator_traits<_InputIterator>::value_type _ValueType; 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: if (__first == __last) 10143: return __result; 10143: _ValueType __value = *__first; 10143: *__result = __value; 10143: while (++__first != __last) 10143: { 10143: __value = __binary_op(__value, *__first); 10143: *++__result = __value; 10143: } 10143: return ++__result; 10143: } 10143: # 315 "/usr/include/c++/8/bits/stl_numeric.h" 3 10143: template 10143: _OutputIterator 10143: adjacent_difference(_InputIterator __first, 10143: _InputIterator __last, _OutputIterator __result) 10143: { 10143: typedef typename iterator_traits<_InputIterator>::value_type _ValueType; 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: if (__first == __last) 10143: return __result; 10143: _ValueType __value = *__first; 10143: *__result = __value; 10143: while (++__first != __last) 10143: { 10143: _ValueType __tmp = *__first; 10143: *++__result = __tmp - __value; 10143: __value = std::move(__tmp); 10143: } 10143: return ++__result; 10143: } 10143: # 357 "/usr/include/c++/8/bits/stl_numeric.h" 3 10143: template 10143: _OutputIterator 10143: adjacent_difference(_InputIterator __first, _InputIterator __last, 10143: _OutputIterator __result, _BinaryOperation __binary_op) 10143: { 10143: typedef typename iterator_traits<_InputIterator>::value_type _ValueType; 10143: 10143: 10143: 10143: 10143: 10143: ; 10143: 10143: if (__first == __last) 10143: return __result; 10143: _ValueType __value = *__first; 10143: *__result = __value; 10143: while (++__first != __last) 10143: { 10143: _ValueType __tmp = *__first; 10143: *++__result = __binary_op(__tmp, __value); 10143: __value = std::move(__tmp); 10143: } 10143: return ++__result; 10143: } 10143: 10143: 10143: } 10143: # 63 "/usr/include/c++/8/numeric" 2 3 10143: # 48 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qhashfunctions.h" 2 3 4 10143: # 59 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qhashfunctions.h" 3 4 10143: 10143: 10143: class QBitArray; 10143: class QByteArray; 10143: class QString; 10143: class QStringRef; 10143: class QLatin1String; 10143: 10143: __attribute__((visibility("default"))) int qGlobalQHashSeed(); 10143: __attribute__((visibility("default"))) void qSetGlobalQHashSeed(int newSeed); 10143: 10143: __attribute__((visibility("default"))) __attribute__((pure)) uint qHashBits(const void *p, size_t size, uint seed = 0) noexcept; 10143: 10143: __attribute__((const)) constexpr inline uint qHash(char key, uint seed = 0) noexcept { return uint(key) ^ seed; } 10143: __attribute__((const)) constexpr inline uint qHash(uchar key, uint seed = 0) noexcept { return uint(key) ^ seed; } 10143: __attribute__((const)) constexpr inline uint qHash(signed char key, uint seed = 0) noexcept { return uint(key) ^ seed; } 10143: __attribute__((const)) constexpr inline uint qHash(ushort key, uint seed = 0) noexcept { return uint(key) ^ seed; } 10143: __attribute__((const)) constexpr inline uint qHash(short key, uint seed = 0) noexcept { return uint(key) ^ seed; } 10143: __attribute__((const)) constexpr inline uint qHash(uint key, uint seed = 0) noexcept { return key ^ seed; } 10143: __attribute__((const)) constexpr inline uint qHash(int key, uint seed = 0) noexcept { return uint(key) ^ seed; } 10143: __attribute__((const)) constexpr inline uint qHash(ulong key, uint seed = 0) noexcept 10143: { 10143: return (sizeof(ulong) > sizeof(uint)) 10143: ? (uint(((key >> (8 * sizeof(uint) - 1)) ^ key) & (~0U)) ^ seed) 10143: : (uint(key & (~0U)) ^ seed); 10143: } 10143: __attribute__((const)) constexpr inline uint qHash(long key, uint seed = 0) noexcept { return qHash(ulong(key), seed); } 10143: __attribute__((const)) constexpr inline uint qHash(quint64 key, uint seed = 0) noexcept 10143: { 10143: return uint(((key >> (8 * sizeof(uint) - 1)) ^ key) & (~0U)) ^ seed; 10143: } 10143: __attribute__((const)) constexpr inline uint qHash(qint64 key, uint seed = 0) noexcept { return qHash(quint64(key), seed); } 10143: __attribute__((visibility("default"))) __attribute__((const)) uint qHash(float key, uint seed = 0) noexcept; 10143: __attribute__((visibility("default"))) __attribute__((const)) uint qHash(double key, uint seed = 0) noexcept; 10143: 10143: __attribute__((visibility("default"))) __attribute__((const)) uint qHash(long double key, uint seed = 0) noexcept; 10143: 10143: __attribute__((const)) constexpr inline uint qHash(const QChar key, uint seed = 0) noexcept { return qHash(key.unicode(), seed); } 10143: __attribute__((visibility("default"))) __attribute__((pure)) uint qHash(const QByteArray &key, uint seed = 0) noexcept; 10143: __attribute__((visibility("default"))) __attribute__((pure)) uint qHash(const QString &key, uint seed = 0) noexcept; 10143: __attribute__((visibility("default"))) __attribute__((pure)) uint qHash(const QStringRef &key, uint seed = 0) noexcept; 10143: __attribute__((visibility("default"))) __attribute__((pure)) uint qHash(const QBitArray &key, uint seed = 0) noexcept; 10143: __attribute__((visibility("default"))) __attribute__((pure)) uint qHash(QLatin1String key, uint seed = 0) noexcept; 10143: __attribute__((visibility("default"))) __attribute__((pure)) uint qt_hash(const QString &key) noexcept; 10143: __attribute__((visibility("default"))) __attribute__((pure)) uint qt_hash(const QStringRef &key) noexcept; 10143: 10143: template inline uint qHash(const T *key, uint seed = 0) noexcept 10143: { 10143: return qHash(reinterpret_cast(key), seed); 10143: } 10143: template inline uint qHash(const T &t, uint seed) 10143: noexcept(noexcept(qHash(t))) 10143: { return qHash(t) ^ seed; } 10143: 10143: namespace QtPrivate { 10143: 10143: struct QHashCombine { 10143: typedef uint result_type; 10143: template 10143: constexpr result_type operator()(uint seed, const T &t) const noexcept(noexcept(qHash(t))) 10143: 10143: { return seed ^ (qHash(t) + 0x9e3779b9 + (seed << 6) + (seed >> 2)) ; } 10143: }; 10143: 10143: struct QHashCombineCommutative { 10143: 10143: 10143: 10143: 10143: 10143: typedef uint result_type; 10143: template 10143: constexpr result_type operator()(uint seed, const T &t) const noexcept(noexcept(qHash(t))) 10143: { return seed + qHash(t); } 10143: }; 10143: 10143: } 10143: 10143: template 10143: inline uint qHashRange(InputIterator first, InputIterator last, uint seed = 0) 10143: noexcept(noexcept(qHash(*first))) 10143: { 10143: return std::accumulate(first, last, seed, QtPrivate::QHashCombine()); 10143: } 10143: 10143: template 10143: inline uint qHashRangeCommutative(InputIterator first, InputIterator last, uint seed = 0) 10143: noexcept(noexcept(qHash(*first))) 10143: { 10143: return std::accumulate(first, last, seed, QtPrivate::QHashCombineCommutative()); 10143: } 10143: 10143: template inline uint qHash(const QPair &key, uint seed = 0) 10143: noexcept(noexcept(qHash(key.first, seed)) && noexcept(qHash(key.second, seed))) 10143: { 10143: uint h1 = qHash(key.first, seed); 10143: uint h2 = qHash(key.second, seed); 10143: return ((h1 << 16) | (h1 >> 16)) ^ h2 ^ seed; 10143: } 10143: 10143: template inline uint qHash(const std::pair &key, uint seed = 0) 10143: noexcept(noexcept(qHash(key.first, seed)) && noexcept(qHash(key.second, seed))) 10143: { 10143: QtPrivate::QHashCombine hash; 10143: seed = hash(seed, key.first); 10143: seed = hash(seed, key.second); 10143: return seed; 10143: } 10143: 10143: 10143: # 48 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qlist.h" 2 3 4 10143: 10143: 10143: # 1 "/usr/include/c++/8/list" 1 3 4 10143: # 58 "/usr/include/c++/8/list" 3 4 10143: 10143: # 59 "/usr/include/c++/8/list" 3 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/stl_list.h" 1 3 10143: # 63 "/usr/include/c++/8/bits/stl_list.h" 3 10143: # 1 "/usr/include/c++/8/bits/allocated_ptr.h" 1 3 10143: # 40 "/usr/include/c++/8/bits/allocated_ptr.h" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: template 10143: struct __allocated_ptr 10143: { 10143: using pointer = typename allocator_traits<_Alloc>::pointer; 10143: using value_type = typename allocator_traits<_Alloc>::value_type; 10143: 10143: 10143: __allocated_ptr(_Alloc& __a, pointer __ptr) noexcept 10143: : _M_alloc(std::__addressof(__a)), _M_ptr(__ptr) 10143: { } 10143: 10143: 10143: template>> 10143: __allocated_ptr(_Alloc& __a, _Ptr __ptr) 10143: : _M_alloc(std::__addressof(__a)), 10143: _M_ptr(pointer_traits::pointer_to(*__ptr)) 10143: { } 10143: 10143: 10143: __allocated_ptr(__allocated_ptr&& __gd) noexcept 10143: : _M_alloc(__gd._M_alloc), _M_ptr(__gd._M_ptr) 10143: { __gd._M_ptr = nullptr; } 10143: 10143: 10143: ~__allocated_ptr() 10143: { 10143: if (_M_ptr != nullptr) 10143: std::allocator_traits<_Alloc>::deallocate(*_M_alloc, _M_ptr, 1); 10143: } 10143: 10143: 10143: __allocated_ptr& 10143: operator=(std::nullptr_t) noexcept 10143: { 10143: _M_ptr = nullptr; 10143: return *this; 10143: } 10143: 10143: 10143: value_type* get() { return std::__to_address(_M_ptr); } 10143: 10143: private: 10143: _Alloc* _M_alloc; 10143: pointer _M_ptr; 10143: }; 10143: 10143: 10143: template 10143: __allocated_ptr<_Alloc> 10143: __allocate_guarded(_Alloc& __a) 10143: { 10143: return { __a, std::allocator_traits<_Alloc>::allocate(__a, 1) }; 10143: } 10143: 10143: 10143: } 10143: # 64 "/usr/include/c++/8/bits/stl_list.h" 2 3 10143: # 1 "/usr/include/c++/8/ext/aligned_buffer.h" 1 3 10143: # 32 "/usr/include/c++/8/ext/aligned_buffer.h" 3 10143: 10143: # 33 "/usr/include/c++/8/ext/aligned_buffer.h" 3 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: namespace __gnu_cxx 10143: { 10143: 10143: 10143: 10143: 10143: template 10143: struct __aligned_membuf 10143: { 10143: 10143: 10143: 10143: struct _Tp2 { _Tp _M_t; }; 10143: 10143: alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)]; 10143: 10143: __aligned_membuf() = default; 10143: 10143: 10143: __aligned_membuf(std::nullptr_t) { } 10143: 10143: void* 10143: _M_addr() noexcept 10143: { return static_cast(&_M_storage); } 10143: 10143: const void* 10143: _M_addr() const noexcept 10143: { return static_cast(&_M_storage); } 10143: 10143: _Tp* 10143: _M_ptr() noexcept 10143: { return static_cast<_Tp*>(_M_addr()); } 10143: 10143: const _Tp* 10143: _M_ptr() const noexcept 10143: { return static_cast(_M_addr()); } 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct __aligned_buffer 10143: : std::aligned_storage::value> 10143: { 10143: typename 10143: std::aligned_storage::value>::type 10143: _M_storage; 10143: 10143: __aligned_buffer() = default; 10143: 10143: 10143: __aligned_buffer(std::nullptr_t) { } 10143: 10143: void* 10143: _M_addr() noexcept 10143: { 10143: return static_cast(&_M_storage); 10143: } 10143: 10143: const void* 10143: _M_addr() const noexcept 10143: { 10143: return static_cast(&_M_storage); 10143: } 10143: 10143: _Tp* 10143: _M_ptr() noexcept 10143: { return static_cast<_Tp*>(_M_addr()); } 10143: 10143: const _Tp* 10143: _M_ptr() const noexcept 10143: { return static_cast(_M_addr()); } 10143: }; 10143: 10143: } 10143: # 65 "/usr/include/c++/8/bits/stl_list.h" 2 3 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: namespace __detail 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: struct _List_node_base 10143: { 10143: _List_node_base* _M_next; 10143: _List_node_base* _M_prev; 10143: 10143: static void 10143: swap(_List_node_base& __x, _List_node_base& __y) noexcept; 10143: 10143: void 10143: _M_transfer(_List_node_base* const __first, 10143: _List_node_base* const __last) noexcept; 10143: 10143: void 10143: _M_reverse() noexcept; 10143: 10143: void 10143: _M_hook(_List_node_base* const __position) noexcept; 10143: 10143: void 10143: _M_unhook() noexcept; 10143: }; 10143: 10143: 10143: struct _List_node_header : public _List_node_base 10143: { 10143: 10143: std::size_t _M_size; 10143: 10143: 10143: _List_node_header() noexcept 10143: { _M_init(); } 10143: 10143: 10143: _List_node_header(_List_node_header&& __x) noexcept 10143: : _List_node_base{ __x._M_next, __x._M_prev } 10143: 10143: , _M_size(__x._M_size) 10143: 10143: { 10143: if (__x._M_base()->_M_next == __x._M_base()) 10143: this->_M_next = this->_M_prev = this; 10143: else 10143: { 10143: this->_M_next->_M_prev = this->_M_prev->_M_next = this->_M_base(); 10143: __x._M_init(); 10143: } 10143: } 10143: 10143: void 10143: _M_move_nodes(_List_node_header&& __x) 10143: { 10143: _List_node_base* const __xnode = __x._M_base(); 10143: if (__xnode->_M_next == __xnode) 10143: _M_init(); 10143: else 10143: { 10143: _List_node_base* const __node = this->_M_base(); 10143: __node->_M_next = __xnode->_M_next; 10143: __node->_M_prev = __xnode->_M_prev; 10143: __node->_M_next->_M_prev = __node->_M_prev->_M_next = __node; 10143: 10143: _M_size = __x._M_size; 10143: 10143: __x._M_init(); 10143: } 10143: } 10143: 10143: 10143: void 10143: _M_init() noexcept 10143: { 10143: this->_M_next = this->_M_prev = this; 10143: 10143: this->_M_size = 0; 10143: 10143: } 10143: 10143: private: 10143: _List_node_base* _M_base() { return this; } 10143: }; 10143: } 10143: 10143: 10143: 10143: 10143: template 10143: struct _List_node : public __detail::_List_node_base 10143: { 10143: 10143: __gnu_cxx::__aligned_membuf<_Tp> _M_storage; 10143: _Tp* _M_valptr() { return _M_storage._M_ptr(); } 10143: _Tp const* _M_valptr() const { return _M_storage._M_ptr(); } 10143: 10143: 10143: 10143: 10143: 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct _List_iterator 10143: { 10143: typedef _List_iterator<_Tp> _Self; 10143: typedef _List_node<_Tp> _Node; 10143: 10143: typedef ptrdiff_t difference_type; 10143: typedef std::bidirectional_iterator_tag iterator_category; 10143: typedef _Tp value_type; 10143: typedef _Tp* pointer; 10143: typedef _Tp& reference; 10143: 10143: _List_iterator() noexcept 10143: : _M_node() { } 10143: 10143: explicit 10143: _List_iterator(__detail::_List_node_base* __x) noexcept 10143: : _M_node(__x) { } 10143: 10143: _Self 10143: _M_const_cast() const noexcept 10143: { return *this; } 10143: 10143: 10143: reference 10143: operator*() const noexcept 10143: { return *static_cast<_Node*>(_M_node)->_M_valptr(); } 10143: 10143: pointer 10143: operator->() const noexcept 10143: { return static_cast<_Node*>(_M_node)->_M_valptr(); } 10143: 10143: _Self& 10143: operator++() noexcept 10143: { 10143: _M_node = _M_node->_M_next; 10143: return *this; 10143: } 10143: 10143: _Self 10143: operator++(int) noexcept 10143: { 10143: _Self __tmp = *this; 10143: _M_node = _M_node->_M_next; 10143: return __tmp; 10143: } 10143: 10143: _Self& 10143: operator--() noexcept 10143: { 10143: _M_node = _M_node->_M_prev; 10143: return *this; 10143: } 10143: 10143: _Self 10143: operator--(int) noexcept 10143: { 10143: _Self __tmp = *this; 10143: _M_node = _M_node->_M_prev; 10143: return __tmp; 10143: } 10143: 10143: bool 10143: operator==(const _Self& __x) const noexcept 10143: { return _M_node == __x._M_node; } 10143: 10143: bool 10143: operator!=(const _Self& __x) const noexcept 10143: { return _M_node != __x._M_node; } 10143: 10143: 10143: __detail::_List_node_base* _M_node; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct _List_const_iterator 10143: { 10143: typedef _List_const_iterator<_Tp> _Self; 10143: typedef const _List_node<_Tp> _Node; 10143: typedef _List_iterator<_Tp> iterator; 10143: 10143: typedef ptrdiff_t difference_type; 10143: typedef std::bidirectional_iterator_tag iterator_category; 10143: typedef _Tp value_type; 10143: typedef const _Tp* pointer; 10143: typedef const _Tp& reference; 10143: 10143: _List_const_iterator() noexcept 10143: : _M_node() { } 10143: 10143: explicit 10143: _List_const_iterator(const __detail::_List_node_base* __x) 10143: noexcept 10143: : _M_node(__x) { } 10143: 10143: _List_const_iterator(const iterator& __x) noexcept 10143: : _M_node(__x._M_node) { } 10143: 10143: iterator 10143: _M_const_cast() const noexcept 10143: { return iterator(const_cast<__detail::_List_node_base*>(_M_node)); } 10143: 10143: 10143: reference 10143: operator*() const noexcept 10143: { return *static_cast<_Node*>(_M_node)->_M_valptr(); } 10143: 10143: pointer 10143: operator->() const noexcept 10143: { return static_cast<_Node*>(_M_node)->_M_valptr(); } 10143: 10143: _Self& 10143: operator++() noexcept 10143: { 10143: _M_node = _M_node->_M_next; 10143: return *this; 10143: } 10143: 10143: _Self 10143: operator++(int) noexcept 10143: { 10143: _Self __tmp = *this; 10143: _M_node = _M_node->_M_next; 10143: return __tmp; 10143: } 10143: 10143: _Self& 10143: operator--() noexcept 10143: { 10143: _M_node = _M_node->_M_prev; 10143: return *this; 10143: } 10143: 10143: _Self 10143: operator--(int) noexcept 10143: { 10143: _Self __tmp = *this; 10143: _M_node = _M_node->_M_prev; 10143: return __tmp; 10143: } 10143: 10143: bool 10143: operator==(const _Self& __x) const noexcept 10143: { return _M_node == __x._M_node; } 10143: 10143: bool 10143: operator!=(const _Self& __x) const noexcept 10143: { return _M_node != __x._M_node; } 10143: 10143: 10143: const __detail::_List_node_base* _M_node; 10143: }; 10143: 10143: template 10143: inline bool 10143: operator==(const _List_iterator<_Val>& __x, 10143: const _List_const_iterator<_Val>& __y) noexcept 10143: { return __x._M_node == __y._M_node; } 10143: 10143: template 10143: inline bool 10143: operator!=(const _List_iterator<_Val>& __x, 10143: const _List_const_iterator<_Val>& __y) noexcept 10143: { return __x._M_node != __y._M_node; } 10143: 10143: namespace __cxx11 { 10143: 10143: template 10143: class _List_base 10143: { 10143: protected: 10143: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 10143: rebind<_Tp>::other _Tp_alloc_type; 10143: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tp_alloc_traits; 10143: typedef typename _Tp_alloc_traits::template 10143: rebind<_List_node<_Tp> >::other _Node_alloc_type; 10143: typedef __gnu_cxx::__alloc_traits<_Node_alloc_type> _Node_alloc_traits; 10143: 10143: 10143: static size_t 10143: _S_distance(const __detail::_List_node_base* __first, 10143: const __detail::_List_node_base* __last) 10143: { 10143: size_t __n = 0; 10143: while (__first != __last) 10143: { 10143: __first = __first->_M_next; 10143: ++__n; 10143: } 10143: return __n; 10143: } 10143: 10143: 10143: struct _List_impl 10143: : public _Node_alloc_type 10143: { 10143: __detail::_List_node_header _M_node; 10143: 10143: _List_impl() noexcept(noexcept(_Node_alloc_type())) 10143: : _Node_alloc_type() 10143: { } 10143: 10143: _List_impl(const _Node_alloc_type& __a) noexcept 10143: : _Node_alloc_type(__a) 10143: { } 10143: 10143: 10143: _List_impl(_List_impl&&) = default; 10143: 10143: _List_impl(_Node_alloc_type&& __a, _List_impl&& __x) 10143: : _Node_alloc_type(std::move(__a)), _M_node(std::move(__x._M_node)) 10143: { } 10143: 10143: _List_impl(_Node_alloc_type&& __a) noexcept 10143: : _Node_alloc_type(std::move(__a)) 10143: { } 10143: 10143: }; 10143: 10143: _List_impl _M_impl; 10143: 10143: 10143: size_t _M_get_size() const { return _M_impl._M_node._M_size; } 10143: 10143: void _M_set_size(size_t __n) { _M_impl._M_node._M_size = __n; } 10143: 10143: void _M_inc_size(size_t __n) { _M_impl._M_node._M_size += __n; } 10143: 10143: void _M_dec_size(size_t __n) { _M_impl._M_node._M_size -= __n; } 10143: 10143: 10143: size_t 10143: _M_distance(const __detail::_List_node_base* __first, 10143: const __detail::_List_node_base* __last) const 10143: { return _S_distance(__first, __last); } 10143: 10143: 10143: size_t _M_node_count() const { return _M_get_size(); } 10143: # 447 "/usr/include/c++/8/bits/stl_list.h" 3 10143: typename _Node_alloc_traits::pointer 10143: _M_get_node() 10143: { return _Node_alloc_traits::allocate(_M_impl, 1); } 10143: 10143: void 10143: _M_put_node(typename _Node_alloc_traits::pointer __p) noexcept 10143: { _Node_alloc_traits::deallocate(_M_impl, __p, 1); } 10143: 10143: public: 10143: typedef _Alloc allocator_type; 10143: 10143: _Node_alloc_type& 10143: _M_get_Node_allocator() noexcept 10143: { return _M_impl; } 10143: 10143: const _Node_alloc_type& 10143: _M_get_Node_allocator() const noexcept 10143: { return _M_impl; } 10143: 10143: 10143: _List_base() = default; 10143: 10143: 10143: 10143: 10143: _List_base(const _Node_alloc_type& __a) noexcept 10143: : _M_impl(__a) 10143: { } 10143: 10143: 10143: _List_base(_List_base&&) = default; 10143: 10143: 10143: _List_base(_List_base&& __x, _Node_alloc_type&& __a) 10143: : _M_impl(std::move(__a)) 10143: { 10143: if (__x._M_get_Node_allocator() == _M_get_Node_allocator()) 10143: _M_move_nodes(std::move(__x)); 10143: 10143: } 10143: 10143: 10143: 10143: _List_base(_Node_alloc_type&& __a, _List_base&& __x) 10143: : _M_impl(std::move(__a), std::move(__x._M_impl)) 10143: { } 10143: 10143: 10143: _List_base(_Node_alloc_type&& __a) 10143: : _M_impl(std::move(__a)) 10143: { } 10143: 10143: void 10143: _M_move_nodes(_List_base&& __x) 10143: { _M_impl._M_node._M_move_nodes(std::move(__x._M_impl._M_node)); } 10143: 10143: 10143: 10143: ~_List_base() noexcept 10143: { _M_clear(); } 10143: 10143: void 10143: _M_clear() noexcept; 10143: 10143: void 10143: _M_init() noexcept 10143: { this->_M_impl._M_node._M_init(); } 10143: }; 10143: # 562 "/usr/include/c++/8/bits/stl_list.h" 3 10143: template > 10143: class list : protected _List_base<_Tp, _Alloc> 10143: { 10143: # 575 "/usr/include/c++/8/bits/stl_list.h" 3 10143: static_assert(is_same::type, _Tp>::value, 10143: "std::list must have a non-const, non-volatile value_type"); 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef _List_base<_Tp, _Alloc> _Base; 10143: typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; 10143: typedef typename _Base::_Tp_alloc_traits _Tp_alloc_traits; 10143: typedef typename _Base::_Node_alloc_type _Node_alloc_type; 10143: typedef typename _Base::_Node_alloc_traits _Node_alloc_traits; 10143: 10143: public: 10143: typedef _Tp value_type; 10143: typedef typename _Tp_alloc_traits::pointer pointer; 10143: typedef typename _Tp_alloc_traits::const_pointer const_pointer; 10143: typedef typename _Tp_alloc_traits::reference reference; 10143: typedef typename _Tp_alloc_traits::const_reference const_reference; 10143: typedef _List_iterator<_Tp> iterator; 10143: typedef _List_const_iterator<_Tp> const_iterator; 10143: typedef std::reverse_iterator const_reverse_iterator; 10143: typedef std::reverse_iterator reverse_iterator; 10143: typedef size_t size_type; 10143: typedef ptrdiff_t difference_type; 10143: typedef _Alloc allocator_type; 10143: 10143: protected: 10143: 10143: 10143: typedef _List_node<_Tp> _Node; 10143: 10143: using _Base::_M_impl; 10143: using _Base::_M_put_node; 10143: using _Base::_M_get_node; 10143: using _Base::_M_get_Node_allocator; 10143: # 637 "/usr/include/c++/8/bits/stl_list.h" 3 10143: template 10143: _Node* 10143: _M_create_node(_Args&&... __args) 10143: { 10143: auto __p = this->_M_get_node(); 10143: auto& __alloc = _M_get_Node_allocator(); 10143: __allocated_ptr<_Node_alloc_type> __guard{__alloc, __p}; 10143: _Node_alloc_traits::construct(__alloc, __p->_M_valptr(), 10143: std::forward<_Args>(__args)...); 10143: __guard = nullptr; 10143: return __p; 10143: } 10143: 10143: 10143: 10143: static size_t 10143: _S_distance(const_iterator __first, const_iterator __last) 10143: { return std::distance(__first, __last); } 10143: 10143: 10143: size_t 10143: _M_node_count() const 10143: { return this->_M_get_size(); } 10143: # 672 "/usr/include/c++/8/bits/stl_list.h" 3 10143: public: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: list() = default; 10143: # 689 "/usr/include/c++/8/bits/stl_list.h" 3 10143: explicit 10143: list(const allocator_type& __a) noexcept 10143: : _Base(_Node_alloc_type(__a)) { } 10143: # 702 "/usr/include/c++/8/bits/stl_list.h" 3 10143: explicit 10143: list(size_type __n, const allocator_type& __a = allocator_type()) 10143: : _Base(_Node_alloc_type(__a)) 10143: { _M_default_initialize(__n); } 10143: # 715 "/usr/include/c++/8/bits/stl_list.h" 3 10143: list(size_type __n, const value_type& __value, 10143: const allocator_type& __a = allocator_type()) 10143: : _Base(_Node_alloc_type(__a)) 10143: { _M_fill_initialize(__n, __value); } 10143: # 742 "/usr/include/c++/8/bits/stl_list.h" 3 10143: list(const list& __x) 10143: : _Base(_Node_alloc_traits:: 10143: _S_select_on_copy(__x._M_get_Node_allocator())) 10143: { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); } 10143: # 755 "/usr/include/c++/8/bits/stl_list.h" 3 10143: list(list&&) = default; 10143: # 765 "/usr/include/c++/8/bits/stl_list.h" 3 10143: list(initializer_list __l, 10143: const allocator_type& __a = allocator_type()) 10143: : _Base(_Node_alloc_type(__a)) 10143: { _M_initialize_dispatch(__l.begin(), __l.end(), __false_type()); } 10143: 10143: list(const list& __x, const allocator_type& __a) 10143: : _Base(_Node_alloc_type(__a)) 10143: { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); } 10143: 10143: private: 10143: list(list&& __x, const allocator_type& __a, true_type) noexcept 10143: : _Base(_Node_alloc_type(__a), std::move(__x)) 10143: { } 10143: 10143: list(list&& __x, const allocator_type& __a, false_type) 10143: : _Base(_Node_alloc_type(__a)) 10143: { 10143: if (__x._M_get_Node_allocator() == this->_M_get_Node_allocator()) 10143: this->_M_move_nodes(std::move(__x)); 10143: else 10143: insert(begin(), std::__make_move_if_noexcept_iterator(__x.begin()), 10143: std::__make_move_if_noexcept_iterator(__x.end())); 10143: } 10143: 10143: public: 10143: list(list&& __x, const allocator_type& __a) 10143: noexcept(_Node_alloc_traits::_S_always_equal()) 10143: : list(std::move(__x), __a, 10143: typename _Node_alloc_traits::is_always_equal{}) 10143: { } 10143: # 808 "/usr/include/c++/8/bits/stl_list.h" 3 10143: template> 10143: list(_InputIterator __first, _InputIterator __last, 10143: const allocator_type& __a = allocator_type()) 10143: : _Base(_Node_alloc_type(__a)) 10143: { _M_initialize_dispatch(__first, __last, __false_type()); } 10143: # 834 "/usr/include/c++/8/bits/stl_list.h" 3 10143: ~list() = default; 10143: # 845 "/usr/include/c++/8/bits/stl_list.h" 3 10143: list& 10143: operator=(const list& __x); 10143: # 859 "/usr/include/c++/8/bits/stl_list.h" 3 10143: list& 10143: operator=(list&& __x) 10143: noexcept(_Node_alloc_traits::_S_nothrow_move()) 10143: { 10143: constexpr bool __move_storage = 10143: _Node_alloc_traits::_S_propagate_on_move_assign() 10143: || _Node_alloc_traits::_S_always_equal(); 10143: _M_move_assign(std::move(__x), __bool_constant<__move_storage>()); 10143: return *this; 10143: } 10143: # 877 "/usr/include/c++/8/bits/stl_list.h" 3 10143: list& 10143: operator=(initializer_list __l) 10143: { 10143: this->assign(__l.begin(), __l.end()); 10143: return *this; 10143: } 10143: # 895 "/usr/include/c++/8/bits/stl_list.h" 3 10143: void 10143: assign(size_type __n, const value_type& __val) 10143: { _M_fill_assign(__n, __val); } 10143: # 912 "/usr/include/c++/8/bits/stl_list.h" 3 10143: template> 10143: void 10143: assign(_InputIterator __first, _InputIterator __last) 10143: { _M_assign_dispatch(__first, __last, __false_type()); } 10143: # 936 "/usr/include/c++/8/bits/stl_list.h" 3 10143: void 10143: assign(initializer_list __l) 10143: { this->_M_assign_dispatch(__l.begin(), __l.end(), __false_type()); } 10143: 10143: 10143: 10143: allocator_type 10143: get_allocator() const noexcept 10143: { return allocator_type(_Base::_M_get_Node_allocator()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: iterator 10143: begin() noexcept 10143: { return iterator(this->_M_impl._M_node._M_next); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_iterator 10143: begin() const noexcept 10143: { return const_iterator(this->_M_impl._M_node._M_next); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: iterator 10143: end() noexcept 10143: { return iterator(&this->_M_impl._M_node); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_iterator 10143: end() const noexcept 10143: { return const_iterator(&this->_M_impl._M_node); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: reverse_iterator 10143: rbegin() noexcept 10143: { return reverse_iterator(end()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_reverse_iterator 10143: rbegin() const noexcept 10143: { return const_reverse_iterator(end()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: reverse_iterator 10143: rend() noexcept 10143: { return reverse_iterator(begin()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_reverse_iterator 10143: rend() const noexcept 10143: { return const_reverse_iterator(begin()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_iterator 10143: cbegin() const noexcept 10143: { return const_iterator(this->_M_impl._M_node._M_next); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_iterator 10143: cend() const noexcept 10143: { return const_iterator(&this->_M_impl._M_node); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_reverse_iterator 10143: crbegin() const noexcept 10143: { return const_reverse_iterator(end()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_reverse_iterator 10143: crend() const noexcept 10143: { return const_reverse_iterator(begin()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: bool 10143: empty() const noexcept 10143: { return this->_M_impl._M_node._M_next == &this->_M_impl._M_node; } 10143: 10143: 10143: size_type 10143: size() const noexcept 10143: { return _M_node_count(); } 10143: 10143: 10143: size_type 10143: max_size() const noexcept 10143: { return _Node_alloc_traits::max_size(_M_get_Node_allocator()); } 10143: # 1085 "/usr/include/c++/8/bits/stl_list.h" 3 10143: void 10143: resize(size_type __new_size); 10143: # 1098 "/usr/include/c++/8/bits/stl_list.h" 3 10143: void 10143: resize(size_type __new_size, const value_type& __x); 10143: # 1120 "/usr/include/c++/8/bits/stl_list.h" 3 10143: reference 10143: front() noexcept 10143: { return *begin(); } 10143: 10143: 10143: 10143: 10143: 10143: const_reference 10143: front() const noexcept 10143: { return *begin(); } 10143: 10143: 10143: 10143: 10143: 10143: reference 10143: back() noexcept 10143: { 10143: iterator __tmp = end(); 10143: --__tmp; 10143: return *__tmp; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: const_reference 10143: back() const noexcept 10143: { 10143: const_iterator __tmp = end(); 10143: --__tmp; 10143: return *__tmp; 10143: } 10143: # 1167 "/usr/include/c++/8/bits/stl_list.h" 3 10143: void 10143: push_front(const value_type& __x) 10143: { this->_M_insert(begin(), __x); } 10143: 10143: 10143: void 10143: push_front(value_type&& __x) 10143: { this->_M_insert(begin(), std::move(__x)); } 10143: 10143: template 10143: 10143: 10143: 10143: void 10143: 10143: emplace_front(_Args&&... __args) 10143: { 10143: this->_M_insert(begin(), std::forward<_Args>(__args)...); 10143: 10143: 10143: 10143: } 10143: # 1203 "/usr/include/c++/8/bits/stl_list.h" 3 10143: void 10143: pop_front() noexcept 10143: { this->_M_erase(begin()); } 10143: # 1217 "/usr/include/c++/8/bits/stl_list.h" 3 10143: void 10143: push_back(const value_type& __x) 10143: { this->_M_insert(end(), __x); } 10143: 10143: 10143: void 10143: push_back(value_type&& __x) 10143: { this->_M_insert(end(), std::move(__x)); } 10143: 10143: template 10143: 10143: 10143: 10143: void 10143: 10143: emplace_back(_Args&&... __args) 10143: { 10143: this->_M_insert(end(), std::forward<_Args>(__args)...); 10143: 10143: 10143: 10143: } 10143: # 1252 "/usr/include/c++/8/bits/stl_list.h" 3 10143: void 10143: pop_back() noexcept 10143: { this->_M_erase(iterator(this->_M_impl._M_node._M_prev)); } 10143: # 1269 "/usr/include/c++/8/bits/stl_list.h" 3 10143: template 10143: iterator 10143: emplace(const_iterator __position, _Args&&... __args); 10143: # 1284 "/usr/include/c++/8/bits/stl_list.h" 3 10143: iterator 10143: insert(const_iterator __position, const value_type& __x); 10143: # 1314 "/usr/include/c++/8/bits/stl_list.h" 3 10143: iterator 10143: insert(const_iterator __position, value_type&& __x) 10143: { return emplace(__position, std::move(__x)); } 10143: # 1333 "/usr/include/c++/8/bits/stl_list.h" 3 10143: iterator 10143: insert(const_iterator __p, initializer_list __l) 10143: { return this->insert(__p, __l.begin(), __l.end()); } 10143: # 1353 "/usr/include/c++/8/bits/stl_list.h" 3 10143: iterator 10143: insert(const_iterator __position, size_type __n, const value_type& __x); 10143: # 1392 "/usr/include/c++/8/bits/stl_list.h" 3 10143: template> 10143: iterator 10143: insert(const_iterator __position, _InputIterator __first, 10143: _InputIterator __last); 10143: # 1436 "/usr/include/c++/8/bits/stl_list.h" 3 10143: iterator 10143: 10143: erase(const_iterator __position) noexcept; 10143: # 1461 "/usr/include/c++/8/bits/stl_list.h" 3 10143: iterator 10143: 10143: erase(const_iterator __first, const_iterator __last) noexcept 10143: 10143: 10143: 10143: { 10143: while (__first != __last) 10143: __first = erase(__first); 10143: return __last._M_const_cast(); 10143: } 10143: # 1484 "/usr/include/c++/8/bits/stl_list.h" 3 10143: void 10143: swap(list& __x) noexcept 10143: { 10143: __detail::_List_node_base::swap(this->_M_impl._M_node, 10143: __x._M_impl._M_node); 10143: 10143: size_t __xsize = __x._M_get_size(); 10143: __x._M_set_size(this->_M_get_size()); 10143: this->_M_set_size(__xsize); 10143: 10143: _Node_alloc_traits::_S_on_swap(this->_M_get_Node_allocator(), 10143: __x._M_get_Node_allocator()); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: void 10143: clear() noexcept 10143: { 10143: _Base::_M_clear(); 10143: _Base::_M_init(); 10143: } 10143: # 1523 "/usr/include/c++/8/bits/stl_list.h" 3 10143: void 10143: 10143: splice(const_iterator __position, list&& __x) noexcept 10143: 10143: 10143: 10143: { 10143: if (!__x.empty()) 10143: { 10143: _M_check_equal_allocators(__x); 10143: 10143: this->_M_transfer(__position._M_const_cast(), 10143: __x.begin(), __x.end()); 10143: 10143: this->_M_inc_size(__x._M_get_size()); 10143: __x._M_set_size(0); 10143: } 10143: } 10143: 10143: 10143: void 10143: splice(const_iterator __position, list& __x) noexcept 10143: { splice(__position, std::move(__x)); } 10143: # 1559 "/usr/include/c++/8/bits/stl_list.h" 3 10143: void 10143: splice(const_iterator __position, list&& __x, const_iterator __i) noexcept 10143: # 1574 "/usr/include/c++/8/bits/stl_list.h" 3 10143: { 10143: iterator __j = __i._M_const_cast(); 10143: ++__j; 10143: if (__position == __i || __position == __j) 10143: return; 10143: 10143: if (this != std::__addressof(__x)) 10143: _M_check_equal_allocators(__x); 10143: 10143: this->_M_transfer(__position._M_const_cast(), 10143: __i._M_const_cast(), __j); 10143: 10143: this->_M_inc_size(1); 10143: __x._M_dec_size(1); 10143: } 10143: # 1601 "/usr/include/c++/8/bits/stl_list.h" 3 10143: void 10143: splice(const_iterator __position, list& __x, const_iterator __i) noexcept 10143: { splice(__position, std::move(__x), __i); } 10143: # 1620 "/usr/include/c++/8/bits/stl_list.h" 3 10143: void 10143: splice(const_iterator __position, list&& __x, const_iterator __first, 10143: const_iterator __last) noexcept 10143: # 1640 "/usr/include/c++/8/bits/stl_list.h" 3 10143: { 10143: if (__first != __last) 10143: { 10143: if (this != std::__addressof(__x)) 10143: _M_check_equal_allocators(__x); 10143: 10143: size_t __n = _S_distance(__first, __last); 10143: this->_M_inc_size(__n); 10143: __x._M_dec_size(__n); 10143: 10143: this->_M_transfer(__position._M_const_cast(), 10143: __first._M_const_cast(), 10143: __last._M_const_cast()); 10143: } 10143: } 10143: # 1670 "/usr/include/c++/8/bits/stl_list.h" 3 10143: void 10143: splice(const_iterator __position, list& __x, const_iterator __first, 10143: const_iterator __last) noexcept 10143: { splice(__position, std::move(__x), __first, __last); } 10143: # 1687 "/usr/include/c++/8/bits/stl_list.h" 3 10143: void 10143: remove(const _Tp& __value); 10143: # 1701 "/usr/include/c++/8/bits/stl_list.h" 3 10143: template 10143: void 10143: remove_if(_Predicate); 10143: # 1715 "/usr/include/c++/8/bits/stl_list.h" 3 10143: void 10143: unique(); 10143: # 1730 "/usr/include/c++/8/bits/stl_list.h" 3 10143: template 10143: void 10143: unique(_BinaryPredicate); 10143: # 1744 "/usr/include/c++/8/bits/stl_list.h" 3 10143: void 10143: merge(list&& __x); 10143: 10143: void 10143: merge(list& __x) 10143: { merge(std::move(__x)); } 10143: # 1769 "/usr/include/c++/8/bits/stl_list.h" 3 10143: template 10143: void 10143: merge(list&& __x, _StrictWeakOrdering __comp); 10143: 10143: template 10143: void 10143: merge(list& __x, _StrictWeakOrdering __comp) 10143: { merge(std::move(__x), __comp); } 10143: # 1788 "/usr/include/c++/8/bits/stl_list.h" 3 10143: void 10143: reverse() noexcept 10143: { this->_M_impl._M_node._M_reverse(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: void 10143: sort(); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: void 10143: sort(_StrictWeakOrdering); 10143: 10143: protected: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: void 10143: _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) 10143: { _M_fill_initialize(static_cast(__n), __x); } 10143: 10143: 10143: template 10143: void 10143: _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, 10143: __false_type) 10143: { 10143: for (; __first != __last; ++__first) 10143: 10143: emplace_back(*__first); 10143: 10143: 10143: 10143: } 10143: 10143: 10143: 10143: void 10143: _M_fill_initialize(size_type __n, const value_type& __x) 10143: { 10143: for (; __n; --__n) 10143: push_back(__x); 10143: } 10143: 10143: 10143: 10143: void 10143: _M_default_initialize(size_type __n) 10143: { 10143: for (; __n; --__n) 10143: emplace_back(); 10143: } 10143: 10143: 10143: void 10143: _M_default_append(size_type __n); 10143: # 1866 "/usr/include/c++/8/bits/stl_list.h" 3 10143: template 10143: void 10143: _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) 10143: { _M_fill_assign(__n, __val); } 10143: 10143: 10143: template 10143: void 10143: _M_assign_dispatch(_InputIterator __first, _InputIterator __last, 10143: __false_type); 10143: 10143: 10143: 10143: void 10143: _M_fill_assign(size_type __n, const value_type& __val); 10143: 10143: 10143: 10143: void 10143: _M_transfer(iterator __position, iterator __first, iterator __last) 10143: { __position._M_node->_M_transfer(__first._M_node, __last._M_node); } 10143: # 1898 "/usr/include/c++/8/bits/stl_list.h" 3 10143: template 10143: void 10143: _M_insert(iterator __position, _Args&&... __args) 10143: { 10143: _Node* __tmp = _M_create_node(std::forward<_Args>(__args)...); 10143: __tmp->_M_hook(__position._M_node); 10143: this->_M_inc_size(1); 10143: } 10143: 10143: 10143: 10143: void 10143: _M_erase(iterator __position) noexcept 10143: { 10143: this->_M_dec_size(1); 10143: __position._M_node->_M_unhook(); 10143: _Node* __n = static_cast<_Node*>(__position._M_node); 10143: 10143: _Node_alloc_traits::destroy(_M_get_Node_allocator(), __n->_M_valptr()); 10143: 10143: 10143: 10143: 10143: _M_put_node(__n); 10143: } 10143: 10143: 10143: void 10143: _M_check_equal_allocators(list& __x) noexcept 10143: { 10143: if (std::__alloc_neq:: 10143: _S_do_it(_M_get_Node_allocator(), __x._M_get_Node_allocator())) 10143: __builtin_abort(); 10143: } 10143: 10143: 10143: const_iterator 10143: _M_resize_pos(size_type& __new_size) const; 10143: 10143: 10143: void 10143: _M_move_assign(list&& __x, true_type) noexcept 10143: { 10143: this->_M_clear(); 10143: this->_M_move_nodes(std::move(__x)); 10143: std::__alloc_on_move(this->_M_get_Node_allocator(), 10143: __x._M_get_Node_allocator()); 10143: } 10143: 10143: void 10143: _M_move_assign(list&& __x, false_type) 10143: { 10143: if (__x._M_get_Node_allocator() == this->_M_get_Node_allocator()) 10143: _M_move_assign(std::move(__x), true_type{}); 10143: else 10143: 10143: 10143: _M_assign_dispatch(std::__make_move_if_noexcept_iterator(__x.begin()), 10143: std::__make_move_if_noexcept_iterator(__x.end()), 10143: __false_type{}); 10143: } 10143: 10143: }; 10143: # 1972 "/usr/include/c++/8/bits/stl_list.h" 3 10143: } 10143: # 1984 "/usr/include/c++/8/bits/stl_list.h" 3 10143: template 10143: inline bool 10143: operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) 10143: { 10143: 10143: if (__x.size() != __y.size()) 10143: return false; 10143: 10143: 10143: typedef typename list<_Tp, _Alloc>::const_iterator const_iterator; 10143: const_iterator __end1 = __x.end(); 10143: const_iterator __end2 = __y.end(); 10143: 10143: const_iterator __i1 = __x.begin(); 10143: const_iterator __i2 = __y.begin(); 10143: while (__i1 != __end1 && __i2 != __end2 && *__i1 == *__i2) 10143: { 10143: ++__i1; 10143: ++__i2; 10143: } 10143: return __i1 == __end1 && __i2 == __end2; 10143: } 10143: # 2018 "/usr/include/c++/8/bits/stl_list.h" 3 10143: template 10143: inline bool 10143: operator<(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) 10143: { return std::lexicographical_compare(__x.begin(), __x.end(), 10143: __y.begin(), __y.end()); } 10143: 10143: 10143: template 10143: inline bool 10143: operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) 10143: { return !(__x == __y); } 10143: 10143: 10143: template 10143: inline bool 10143: operator>(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) 10143: { return __y < __x; } 10143: 10143: 10143: template 10143: inline bool 10143: operator<=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) 10143: { return !(__y < __x); } 10143: 10143: 10143: template 10143: inline bool 10143: operator>=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) 10143: { return !(__x < __y); } 10143: 10143: 10143: template 10143: inline void 10143: swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y) 10143: noexcept(noexcept(__x.swap(__y))) 10143: { __x.swap(__y); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline ptrdiff_t 10143: __distance(std::_List_iterator<_Tp> __first, 10143: std::_List_iterator<_Tp> __last, 10143: input_iterator_tag __tag) 10143: { 10143: typedef std::_List_const_iterator<_Tp> _CIter; 10143: return std::__distance(_CIter(__first), _CIter(__last), __tag); 10143: } 10143: 10143: template 10143: inline ptrdiff_t 10143: __distance(std::_List_const_iterator<_Tp> __first, 10143: std::_List_const_iterator<_Tp> __last, 10143: input_iterator_tag) 10143: { 10143: typedef __detail::_List_node_header _Sentinel; 10143: std::_List_const_iterator<_Tp> __beyond = __last; 10143: ++__beyond; 10143: const bool __whole = __first == __beyond; 10143: if (__builtin_constant_p (__whole) && __whole) 10143: return static_cast(__last._M_node)->_M_size; 10143: 10143: ptrdiff_t __n = 0; 10143: while (__first != __last) 10143: { 10143: ++__first; 10143: ++__n; 10143: } 10143: return __n; 10143: } 10143: 10143: 10143: 10143: } 10143: # 64 "/usr/include/c++/8/list" 2 3 10143: # 1 "/usr/include/c++/8/bits/list.tcc" 1 3 10143: # 59 "/usr/include/c++/8/bits/list.tcc" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: template 10143: void 10143: _List_base<_Tp, _Alloc>:: 10143: _M_clear() noexcept 10143: { 10143: typedef _List_node<_Tp> _Node; 10143: __detail::_List_node_base* __cur = _M_impl._M_node._M_next; 10143: while (__cur != &_M_impl._M_node) 10143: { 10143: _Node* __tmp = static_cast<_Node*>(__cur); 10143: __cur = __tmp->_M_next; 10143: _Tp* __val = __tmp->_M_valptr(); 10143: 10143: _Node_alloc_traits::destroy(_M_get_Node_allocator(), __val); 10143: 10143: 10143: 10143: _M_put_node(__tmp); 10143: } 10143: } 10143: 10143: 10143: template 10143: template 10143: typename list<_Tp, _Alloc>::iterator 10143: list<_Tp, _Alloc>:: 10143: emplace(const_iterator __position, _Args&&... __args) 10143: { 10143: _Node* __tmp = _M_create_node(std::forward<_Args>(__args)...); 10143: __tmp->_M_hook(__position._M_const_cast()._M_node); 10143: this->_M_inc_size(1); 10143: return iterator(__tmp); 10143: } 10143: 10143: 10143: template 10143: typename list<_Tp, _Alloc>::iterator 10143: list<_Tp, _Alloc>:: 10143: 10143: insert(const_iterator __position, const value_type& __x) 10143: 10143: 10143: 10143: { 10143: _Node* __tmp = _M_create_node(__x); 10143: __tmp->_M_hook(__position._M_const_cast()._M_node); 10143: this->_M_inc_size(1); 10143: return iterator(__tmp); 10143: } 10143: 10143: 10143: template 10143: typename list<_Tp, _Alloc>::iterator 10143: list<_Tp, _Alloc>:: 10143: insert(const_iterator __position, size_type __n, const value_type& __x) 10143: { 10143: if (__n) 10143: { 10143: list __tmp(__n, __x, get_allocator()); 10143: iterator __it = __tmp.begin(); 10143: splice(__position, __tmp); 10143: return __it; 10143: } 10143: return __position._M_const_cast(); 10143: } 10143: 10143: template 10143: template 10143: typename list<_Tp, _Alloc>::iterator 10143: list<_Tp, _Alloc>:: 10143: insert(const_iterator __position, _InputIterator __first, 10143: _InputIterator __last) 10143: { 10143: list __tmp(__first, __last, get_allocator()); 10143: if (!__tmp.empty()) 10143: { 10143: iterator __it = __tmp.begin(); 10143: splice(__position, __tmp); 10143: return __it; 10143: } 10143: return __position._M_const_cast(); 10143: } 10143: 10143: 10143: template 10143: typename list<_Tp, _Alloc>::iterator 10143: list<_Tp, _Alloc>:: 10143: 10143: erase(const_iterator __position) noexcept 10143: 10143: 10143: 10143: { 10143: iterator __ret = iterator(__position._M_node->_M_next); 10143: _M_erase(__position._M_const_cast()); 10143: return __ret; 10143: } 10143: # 173 "/usr/include/c++/8/bits/list.tcc" 3 10143: template 10143: typename list<_Tp, _Alloc>::const_iterator 10143: list<_Tp, _Alloc>:: 10143: _M_resize_pos(size_type& __new_size) const 10143: { 10143: const_iterator __i; 10143: 10143: const size_type __len = size(); 10143: if (__new_size < __len) 10143: { 10143: if (__new_size <= __len / 2) 10143: { 10143: __i = begin(); 10143: std::advance(__i, __new_size); 10143: } 10143: else 10143: { 10143: __i = end(); 10143: ptrdiff_t __num_erase = __len - __new_size; 10143: std::advance(__i, -__num_erase); 10143: } 10143: __new_size = 0; 10143: return __i; 10143: } 10143: else 10143: __i = end(); 10143: 10143: 10143: 10143: 10143: 10143: __new_size -= __len; 10143: return __i; 10143: } 10143: 10143: 10143: template 10143: void 10143: list<_Tp, _Alloc>:: 10143: _M_default_append(size_type __n) 10143: { 10143: size_type __i = 0; 10143: if (true) 10143: { 10143: for (; __i < __n; ++__i) 10143: emplace_back(); 10143: } 10143: if (false) 10143: { 10143: for (; __i; --__i) 10143: pop_back(); 10143: ; 10143: } 10143: } 10143: 10143: template 10143: void 10143: list<_Tp, _Alloc>:: 10143: resize(size_type __new_size) 10143: { 10143: const_iterator __i = _M_resize_pos(__new_size); 10143: if (__new_size) 10143: _M_default_append(__new_size); 10143: else 10143: erase(__i, end()); 10143: } 10143: 10143: template 10143: void 10143: list<_Tp, _Alloc>:: 10143: resize(size_type __new_size, const value_type& __x) 10143: { 10143: const_iterator __i = _M_resize_pos(__new_size); 10143: if (__new_size) 10143: insert(end(), __new_size, __x); 10143: else 10143: erase(__i, end()); 10143: } 10143: # 265 "/usr/include/c++/8/bits/list.tcc" 3 10143: template 10143: list<_Tp, _Alloc>& 10143: list<_Tp, _Alloc>:: 10143: operator=(const list& __x) 10143: { 10143: if (this != std::__addressof(__x)) 10143: { 10143: 10143: if (_Node_alloc_traits::_S_propagate_on_copy_assign()) 10143: { 10143: auto& __this_alloc = this->_M_get_Node_allocator(); 10143: auto& __that_alloc = __x._M_get_Node_allocator(); 10143: if (!_Node_alloc_traits::_S_always_equal() 10143: && __this_alloc != __that_alloc) 10143: { 10143: 10143: clear(); 10143: } 10143: std::__alloc_on_copy(__this_alloc, __that_alloc); 10143: } 10143: 10143: _M_assign_dispatch(__x.begin(), __x.end(), __false_type()); 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: void 10143: list<_Tp, _Alloc>:: 10143: _M_fill_assign(size_type __n, const value_type& __val) 10143: { 10143: iterator __i = begin(); 10143: for (; __i != end() && __n > 0; ++__i, --__n) 10143: *__i = __val; 10143: if (__n > 0) 10143: insert(end(), __n, __val); 10143: else 10143: erase(__i, end()); 10143: } 10143: 10143: template 10143: template 10143: void 10143: list<_Tp, _Alloc>:: 10143: _M_assign_dispatch(_InputIterator __first2, _InputIterator __last2, 10143: __false_type) 10143: { 10143: iterator __first1 = begin(); 10143: iterator __last1 = end(); 10143: for (; __first1 != __last1 && __first2 != __last2; 10143: ++__first1, ++__first2) 10143: *__first1 = *__first2; 10143: if (__first2 == __last2) 10143: erase(__first1, __last1); 10143: else 10143: insert(__last1, __first2, __last2); 10143: } 10143: 10143: template 10143: void 10143: list<_Tp, _Alloc>:: 10143: remove(const value_type& __value) 10143: { 10143: iterator __first = begin(); 10143: iterator __last = end(); 10143: iterator __extra = __last; 10143: while (__first != __last) 10143: { 10143: iterator __next = __first; 10143: ++__next; 10143: if (*__first == __value) 10143: { 10143: 10143: 10143: 10143: if (std::__addressof(*__first) != std::__addressof(__value)) 10143: _M_erase(__first); 10143: else 10143: __extra = __first; 10143: } 10143: __first = __next; 10143: } 10143: if (__extra != __last) 10143: _M_erase(__extra); 10143: } 10143: 10143: template 10143: void 10143: list<_Tp, _Alloc>:: 10143: unique() 10143: { 10143: iterator __first = begin(); 10143: iterator __last = end(); 10143: if (__first == __last) 10143: return; 10143: iterator __next = __first; 10143: while (++__next != __last) 10143: { 10143: if (*__first == *__next) 10143: _M_erase(__next); 10143: else 10143: __first = __next; 10143: __next = __first; 10143: } 10143: } 10143: 10143: template 10143: void 10143: list<_Tp, _Alloc>:: 10143: 10143: merge(list&& __x) 10143: 10143: 10143: 10143: { 10143: 10143: 10143: if (this != std::__addressof(__x)) 10143: { 10143: _M_check_equal_allocators(__x); 10143: 10143: iterator __first1 = begin(); 10143: iterator __last1 = end(); 10143: iterator __first2 = __x.begin(); 10143: iterator __last2 = __x.end(); 10143: const size_t __orig_size = __x.size(); 10143: if (true) { 10143: while (__first1 != __last1 && __first2 != __last2) 10143: if (*__first2 < *__first1) 10143: { 10143: iterator __next = __first2; 10143: _M_transfer(__first1, __first2, ++__next); 10143: __first2 = __next; 10143: } 10143: else 10143: ++__first1; 10143: if (__first2 != __last2) 10143: _M_transfer(__last1, __first2, __last2); 10143: 10143: this->_M_inc_size(__x._M_get_size()); 10143: __x._M_set_size(0); 10143: } 10143: if (false) 10143: { 10143: const size_t __dist = std::distance(__first2, __last2); 10143: this->_M_inc_size(__orig_size - __dist); 10143: __x._M_set_size(__dist); 10143: ; 10143: } 10143: } 10143: } 10143: 10143: template 10143: template 10143: void 10143: list<_Tp, _Alloc>:: 10143: 10143: merge(list&& __x, _StrictWeakOrdering __comp) 10143: 10143: 10143: 10143: { 10143: 10143: 10143: if (this != std::__addressof(__x)) 10143: { 10143: _M_check_equal_allocators(__x); 10143: 10143: iterator __first1 = begin(); 10143: iterator __last1 = end(); 10143: iterator __first2 = __x.begin(); 10143: iterator __last2 = __x.end(); 10143: const size_t __orig_size = __x.size(); 10143: if (true) 10143: { 10143: while (__first1 != __last1 && __first2 != __last2) 10143: if (__comp(*__first2, *__first1)) 10143: { 10143: iterator __next = __first2; 10143: _M_transfer(__first1, __first2, ++__next); 10143: __first2 = __next; 10143: } 10143: else 10143: ++__first1; 10143: if (__first2 != __last2) 10143: _M_transfer(__last1, __first2, __last2); 10143: 10143: this->_M_inc_size(__x._M_get_size()); 10143: __x._M_set_size(0); 10143: } 10143: if (false) 10143: { 10143: const size_t __dist = std::distance(__first2, __last2); 10143: this->_M_inc_size(__orig_size - __dist); 10143: __x._M_set_size(__dist); 10143: ; 10143: } 10143: } 10143: } 10143: 10143: template 10143: void 10143: list<_Tp, _Alloc>:: 10143: sort() 10143: { 10143: 10143: if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node 10143: && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node) 10143: { 10143: list __carry; 10143: list __tmp[64]; 10143: list * __fill = __tmp; 10143: list * __counter; 10143: if (true) 10143: { 10143: do 10143: { 10143: __carry.splice(__carry.begin(), *this, begin()); 10143: 10143: for(__counter = __tmp; 10143: __counter != __fill && !__counter->empty(); 10143: ++__counter) 10143: { 10143: __counter->merge(__carry); 10143: __carry.swap(*__counter); 10143: } 10143: __carry.swap(*__counter); 10143: if (__counter == __fill) 10143: ++__fill; 10143: } 10143: while ( !empty() ); 10143: 10143: for (__counter = __tmp + 1; __counter != __fill; ++__counter) 10143: __counter->merge(*(__counter - 1)); 10143: swap( *(__fill - 1) ); 10143: } 10143: if (false) 10143: { 10143: this->splice(this->end(), __carry); 10143: for (int __i = 0; __i < sizeof(__tmp)/sizeof(__tmp[0]); ++__i) 10143: this->splice(this->end(), __tmp[__i]); 10143: ; 10143: } 10143: } 10143: } 10143: 10143: template 10143: template 10143: void 10143: list<_Tp, _Alloc>:: 10143: remove_if(_Predicate __pred) 10143: { 10143: iterator __first = begin(); 10143: iterator __last = end(); 10143: while (__first != __last) 10143: { 10143: iterator __next = __first; 10143: ++__next; 10143: if (__pred(*__first)) 10143: _M_erase(__first); 10143: __first = __next; 10143: } 10143: } 10143: 10143: template 10143: template 10143: void 10143: list<_Tp, _Alloc>:: 10143: unique(_BinaryPredicate __binary_pred) 10143: { 10143: iterator __first = begin(); 10143: iterator __last = end(); 10143: if (__first == __last) 10143: return; 10143: iterator __next = __first; 10143: while (++__next != __last) 10143: { 10143: if (__binary_pred(*__first, *__next)) 10143: _M_erase(__next); 10143: else 10143: __first = __next; 10143: __next = __first; 10143: } 10143: } 10143: 10143: template 10143: template 10143: void 10143: list<_Tp, _Alloc>:: 10143: sort(_StrictWeakOrdering __comp) 10143: { 10143: 10143: if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node 10143: && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node) 10143: { 10143: list __carry; 10143: list __tmp[64]; 10143: list * __fill = __tmp; 10143: list * __counter; 10143: if (true) 10143: { 10143: do 10143: { 10143: __carry.splice(__carry.begin(), *this, begin()); 10143: 10143: for(__counter = __tmp; 10143: __counter != __fill && !__counter->empty(); 10143: ++__counter) 10143: { 10143: __counter->merge(__carry, __comp); 10143: __carry.swap(*__counter); 10143: } 10143: __carry.swap(*__counter); 10143: if (__counter == __fill) 10143: ++__fill; 10143: } 10143: while ( !empty() ); 10143: 10143: for (__counter = __tmp + 1; __counter != __fill; ++__counter) 10143: __counter->merge(*(__counter - 1), __comp); 10143: swap(*(__fill - 1)); 10143: } 10143: if (false) 10143: { 10143: this->splice(this->end(), __carry); 10143: for (int __i = 0; __i < sizeof(__tmp)/sizeof(__tmp[0]); ++__i) 10143: this->splice(this->end(), __tmp[__i]); 10143: ; 10143: } 10143: } 10143: } 10143: 10143: 10143: 10143: } 10143: # 65 "/usr/include/c++/8/list" 2 3 10143: # 51 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qlist.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/stdlib.h" 1 3 4 10143: # 57 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qlist.h" 2 3 4 10143: 10143: # 1 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include-fixed/limits.h" 1 3 4 10143: # 34 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include-fixed/limits.h" 3 4 10143: # 1 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include-fixed/syslimits.h" 1 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include-fixed/limits.h" 1 3 4 10143: # 194 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include-fixed/limits.h" 3 4 10143: # 1 "/usr/include/limits.h" 1 3 4 10143: # 26 "/usr/include/limits.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/libc-header-start.h" 1 3 4 10143: # 27 "/usr/include/limits.h" 2 3 4 10143: # 183 "/usr/include/limits.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/posix1_lim.h" 1 3 4 10143: # 160 "/usr/include/powerpc64le-linux-gnu/bits/posix1_lim.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/local_lim.h" 1 3 4 10143: # 38 "/usr/include/powerpc64le-linux-gnu/bits/local_lim.h" 3 4 10143: # 1 "/usr/include/linux/limits.h" 1 3 4 10143: # 39 "/usr/include/powerpc64le-linux-gnu/bits/local_lim.h" 2 3 4 10143: # 161 "/usr/include/powerpc64le-linux-gnu/bits/posix1_lim.h" 2 3 4 10143: # 184 "/usr/include/limits.h" 2 3 4 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/posix2_lim.h" 1 3 4 10143: # 188 "/usr/include/limits.h" 2 3 4 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/xopen_lim.h" 1 3 4 10143: # 64 "/usr/include/powerpc64le-linux-gnu/bits/xopen_lim.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/bits/uio_lim.h" 1 3 4 10143: # 65 "/usr/include/powerpc64le-linux-gnu/bits/xopen_lim.h" 2 3 4 10143: # 192 "/usr/include/limits.h" 2 3 4 10143: # 195 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include-fixed/limits.h" 2 3 4 10143: # 8 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include-fixed/syslimits.h" 2 3 4 10143: # 35 "/usr/lib/gcc/powerpc64le-linux-gnu/8/include-fixed/limits.h" 2 3 4 10143: # 59 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qlist.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template class QVector; 10143: template class QSet; 10143: 10143: template struct QListSpecialMethods 10143: { 10143: protected: 10143: ~QListSpecialMethods() {} 10143: }; 10143: template <> struct QListSpecialMethods; 10143: template <> struct QListSpecialMethods; 10143: 10143: struct __attribute__((visibility("default"))) QListData { 10143: 10143: 10143: struct NotArrayCompatibleLayout {}; 10143: struct NotIndirectLayout {}; 10143: struct ArrayCompatibleLayout : NotIndirectLayout {}; 10143: struct InlineWithPaddingLayout : NotArrayCompatibleLayout, NotIndirectLayout {}; 10143: struct IndirectLayout : NotArrayCompatibleLayout {}; 10143: 10143: struct Data { 10143: QtPrivate::RefCount ref; 10143: int alloc, begin, end; 10143: void *array[1]; 10143: }; 10143: enum { DataHeaderSize = sizeof(Data) - sizeof(void *) }; 10143: 10143: Data *detach(int alloc); 10143: Data *detach_grow(int *i, int n); 10143: void realloc(int alloc); 10143: void realloc_grow(int growth); 10143: inline void dispose() { dispose(d); } 10143: static void dispose(Data *d); 10143: static const Data shared_null; 10143: Data *d; 10143: void **erase(void **xi); 10143: void **append(int n); 10143: void **append(); 10143: void **append(const QListData &l); 10143: void **prepend(); 10143: void **insert(int i); 10143: void remove(int i); 10143: void remove(int i, int n); 10143: void move(int from, int to); 10143: inline int size() const noexcept { return d->end - d->begin; } 10143: inline bool isEmpty() const noexcept { return d->end == d->begin; } 10143: inline void **at(int i) const noexcept { return d->array + d->begin + i; } 10143: inline void **begin() const noexcept { return d->array + d->begin; } 10143: inline void **end() const noexcept { return d->array + d->end; } 10143: }; 10143: 10143: template 10143: class QList 10143: 10143: : public QListSpecialMethods 10143: 10143: { 10143: public: 10143: struct MemoryLayout 10143: : std::conditional< 10143: 10143: QTypeInfo::isStatic || QTypeInfo::isLarge, 10143: QListData::IndirectLayout, 10143: typename std::conditional< 10143: sizeof(T) == sizeof(void*), 10143: QListData::ArrayCompatibleLayout, 10143: QListData::InlineWithPaddingLayout 10143: >::type>::type {}; 10143: private: 10143: struct Node { void *v; 10143: 10143: 10143: 10143: inline T &t() 10143: { return *reinterpret_cast(QTypeInfo::isLarge || QTypeInfo::isStatic 10143: ? v : this); } 10143: 10143: }; 10143: 10143: union { QListData p; QListData::Data *d; }; 10143: 10143: public: 10143: inline QList() noexcept : d(const_cast(&QListData::shared_null)) { } 10143: QList(const QList &l); 10143: ~QList(); 10143: QList &operator=(const QList &l); 10143: 10143: inline QList(QList &&other) noexcept 10143: : d(other.d) { other.d = const_cast(&QListData::shared_null); } 10143: inline QList &operator=(QList &&other) noexcept 10143: { QList moved(std::move(other)); swap(moved); return *this; } 10143: 10143: inline void swap(QList &other) noexcept { qSwap(d, other.d); } 10143: 10143: inline QList(std::initializer_list args) 10143: : d(const_cast(&QListData::shared_null)) 10143: { reserve(int(args.size())); std::copy(args.begin(), args.end(), std::back_inserter(*this)); } 10143: 10143: bool operator==(const QList &l) const; 10143: inline bool operator!=(const QList &l) const { return !(*this == l); } 10143: 10143: inline int size() const noexcept { return p.size(); } 10143: 10143: inline void detach() { if (d->ref.isShared()) detach_helper(); } 10143: 10143: inline void detachShared() 10143: { 10143: 10143: if (d->ref.isShared() && this->d != &QListData::shared_null) 10143: detach_helper(); 10143: } 10143: 10143: inline bool isDetached() const { return !d->ref.isShared(); } 10143: 10143: inline void setSharable(bool sharable) 10143: { 10143: if (sharable == d->ref.isSharable()) 10143: return; 10143: if (!sharable) 10143: detach(); 10143: if (d != &QListData::shared_null) 10143: d->ref.setSharable(sharable); 10143: } 10143: 10143: inline bool isSharedWith(const QList &other) const noexcept { return d == other.d; } 10143: 10143: inline bool isEmpty() const noexcept { return p.isEmpty(); } 10143: 10143: void clear(); 10143: 10143: const T &at(int i) const; 10143: const T &operator[](int i) const; 10143: T &operator[](int i); 10143: 10143: void reserve(int size); 10143: void append(const T &t); 10143: void append(const QList &t); 10143: void prepend(const T &t); 10143: void insert(int i, const T &t); 10143: void replace(int i, const T &t); 10143: void removeAt(int i); 10143: int removeAll(const T &t); 10143: bool removeOne(const T &t); 10143: T takeAt(int i); 10143: T takeFirst(); 10143: T takeLast(); 10143: void move(int from, int to); 10143: void swap(int i, int j); 10143: int indexOf(const T &t, int from = 0) const; 10143: int lastIndexOf(const T &t, int from = -1) const; 10143: bool contains(const T &t) const; 10143: int count(const T &t) const; 10143: 10143: class const_iterator; 10143: 10143: class iterator { 10143: public: 10143: Node *i; 10143: typedef std::random_access_iterator_tag iterator_category; 10143: 10143: typedef qptrdiff difference_type; 10143: typedef T value_type; 10143: typedef T *pointer; 10143: typedef T &reference; 10143: 10143: inline iterator() noexcept : i(nullptr) {} 10143: inline iterator(Node *n) noexcept : i(n) {} 10143: 10143: 10143: 10143: inline iterator(const iterator &o) noexcept : i(o.i){} 10143: 10143: inline T &operator*() const { return i->t(); } 10143: inline T *operator->() const { return &i->t(); } 10143: inline T &operator[](difference_type j) const { return i[j].t(); } 10143: inline bool operator==(const iterator &o) const noexcept { return i == o.i; } 10143: inline bool operator!=(const iterator &o) const noexcept { return i != o.i; } 10143: inline bool operator<(const iterator& other) const noexcept { return i < other.i; } 10143: inline bool operator<=(const iterator& other) const noexcept { return i <= other.i; } 10143: inline bool operator>(const iterator& other) const noexcept { return i > other.i; } 10143: inline bool operator>=(const iterator& other) const noexcept { return i >= other.i; } 10143: 10143: inline bool operator==(const const_iterator &o) const noexcept 10143: { return i == o.i; } 10143: inline bool operator!=(const const_iterator &o) const noexcept 10143: { return i != o.i; } 10143: inline bool operator<(const const_iterator& other) const noexcept 10143: { return i < other.i; } 10143: inline bool operator<=(const const_iterator& other) const noexcept 10143: { return i <= other.i; } 10143: inline bool operator>(const const_iterator& other) const noexcept 10143: { return i > other.i; } 10143: inline bool operator>=(const const_iterator& other) const noexcept 10143: { return i >= other.i; } 10143: 10143: inline iterator &operator++() { ++i; return *this; } 10143: inline iterator operator++(int) { Node *n = i; ++i; return n; } 10143: inline iterator &operator--() { i--; return *this; } 10143: inline iterator operator--(int) { Node *n = i; i--; return n; } 10143: inline iterator &operator+=(difference_type j) { i+=j; return *this; } 10143: inline iterator &operator-=(difference_type j) { i-=j; return *this; } 10143: inline iterator operator+(difference_type j) const { return iterator(i+j); } 10143: inline iterator operator-(difference_type j) const { return iterator(i-j); } 10143: inline int operator-(iterator j) const { return int(i - j.i); } 10143: }; 10143: friend class iterator; 10143: 10143: class const_iterator { 10143: public: 10143: Node *i; 10143: typedef std::random_access_iterator_tag iterator_category; 10143: 10143: typedef qptrdiff difference_type; 10143: typedef T value_type; 10143: typedef const T *pointer; 10143: typedef const T &reference; 10143: 10143: inline const_iterator() noexcept : i(nullptr) {} 10143: inline const_iterator(Node *n) noexcept : i(n) {} 10143: 10143: 10143: 10143: inline const_iterator(const const_iterator &o) noexcept : i(o.i) {} 10143: 10143: 10143: 10143: 10143: inline const_iterator(const iterator &o) noexcept : i(o.i) {} 10143: 10143: inline const T &operator*() const { return i->t(); } 10143: inline const T *operator->() const { return &i->t(); } 10143: inline const T &operator[](difference_type j) const { return i[j].t(); } 10143: inline bool operator==(const const_iterator &o) const noexcept { return i == o.i; } 10143: inline bool operator!=(const const_iterator &o) const noexcept { return i != o.i; } 10143: inline bool operator<(const const_iterator& other) const noexcept { return i < other.i; } 10143: inline bool operator<=(const const_iterator& other) const noexcept { return i <= other.i; } 10143: inline bool operator>(const const_iterator& other) const noexcept { return i > other.i; } 10143: inline bool operator>=(const const_iterator& other) const noexcept { return i >= other.i; } 10143: inline const_iterator &operator++() { ++i; return *this; } 10143: inline const_iterator operator++(int) { Node *n = i; ++i; return n; } 10143: inline const_iterator &operator--() { i--; return *this; } 10143: inline const_iterator operator--(int) { Node *n = i; i--; return n; } 10143: inline const_iterator &operator+=(difference_type j) { i+=j; return *this; } 10143: inline const_iterator &operator-=(difference_type j) { i-=j; return *this; } 10143: inline const_iterator operator+(difference_type j) const { return const_iterator(i+j); } 10143: inline const_iterator operator-(difference_type j) const { return const_iterator(i-j); } 10143: inline int operator-(const_iterator j) const { return int(i - j.i); } 10143: }; 10143: friend class const_iterator; 10143: 10143: 10143: typedef std::reverse_iterator reverse_iterator; 10143: typedef std::reverse_iterator const_reverse_iterator; 10143: inline iterator begin() { detach(); return reinterpret_cast(p.begin()); } 10143: inline const_iterator begin() const noexcept { return reinterpret_cast(p.begin()); } 10143: inline const_iterator cbegin() const noexcept { return reinterpret_cast(p.begin()); } 10143: inline const_iterator constBegin() const noexcept { return reinterpret_cast(p.begin()); } 10143: inline iterator end() { detach(); return reinterpret_cast(p.end()); } 10143: inline const_iterator end() const noexcept { return reinterpret_cast(p.end()); } 10143: inline const_iterator cend() const noexcept { return reinterpret_cast(p.end()); } 10143: inline const_iterator constEnd() const noexcept { return reinterpret_cast(p.end()); } 10143: reverse_iterator rbegin() { return reverse_iterator(end()); } 10143: reverse_iterator rend() { return reverse_iterator(begin()); } 10143: const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(end()); } 10143: const_reverse_iterator rend() const noexcept { return const_reverse_iterator(begin()); } 10143: const_reverse_iterator crbegin() const noexcept { return const_reverse_iterator(end()); } 10143: const_reverse_iterator crend() const noexcept { return const_reverse_iterator(begin()); } 10143: iterator insert(iterator before, const T &t); 10143: iterator erase(iterator pos); 10143: iterator erase(iterator first, iterator last); 10143: 10143: 10143: typedef iterator Iterator; 10143: typedef const_iterator ConstIterator; 10143: inline int count() const { return p.size(); } 10143: inline int length() const { return p.size(); } 10143: inline T& first() { do { } while ((false) && (!isEmpty())); return *begin(); } 10143: inline const T& constFirst() const { return first(); } 10143: inline const T& first() const { do { } while ((false) && (!isEmpty())); return at(0); } 10143: T& last() { do { } while ((false) && (!isEmpty())); return *(--end()); } 10143: const T& last() const { do { } while ((false) && (!isEmpty())); return at(count() - 1); } 10143: inline const T& constLast() const { return last(); } 10143: inline void removeFirst() { do { } while ((false) && (!isEmpty())); erase(begin()); } 10143: inline void removeLast() { do { } while ((false) && (!isEmpty())); erase(--end()); } 10143: inline bool startsWith(const T &t) const { return !isEmpty() && first() == t; } 10143: inline bool endsWith(const T &t) const { return !isEmpty() && last() == t; } 10143: QList mid(int pos, int length = -1) const; 10143: 10143: T value(int i) const; 10143: T value(int i, const T &defaultValue) const; 10143: 10143: 10143: inline void push_back(const T &t) { append(t); } 10143: inline void push_front(const T &t) { prepend(t); } 10143: inline T& front() { return first(); } 10143: inline const T& front() const { return first(); } 10143: inline T& back() { return last(); } 10143: inline const T& back() const { return last(); } 10143: inline void pop_front() { removeFirst(); } 10143: inline void pop_back() { removeLast(); } 10143: inline bool empty() const { return isEmpty(); } 10143: typedef int size_type; 10143: typedef T value_type; 10143: typedef value_type *pointer; 10143: typedef const value_type *const_pointer; 10143: typedef value_type &reference; 10143: typedef const value_type &const_reference; 10143: 10143: typedef qptrdiff difference_type; 10143: 10143: 10143: QList &operator+=(const QList &l); 10143: inline QList operator+(const QList &l) const 10143: { QList n = *this; n += l; return n; } 10143: inline QList &operator+=(const T &t) 10143: { append(t); return *this; } 10143: inline QList &operator<< (const T &t) 10143: { append(t); return *this; } 10143: inline QList &operator<<(const QList &l) 10143: { *this += l; return *this; } 10143: 10143: QVector toVector() const; 10143: QSet toSet() const; 10143: 10143: static QList fromVector(const QVector &vector); 10143: static QList fromSet(const QSet &set); 10143: 10143: static inline QList fromStdList(const std::list &list) 10143: { QList tmp; std::copy(list.begin(), list.end(), std::back_inserter(tmp)); return tmp; } 10143: inline std::list toStdList() const 10143: { std::list tmp; std::copy(constBegin(), constEnd(), std::back_inserter(tmp)); return tmp; } 10143: 10143: private: 10143: Node *detach_helper_grow(int i, int n); 10143: void detach_helper(int alloc); 10143: void detach_helper(); 10143: void dealloc(QListData::Data *d); 10143: 10143: void node_construct(Node *n, const T &t); 10143: void node_destruct(Node *n); 10143: void node_copy(Node *from, Node *to, Node *src); 10143: void node_destruct(Node *from, Node *to); 10143: 10143: bool isValidIterator(const iterator &i) const noexcept 10143: { 10143: return (constBegin().i <= i.i) && (i.i <= constEnd().i); 10143: } 10143: 10143: private: 10143: inline bool op_eq_impl(const QList &other, QListData::NotArrayCompatibleLayout) const; 10143: inline bool op_eq_impl(const QList &other, QListData::ArrayCompatibleLayout) const; 10143: inline bool contains_impl(const T &, QListData::NotArrayCompatibleLayout) const; 10143: inline bool contains_impl(const T &, QListData::ArrayCompatibleLayout) const; 10143: inline int count_impl(const T &, QListData::NotArrayCompatibleLayout) const; 10143: inline int count_impl(const T &, QListData::ArrayCompatibleLayout) const; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline void QList::node_construct(Node *n, const T &t) 10143: { 10143: if (QTypeInfo::isLarge || QTypeInfo::isStatic) n->v = new T(t); 10143: else if (QTypeInfo::isComplex) new (n) T(t); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: else ::memcpy(n, static_cast(&t), sizeof(T)); 10143: 10143: } 10143: 10143: template 10143: inline void QList::node_destruct(Node *n) 10143: { 10143: if (QTypeInfo::isLarge || QTypeInfo::isStatic) delete reinterpret_cast(n->v); 10143: else if (QTypeInfo::isComplex) reinterpret_cast(n)->~T(); 10143: } 10143: 10143: template 10143: inline void QList::node_copy(Node *from, Node *to, Node *src) 10143: { 10143: Node *current = from; 10143: if (QTypeInfo::isLarge || QTypeInfo::isStatic) { 10143: if (true) { 10143: while(current != to) { 10143: current->v = new T(*reinterpret_cast(src->v)); 10143: ++current; 10143: ++src; 10143: } 10143: } else { 10143: while (current-- != from) 10143: delete reinterpret_cast(current->v); 10143: qt_noop(); 10143: } 10143: 10143: } else if (QTypeInfo::isComplex) { 10143: if (true) { 10143: while(current != to) { 10143: new (current) T(*reinterpret_cast(src)); 10143: ++current; 10143: ++src; 10143: } 10143: } else { 10143: while (current-- != from) 10143: (reinterpret_cast(current))->~T(); 10143: qt_noop(); 10143: } 10143: } else { 10143: if (src != from && to - from > 0) 10143: memcpy(from, src, (to - from) * sizeof(Node)); 10143: } 10143: } 10143: 10143: template 10143: inline void QList::node_destruct(Node *from, Node *to) 10143: { 10143: if (QTypeInfo::isLarge || QTypeInfo::isStatic) 10143: while(from != to) --to, delete reinterpret_cast(to->v); 10143: else if (QTypeInfo::isComplex) 10143: while (from != to) --to, reinterpret_cast(to)->~T(); 10143: } 10143: 10143: template 10143: inline QList &QList::operator=(const QList &l) 10143: { 10143: if (d != l.d) { 10143: QList tmp(l); 10143: tmp.swap(*this); 10143: } 10143: return *this; 10143: } 10143: template 10143: inline typename QList::iterator QList::insert(iterator before, const T &t) 10143: { 10143: do { } while ((false) && (isValidIterator(before))); 10143: 10143: int iBefore = int(before.i - reinterpret_cast(p.begin())); 10143: Node *n = 0; 10143: if (d->ref.isShared()) 10143: n = detach_helper_grow(iBefore, 1); 10143: else 10143: n = reinterpret_cast(p.insert(iBefore)); 10143: if (true) { 10143: node_construct(n, t); 10143: } else { 10143: p.remove(iBefore); 10143: qt_noop(); 10143: } 10143: return n; 10143: } 10143: template 10143: inline typename QList::iterator QList::erase(iterator it) 10143: { 10143: do { } while ((false) && (isValidIterator(it))); 10143: if (d->ref.isShared()) { 10143: int offset = int(it.i - reinterpret_cast(p.begin())); 10143: it = begin(); 10143: it += offset; 10143: } 10143: node_destruct(it.i); 10143: return reinterpret_cast(p.erase(reinterpret_cast(it.i))); 10143: } 10143: template 10143: inline const T &QList::at(int i) const 10143: { do { } while ((false) && (i >= 0 && i < p.size())); 10143: return reinterpret_cast(p.at(i))->t(); } 10143: template 10143: inline const T &QList::operator[](int i) const 10143: { do { } while ((false) && (i >= 0 && i < p.size())); 10143: return reinterpret_cast(p.at(i))->t(); } 10143: template 10143: inline T &QList::operator[](int i) 10143: { do { } while ((false) && (i >= 0 && i < p.size())); 10143: detach(); return reinterpret_cast(p.at(i))->t(); } 10143: template 10143: inline void QList::removeAt(int i) 10143: { if(i >= 0 && i < p.size()) { detach(); 10143: node_destruct(reinterpret_cast(p.at(i))); p.remove(i); } } 10143: template 10143: inline T QList::takeAt(int i) 10143: { do { } while ((false) && (i >= 0 && i < p.size())); 10143: detach(); Node *n = reinterpret_cast(p.at(i)); T t = n->t(); node_destruct(n); 10143: p.remove(i); return t; } 10143: template 10143: inline T QList::takeFirst() 10143: { T t = first(); removeFirst(); return t; } 10143: template 10143: inline T QList::takeLast() 10143: { T t = last(); removeLast(); return t; } 10143: 10143: template 10143: void QList::reserve(int alloc) 10143: { 10143: if (d->alloc < alloc) { 10143: if (d->ref.isShared()) 10143: detach_helper(alloc); 10143: else 10143: p.realloc(alloc); 10143: } 10143: } 10143: 10143: template 10143: void QList::append(const T &t) 10143: { 10143: if (d->ref.isShared()) { 10143: Node *n = detach_helper_grow(0x7fffffff, 1); 10143: if (true) { 10143: node_construct(n, t); 10143: } else { 10143: --d->end; 10143: qt_noop(); 10143: } 10143: } else { 10143: if (QTypeInfo::isLarge || QTypeInfo::isStatic) { 10143: Node *n = reinterpret_cast(p.append()); 10143: if (true) { 10143: node_construct(n, t); 10143: } else { 10143: --d->end; 10143: qt_noop(); 10143: } 10143: } else { 10143: Node *n, copy; 10143: node_construct(©, t); 10143: if (true) { 10143: n = reinterpret_cast(p.append());; 10143: } else { 10143: node_destruct(©); 10143: qt_noop(); 10143: } 10143: *n = copy; 10143: } 10143: } 10143: } 10143: 10143: template 10143: inline void QList::prepend(const T &t) 10143: { 10143: if (d->ref.isShared()) { 10143: Node *n = detach_helper_grow(0, 1); 10143: if (true) { 10143: node_construct(n, t); 10143: } else { 10143: ++d->begin; 10143: qt_noop(); 10143: } 10143: } else { 10143: if (QTypeInfo::isLarge || QTypeInfo::isStatic) { 10143: Node *n = reinterpret_cast(p.prepend()); 10143: if (true) { 10143: node_construct(n, t); 10143: } else { 10143: ++d->begin; 10143: qt_noop(); 10143: } 10143: } else { 10143: Node *n, copy; 10143: node_construct(©, t); 10143: if (true) { 10143: n = reinterpret_cast(p.prepend());; 10143: } else { 10143: node_destruct(©); 10143: qt_noop(); 10143: } 10143: *n = copy; 10143: } 10143: } 10143: } 10143: 10143: template 10143: inline void QList::insert(int i, const T &t) 10143: { 10143: if (d->ref.isShared()) { 10143: Node *n = detach_helper_grow(i, 1); 10143: if (true) { 10143: node_construct(n, t); 10143: } else { 10143: p.remove(i); 10143: qt_noop(); 10143: } 10143: } else { 10143: if (QTypeInfo::isLarge || QTypeInfo::isStatic) { 10143: Node *n = reinterpret_cast(p.insert(i)); 10143: if (true) { 10143: node_construct(n, t); 10143: } else { 10143: p.remove(i); 10143: qt_noop(); 10143: } 10143: } else { 10143: Node *n, copy; 10143: node_construct(©, t); 10143: if (true) { 10143: n = reinterpret_cast(p.insert(i));; 10143: } else { 10143: node_destruct(©); 10143: qt_noop(); 10143: } 10143: *n = copy; 10143: } 10143: } 10143: } 10143: 10143: template 10143: inline void QList::replace(int i, const T &t) 10143: { 10143: do { } while ((false) && (i >= 0 && i < p.size())); 10143: detach(); 10143: reinterpret_cast(p.at(i))->t() = t; 10143: } 10143: 10143: template 10143: inline void QList::swap(int i, int j) 10143: { 10143: do { } while ((false) && (i >= 0 && i < p.size() && j >= 0 && j < p.size())) 10143: ; 10143: detach(); 10143: std::swap(d->array[d->begin + i], d->array[d->begin + j]); 10143: } 10143: 10143: template 10143: inline void QList::move(int from, int to) 10143: { 10143: do { } while ((false) && (from >= 0 && from < p.size() && to >= 0 && to < p.size())) 10143: ; 10143: detach(); 10143: p.move(from, to); 10143: } 10143: 10143: template 10143: QList QList::mid(int pos, int alength) const 10143: { 10143: using namespace QtPrivate; 10143: switch (QContainerImplHelper::mid(size(), &pos, &alength)) { 10143: case QContainerImplHelper::Null: 10143: case QContainerImplHelper::Empty: 10143: return QList(); 10143: case QContainerImplHelper::Full: 10143: return *this; 10143: case QContainerImplHelper::Subset: 10143: break; 10143: } 10143: 10143: QList cpy; 10143: if (alength <= 0) 10143: return cpy; 10143: cpy.reserve(alength); 10143: cpy.d->end = alength; 10143: if (true) { 10143: cpy.node_copy(reinterpret_cast(cpy.p.begin()), 10143: reinterpret_cast(cpy.p.end()), 10143: reinterpret_cast(p.begin() + pos)); 10143: } else { 10143: 10143: cpy.d->end = 0; 10143: qt_noop(); 10143: } 10143: return cpy; 10143: } 10143: 10143: template 10143: T QList::value(int i) const 10143: { 10143: if (i < 0 || i >= p.size()) { 10143: return T(); 10143: } 10143: return reinterpret_cast(p.at(i))->t(); 10143: } 10143: 10143: template 10143: T QList::value(int i, const T& defaultValue) const 10143: { 10143: return ((i < 0 || i >= p.size()) ? defaultValue : reinterpret_cast(p.at(i))->t()); 10143: } 10143: 10143: template 10143: typename QList::Node *QList::detach_helper_grow(int i, int c) 10143: { 10143: Node *n = reinterpret_cast(p.begin()); 10143: QListData::Data *x = p.detach_grow(&i, c); 10143: if (true) { 10143: node_copy(reinterpret_cast(p.begin()), 10143: reinterpret_cast(p.begin() + i), n); 10143: } else { 10143: p.dispose(); 10143: d = x; 10143: qt_noop(); 10143: } 10143: if (true) { 10143: node_copy(reinterpret_cast(p.begin() + i + c), 10143: reinterpret_cast(p.end()), n + i); 10143: } else { 10143: node_destruct(reinterpret_cast(p.begin()), 10143: reinterpret_cast(p.begin() + i)); 10143: p.dispose(); 10143: d = x; 10143: qt_noop(); 10143: } 10143: 10143: if (!x->ref.deref()) 10143: dealloc(x); 10143: 10143: return reinterpret_cast(p.begin() + i); 10143: } 10143: 10143: template 10143: void QList::detach_helper(int alloc) 10143: { 10143: Node *n = reinterpret_cast(p.begin()); 10143: QListData::Data *x = p.detach(alloc); 10143: if (true) { 10143: node_copy(reinterpret_cast(p.begin()), reinterpret_cast(p.end()), n); 10143: } else { 10143: p.dispose(); 10143: d = x; 10143: qt_noop(); 10143: } 10143: 10143: if (!x->ref.deref()) 10143: dealloc(x); 10143: } 10143: 10143: template 10143: void QList::detach_helper() 10143: { 10143: detach_helper(d->alloc); 10143: } 10143: 10143: template 10143: QList::QList(const QList &l) 10143: : QListSpecialMethods(l), d(l.d) 10143: { 10143: if (!d->ref.ref()) { 10143: p.detach(d->alloc); 10143: 10143: if (true) { 10143: node_copy(reinterpret_cast(p.begin()), 10143: reinterpret_cast(p.end()), 10143: reinterpret_cast(l.p.begin())); 10143: } else { 10143: QListData::dispose(d); 10143: qt_noop(); 10143: } 10143: } 10143: } 10143: 10143: template 10143: QList::~QList() 10143: { 10143: if (!d->ref.deref()) 10143: dealloc(d); 10143: } 10143: 10143: template 10143: bool QList::operator==(const QList &l) const 10143: { 10143: if (d == l.d) 10143: return true; 10143: if (p.size() != l.p.size()) 10143: return false; 10143: return this->op_eq_impl(l, MemoryLayout()); 10143: } 10143: 10143: template 10143: inline bool QList::op_eq_impl(const QList &l, QListData::NotArrayCompatibleLayout) const 10143: { 10143: Node *i = reinterpret_cast(p.begin()); 10143: Node *e = reinterpret_cast(p.end()); 10143: Node *li = reinterpret_cast(l.p.begin()); 10143: for (; i != e; ++i, ++li) { 10143: if (!(i->t() == li->t())) 10143: return false; 10143: } 10143: return true; 10143: } 10143: 10143: template 10143: inline bool QList::op_eq_impl(const QList &l, QListData::ArrayCompatibleLayout) const 10143: { 10143: const T *lb = reinterpret_cast(l.p.begin()); 10143: const T *b = reinterpret_cast(p.begin()); 10143: const T *e = reinterpret_cast(p.end()); 10143: return std::equal(b, e, (lb)); 10143: } 10143: 10143: template 10143: void QList::dealloc(QListData::Data *data) 10143: { 10143: node_destruct(reinterpret_cast(data->array + data->begin), 10143: reinterpret_cast(data->array + data->end)); 10143: QListData::dispose(data); 10143: } 10143: 10143: 10143: template 10143: void QList::clear() 10143: { 10143: *this = QList(); 10143: } 10143: 10143: template 10143: int QList::removeAll(const T &_t) 10143: { 10143: int index = indexOf(_t); 10143: if (index == -1) 10143: return 0; 10143: 10143: const T t = _t; 10143: detach(); 10143: 10143: Node *i = reinterpret_cast(p.at(index)); 10143: Node *e = reinterpret_cast(p.end()); 10143: Node *n = i; 10143: node_destruct(i); 10143: while (++i != e) { 10143: if (i->t() == t) 10143: node_destruct(i); 10143: else 10143: *n++ = *i; 10143: } 10143: 10143: int removedCount = int(e - n); 10143: d->end -= removedCount; 10143: return removedCount; 10143: } 10143: 10143: template 10143: bool QList::removeOne(const T &_t) 10143: { 10143: int index = indexOf(_t); 10143: if (index != -1) { 10143: removeAt(index); 10143: return true; 10143: } 10143: return false; 10143: } 10143: 10143: template 10143: typename QList::iterator QList::erase(typename QList::iterator afirst, 10143: typename QList::iterator alast) 10143: { 10143: do { } while ((false) && (isValidIterator(afirst))); 10143: do { } while ((false) && (isValidIterator(alast))); 10143: 10143: if (d->ref.isShared()) { 10143: 10143: int offsetfirst = int(afirst.i - reinterpret_cast(p.begin())); 10143: int offsetlast = int(alast.i - reinterpret_cast(p.begin())); 10143: afirst = begin(); 10143: alast = afirst; 10143: afirst += offsetfirst; 10143: alast += offsetlast; 10143: } 10143: 10143: for (Node *n = afirst.i; n < alast.i; ++n) 10143: node_destruct(n); 10143: int idx = afirst - begin(); 10143: p.remove(idx, alast - afirst); 10143: return begin() + idx; 10143: } 10143: 10143: template 10143: QList &QList::operator+=(const QList &l) 10143: { 10143: if (!l.isEmpty()) { 10143: if (d == &QListData::shared_null) { 10143: *this = l; 10143: } else { 10143: Node *n = (d->ref.isShared()) 10143: ? detach_helper_grow(0x7fffffff, l.size()) 10143: : reinterpret_cast(p.append(l.p)); 10143: if (true) { 10143: node_copy(n, reinterpret_cast(p.end()), 10143: reinterpret_cast(l.p.begin())); 10143: } else { 10143: 10143: d->end -= int(reinterpret_cast(p.end()) - n); 10143: qt_noop(); 10143: } 10143: } 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: inline void QList::append(const QList &t) 10143: { 10143: *this += t; 10143: } 10143: 10143: template 10143: int QList::indexOf(const T &t, int from) const 10143: { 10143: if (from < 0) 10143: from = qMax(from + p.size(), 0); 10143: if (from < p.size()) { 10143: Node *n = reinterpret_cast(p.at(from -1)); 10143: Node *e = reinterpret_cast(p.end()); 10143: while (++n != e) 10143: if (n->t() == t) 10143: return int(n - reinterpret_cast(p.begin())); 10143: } 10143: return -1; 10143: } 10143: 10143: template 10143: int QList::lastIndexOf(const T &t, int from) const 10143: { 10143: if (from < 0) 10143: from += p.size(); 10143: else if (from >= p.size()) 10143: from = p.size()-1; 10143: if (from >= 0) { 10143: Node *b = reinterpret_cast(p.begin()); 10143: Node *n = reinterpret_cast(p.at(from + 1)); 10143: while (n-- != b) { 10143: if (n->t() == t) 10143: return n - b; 10143: } 10143: } 10143: return -1; 10143: } 10143: 10143: template 10143: bool QList::contains(const T &t) const 10143: { 10143: return contains_impl(t, MemoryLayout()); 10143: } 10143: 10143: template 10143: inline bool QList::contains_impl(const T &t, QListData::NotArrayCompatibleLayout) const 10143: { 10143: Node *e = reinterpret_cast(p.end()); 10143: Node *i = reinterpret_cast(p.begin()); 10143: for (; i != e; ++i) 10143: if (i->t() == t) 10143: return true; 10143: return false; 10143: } 10143: 10143: template 10143: inline bool QList::contains_impl(const T &t, QListData::ArrayCompatibleLayout) const 10143: { 10143: const T *b = reinterpret_cast(p.begin()); 10143: const T *e = reinterpret_cast(p.end()); 10143: return std::find(b, e, t) != e; 10143: } 10143: 10143: template 10143: int QList::count(const T &t) const 10143: { 10143: return this->count_impl(t, MemoryLayout()); 10143: } 10143: 10143: template 10143: inline int QList::count_impl(const T &t, QListData::NotArrayCompatibleLayout) const 10143: { 10143: int c = 0; 10143: Node *e = reinterpret_cast(p.end()); 10143: Node *i = reinterpret_cast(p.begin()); 10143: for (; i != e; ++i) 10143: if (i->t() == t) 10143: ++c; 10143: return c; 10143: } 10143: 10143: template 10143: inline int QList::count_impl(const T &t, QListData::ArrayCompatibleLayout) const 10143: { 10143: return int(std::count(reinterpret_cast(p.begin()), 10143: reinterpret_cast(p.end()), 10143: t)); 10143: } 10143: 10143: template class QListIterator { typedef typename QList::const_iterator const_iterator; QList c; const_iterator i; public: inline QListIterator(const QList &container) : c(container), i(c.constBegin()) {} inline QListIterator &operator=(const QList &container) { c = container; i = c.constBegin(); return *this; } inline void toFront() { i = c.constBegin(); } inline void toBack() { i = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline const T &next() { return *i++; } inline const T &peekNext() const { return *i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline const T &previous() { return *--i; } inline const T &peekPrevious() const { const_iterator p = i; return *--p; } inline bool findNext(const T &t) { while (i != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(--i) == t) return true; return false; } }; 10143: template class QMutableListIterator { typedef typename QList::iterator iterator; typedef typename QList::const_iterator const_iterator; QList *c; iterator i, n; inline bool item_exists() const { return const_iterator(n) != c->constEnd(); } public: inline QMutableListIterator(QList &container) : c(&container) { i = c->begin(); n = c->end(); } inline QMutableListIterator &operator=(QList &container) { c = &container; i = c->begin(); n = c->end(); return *this; } inline void toFront() { i = c->begin(); n = c->end(); } inline void toBack() { i = c->end(); n = i; } inline bool hasNext() const { return c->constEnd() != const_iterator(i); } inline T &next() { n = i++; return *n; } inline T &peekNext() const { return *i; } inline bool hasPrevious() const { return c->constBegin() != const_iterator(i); } inline T &previous() { n = --i; return *n; } inline T &peekPrevious() const { iterator p = i; return *--p; } inline void remove() { if (c->constEnd() != const_iterator(n)) { i = c->erase(n); n = c->end(); } } inline void setValue(const T &t) const { if (c->constEnd() != const_iterator(n)) *n = t; } inline T &value() { do { } while ((false) && (item_exists())); return *n; } inline const T &value() const { do { } while ((false) && (item_exists())); return *n; } inline void insert(const T &t) { n = i = c->insert(i, t); ++i; } inline bool findNext(const T &t) { while (c->constEnd() != const_iterator(n = i)) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (c->constBegin() != const_iterator(i)) if (*(n = --i) == t) return true; n = c->end(); return false; } }; 10143: 10143: template 10143: uint qHash(const QList &key, uint seed = 0) 10143: noexcept(noexcept(qHashRange(key.cbegin(), key.cend(), seed))) 10143: { 10143: return qHashRange(key.cbegin(), key.cend(), seed); 10143: } 10143: 10143: template 10143: bool operator<(const QList &lhs, const QList &rhs) 10143: noexcept(noexcept(std::lexicographical_compare(lhs.begin(), lhs.end(), rhs.begin(), rhs.end()))) 10143: 10143: { 10143: return std::lexicographical_compare(lhs.begin(), lhs.end(), 10143: rhs.begin(), rhs.end()); 10143: } 10143: 10143: template 10143: inline bool operator>(const QList &lhs, const QList &rhs) 10143: noexcept(noexcept(lhs < rhs)) 10143: { 10143: return rhs < lhs; 10143: } 10143: 10143: template 10143: inline bool operator<=(const QList &lhs, const QList &rhs) 10143: noexcept(noexcept(lhs < rhs)) 10143: { 10143: return !(lhs > rhs); 10143: } 10143: 10143: template 10143: inline bool operator>=(const QList &lhs, const QList &rhs) 10143: noexcept(noexcept(lhs < rhs)) 10143: { 10143: return !(lhs < rhs); 10143: } 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbytearraylist.h" 1 3 4 10143: # 42 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbytearraylist.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qlist.h" 1 3 4 10143: # 43 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbytearraylist.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef QListIterator QByteArrayListIterator; 10143: typedef QMutableListIterator QMutableByteArrayListIterator; 10143: 10143: typedef QList QByteArrayList; 10143: 10143: namespace QtPrivate { 10143: QByteArray __attribute__((visibility("default"))) QByteArrayList_join(const QByteArrayList *that, const char *separator, int separatorLength); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: template <> struct QListSpecialMethods 10143: 10143: { 10143: 10143: protected: 10143: ~QListSpecialMethods() {} 10143: 10143: public: 10143: inline QByteArray join() const 10143: { return QtPrivate::QByteArrayList_join(self(), nullptr, 0); } 10143: inline QByteArray join(const QByteArray &sep) const 10143: { return QtPrivate::QByteArrayList_join(self(), sep.constData(), sep.size()); } 10143: inline QByteArray join(char sep) const 10143: { return QtPrivate::QByteArrayList_join(self(), &sep, 1); } 10143: 10143: private: 10143: typedef QList Self; 10143: Self *self() { return static_cast(this); } 10143: const Self *self() const { return static_cast(this); } 10143: }; 10143: 10143: 10143: # 1094 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qlist.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstringlist.h" 1 3 4 10143: # 47 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstringlist.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qregexp.h" 1 3 4 10143: # 49 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qregexp.h" 3 4 10143: 10143: 10143: 10143: struct QRegExpPrivate; 10143: class QStringList; 10143: class QRegExp; 10143: 10143: __attribute__((visibility("default"))) uint qHash(const QRegExp &key, uint seed = 0) noexcept; 10143: 10143: class __attribute__((visibility("default"))) QRegExp 10143: { 10143: public: 10143: enum PatternSyntax { 10143: RegExp, 10143: Wildcard, 10143: FixedString, 10143: RegExp2, 10143: WildcardUnix, 10143: W3CXmlSchema11 }; 10143: enum CaretMode { CaretAtZero, CaretAtOffset, CaretWontMatch }; 10143: 10143: QRegExp(); 10143: explicit QRegExp(const QString &pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive, 10143: PatternSyntax syntax = RegExp); 10143: QRegExp(const QRegExp &rx); 10143: ~QRegExp(); 10143: QRegExp &operator=(const QRegExp &rx); 10143: 10143: QRegExp &operator=(QRegExp &&other) noexcept { swap(other); return *this; } 10143: 10143: void swap(QRegExp &other) noexcept { qSwap(priv, other.priv); } 10143: 10143: bool operator==(const QRegExp &rx) const; 10143: inline bool operator!=(const QRegExp &rx) const { return !operator==(rx); } 10143: 10143: bool isEmpty() const; 10143: bool isValid() const; 10143: QString pattern() const; 10143: void setPattern(const QString &pattern); 10143: Qt::CaseSensitivity caseSensitivity() const; 10143: void setCaseSensitivity(Qt::CaseSensitivity cs); 10143: PatternSyntax patternSyntax() const; 10143: void setPatternSyntax(PatternSyntax syntax); 10143: 10143: bool isMinimal() const; 10143: void setMinimal(bool minimal); 10143: 10143: bool exactMatch(const QString &str) const; 10143: 10143: int indexIn(const QString &str, int offset = 0, CaretMode caretMode = CaretAtZero) const; 10143: int lastIndexIn(const QString &str, int offset = -1, CaretMode caretMode = CaretAtZero) const; 10143: int matchedLength() const; 10143: 10143: int captureCount() const; 10143: QStringList capturedTexts() const; 10143: QStringList capturedTexts(); 10143: QString cap(int nth = 0) const; 10143: QString cap(int nth = 0); 10143: int pos(int nth = 0) const; 10143: int pos(int nth = 0); 10143: QString errorString() const; 10143: QString errorString(); 10143: 10143: 10143: static QString escape(const QString &str); 10143: 10143: friend __attribute__((visibility("default"))) uint qHash(const QRegExp &key, uint seed) noexcept; 10143: 10143: private: 10143: QRegExpPrivate *priv; 10143: }; 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QRegExp)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QRegExp >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QRegExp) }; static inline const char *name() { return "QRegExp"; } }; 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &out, const QRegExp ®Exp); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &in, QRegExp ®Exp); 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QRegExp &); 10143: 10143: 10143: 10143: # 48 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstringlist.h" 2 3 4 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstringmatcher.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstringmatcher.h" 3 4 10143: 10143: 10143: 10143: class QStringMatcherPrivate; 10143: 10143: class __attribute__((visibility("default"))) QStringMatcher 10143: { 10143: public: 10143: QStringMatcher(); 10143: explicit QStringMatcher(const QString &pattern, 10143: Qt::CaseSensitivity cs = Qt::CaseSensitive); 10143: QStringMatcher(const QChar *uc, int len, 10143: Qt::CaseSensitivity cs = Qt::CaseSensitive); 10143: QStringMatcher(const QStringMatcher &other); 10143: ~QStringMatcher(); 10143: 10143: QStringMatcher &operator=(const QStringMatcher &other); 10143: 10143: void setPattern(const QString &pattern); 10143: void setCaseSensitivity(Qt::CaseSensitivity cs); 10143: 10143: int indexIn(const QString &str, int from = 0) const; 10143: int indexIn(const QChar *str, int length, int from = 0) const; 10143: QString pattern() const; 10143: inline Qt::CaseSensitivity caseSensitivity() const { return q_cs; } 10143: 10143: private: 10143: QStringMatcherPrivate *d_ptr; 10143: QString q_pattern; 10143: Qt::CaseSensitivity q_cs; 10143: struct Data { 10143: uchar q_skiptable[256]; 10143: const QChar *uc; 10143: int len; 10143: }; 10143: union { 10143: uint q_data[256]; 10143: Data p; 10143: }; 10143: }; 10143: 10143: 10143: # 50 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstringlist.h" 2 3 4 10143: 10143: 10143: 10143: class QRegExp; 10143: class QRegularExpression; 10143: 10143: typedef QListIterator QStringListIterator; 10143: typedef QMutableListIterator QMutableStringListIterator; 10143: 10143: class QStringList; 10143: 10143: 10143: 10143: 10143: template <> struct QListSpecialMethods 10143: 10143: { 10143: 10143: protected: 10143: ~QListSpecialMethods() {} 10143: 10143: public: 10143: inline void sort(Qt::CaseSensitivity cs = Qt::CaseSensitive); 10143: inline int removeDuplicates(); 10143: 10143: inline QString join(const QString &sep) const; 10143: inline QString join(QLatin1String sep) const; 10143: inline QString join(QChar sep) const; 10143: 10143: inline QStringList filter(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: inline QStringList &replaceInStrings(const QString &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 10143: 10143: 10143: inline QStringList filter(const QRegExp &rx) const; 10143: inline QStringList &replaceInStrings(const QRegExp &rx, const QString &after); 10143: 10143: 10143: 10143: 10143: inline QStringList filter(const QRegularExpression &re) const; 10143: inline QStringList &replaceInStrings(const QRegularExpression &re, const QString &after); 10143: 10143: 10143: 10143: 10143: private: 10143: inline QStringList *self(); 10143: inline const QStringList *self() const; 10143: }; 10143: 10143: 10143: class QStringList : public QList 10143: { 10143: 10143: public: 10143: inline QStringList() noexcept { } 10143: inline explicit QStringList(const QString &i) { append(i); } 10143: inline QStringList(const QList &l) : QList(l) { } 10143: 10143: inline QStringList(QList &&l) noexcept : QList(std::move(l)) { } 10143: 10143: 10143: inline QStringList(std::initializer_list args) : QList(args) { } 10143: 10143: 10143: QStringList &operator=(const QList &other) 10143: { QList::operator=(other); return *this; } 10143: 10143: QStringList &operator=(QList &&other) noexcept 10143: { QList::operator=(std::move(other)); return *this; } 10143: 10143: 10143: inline bool contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 10143: 10143: inline QStringList operator+(const QStringList &other) const 10143: { QStringList n = *this; n += other; return n; } 10143: inline QStringList &operator<<(const QString &str) 10143: { append(str); return *this; } 10143: inline QStringList &operator<<(const QStringList &l) 10143: { *this += l; return *this; } 10143: inline QStringList &operator<<(const QList &l) 10143: { *this += l; return *this; } 10143: 10143: 10143: inline int indexOf(const QRegExp &rx, int from = 0) const; 10143: inline int lastIndexOf(const QRegExp &rx, int from = -1) const; 10143: inline int indexOf(QRegExp &rx, int from = 0) const; 10143: inline int lastIndexOf(QRegExp &rx, int from = -1) const; 10143: 10143: 10143: 10143: 10143: inline int indexOf(const QRegularExpression &re, int from = 0) const; 10143: inline int lastIndexOf(const QRegularExpression &re, int from = -1) const; 10143: 10143: 10143: 10143: using QList::indexOf; 10143: using QList::lastIndexOf; 10143: }; 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QStringList)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QStringList >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QStringList) }; static inline const char *name() { return "QStringList"; } }; 10143: 10143: 10143: inline QStringList *QListSpecialMethods::self() 10143: { return static_cast(this); } 10143: inline const QStringList *QListSpecialMethods::self() const 10143: { return static_cast(this); } 10143: 10143: namespace QtPrivate { 10143: void __attribute__((visibility("default"))) QStringList_sort(QStringList *that, Qt::CaseSensitivity cs); 10143: int __attribute__((visibility("default"))) QStringList_removeDuplicates(QStringList *that); 10143: QString __attribute__((visibility("default"))) QStringList_join(const QStringList *that, const QChar *sep, int seplen); 10143: __attribute__((visibility("default"))) QString QStringList_join(const QStringList &list, QLatin1String sep); 10143: QStringList __attribute__((visibility("default"))) QStringList_filter(const QStringList *that, const QString &str, 10143: Qt::CaseSensitivity cs); 10143: 10143: bool __attribute__((visibility("default"))) QStringList_contains(const QStringList *that, const QString &str, Qt::CaseSensitivity cs); 10143: void __attribute__((visibility("default"))) QStringList_replaceInStrings(QStringList *that, const QString &before, const QString &after, 10143: Qt::CaseSensitivity cs); 10143: 10143: 10143: void __attribute__((visibility("default"))) QStringList_replaceInStrings(QStringList *that, const QRegExp &rx, const QString &after); 10143: QStringList __attribute__((visibility("default"))) QStringList_filter(const QStringList *that, const QRegExp &re); 10143: int __attribute__((visibility("default"))) QStringList_indexOf(const QStringList *that, const QRegExp &rx, int from); 10143: int __attribute__((visibility("default"))) QStringList_lastIndexOf(const QStringList *that, const QRegExp &rx, int from); 10143: int __attribute__((visibility("default"))) QStringList_indexOf(const QStringList *that, QRegExp &rx, int from); 10143: int __attribute__((visibility("default"))) QStringList_lastIndexOf(const QStringList *that, QRegExp &rx, int from); 10143: 10143: 10143: 10143: 10143: void __attribute__((visibility("default"))) QStringList_replaceInStrings(QStringList *that, const QRegularExpression &rx, const QString &after); 10143: QStringList __attribute__((visibility("default"))) QStringList_filter(const QStringList *that, const QRegularExpression &re); 10143: int __attribute__((visibility("default"))) QStringList_indexOf(const QStringList *that, const QRegularExpression &re, int from); 10143: int __attribute__((visibility("default"))) QStringList_lastIndexOf(const QStringList *that, const QRegularExpression &re, int from); 10143: 10143: 10143: } 10143: 10143: inline void QListSpecialMethods::sort(Qt::CaseSensitivity cs) 10143: { 10143: QtPrivate::QStringList_sort(self(), cs); 10143: } 10143: 10143: inline int QListSpecialMethods::removeDuplicates() 10143: { 10143: return QtPrivate::QStringList_removeDuplicates(self()); 10143: } 10143: 10143: inline QString QListSpecialMethods::join(const QString &sep) const 10143: { 10143: return QtPrivate::QStringList_join(self(), sep.constData(), sep.length()); 10143: } 10143: 10143: QString QListSpecialMethods::join(QLatin1String sep) const 10143: { 10143: return QtPrivate::QStringList_join(*self(), sep); 10143: } 10143: 10143: inline QString QListSpecialMethods::join(QChar sep) const 10143: { 10143: return QtPrivate::QStringList_join(self(), &sep, 1); 10143: } 10143: 10143: inline QStringList QListSpecialMethods::filter(const QString &str, Qt::CaseSensitivity cs) const 10143: { 10143: return QtPrivate::QStringList_filter(self(), str, cs); 10143: } 10143: 10143: inline bool QStringList::contains(const QString &str, Qt::CaseSensitivity cs) const 10143: { 10143: return QtPrivate::QStringList_contains(this, str, cs); 10143: } 10143: 10143: inline QStringList &QListSpecialMethods::replaceInStrings(const QString &before, const QString &after, Qt::CaseSensitivity cs) 10143: { 10143: QtPrivate::QStringList_replaceInStrings(self(), before, after, cs); 10143: return *self(); 10143: } 10143: 10143: inline QStringList operator+(const QList &one, const QStringList &other) 10143: { 10143: QStringList n = one; 10143: n += other; 10143: return n; 10143: } 10143: 10143: 10143: inline QStringList &QListSpecialMethods::replaceInStrings(const QRegExp &rx, const QString &after) 10143: { 10143: QtPrivate::QStringList_replaceInStrings(self(), rx, after); 10143: return *self(); 10143: } 10143: 10143: inline QStringList QListSpecialMethods::filter(const QRegExp &rx) const 10143: { 10143: return QtPrivate::QStringList_filter(self(), rx); 10143: } 10143: 10143: inline int QStringList::indexOf(const QRegExp &rx, int from) const 10143: { 10143: return QtPrivate::QStringList_indexOf(this, rx, from); 10143: } 10143: 10143: inline int QStringList::lastIndexOf(const QRegExp &rx, int from) const 10143: { 10143: return QtPrivate::QStringList_lastIndexOf(this, rx, from); 10143: } 10143: 10143: inline int QStringList::indexOf(QRegExp &rx, int from) const 10143: { 10143: return QtPrivate::QStringList_indexOf(this, rx, from); 10143: } 10143: 10143: inline int QStringList::lastIndexOf(QRegExp &rx, int from) const 10143: { 10143: return QtPrivate::QStringList_lastIndexOf(this, rx, from); 10143: } 10143: 10143: 10143: 10143: 10143: inline QStringList &QListSpecialMethods::replaceInStrings(const QRegularExpression &rx, const QString &after) 10143: { 10143: QtPrivate::QStringList_replaceInStrings(self(), rx, after); 10143: return *self(); 10143: } 10143: 10143: inline QStringList QListSpecialMethods::filter(const QRegularExpression &rx) const 10143: { 10143: return QtPrivate::QStringList_filter(self(), rx); 10143: } 10143: 10143: inline int QStringList::indexOf(const QRegularExpression &rx, int from) const 10143: { 10143: return QtPrivate::QStringList_indexOf(this, rx, from); 10143: } 10143: 10143: inline int QStringList::lastIndexOf(const QRegularExpression &rx, int from) const 10143: { 10143: return QtPrivate::QStringList_lastIndexOf(this, rx, from); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: # 1095 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qlist.h" 2 3 4 10143: # 50 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 2 3 4 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qscopedpointer.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qscopedpointer.h" 3 4 10143: # 1 "/usr/include/c++/8/stdlib.h" 1 3 4 10143: # 46 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qscopedpointer.h" 2 3 4 10143: 10143: 10143: 10143: template 10143: struct QScopedPointerDeleter 10143: { 10143: static inline void cleanup(T *pointer) 10143: { 10143: 10143: 10143: 10143: typedef char IsIncompleteType[ sizeof(T) ? 1 : -1 ]; 10143: (void) sizeof(IsIncompleteType); 10143: 10143: delete pointer; 10143: } 10143: }; 10143: 10143: template 10143: struct QScopedPointerArrayDeleter 10143: { 10143: static inline void cleanup(T *pointer) 10143: { 10143: 10143: 10143: 10143: typedef char IsIncompleteType[ sizeof(T) ? 1 : -1 ]; 10143: (void) sizeof(IsIncompleteType); 10143: 10143: delete [] pointer; 10143: } 10143: }; 10143: 10143: struct QScopedPointerPodDeleter 10143: { 10143: static inline void cleanup(void *pointer) { if (pointer) free(pointer); } 10143: }; 10143: 10143: 10143: template 10143: struct QScopedPointerObjectDeleteLater 10143: { 10143: static inline void cleanup(T *pointer) { if (pointer) pointer->deleteLater(); } 10143: }; 10143: 10143: class QObject; 10143: typedef QScopedPointerObjectDeleteLater QScopedPointerDeleteLater; 10143: 10143: 10143: template > 10143: class QScopedPointer 10143: { 10143: typedef T *QScopedPointer:: *RestrictedBool; 10143: public: 10143: explicit QScopedPointer(T *p = nullptr) noexcept : d(p) 10143: { 10143: } 10143: 10143: inline ~QScopedPointer() 10143: { 10143: T *oldD = this->d; 10143: Cleanup::cleanup(oldD); 10143: } 10143: 10143: inline T &operator*() const 10143: { 10143: do { } while ((false) && (d)); 10143: return *d; 10143: } 10143: 10143: T *operator->() const noexcept 10143: { 10143: return d; 10143: } 10143: 10143: bool operator!() const noexcept 10143: { 10143: return !d; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: operator RestrictedBool() const noexcept 10143: { 10143: return isNull() ? nullptr : &QScopedPointer::d; 10143: } 10143: 10143: 10143: T *data() const noexcept 10143: { 10143: return d; 10143: } 10143: 10143: bool isNull() const noexcept 10143: { 10143: return !d; 10143: } 10143: 10143: void reset(T *other = nullptr) noexcept(noexcept(Cleanup::cleanup(std::declval()))) 10143: { 10143: if (d == other) 10143: return; 10143: T *oldD = d; 10143: d = other; 10143: Cleanup::cleanup(oldD); 10143: } 10143: 10143: T *take() noexcept 10143: { 10143: T *oldD = d; 10143: d = nullptr; 10143: return oldD; 10143: } 10143: 10143: void swap(QScopedPointer &other) noexcept 10143: { 10143: qSwap(d, other.d); 10143: } 10143: 10143: typedef T *pointer; 10143: 10143: protected: 10143: T *d; 10143: 10143: private: 10143: QScopedPointer(const QScopedPointer &) = delete; QScopedPointer &operator=(const QScopedPointer &) = delete; 10143: }; 10143: 10143: template 10143: inline bool operator==(const QScopedPointer &lhs, const QScopedPointer &rhs) noexcept 10143: { 10143: return lhs.data() == rhs.data(); 10143: } 10143: 10143: template 10143: inline bool operator!=(const QScopedPointer &lhs, const QScopedPointer &rhs) noexcept 10143: { 10143: return lhs.data() != rhs.data(); 10143: } 10143: 10143: template 10143: inline bool operator==(const QScopedPointer &lhs, std::nullptr_t) noexcept 10143: { 10143: return lhs.isNull(); 10143: } 10143: 10143: template 10143: inline bool operator==(std::nullptr_t, const QScopedPointer &rhs) noexcept 10143: { 10143: return rhs.isNull(); 10143: } 10143: 10143: template 10143: inline bool operator!=(const QScopedPointer &lhs, std::nullptr_t) noexcept 10143: { 10143: return !lhs.isNull(); 10143: } 10143: 10143: template 10143: inline bool operator!=(std::nullptr_t, const QScopedPointer &rhs) noexcept 10143: { 10143: return !rhs.isNull(); 10143: } 10143: 10143: template 10143: inline void swap(QScopedPointer &p1, QScopedPointer &p2) noexcept 10143: { p1.swap(p2); } 10143: 10143: 10143: namespace QtPrivate { 10143: template struct QScopedArrayEnsureSameType; 10143: template struct QScopedArrayEnsureSameType { typedef X* Type; }; 10143: template struct QScopedArrayEnsureSameType { typedef X* Type; }; 10143: } 10143: 10143: template > 10143: class QScopedArrayPointer : public QScopedPointer 10143: { 10143: public: 10143: inline QScopedArrayPointer() : QScopedPointer(nullptr) {} 10143: 10143: template 10143: explicit inline QScopedArrayPointer(D *p, typename QtPrivate::QScopedArrayEnsureSameType::Type = nullptr) 10143: : QScopedPointer(p) 10143: { 10143: } 10143: 10143: inline T &operator[](int i) 10143: { 10143: return this->d[i]; 10143: } 10143: 10143: inline const T &operator[](int i) const 10143: { 10143: return this->d[i]; 10143: } 10143: 10143: void swap(QScopedArrayPointer &other) noexcept 10143: { QScopedPointer::swap(other); } 10143: 10143: private: 10143: explicit inline QScopedArrayPointer(void *) { 10143: # 260 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qscopedpointer.h" 3 4 10143: } 10143: 10143: QScopedArrayPointer(const QScopedArrayPointer &) = delete; QScopedArrayPointer &operator=(const QScopedArrayPointer &) = delete; 10143: }; 10143: 10143: template 10143: inline void swap(QScopedArrayPointer &lhs, QScopedArrayPointer &rhs) noexcept 10143: { lhs.swap(rhs); } 10143: 10143: 10143: # 54 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmetatype.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmetatype.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 10143: # 46 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmetatype.h" 2 3 4 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qvarlengtharray.h" 1 3 4 10143: # 43 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qvarlengtharray.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qcontainerfwd.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qcontainerfwd.h" 3 4 10143: 10143: 10143: 10143: template class QCache; 10143: template class QHash; 10143: template class QLinkedList; 10143: template class QList; 10143: template class QMap; 10143: template class QMultiHash; 10143: template class QMultiMap; 10143: template struct QPair; 10143: template class QQueue; 10143: template class QSet; 10143: template class QStack; 10143: template class QVarLengthArray; 10143: template class QVector; 10143: 10143: 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qvarlengtharray.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/stdlib.h" 1 3 4 10143: # 50 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qvarlengtharray.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: class QPodList; 10143: 10143: 10143: template 10143: class QVarLengthArray 10143: { 10143: public: 10143: inline explicit QVarLengthArray(int size = 0); 10143: 10143: inline QVarLengthArray(const QVarLengthArray &other) 10143: : a(Prealloc), s(0), ptr(reinterpret_cast(array)) 10143: { 10143: append(other.constData(), other.size()); 10143: } 10143: 10143: 10143: QVarLengthArray(std::initializer_list args) 10143: : a(Prealloc), s(0), ptr(reinterpret_cast(array)) 10143: { 10143: if (args.size()) 10143: append(args.begin(), int(args.size())); 10143: } 10143: 10143: 10143: inline ~QVarLengthArray() { 10143: if (QTypeInfo::isComplex) { 10143: T *i = ptr + s; 10143: while (i-- != ptr) 10143: i->~T(); 10143: } 10143: if (ptr != reinterpret_cast(array)) 10143: free(ptr); 10143: } 10143: inline QVarLengthArray &operator=(const QVarLengthArray &other) 10143: { 10143: if (this != &other) { 10143: clear(); 10143: append(other.constData(), other.size()); 10143: } 10143: return *this; 10143: } 10143: 10143: 10143: QVarLengthArray &operator=(std::initializer_list list) 10143: { 10143: resize(list.size()); 10143: std::copy(list.begin(), list.end(), 10143: (this->begin())); 10143: return *this; 10143: } 10143: 10143: 10143: inline void removeLast() { 10143: do { } while ((false) && (s > 0)); 10143: realloc(s - 1, a); 10143: } 10143: inline int size() const { return s; } 10143: inline int count() const { return s; } 10143: inline int length() const { return s; } 10143: inline T& first() { do { } while ((false) && (!isEmpty())); return *begin(); } 10143: inline const T& first() const { do { } while ((false) && (!isEmpty())); return *begin(); } 10143: T& last() { do { } while ((false) && (!isEmpty())); return *(end() - 1); } 10143: const T& last() const { do { } while ((false) && (!isEmpty())); return *(end() - 1); } 10143: inline bool isEmpty() const { return (s == 0); } 10143: inline void resize(int size); 10143: inline void clear() { resize(0); } 10143: inline void squeeze(); 10143: 10143: inline int capacity() const { return a; } 10143: inline void reserve(int size); 10143: 10143: inline int indexOf(const T &t, int from = 0) const; 10143: inline int lastIndexOf(const T &t, int from = -1) const; 10143: inline bool contains(const T &t) const; 10143: 10143: inline T &operator[](int idx) { 10143: do { } while ((false) && (idx >= 0 && idx < s)); 10143: return ptr[idx]; 10143: } 10143: inline const T &operator[](int idx) const { 10143: do { } while ((false) && (idx >= 0 && idx < s)); 10143: return ptr[idx]; 10143: } 10143: inline const T &at(int idx) const { return operator[](idx); } 10143: 10143: T value(int i) const; 10143: T value(int i, const T &defaultValue) const; 10143: 10143: inline void append(const T &t) { 10143: if (s == a) { 10143: T copy(t); 10143: realloc(s, s<<1); 10143: const int idx = s++; 10143: if (QTypeInfo::isComplex) { 10143: new (ptr + idx) T(std::move(copy)); 10143: } else { 10143: ptr[idx] = std::move(copy); 10143: } 10143: } else { 10143: const int idx = s++; 10143: if (QTypeInfo::isComplex) { 10143: new (ptr + idx) T(t); 10143: } else { 10143: ptr[idx] = t; 10143: } 10143: } 10143: } 10143: 10143: void append(T &&t) { 10143: if (s == a) 10143: realloc(s, s << 1); 10143: const int idx = s++; 10143: if (QTypeInfo::isComplex) 10143: new (ptr + idx) T(std::move(t)); 10143: else 10143: ptr[idx] = std::move(t); 10143: } 10143: 10143: void append(const T *buf, int size); 10143: inline QVarLengthArray &operator<<(const T &t) 10143: { append(t); return *this; } 10143: inline QVarLengthArray &operator+=(const T &t) 10143: { append(t); return *this; } 10143: 10143: void prepend(const T &t); 10143: void insert(int i, const T &t); 10143: void insert(int i, int n, const T &t); 10143: void replace(int i, const T &t); 10143: void remove(int i); 10143: void remove(int i, int n); 10143: 10143: 10143: inline T *data() { return ptr; } 10143: inline const T *data() const { return ptr; } 10143: inline const T * constData() const { return ptr; } 10143: typedef int size_type; 10143: typedef T value_type; 10143: typedef value_type *pointer; 10143: typedef const value_type *const_pointer; 10143: typedef value_type &reference; 10143: typedef const value_type &const_reference; 10143: typedef qptrdiff difference_type; 10143: 10143: 10143: typedef T* iterator; 10143: typedef const T* const_iterator; 10143: typedef std::reverse_iterator reverse_iterator; 10143: typedef std::reverse_iterator const_reverse_iterator; 10143: 10143: inline iterator begin() { return ptr; } 10143: inline const_iterator begin() const { return ptr; } 10143: inline const_iterator cbegin() const { return ptr; } 10143: inline const_iterator constBegin() const { return ptr; } 10143: inline iterator end() { return ptr + s; } 10143: inline const_iterator end() const { return ptr + s; } 10143: inline const_iterator cend() const { return ptr + s; } 10143: inline const_iterator constEnd() const { return ptr + s; } 10143: reverse_iterator rbegin() { return reverse_iterator(end()); } 10143: reverse_iterator rend() { return reverse_iterator(begin()); } 10143: const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } 10143: const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } 10143: const_reverse_iterator crbegin() const { return const_reverse_iterator(end()); } 10143: const_reverse_iterator crend() const { return const_reverse_iterator(begin()); } 10143: iterator insert(const_iterator before, int n, const T &x); 10143: inline iterator insert(const_iterator before, const T &x) { return insert(before, 1, x); } 10143: iterator erase(const_iterator begin, const_iterator end); 10143: inline iterator erase(const_iterator pos) { return erase(pos, pos+1); } 10143: 10143: 10143: inline bool empty() const { return isEmpty(); } 10143: inline void push_back(const T &t) { append(t); } 10143: void push_back(T &&t) { append(std::move(t)); } 10143: inline void pop_back() { removeLast(); } 10143: inline T &front() { return first(); } 10143: inline const T &front() const { return first(); } 10143: inline T &back() { return last(); } 10143: inline const T &back() const { return last(); } 10143: 10143: private: 10143: friend class QPodList; 10143: void realloc(int size, int alloc); 10143: 10143: int a; 10143: int s; 10143: T *ptr; 10143: union { 10143: char array[Prealloc * sizeof(T)]; 10143: qint64 q_for_alignment_1; 10143: double q_for_alignment_2; 10143: }; 10143: 10143: bool isValidIterator(const const_iterator &i) const 10143: { 10143: return (i <= constEnd()) && (constBegin() <= i); 10143: } 10143: }; 10143: 10143: template 10143: inline QVarLengthArray::QVarLengthArray(int asize) 10143: : s(asize) { 10143: static_assert(bool(Prealloc > 0), "QVarLengthArray Prealloc must be greater than 0."); 10143: do { } while ((false) && (s >= 0)); 10143: if (s > Prealloc) { 10143: ptr = reinterpret_cast(malloc(s * sizeof(T))); 10143: qt_noop(); 10143: a = s; 10143: } else { 10143: ptr = reinterpret_cast(array); 10143: a = Prealloc; 10143: } 10143: if (QTypeInfo::isComplex) { 10143: T *i = ptr + s; 10143: while (i != ptr) 10143: new (--i) T; 10143: } 10143: } 10143: 10143: template 10143: inline void QVarLengthArray::resize(int asize) 10143: { realloc(asize, qMax(asize, a)); } 10143: 10143: template 10143: inline void QVarLengthArray::reserve(int asize) 10143: { if (asize > a) realloc(s, asize); } 10143: 10143: template 10143: inline int QVarLengthArray::indexOf(const T &t, int from) const 10143: { 10143: if (from < 0) 10143: from = qMax(from + s, 0); 10143: if (from < s) { 10143: T *n = ptr + from - 1; 10143: T *e = ptr + s; 10143: while (++n != e) 10143: if (*n == t) 10143: return n - ptr; 10143: } 10143: return -1; 10143: } 10143: 10143: template 10143: inline int QVarLengthArray::lastIndexOf(const T &t, int from) const 10143: { 10143: if (from < 0) 10143: from += s; 10143: else if (from >= s) 10143: from = s - 1; 10143: if (from >= 0) { 10143: T *b = ptr; 10143: T *n = ptr + from + 1; 10143: while (n != b) { 10143: if (*--n == t) 10143: return n - b; 10143: } 10143: } 10143: return -1; 10143: } 10143: 10143: template 10143: inline bool QVarLengthArray::contains(const T &t) const 10143: { 10143: T *b = ptr; 10143: T *i = ptr + s; 10143: while (i != b) { 10143: if (*--i == t) 10143: return true; 10143: } 10143: return false; 10143: } 10143: 10143: template 10143: void QVarLengthArray::append(const T *abuf, int increment) 10143: { 10143: do { } while ((false) && (abuf)); 10143: if (increment <= 0) 10143: return; 10143: 10143: const int asize = s + increment; 10143: 10143: if (asize >= a) 10143: realloc(s, qMax(s*2, asize)); 10143: 10143: if (QTypeInfo::isComplex) { 10143: 10143: while (s < asize) 10143: new (ptr+(s++)) T(*abuf++); 10143: } else { 10143: memcpy(&ptr[s], abuf, increment * sizeof(T)); 10143: s = asize; 10143: } 10143: } 10143: 10143: template 10143: inline void QVarLengthArray::squeeze() 10143: { realloc(s, s); } 10143: 10143: template 10143: void QVarLengthArray::realloc(int asize, int aalloc) 10143: { 10143: do { } while ((false) && (aalloc >= asize)); 10143: T *oldPtr = ptr; 10143: int osize = s; 10143: 10143: const int copySize = qMin(asize, osize); 10143: do { const bool valueOfExpression = copySize >= 0; do { } while ((false) && (valueOfExpression)); if (valueOfExpression){} else __builtin_unreachable(); } while (false); 10143: if (aalloc != a) { 10143: if (aalloc > Prealloc) { 10143: T* newPtr = reinterpret_cast(malloc(aalloc * sizeof(T))); 10143: qt_noop(); 10143: 10143: ptr = newPtr; 10143: a = aalloc; 10143: } else { 10143: ptr = reinterpret_cast(array); 10143: a = Prealloc; 10143: } 10143: s = 0; 10143: if (!QTypeInfoQuery::isRelocatable) { 10143: if (true) { 10143: 10143: while (s < copySize) { 10143: new (ptr+s) T(*(oldPtr+s)); 10143: (oldPtr+s)->~T(); 10143: s++; 10143: } 10143: } else { 10143: 10143: int sClean = s; 10143: while (sClean < osize) 10143: (oldPtr+(sClean++))->~T(); 10143: if (oldPtr != reinterpret_cast(array) && oldPtr != ptr) 10143: free(oldPtr); 10143: qt_noop(); 10143: } 10143: } else { 10143: memcpy(ptr, oldPtr, copySize * sizeof(T)); 10143: } 10143: } 10143: s = copySize; 10143: 10143: if (QTypeInfo::isComplex) { 10143: 10143: while (osize > asize) 10143: (oldPtr+(--osize))->~T(); 10143: } 10143: 10143: if (oldPtr != reinterpret_cast(array) && oldPtr != ptr) 10143: free(oldPtr); 10143: 10143: if (QTypeInfo::isComplex) { 10143: 10143: while (s < asize) 10143: new (ptr+(s++)) T; 10143: } else { 10143: s = asize; 10143: } 10143: } 10143: 10143: template 10143: T QVarLengthArray::value(int i) const 10143: { 10143: if (uint(i) >= uint(size())) { 10143: return T(); 10143: } 10143: return at(i); 10143: } 10143: template 10143: T QVarLengthArray::value(int i, const T &defaultValue) const 10143: { 10143: return (uint(i) >= uint(size())) ? defaultValue : at(i); 10143: } 10143: 10143: template 10143: inline void QVarLengthArray::insert(int i, const T &t) 10143: { do { } while ((false) && (i >= 0 && i <= s)); 10143: insert(begin() + i, 1, t); } 10143: template 10143: inline void QVarLengthArray::insert(int i, int n, const T &t) 10143: { do { } while ((false) && (i >= 0 && i <= s)); 10143: insert(begin() + i, n, t); } 10143: template 10143: inline void QVarLengthArray::remove(int i, int n) 10143: { do { } while ((false) && (i >= 0 && n >= 0 && i + n <= s)); 10143: erase(begin() + i, begin() + i + n); } 10143: template 10143: inline void QVarLengthArray::remove(int i) 10143: { do { } while ((false) && (i >= 0 && i < s)); 10143: erase(begin() + i, begin() + i + 1); } 10143: template 10143: inline void QVarLengthArray::prepend(const T &t) 10143: { insert(begin(), 1, t); } 10143: 10143: template 10143: inline void QVarLengthArray::replace(int i, const T &t) 10143: { 10143: do { } while ((false) && (i >= 0 && i < s)); 10143: const T copy(t); 10143: data()[i] = copy; 10143: } 10143: 10143: 10143: template 10143: typename QVarLengthArray::iterator QVarLengthArray::insert(const_iterator before, size_type n, const T &t) 10143: { 10143: do { } while ((false) && (isValidIterator(before))); 10143: 10143: int offset = int(before - ptr); 10143: if (n != 0) { 10143: resize(s + n); 10143: const T copy(t); 10143: if (!QTypeInfoQuery::isRelocatable) { 10143: T *b = ptr + offset; 10143: T *j = ptr + s; 10143: T *i = j - n; 10143: while (i != b) 10143: *--j = *--i; 10143: i = b + n; 10143: while (i != b) 10143: *--i = copy; 10143: } else { 10143: T *b = ptr + offset; 10143: T *i = b + n; 10143: memmove(i, b, (s - offset - n) * sizeof(T)); 10143: while (i != b) 10143: new (--i) T(copy); 10143: } 10143: } 10143: return ptr + offset; 10143: } 10143: 10143: template 10143: typename QVarLengthArray::iterator QVarLengthArray::erase(const_iterator abegin, const_iterator aend) 10143: { 10143: do { } while ((false) && (isValidIterator(abegin))); 10143: do { } while ((false) && (isValidIterator(aend))); 10143: 10143: int f = int(abegin - ptr); 10143: int l = int(aend - ptr); 10143: int n = l - f; 10143: if (QTypeInfo::isComplex) { 10143: std::copy(ptr + l, ptr + s, (ptr + f)); 10143: T *i = ptr + s; 10143: T *b = ptr + s - n; 10143: while (i != b) { 10143: --i; 10143: i->~T(); 10143: } 10143: } else { 10143: memmove(ptr + f, ptr + l, (s - l) * sizeof(T)); 10143: } 10143: s -= n; 10143: return ptr + f; 10143: } 10143: 10143: template 10143: bool operator==(const QVarLengthArray &l, const QVarLengthArray &r) 10143: { 10143: if (l.size() != r.size()) 10143: return false; 10143: const T *rb = r.begin(); 10143: const T *b = l.begin(); 10143: const T *e = l.end(); 10143: return std::equal(b, e, (rb)); 10143: } 10143: 10143: template 10143: bool operator!=(const QVarLengthArray &l, const QVarLengthArray &r) 10143: { 10143: return !(l == r); 10143: } 10143: 10143: template 10143: bool operator<(const QVarLengthArray &lhs, const QVarLengthArray &rhs) 10143: noexcept(noexcept(std::lexicographical_compare(lhs.begin(), lhs.end(), rhs.begin(), rhs.end()))) 10143: 10143: { 10143: return std::lexicographical_compare(lhs.begin(), lhs.end(), 10143: rhs.begin(), rhs.end()); 10143: } 10143: 10143: template 10143: inline bool operator>(const QVarLengthArray &lhs, const QVarLengthArray &rhs) 10143: noexcept(noexcept(lhs < rhs)) 10143: { 10143: return rhs < lhs; 10143: } 10143: 10143: template 10143: inline bool operator<=(const QVarLengthArray &lhs, const QVarLengthArray &rhs) 10143: noexcept(noexcept(lhs < rhs)) 10143: { 10143: return !(lhs > rhs); 10143: } 10143: 10143: template 10143: inline bool operator>=(const QVarLengthArray &lhs, const QVarLengthArray &rhs) 10143: noexcept(noexcept(lhs < rhs)) 10143: { 10143: return !(lhs < rhs); 10143: } 10143: 10143: 10143: # 48 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmetatype.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/vector" 1 3 4 10143: # 58 "/usr/include/c++/8/vector" 3 4 10143: 10143: # 59 "/usr/include/c++/8/vector" 3 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/stl_uninitialized.h" 1 3 10143: # 67 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: template 10143: struct __uninitialized_copy 10143: { 10143: template 10143: static _ForwardIterator 10143: __uninit_copy(_InputIterator __first, _InputIterator __last, 10143: _ForwardIterator __result) 10143: { 10143: _ForwardIterator __cur = __result; 10143: if (true) 10143: { 10143: for (; __first != __last; ++__first, (void)++__cur) 10143: std::_Construct(std::__addressof(*__cur), *__first); 10143: return __cur; 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__result, __cur); 10143: ; 10143: } 10143: } 10143: }; 10143: 10143: template<> 10143: struct __uninitialized_copy 10143: { 10143: template 10143: static _ForwardIterator 10143: __uninit_copy(_InputIterator __first, _InputIterator __last, 10143: _ForwardIterator __result) 10143: { return std::copy(__first, __last, __result); } 10143: }; 10143: # 113 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 10143: template 10143: inline _ForwardIterator 10143: uninitialized_copy(_InputIterator __first, _InputIterator __last, 10143: _ForwardIterator __result) 10143: { 10143: typedef typename iterator_traits<_InputIterator>::value_type 10143: _ValueType1; 10143: typedef typename iterator_traits<_ForwardIterator>::value_type 10143: _ValueType2; 10143: 10143: 10143: 10143: 10143: typedef typename iterator_traits<_InputIterator>::reference _RefType1; 10143: typedef typename iterator_traits<_ForwardIterator>::reference _RefType2; 10143: const bool __assignable = is_assignable<_RefType2, _RefType1>::value; 10143: 10143: 10143: return std::__uninitialized_copy<__is_trivial(_ValueType1) 10143: && __is_trivial(_ValueType2) 10143: && __assignable>:: 10143: __uninit_copy(__first, __last, __result); 10143: } 10143: 10143: 10143: template 10143: struct __uninitialized_fill 10143: { 10143: template 10143: static void 10143: __uninit_fill(_ForwardIterator __first, _ForwardIterator __last, 10143: const _Tp& __x) 10143: { 10143: _ForwardIterator __cur = __first; 10143: if (true) 10143: { 10143: for (; __cur != __last; ++__cur) 10143: std::_Construct(std::__addressof(*__cur), __x); 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__first, __cur); 10143: ; 10143: } 10143: } 10143: }; 10143: 10143: template<> 10143: struct __uninitialized_fill 10143: { 10143: template 10143: static void 10143: __uninit_fill(_ForwardIterator __first, _ForwardIterator __last, 10143: const _Tp& __x) 10143: { std::fill(__first, __last, __x); } 10143: }; 10143: # 179 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 10143: template 10143: inline void 10143: uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last, 10143: const _Tp& __x) 10143: { 10143: typedef typename iterator_traits<_ForwardIterator>::value_type 10143: _ValueType; 10143: 10143: 10143: 10143: 10143: const bool __assignable = is_copy_assignable<_ValueType>::value; 10143: 10143: 10143: std::__uninitialized_fill<__is_trivial(_ValueType) && __assignable>:: 10143: __uninit_fill(__first, __last, __x); 10143: } 10143: 10143: 10143: template 10143: struct __uninitialized_fill_n 10143: { 10143: template 10143: static _ForwardIterator 10143: __uninit_fill_n(_ForwardIterator __first, _Size __n, 10143: const _Tp& __x) 10143: { 10143: _ForwardIterator __cur = __first; 10143: if (true) 10143: { 10143: for (; __n > 0; --__n, (void) ++__cur) 10143: std::_Construct(std::__addressof(*__cur), __x); 10143: return __cur; 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__first, __cur); 10143: ; 10143: } 10143: } 10143: }; 10143: 10143: template<> 10143: struct __uninitialized_fill_n 10143: { 10143: template 10143: static _ForwardIterator 10143: __uninit_fill_n(_ForwardIterator __first, _Size __n, 10143: const _Tp& __x) 10143: { return std::fill_n(__first, __n, __x); } 10143: }; 10143: # 242 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 10143: template 10143: inline _ForwardIterator 10143: uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) 10143: { 10143: typedef typename iterator_traits<_ForwardIterator>::value_type 10143: _ValueType; 10143: 10143: 10143: 10143: 10143: const bool __assignable = is_copy_assignable<_ValueType>::value; 10143: 10143: return __uninitialized_fill_n<__is_trivial(_ValueType) && __assignable>:: 10143: __uninit_fill_n(__first, __n, __x); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: _ForwardIterator 10143: __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, 10143: _ForwardIterator __result, _Allocator& __alloc) 10143: { 10143: _ForwardIterator __cur = __result; 10143: if (true) 10143: { 10143: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 10143: for (; __first != __last; ++__first, (void)++__cur) 10143: __traits::construct(__alloc, std::__addressof(*__cur), *__first); 10143: return __cur; 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__result, __cur, __alloc); 10143: ; 10143: } 10143: } 10143: 10143: template 10143: inline _ForwardIterator 10143: __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, 10143: _ForwardIterator __result, allocator<_Tp>&) 10143: { return std::uninitialized_copy(__first, __last, __result); } 10143: 10143: template 10143: inline _ForwardIterator 10143: __uninitialized_move_a(_InputIterator __first, _InputIterator __last, 10143: _ForwardIterator __result, _Allocator& __alloc) 10143: { 10143: return std::__uninitialized_copy_a(std::make_move_iterator(__first), 10143: std::make_move_iterator(__last), 10143: __result, __alloc); 10143: } 10143: 10143: template 10143: inline _ForwardIterator 10143: __uninitialized_move_if_noexcept_a(_InputIterator __first, 10143: _InputIterator __last, 10143: _ForwardIterator __result, 10143: _Allocator& __alloc) 10143: { 10143: return std::__uninitialized_copy_a 10143: (std::__make_move_if_noexcept_iterator(__first), 10143: std::__make_move_if_noexcept_iterator(__last), __result, __alloc); 10143: } 10143: 10143: template 10143: void 10143: __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, 10143: const _Tp& __x, _Allocator& __alloc) 10143: { 10143: _ForwardIterator __cur = __first; 10143: if (true) 10143: { 10143: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 10143: for (; __cur != __last; ++__cur) 10143: __traits::construct(__alloc, std::__addressof(*__cur), __x); 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__first, __cur, __alloc); 10143: ; 10143: } 10143: } 10143: 10143: template 10143: inline void 10143: __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, 10143: const _Tp& __x, allocator<_Tp2>&) 10143: { std::uninitialized_fill(__first, __last, __x); } 10143: 10143: template 10143: _ForwardIterator 10143: __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, 10143: const _Tp& __x, _Allocator& __alloc) 10143: { 10143: _ForwardIterator __cur = __first; 10143: if (true) 10143: { 10143: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 10143: for (; __n > 0; --__n, (void) ++__cur) 10143: __traits::construct(__alloc, std::__addressof(*__cur), __x); 10143: return __cur; 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__first, __cur, __alloc); 10143: ; 10143: } 10143: } 10143: 10143: template 10143: inline _ForwardIterator 10143: __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, 10143: const _Tp& __x, allocator<_Tp2>&) 10143: { return std::uninitialized_fill_n(__first, __n, __x); } 10143: # 378 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 10143: template 10143: inline _ForwardIterator 10143: __uninitialized_copy_move(_InputIterator1 __first1, 10143: _InputIterator1 __last1, 10143: _InputIterator2 __first2, 10143: _InputIterator2 __last2, 10143: _ForwardIterator __result, 10143: _Allocator& __alloc) 10143: { 10143: _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1, 10143: __result, 10143: __alloc); 10143: if (true) 10143: { 10143: return std::__uninitialized_move_a(__first2, __last2, __mid, __alloc); 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__result, __mid, __alloc); 10143: ; 10143: } 10143: } 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline _ForwardIterator 10143: __uninitialized_move_copy(_InputIterator1 __first1, 10143: _InputIterator1 __last1, 10143: _InputIterator2 __first2, 10143: _InputIterator2 __last2, 10143: _ForwardIterator __result, 10143: _Allocator& __alloc) 10143: { 10143: _ForwardIterator __mid = std::__uninitialized_move_a(__first1, __last1, 10143: __result, 10143: __alloc); 10143: if (true) 10143: { 10143: return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc); 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__result, __mid, __alloc); 10143: ; 10143: } 10143: } 10143: 10143: 10143: 10143: 10143: template 10143: inline _ForwardIterator 10143: __uninitialized_fill_move(_ForwardIterator __result, _ForwardIterator __mid, 10143: const _Tp& __x, _InputIterator __first, 10143: _InputIterator __last, _Allocator& __alloc) 10143: { 10143: std::__uninitialized_fill_a(__result, __mid, __x, __alloc); 10143: if (true) 10143: { 10143: return std::__uninitialized_move_a(__first, __last, __mid, __alloc); 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__result, __mid, __alloc); 10143: ; 10143: } 10143: } 10143: 10143: 10143: 10143: 10143: template 10143: inline void 10143: __uninitialized_move_fill(_InputIterator __first1, _InputIterator __last1, 10143: _ForwardIterator __first2, 10143: _ForwardIterator __last2, const _Tp& __x, 10143: _Allocator& __alloc) 10143: { 10143: _ForwardIterator __mid2 = std::__uninitialized_move_a(__first1, __last1, 10143: __first2, 10143: __alloc); 10143: if (true) 10143: { 10143: std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc); 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__first2, __mid2, __alloc); 10143: ; 10143: } 10143: } 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct __uninitialized_default_1 10143: { 10143: template 10143: static void 10143: __uninit_default(_ForwardIterator __first, _ForwardIterator __last) 10143: { 10143: _ForwardIterator __cur = __first; 10143: if (true) 10143: { 10143: for (; __cur != __last; ++__cur) 10143: std::_Construct(std::__addressof(*__cur)); 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__first, __cur); 10143: ; 10143: } 10143: } 10143: }; 10143: 10143: template<> 10143: struct __uninitialized_default_1 10143: { 10143: template 10143: static void 10143: __uninit_default(_ForwardIterator __first, _ForwardIterator __last) 10143: { 10143: typedef typename iterator_traits<_ForwardIterator>::value_type 10143: _ValueType; 10143: 10143: std::fill(__first, __last, _ValueType()); 10143: } 10143: }; 10143: 10143: template 10143: struct __uninitialized_default_n_1 10143: { 10143: template 10143: static _ForwardIterator 10143: __uninit_default_n(_ForwardIterator __first, _Size __n) 10143: { 10143: _ForwardIterator __cur = __first; 10143: if (true) 10143: { 10143: for (; __n > 0; --__n, (void) ++__cur) 10143: std::_Construct(std::__addressof(*__cur)); 10143: return __cur; 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__first, __cur); 10143: ; 10143: } 10143: } 10143: }; 10143: 10143: template<> 10143: struct __uninitialized_default_n_1 10143: { 10143: template 10143: static _ForwardIterator 10143: __uninit_default_n(_ForwardIterator __first, _Size __n) 10143: { 10143: typedef typename iterator_traits<_ForwardIterator>::value_type 10143: _ValueType; 10143: 10143: return std::fill_n(__first, __n, _ValueType()); 10143: } 10143: }; 10143: 10143: 10143: 10143: 10143: template 10143: inline void 10143: __uninitialized_default(_ForwardIterator __first, 10143: _ForwardIterator __last) 10143: { 10143: typedef typename iterator_traits<_ForwardIterator>::value_type 10143: _ValueType; 10143: 10143: const bool __assignable = is_copy_assignable<_ValueType>::value; 10143: 10143: std::__uninitialized_default_1<__is_trivial(_ValueType) 10143: && __assignable>:: 10143: __uninit_default(__first, __last); 10143: } 10143: 10143: 10143: 10143: template 10143: inline _ForwardIterator 10143: __uninitialized_default_n(_ForwardIterator __first, _Size __n) 10143: { 10143: typedef typename iterator_traits<_ForwardIterator>::value_type 10143: _ValueType; 10143: 10143: const bool __assignable = is_copy_assignable<_ValueType>::value; 10143: 10143: return __uninitialized_default_n_1<__is_trivial(_ValueType) 10143: && __assignable>:: 10143: __uninit_default_n(__first, __n); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: template 10143: void 10143: __uninitialized_default_a(_ForwardIterator __first, 10143: _ForwardIterator __last, 10143: _Allocator& __alloc) 10143: { 10143: _ForwardIterator __cur = __first; 10143: if (true) 10143: { 10143: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 10143: for (; __cur != __last; ++__cur) 10143: __traits::construct(__alloc, std::__addressof(*__cur)); 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__first, __cur, __alloc); 10143: ; 10143: } 10143: } 10143: 10143: template 10143: inline void 10143: __uninitialized_default_a(_ForwardIterator __first, 10143: _ForwardIterator __last, 10143: allocator<_Tp>&) 10143: { std::__uninitialized_default(__first, __last); } 10143: 10143: 10143: 10143: 10143: 10143: template 10143: _ForwardIterator 10143: __uninitialized_default_n_a(_ForwardIterator __first, _Size __n, 10143: _Allocator& __alloc) 10143: { 10143: _ForwardIterator __cur = __first; 10143: if (true) 10143: { 10143: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 10143: for (; __n > 0; --__n, (void) ++__cur) 10143: __traits::construct(__alloc, std::__addressof(*__cur)); 10143: return __cur; 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__first, __cur, __alloc); 10143: ; 10143: } 10143: } 10143: 10143: template 10143: inline _ForwardIterator 10143: __uninitialized_default_n_a(_ForwardIterator __first, _Size __n, 10143: allocator<_Tp>&) 10143: { return std::__uninitialized_default_n(__first, __n); } 10143: 10143: template 10143: struct __uninitialized_default_novalue_1 10143: { 10143: template 10143: static void 10143: __uninit_default_novalue(_ForwardIterator __first, 10143: _ForwardIterator __last) 10143: { 10143: _ForwardIterator __cur = __first; 10143: if (true) 10143: { 10143: for (; __cur != __last; ++__cur) 10143: std::_Construct_novalue(std::__addressof(*__cur)); 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__first, __cur); 10143: ; 10143: } 10143: } 10143: }; 10143: 10143: template<> 10143: struct __uninitialized_default_novalue_1 10143: { 10143: template 10143: static void 10143: __uninit_default_novalue(_ForwardIterator __first, 10143: _ForwardIterator __last) 10143: { 10143: } 10143: }; 10143: 10143: template 10143: struct __uninitialized_default_novalue_n_1 10143: { 10143: template 10143: static _ForwardIterator 10143: __uninit_default_novalue_n(_ForwardIterator __first, _Size __n) 10143: { 10143: _ForwardIterator __cur = __first; 10143: if (true) 10143: { 10143: for (; __n > 0; --__n, (void) ++__cur) 10143: std::_Construct_novalue(std::__addressof(*__cur)); 10143: return __cur; 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__first, __cur); 10143: ; 10143: } 10143: } 10143: }; 10143: 10143: template<> 10143: struct __uninitialized_default_novalue_n_1 10143: { 10143: template 10143: static _ForwardIterator 10143: __uninit_default_novalue_n(_ForwardIterator __first, _Size __n) 10143: { return std::next(__first, __n); } 10143: }; 10143: 10143: 10143: 10143: 10143: template 10143: inline void 10143: __uninitialized_default_novalue(_ForwardIterator __first, 10143: _ForwardIterator __last) 10143: { 10143: typedef typename iterator_traits<_ForwardIterator>::value_type 10143: _ValueType; 10143: 10143: std::__uninitialized_default_novalue_1< 10143: is_trivially_default_constructible<_ValueType>::value>:: 10143: __uninit_default_novalue(__first, __last); 10143: } 10143: 10143: 10143: 10143: template 10143: inline _ForwardIterator 10143: __uninitialized_default_novalue_n(_ForwardIterator __first, _Size __n) 10143: { 10143: typedef typename iterator_traits<_ForwardIterator>::value_type 10143: _ValueType; 10143: 10143: return __uninitialized_default_novalue_n_1< 10143: is_trivially_default_constructible<_ValueType>::value>:: 10143: __uninit_default_novalue_n(__first, __n); 10143: } 10143: 10143: template 10143: _ForwardIterator 10143: __uninitialized_copy_n(_InputIterator __first, _Size __n, 10143: _ForwardIterator __result, input_iterator_tag) 10143: { 10143: _ForwardIterator __cur = __result; 10143: if (true) 10143: { 10143: for (; __n > 0; --__n, (void) ++__first, ++__cur) 10143: std::_Construct(std::__addressof(*__cur), *__first); 10143: return __cur; 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__result, __cur); 10143: ; 10143: } 10143: } 10143: 10143: template 10143: inline _ForwardIterator 10143: __uninitialized_copy_n(_RandomAccessIterator __first, _Size __n, 10143: _ForwardIterator __result, 10143: random_access_iterator_tag) 10143: { return std::uninitialized_copy(__first, __first + __n, __result); } 10143: 10143: template 10143: pair<_InputIterator, _ForwardIterator> 10143: __uninitialized_copy_n_pair(_InputIterator __first, _Size __n, 10143: _ForwardIterator __result, input_iterator_tag) 10143: { 10143: _ForwardIterator __cur = __result; 10143: if (true) 10143: { 10143: for (; __n > 0; --__n, (void) ++__first, ++__cur) 10143: std::_Construct(std::__addressof(*__cur), *__first); 10143: return {__first, __cur}; 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__result, __cur); 10143: ; 10143: } 10143: } 10143: 10143: template 10143: inline pair<_RandomAccessIterator, _ForwardIterator> 10143: __uninitialized_copy_n_pair(_RandomAccessIterator __first, _Size __n, 10143: _ForwardIterator __result, 10143: random_access_iterator_tag) 10143: { 10143: auto __second_res = uninitialized_copy(__first, __first + __n, __result); 10143: auto __first_res = std::next(__first, __n); 10143: return {__first_res, __second_res}; 10143: } 10143: # 810 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 10143: template 10143: inline _ForwardIterator 10143: uninitialized_copy_n(_InputIterator __first, _Size __n, 10143: _ForwardIterator __result) 10143: { return std::__uninitialized_copy_n(__first, __n, __result, 10143: std::__iterator_category(__first)); } 10143: 10143: template 10143: inline pair<_InputIterator, _ForwardIterator> 10143: __uninitialized_copy_n_pair(_InputIterator __first, _Size __n, 10143: _ForwardIterator __result) 10143: { 10143: return 10143: std::__uninitialized_copy_n_pair(__first, __n, __result, 10143: std::__iterator_category(__first)); 10143: } 10143: # 882 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 10143: 10143: } 10143: # 64 "/usr/include/c++/8/vector" 2 3 10143: # 1 "/usr/include/c++/8/bits/stl_vector.h" 1 3 10143: # 74 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: template 10143: struct _Vector_base 10143: { 10143: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 10143: rebind<_Tp>::other _Tp_alloc_type; 10143: typedef typename __gnu_cxx::__alloc_traits<_Tp_alloc_type>::pointer 10143: pointer; 10143: 10143: struct _Vector_impl 10143: : public _Tp_alloc_type 10143: { 10143: pointer _M_start; 10143: pointer _M_finish; 10143: pointer _M_end_of_storage; 10143: 10143: _Vector_impl() 10143: : _Tp_alloc_type(), _M_start(), _M_finish(), _M_end_of_storage() 10143: { } 10143: 10143: _Vector_impl(_Tp_alloc_type const& __a) noexcept 10143: : _Tp_alloc_type(__a), _M_start(), _M_finish(), _M_end_of_storage() 10143: { } 10143: 10143: 10143: _Vector_impl(_Tp_alloc_type&& __a) noexcept 10143: : _Tp_alloc_type(std::move(__a)), 10143: _M_start(), _M_finish(), _M_end_of_storage() 10143: { } 10143: 10143: 10143: void _M_swap_data(_Vector_impl& __x) noexcept 10143: { 10143: std::swap(_M_start, __x._M_start); 10143: std::swap(_M_finish, __x._M_finish); 10143: std::swap(_M_end_of_storage, __x._M_end_of_storage); 10143: } 10143: # 231 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: }; 10143: 10143: public: 10143: typedef _Alloc allocator_type; 10143: 10143: _Tp_alloc_type& 10143: _M_get_Tp_allocator() noexcept 10143: { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); } 10143: 10143: const _Tp_alloc_type& 10143: _M_get_Tp_allocator() const noexcept 10143: { return *static_cast(&this->_M_impl); } 10143: 10143: allocator_type 10143: get_allocator() const noexcept 10143: { return allocator_type(_M_get_Tp_allocator()); } 10143: 10143: _Vector_base() 10143: : _M_impl() { } 10143: 10143: _Vector_base(const allocator_type& __a) noexcept 10143: : _M_impl(__a) { } 10143: 10143: _Vector_base(size_t __n) 10143: : _M_impl() 10143: { _M_create_storage(__n); } 10143: 10143: _Vector_base(size_t __n, const allocator_type& __a) 10143: : _M_impl(__a) 10143: { _M_create_storage(__n); } 10143: 10143: 10143: _Vector_base(_Tp_alloc_type&& __a) noexcept 10143: : _M_impl(std::move(__a)) { } 10143: 10143: _Vector_base(_Vector_base&& __x) noexcept 10143: : _M_impl(std::move(__x._M_get_Tp_allocator())) 10143: { this->_M_impl._M_swap_data(__x._M_impl); } 10143: 10143: _Vector_base(_Vector_base&& __x, const allocator_type& __a) 10143: : _M_impl(__a) 10143: { 10143: if (__x.get_allocator() == __a) 10143: this->_M_impl._M_swap_data(__x._M_impl); 10143: else 10143: { 10143: size_t __n = __x._M_impl._M_finish - __x._M_impl._M_start; 10143: _M_create_storage(__n); 10143: } 10143: } 10143: 10143: 10143: ~_Vector_base() noexcept 10143: { 10143: _M_deallocate(_M_impl._M_start, 10143: _M_impl._M_end_of_storage - _M_impl._M_start); 10143: } 10143: 10143: public: 10143: _Vector_impl _M_impl; 10143: 10143: pointer 10143: _M_allocate(size_t __n) 10143: { 10143: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr; 10143: return __n != 0 ? _Tr::allocate(_M_impl, __n) : pointer(); 10143: } 10143: 10143: void 10143: _M_deallocate(pointer __p, size_t __n) 10143: { 10143: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr; 10143: if (__p) 10143: _Tr::deallocate(_M_impl, __p, __n); 10143: } 10143: 10143: private: 10143: void 10143: _M_create_storage(size_t __n) 10143: { 10143: this->_M_impl._M_start = this->_M_allocate(__n); 10143: this->_M_impl._M_finish = this->_M_impl._M_start; 10143: this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; 10143: } 10143: }; 10143: # 338 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: template > 10143: class vector : protected _Vector_base<_Tp, _Alloc> 10143: { 10143: # 351 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: static_assert(is_same::type, _Tp>::value, 10143: "std::vector must have a non-const, non-volatile value_type"); 10143: 10143: 10143: 10143: 10143: 10143: 10143: typedef _Vector_base<_Tp, _Alloc> _Base; 10143: typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; 10143: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits; 10143: 10143: public: 10143: typedef _Tp value_type; 10143: typedef typename _Base::pointer pointer; 10143: typedef typename _Alloc_traits::const_pointer const_pointer; 10143: typedef typename _Alloc_traits::reference reference; 10143: typedef typename _Alloc_traits::const_reference const_reference; 10143: typedef __gnu_cxx::__normal_iterator iterator; 10143: typedef __gnu_cxx::__normal_iterator 10143: const_iterator; 10143: typedef std::reverse_iterator const_reverse_iterator; 10143: typedef std::reverse_iterator reverse_iterator; 10143: typedef size_t size_type; 10143: typedef ptrdiff_t difference_type; 10143: typedef _Alloc allocator_type; 10143: 10143: protected: 10143: using _Base::_M_allocate; 10143: using _Base::_M_deallocate; 10143: using _Base::_M_impl; 10143: using _Base::_M_get_Tp_allocator; 10143: 10143: public: 10143: 10143: 10143: 10143: 10143: 10143: 10143: vector() 10143: 10143: noexcept(is_nothrow_default_constructible<_Alloc>::value) 10143: 10143: : _Base() { } 10143: 10143: 10143: 10143: 10143: 10143: explicit 10143: vector(const allocator_type& __a) noexcept 10143: : _Base(__a) { } 10143: # 414 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: explicit 10143: vector(size_type __n, const allocator_type& __a = allocator_type()) 10143: : _Base(__n, __a) 10143: { _M_default_initialize(__n); } 10143: # 427 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: vector(size_type __n, const value_type& __value, 10143: const allocator_type& __a = allocator_type()) 10143: : _Base(__n, __a) 10143: { _M_fill_initialize(__n, __value); } 10143: # 458 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: vector(const vector& __x) 10143: : _Base(__x.size(), 10143: _Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator())) 10143: { 10143: this->_M_impl._M_finish = 10143: std::__uninitialized_copy_a(__x.begin(), __x.end(), 10143: this->_M_impl._M_start, 10143: _M_get_Tp_allocator()); 10143: } 10143: # 476 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: vector(vector&& __x) noexcept 10143: : _Base(std::move(__x)) { } 10143: 10143: 10143: vector(const vector& __x, const allocator_type& __a) 10143: : _Base(__x.size(), __a) 10143: { 10143: this->_M_impl._M_finish = 10143: std::__uninitialized_copy_a(__x.begin(), __x.end(), 10143: this->_M_impl._M_start, 10143: _M_get_Tp_allocator()); 10143: } 10143: 10143: 10143: vector(vector&& __rv, const allocator_type& __m) 10143: noexcept(_Alloc_traits::_S_always_equal()) 10143: : _Base(std::move(__rv), __m) 10143: { 10143: if (__rv.get_allocator() != __m) 10143: { 10143: this->_M_impl._M_finish = 10143: std::__uninitialized_move_a(__rv.begin(), __rv.end(), 10143: this->_M_impl._M_start, 10143: _M_get_Tp_allocator()); 10143: __rv.clear(); 10143: } 10143: } 10143: # 515 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: vector(initializer_list __l, 10143: const allocator_type& __a = allocator_type()) 10143: : _Base(__a) 10143: { 10143: _M_range_initialize(__l.begin(), __l.end(), 10143: random_access_iterator_tag()); 10143: } 10143: # 541 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: template> 10143: vector(_InputIterator __first, _InputIterator __last, 10143: const allocator_type& __a = allocator_type()) 10143: : _Base(__a) 10143: { _M_initialize_dispatch(__first, __last, __false_type()); } 10143: # 565 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: ~vector() noexcept 10143: { 10143: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 10143: _M_get_Tp_allocator()); 10143: ; 10143: } 10143: # 581 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: vector& 10143: operator=(const vector& __x); 10143: # 595 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: vector& 10143: operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move()) 10143: { 10143: constexpr bool __move_storage = 10143: _Alloc_traits::_S_propagate_on_move_assign() 10143: || _Alloc_traits::_S_always_equal(); 10143: _M_move_assign(std::move(__x), __bool_constant<__move_storage>()); 10143: return *this; 10143: } 10143: # 616 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: vector& 10143: operator=(initializer_list __l) 10143: { 10143: this->_M_assign_aux(__l.begin(), __l.end(), 10143: random_access_iterator_tag()); 10143: return *this; 10143: } 10143: # 635 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: void 10143: assign(size_type __n, const value_type& __val) 10143: { _M_fill_assign(__n, __val); } 10143: # 652 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: template> 10143: void 10143: assign(_InputIterator __first, _InputIterator __last) 10143: { _M_assign_dispatch(__first, __last, __false_type()); } 10143: # 680 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: void 10143: assign(initializer_list __l) 10143: { 10143: this->_M_assign_aux(__l.begin(), __l.end(), 10143: random_access_iterator_tag()); 10143: } 10143: 10143: 10143: 10143: using _Base::get_allocator; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: iterator 10143: begin() noexcept 10143: { return iterator(this->_M_impl._M_start); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_iterator 10143: begin() const noexcept 10143: { return const_iterator(this->_M_impl._M_start); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: iterator 10143: end() noexcept 10143: { return iterator(this->_M_impl._M_finish); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_iterator 10143: end() const noexcept 10143: { return const_iterator(this->_M_impl._M_finish); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: reverse_iterator 10143: rbegin() noexcept 10143: { return reverse_iterator(end()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_reverse_iterator 10143: rbegin() const noexcept 10143: { return const_reverse_iterator(end()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: reverse_iterator 10143: rend() noexcept 10143: { return reverse_iterator(begin()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_reverse_iterator 10143: rend() const noexcept 10143: { return const_reverse_iterator(begin()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_iterator 10143: cbegin() const noexcept 10143: { return const_iterator(this->_M_impl._M_start); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_iterator 10143: cend() const noexcept 10143: { return const_iterator(this->_M_impl._M_finish); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_reverse_iterator 10143: crbegin() const noexcept 10143: { return const_reverse_iterator(end()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_reverse_iterator 10143: crend() const noexcept 10143: { return const_reverse_iterator(begin()); } 10143: 10143: 10143: 10143: 10143: size_type 10143: size() const noexcept 10143: { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); } 10143: 10143: 10143: size_type 10143: max_size() const noexcept 10143: { return _Alloc_traits::max_size(_M_get_Tp_allocator()); } 10143: # 823 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: void 10143: resize(size_type __new_size) 10143: { 10143: if (__new_size > size()) 10143: _M_default_append(__new_size - size()); 10143: else if (__new_size < size()) 10143: _M_erase_at_end(this->_M_impl._M_start + __new_size); 10143: } 10143: # 843 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: void 10143: resize(size_type __new_size, const value_type& __x) 10143: { 10143: if (__new_size > size()) 10143: _M_fill_insert(end(), __new_size - size(), __x); 10143: else if (__new_size < size()) 10143: _M_erase_at_end(this->_M_impl._M_start + __new_size); 10143: } 10143: # 875 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: void 10143: shrink_to_fit() 10143: { _M_shrink_to_fit(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: size_type 10143: capacity() const noexcept 10143: { return size_type(this->_M_impl._M_end_of_storage 10143: - this->_M_impl._M_start); } 10143: 10143: 10143: 10143: 10143: 10143: bool 10143: empty() const noexcept 10143: { return begin() == end(); } 10143: # 914 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: void 10143: reserve(size_type __n); 10143: # 929 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: reference 10143: operator[](size_type __n) noexcept 10143: { 10143: ; 10143: return *(this->_M_impl._M_start + __n); 10143: } 10143: # 947 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: const_reference 10143: operator[](size_type __n) const noexcept 10143: { 10143: ; 10143: return *(this->_M_impl._M_start + __n); 10143: } 10143: 10143: protected: 10143: 10143: void 10143: _M_range_check(size_type __n) const 10143: { 10143: if (__n >= this->size()) 10143: __throw_out_of_range_fmt(("vector::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)") 10143: 10143: , 10143: __n, this->size()); 10143: } 10143: 10143: public: 10143: # 978 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: reference 10143: at(size_type __n) 10143: { 10143: _M_range_check(__n); 10143: return (*this)[__n]; 10143: } 10143: # 996 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: const_reference 10143: at(size_type __n) const 10143: { 10143: _M_range_check(__n); 10143: return (*this)[__n]; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: reference 10143: front() noexcept 10143: { 10143: ; 10143: return *begin(); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: const_reference 10143: front() const noexcept 10143: { 10143: ; 10143: return *begin(); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: reference 10143: back() noexcept 10143: { 10143: ; 10143: return *(end() - 1); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: const_reference 10143: back() const noexcept 10143: { 10143: ; 10143: return *(end() - 1); 10143: } 10143: # 1054 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: _Tp* 10143: data() noexcept 10143: { return _M_data_ptr(this->_M_impl._M_start); } 10143: 10143: const _Tp* 10143: data() const noexcept 10143: { return _M_data_ptr(this->_M_impl._M_start); } 10143: # 1073 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: void 10143: push_back(const value_type& __x) 10143: { 10143: if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) 10143: { 10143: ; 10143: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 10143: __x); 10143: ++this->_M_impl._M_finish; 10143: ; 10143: } 10143: else 10143: _M_realloc_insert(end(), __x); 10143: } 10143: 10143: 10143: void 10143: push_back(value_type&& __x) 10143: { emplace_back(std::move(__x)); } 10143: 10143: template 10143: 10143: 10143: 10143: void 10143: 10143: emplace_back(_Args&&... __args); 10143: # 1111 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: void 10143: pop_back() noexcept 10143: { 10143: ; 10143: --this->_M_impl._M_finish; 10143: _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish); 10143: ; 10143: } 10143: # 1133 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: template 10143: iterator 10143: emplace(const_iterator __position, _Args&&... __args) 10143: { return _M_emplace_aux(__position, std::forward<_Args>(__args)...); } 10143: # 1149 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: iterator 10143: insert(const_iterator __position, const value_type& __x); 10143: # 1179 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: iterator 10143: insert(const_iterator __position, value_type&& __x) 10143: { return _M_insert_rval(__position, std::move(__x)); } 10143: # 1196 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: iterator 10143: insert(const_iterator __position, initializer_list __l) 10143: { 10143: auto __offset = __position - cbegin(); 10143: _M_range_insert(begin() + __offset, __l.begin(), __l.end(), 10143: std::random_access_iterator_tag()); 10143: return begin() + __offset; 10143: } 10143: # 1221 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: iterator 10143: insert(const_iterator __position, size_type __n, const value_type& __x) 10143: { 10143: difference_type __offset = __position - cbegin(); 10143: _M_fill_insert(begin() + __offset, __n, __x); 10143: return begin() + __offset; 10143: } 10143: # 1263 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: template> 10143: iterator 10143: insert(const_iterator __position, _InputIterator __first, 10143: _InputIterator __last) 10143: { 10143: difference_type __offset = __position - cbegin(); 10143: _M_insert_dispatch(begin() + __offset, 10143: __first, __last, __false_type()); 10143: return begin() + __offset; 10143: } 10143: # 1315 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: iterator 10143: 10143: erase(const_iterator __position) 10143: { return _M_erase(begin() + (__position - cbegin())); } 10143: # 1342 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: iterator 10143: 10143: erase(const_iterator __first, const_iterator __last) 10143: { 10143: const auto __beg = begin(); 10143: const auto __cbeg = cbegin(); 10143: return _M_erase(__beg + (__first - __cbeg), __beg + (__last - __cbeg)); 10143: } 10143: # 1366 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: void 10143: swap(vector& __x) noexcept 10143: { 10143: 10143: 10143: ; 10143: 10143: this->_M_impl._M_swap_data(__x._M_impl); 10143: _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(), 10143: __x._M_get_Tp_allocator()); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: void 10143: clear() noexcept 10143: { _M_erase_at_end(this->_M_impl._M_start); } 10143: 10143: protected: 10143: 10143: 10143: 10143: 10143: template 10143: pointer 10143: _M_allocate_and_copy(size_type __n, 10143: _ForwardIterator __first, _ForwardIterator __last) 10143: { 10143: pointer __result = this->_M_allocate(__n); 10143: if (true) 10143: { 10143: std::__uninitialized_copy_a(__first, __last, __result, 10143: _M_get_Tp_allocator()); 10143: return __result; 10143: } 10143: if (false) 10143: { 10143: _M_deallocate(__result, __n); 10143: ; 10143: } 10143: } 10143: # 1419 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: template 10143: void 10143: _M_initialize_dispatch(_Integer __n, _Integer __value, __true_type) 10143: { 10143: this->_M_impl._M_start = _M_allocate(static_cast(__n)); 10143: this->_M_impl._M_end_of_storage = 10143: this->_M_impl._M_start + static_cast(__n); 10143: _M_fill_initialize(static_cast(__n), __value); 10143: } 10143: 10143: 10143: template 10143: void 10143: _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, 10143: __false_type) 10143: { 10143: typedef typename std::iterator_traits<_InputIterator>:: 10143: iterator_category _IterCategory; 10143: _M_range_initialize(__first, __last, _IterCategory()); 10143: } 10143: 10143: 10143: template 10143: void 10143: _M_range_initialize(_InputIterator __first, 10143: _InputIterator __last, std::input_iterator_tag) 10143: { 10143: for (; __first != __last; ++__first) 10143: 10143: emplace_back(*__first); 10143: 10143: 10143: 10143: } 10143: 10143: 10143: template 10143: void 10143: _M_range_initialize(_ForwardIterator __first, 10143: _ForwardIterator __last, std::forward_iterator_tag) 10143: { 10143: const size_type __n = std::distance(__first, __last); 10143: this->_M_impl._M_start = this->_M_allocate(__n); 10143: this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; 10143: this->_M_impl._M_finish = 10143: std::__uninitialized_copy_a(__first, __last, 10143: this->_M_impl._M_start, 10143: _M_get_Tp_allocator()); 10143: } 10143: 10143: 10143: 10143: void 10143: _M_fill_initialize(size_type __n, const value_type& __value) 10143: { 10143: this->_M_impl._M_finish = 10143: std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value, 10143: _M_get_Tp_allocator()); 10143: } 10143: 10143: 10143: 10143: void 10143: _M_default_initialize(size_type __n) 10143: { 10143: this->_M_impl._M_finish = 10143: std::__uninitialized_default_n_a(this->_M_impl._M_start, __n, 10143: _M_get_Tp_allocator()); 10143: } 10143: # 1497 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: template 10143: void 10143: _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) 10143: { _M_fill_assign(__n, __val); } 10143: 10143: 10143: template 10143: void 10143: _M_assign_dispatch(_InputIterator __first, _InputIterator __last, 10143: __false_type) 10143: { _M_assign_aux(__first, __last, std::__iterator_category(__first)); } 10143: 10143: 10143: template 10143: void 10143: _M_assign_aux(_InputIterator __first, _InputIterator __last, 10143: std::input_iterator_tag); 10143: 10143: 10143: template 10143: void 10143: _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, 10143: std::forward_iterator_tag); 10143: 10143: 10143: 10143: void 10143: _M_fill_assign(size_type __n, const value_type& __val); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: void 10143: _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val, 10143: __true_type) 10143: { _M_fill_insert(__pos, __n, __val); } 10143: 10143: 10143: template 10143: void 10143: _M_insert_dispatch(iterator __pos, _InputIterator __first, 10143: _InputIterator __last, __false_type) 10143: { 10143: _M_range_insert(__pos, __first, __last, 10143: std::__iterator_category(__first)); 10143: } 10143: 10143: 10143: template 10143: void 10143: _M_range_insert(iterator __pos, _InputIterator __first, 10143: _InputIterator __last, std::input_iterator_tag); 10143: 10143: 10143: template 10143: void 10143: _M_range_insert(iterator __pos, _ForwardIterator __first, 10143: _ForwardIterator __last, std::forward_iterator_tag); 10143: 10143: 10143: 10143: void 10143: _M_fill_insert(iterator __pos, size_type __n, const value_type& __x); 10143: 10143: 10143: 10143: void 10143: _M_default_append(size_type __n); 10143: 10143: bool 10143: _M_shrink_to_fit(); 10143: # 1584 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: struct _Temporary_value 10143: { 10143: template 10143: explicit 10143: _Temporary_value(vector* __vec, _Args&&... __args) : _M_this(__vec) 10143: { 10143: _Alloc_traits::construct(_M_this->_M_impl, _M_ptr(), 10143: std::forward<_Args>(__args)...); 10143: } 10143: 10143: ~_Temporary_value() 10143: { _Alloc_traits::destroy(_M_this->_M_impl, _M_ptr()); } 10143: 10143: value_type& 10143: _M_val() { return *reinterpret_cast<_Tp*>(&__buf); } 10143: 10143: private: 10143: pointer 10143: _M_ptr() { return pointer_traits::pointer_to(_M_val()); } 10143: 10143: vector* _M_this; 10143: typename aligned_storage::type __buf; 10143: }; 10143: 10143: 10143: 10143: template 10143: void 10143: _M_insert_aux(iterator __position, _Arg&& __arg); 10143: 10143: template 10143: void 10143: _M_realloc_insert(iterator __position, _Args&&... __args); 10143: 10143: 10143: iterator 10143: _M_insert_rval(const_iterator __position, value_type&& __v); 10143: 10143: 10143: template 10143: iterator 10143: _M_emplace_aux(const_iterator __position, _Args&&... __args); 10143: 10143: 10143: iterator 10143: _M_emplace_aux(const_iterator __position, value_type&& __v) 10143: { return _M_insert_rval(__position, std::move(__v)); } 10143: 10143: 10143: 10143: size_type 10143: _M_check_len(size_type __n, const char* __s) const 10143: { 10143: if (max_size() - size() < __n) 10143: __throw_length_error((__s)); 10143: 10143: const size_type __len = size() + std::max(size(), __n); 10143: return (__len < size() || __len > max_size()) ? max_size() : __len; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: void 10143: _M_erase_at_end(pointer __pos) noexcept 10143: { 10143: if (size_type __n = this->_M_impl._M_finish - __pos) 10143: { 10143: std::_Destroy(__pos, this->_M_impl._M_finish, 10143: _M_get_Tp_allocator()); 10143: this->_M_impl._M_finish = __pos; 10143: ; 10143: } 10143: } 10143: 10143: iterator 10143: _M_erase(iterator __position); 10143: 10143: iterator 10143: _M_erase(iterator __first, iterator __last); 10143: 10143: 10143: private: 10143: 10143: 10143: 10143: void 10143: _M_move_assign(vector&& __x, std::true_type) noexcept 10143: { 10143: vector __tmp(get_allocator()); 10143: this->_M_impl._M_swap_data(__tmp._M_impl); 10143: this->_M_impl._M_swap_data(__x._M_impl); 10143: std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator()); 10143: } 10143: 10143: 10143: 10143: void 10143: _M_move_assign(vector&& __x, std::false_type) 10143: { 10143: if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator()) 10143: _M_move_assign(std::move(__x), std::true_type()); 10143: else 10143: { 10143: 10143: 10143: this->assign(std::__make_move_if_noexcept_iterator(__x.begin()), 10143: std::__make_move_if_noexcept_iterator(__x.end())); 10143: __x.clear(); 10143: } 10143: } 10143: 10143: 10143: template 10143: _Up* 10143: _M_data_ptr(_Up* __ptr) const noexcept 10143: { return __ptr; } 10143: 10143: 10143: template 10143: typename std::pointer_traits<_Ptr>::element_type* 10143: _M_data_ptr(_Ptr __ptr) const 10143: { return empty() ? nullptr : std::__to_address(__ptr); } 10143: # 1724 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: }; 10143: # 1746 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: template 10143: inline bool 10143: operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 10143: { return (__x.size() == __y.size() 10143: && std::equal(__x.begin(), __x.end(), __y.begin())); } 10143: # 1763 "/usr/include/c++/8/bits/stl_vector.h" 3 10143: template 10143: inline bool 10143: operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 10143: { return std::lexicographical_compare(__x.begin(), __x.end(), 10143: __y.begin(), __y.end()); } 10143: 10143: 10143: template 10143: inline bool 10143: operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 10143: { return !(__x == __y); } 10143: 10143: 10143: template 10143: inline bool 10143: operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 10143: { return __y < __x; } 10143: 10143: 10143: template 10143: inline bool 10143: operator<=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 10143: { return !(__y < __x); } 10143: 10143: 10143: template 10143: inline bool 10143: operator>=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 10143: { return !(__x < __y); } 10143: 10143: 10143: template 10143: inline void 10143: swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y) 10143: noexcept(noexcept(__x.swap(__y))) 10143: { __x.swap(__y); } 10143: 10143: 10143: 10143: } 10143: # 65 "/usr/include/c++/8/vector" 2 3 10143: # 1 "/usr/include/c++/8/bits/stl_bvector.h" 1 3 10143: # 63 "/usr/include/c++/8/bits/stl_bvector.h" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: typedef unsigned long _Bit_type; 10143: enum { _S_word_bit = int(8 * sizeof(_Bit_type)) }; 10143: 10143: struct _Bit_reference 10143: { 10143: _Bit_type * _M_p; 10143: _Bit_type _M_mask; 10143: 10143: _Bit_reference(_Bit_type * __x, _Bit_type __y) 10143: : _M_p(__x), _M_mask(__y) { } 10143: 10143: _Bit_reference() noexcept : _M_p(0), _M_mask(0) { } 10143: 10143: operator bool() const noexcept 10143: { return !!(*_M_p & _M_mask); } 10143: 10143: _Bit_reference& 10143: operator=(bool __x) noexcept 10143: { 10143: if (__x) 10143: *_M_p |= _M_mask; 10143: else 10143: *_M_p &= ~_M_mask; 10143: return *this; 10143: } 10143: 10143: _Bit_reference& 10143: operator=(const _Bit_reference& __x) noexcept 10143: { return *this = bool(__x); } 10143: 10143: bool 10143: operator==(const _Bit_reference& __x) const 10143: { return bool(*this) == bool(__x); } 10143: 10143: bool 10143: operator<(const _Bit_reference& __x) const 10143: { return !bool(*this) && bool(__x); } 10143: 10143: void 10143: flip() noexcept 10143: { *_M_p ^= _M_mask; } 10143: }; 10143: 10143: 10143: inline void 10143: swap(_Bit_reference __x, _Bit_reference __y) noexcept 10143: { 10143: bool __tmp = __x; 10143: __x = __y; 10143: __y = __tmp; 10143: } 10143: 10143: inline void 10143: swap(_Bit_reference __x, bool& __y) noexcept 10143: { 10143: bool __tmp = __x; 10143: __x = __y; 10143: __y = __tmp; 10143: } 10143: 10143: inline void 10143: swap(bool& __x, _Bit_reference __y) noexcept 10143: { 10143: bool __tmp = __x; 10143: __x = __y; 10143: __y = __tmp; 10143: } 10143: 10143: 10143: struct _Bit_iterator_base 10143: : public std::iterator 10143: { 10143: _Bit_type * _M_p; 10143: unsigned int _M_offset; 10143: 10143: _Bit_iterator_base(_Bit_type * __x, unsigned int __y) 10143: : _M_p(__x), _M_offset(__y) { } 10143: 10143: void 10143: _M_bump_up() 10143: { 10143: if (_M_offset++ == int(_S_word_bit) - 1) 10143: { 10143: _M_offset = 0; 10143: ++_M_p; 10143: } 10143: } 10143: 10143: void 10143: _M_bump_down() 10143: { 10143: if (_M_offset-- == 0) 10143: { 10143: _M_offset = int(_S_word_bit) - 1; 10143: --_M_p; 10143: } 10143: } 10143: 10143: void 10143: _M_incr(ptrdiff_t __i) 10143: { 10143: difference_type __n = __i + _M_offset; 10143: _M_p += __n / int(_S_word_bit); 10143: __n = __n % int(_S_word_bit); 10143: if (__n < 0) 10143: { 10143: __n += int(_S_word_bit); 10143: --_M_p; 10143: } 10143: _M_offset = static_cast(__n); 10143: } 10143: 10143: bool 10143: operator==(const _Bit_iterator_base& __i) const 10143: { return _M_p == __i._M_p && _M_offset == __i._M_offset; } 10143: 10143: bool 10143: operator<(const _Bit_iterator_base& __i) const 10143: { 10143: return _M_p < __i._M_p 10143: || (_M_p == __i._M_p && _M_offset < __i._M_offset); 10143: } 10143: 10143: bool 10143: operator!=(const _Bit_iterator_base& __i) const 10143: { return !(*this == __i); } 10143: 10143: bool 10143: operator>(const _Bit_iterator_base& __i) const 10143: { return __i < *this; } 10143: 10143: bool 10143: operator<=(const _Bit_iterator_base& __i) const 10143: { return !(__i < *this); } 10143: 10143: bool 10143: operator>=(const _Bit_iterator_base& __i) const 10143: { return !(*this < __i); } 10143: }; 10143: 10143: inline ptrdiff_t 10143: operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) 10143: { 10143: return (int(_S_word_bit) * (__x._M_p - __y._M_p) 10143: + __x._M_offset - __y._M_offset); 10143: } 10143: 10143: struct _Bit_iterator : public _Bit_iterator_base 10143: { 10143: typedef _Bit_reference reference; 10143: typedef _Bit_reference* pointer; 10143: typedef _Bit_iterator iterator; 10143: 10143: _Bit_iterator() : _Bit_iterator_base(0, 0) { } 10143: 10143: _Bit_iterator(_Bit_type * __x, unsigned int __y) 10143: : _Bit_iterator_base(__x, __y) { } 10143: 10143: iterator 10143: _M_const_cast() const 10143: { return *this; } 10143: 10143: reference 10143: operator*() const 10143: { return reference(_M_p, 1UL << _M_offset); } 10143: 10143: iterator& 10143: operator++() 10143: { 10143: _M_bump_up(); 10143: return *this; 10143: } 10143: 10143: iterator 10143: operator++(int) 10143: { 10143: iterator __tmp = *this; 10143: _M_bump_up(); 10143: return __tmp; 10143: } 10143: 10143: iterator& 10143: operator--() 10143: { 10143: _M_bump_down(); 10143: return *this; 10143: } 10143: 10143: iterator 10143: operator--(int) 10143: { 10143: iterator __tmp = *this; 10143: _M_bump_down(); 10143: return __tmp; 10143: } 10143: 10143: iterator& 10143: operator+=(difference_type __i) 10143: { 10143: _M_incr(__i); 10143: return *this; 10143: } 10143: 10143: iterator& 10143: operator-=(difference_type __i) 10143: { 10143: *this += -__i; 10143: return *this; 10143: } 10143: 10143: iterator 10143: operator+(difference_type __i) const 10143: { 10143: iterator __tmp = *this; 10143: return __tmp += __i; 10143: } 10143: 10143: iterator 10143: operator-(difference_type __i) const 10143: { 10143: iterator __tmp = *this; 10143: return __tmp -= __i; 10143: } 10143: 10143: reference 10143: operator[](difference_type __i) const 10143: { return *(*this + __i); } 10143: }; 10143: 10143: inline _Bit_iterator 10143: operator+(ptrdiff_t __n, const _Bit_iterator& __x) 10143: { return __x + __n; } 10143: 10143: struct _Bit_const_iterator : public _Bit_iterator_base 10143: { 10143: typedef bool reference; 10143: typedef bool const_reference; 10143: typedef const bool* pointer; 10143: typedef _Bit_const_iterator const_iterator; 10143: 10143: _Bit_const_iterator() : _Bit_iterator_base(0, 0) { } 10143: 10143: _Bit_const_iterator(_Bit_type * __x, unsigned int __y) 10143: : _Bit_iterator_base(__x, __y) { } 10143: 10143: _Bit_const_iterator(const _Bit_iterator& __x) 10143: : _Bit_iterator_base(__x._M_p, __x._M_offset) { } 10143: 10143: _Bit_iterator 10143: _M_const_cast() const 10143: { return _Bit_iterator(_M_p, _M_offset); } 10143: 10143: const_reference 10143: operator*() const 10143: { return _Bit_reference(_M_p, 1UL << _M_offset); } 10143: 10143: const_iterator& 10143: operator++() 10143: { 10143: _M_bump_up(); 10143: return *this; 10143: } 10143: 10143: const_iterator 10143: operator++(int) 10143: { 10143: const_iterator __tmp = *this; 10143: _M_bump_up(); 10143: return __tmp; 10143: } 10143: 10143: const_iterator& 10143: operator--() 10143: { 10143: _M_bump_down(); 10143: return *this; 10143: } 10143: 10143: const_iterator 10143: operator--(int) 10143: { 10143: const_iterator __tmp = *this; 10143: _M_bump_down(); 10143: return __tmp; 10143: } 10143: 10143: const_iterator& 10143: operator+=(difference_type __i) 10143: { 10143: _M_incr(__i); 10143: return *this; 10143: } 10143: 10143: const_iterator& 10143: operator-=(difference_type __i) 10143: { 10143: *this += -__i; 10143: return *this; 10143: } 10143: 10143: const_iterator 10143: operator+(difference_type __i) const 10143: { 10143: const_iterator __tmp = *this; 10143: return __tmp += __i; 10143: } 10143: 10143: const_iterator 10143: operator-(difference_type __i) const 10143: { 10143: const_iterator __tmp = *this; 10143: return __tmp -= __i; 10143: } 10143: 10143: const_reference 10143: operator[](difference_type __i) const 10143: { return *(*this + __i); } 10143: }; 10143: 10143: inline _Bit_const_iterator 10143: operator+(ptrdiff_t __n, const _Bit_const_iterator& __x) 10143: { return __x + __n; } 10143: 10143: inline void 10143: __fill_bvector(_Bit_type * __v, 10143: unsigned int __first, unsigned int __last, bool __x) 10143: { 10143: const _Bit_type __fmask = ~0ul << __first; 10143: const _Bit_type __lmask = ~0ul >> (_S_word_bit - __last); 10143: const _Bit_type __mask = __fmask & __lmask; 10143: 10143: if (__x) 10143: *__v |= __mask; 10143: else 10143: *__v &= ~__mask; 10143: } 10143: 10143: inline void 10143: fill(_Bit_iterator __first, _Bit_iterator __last, const bool& __x) 10143: { 10143: if (__first._M_p != __last._M_p) 10143: { 10143: _Bit_type* __first_p = __first._M_p; 10143: if (__first._M_offset != 0) 10143: __fill_bvector(__first_p++, __first._M_offset, _S_word_bit, __x); 10143: 10143: __builtin_memset(__first_p, __x ? ~0 : 0, 10143: (__last._M_p - __first_p) * sizeof(_Bit_type)); 10143: 10143: if (__last._M_offset != 0) 10143: __fill_bvector(__last._M_p, 0, __last._M_offset, __x); 10143: } 10143: else if (__first._M_offset != __last._M_offset) 10143: __fill_bvector(__first._M_p, __first._M_offset, __last._M_offset, __x); 10143: } 10143: 10143: template 10143: struct _Bvector_base 10143: { 10143: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 10143: rebind<_Bit_type>::other _Bit_alloc_type; 10143: typedef typename __gnu_cxx::__alloc_traits<_Bit_alloc_type> 10143: _Bit_alloc_traits; 10143: typedef typename _Bit_alloc_traits::pointer _Bit_pointer; 10143: 10143: struct _Bvector_impl_data 10143: { 10143: _Bit_iterator _M_start; 10143: _Bit_iterator _M_finish; 10143: _Bit_pointer _M_end_of_storage; 10143: 10143: _Bvector_impl_data() noexcept 10143: : _M_start(), _M_finish(), _M_end_of_storage() 10143: { } 10143: 10143: 10143: _Bvector_impl_data(_Bvector_impl_data&& __x) noexcept 10143: : _M_start(__x._M_start), _M_finish(__x._M_finish) 10143: , _M_end_of_storage(__x._M_end_of_storage) 10143: { __x._M_reset(); } 10143: 10143: void 10143: _M_move_data(_Bvector_impl_data&& __x) noexcept 10143: { 10143: this->_M_start = __x._M_start; 10143: this->_M_finish = __x._M_finish; 10143: this->_M_end_of_storage = __x._M_end_of_storage; 10143: __x._M_reset(); 10143: } 10143: 10143: 10143: void 10143: _M_reset() noexcept 10143: { 10143: _M_start = _M_finish = _Bit_iterator(); 10143: _M_end_of_storage = _Bit_pointer(); 10143: } 10143: }; 10143: 10143: struct _Bvector_impl 10143: : public _Bit_alloc_type, public _Bvector_impl_data 10143: { 10143: public: 10143: _Bvector_impl() 10143: noexcept(noexcept(_Bit_alloc_type())) 10143: : _Bit_alloc_type() 10143: { } 10143: 10143: _Bvector_impl(const _Bit_alloc_type& __a) noexcept 10143: : _Bit_alloc_type(__a) 10143: { } 10143: 10143: 10143: _Bvector_impl(_Bvector_impl&&) = default; 10143: 10143: 10143: _Bit_type* 10143: _M_end_addr() const noexcept 10143: { 10143: if (this->_M_end_of_storage) 10143: return std::__addressof(this->_M_end_of_storage[-1]) + 1; 10143: return 0; 10143: } 10143: }; 10143: 10143: public: 10143: typedef _Alloc allocator_type; 10143: 10143: _Bit_alloc_type& 10143: _M_get_Bit_allocator() noexcept 10143: { return this->_M_impl; } 10143: 10143: const _Bit_alloc_type& 10143: _M_get_Bit_allocator() const noexcept 10143: { return this->_M_impl; } 10143: 10143: allocator_type 10143: get_allocator() const noexcept 10143: { return allocator_type(_M_get_Bit_allocator()); } 10143: 10143: 10143: _Bvector_base() = default; 10143: 10143: 10143: 10143: 10143: _Bvector_base(const allocator_type& __a) 10143: : _M_impl(__a) { } 10143: 10143: 10143: _Bvector_base(_Bvector_base&&) = default; 10143: 10143: 10143: ~_Bvector_base() 10143: { this->_M_deallocate(); } 10143: 10143: protected: 10143: _Bvector_impl _M_impl; 10143: 10143: _Bit_pointer 10143: _M_allocate(size_t __n) 10143: { return _Bit_alloc_traits::allocate(_M_impl, _S_nword(__n)); } 10143: 10143: void 10143: _M_deallocate() 10143: { 10143: if (_M_impl._M_start._M_p) 10143: { 10143: const size_t __n = _M_impl._M_end_addr() - _M_impl._M_start._M_p; 10143: _Bit_alloc_traits::deallocate(_M_impl, 10143: _M_impl._M_end_of_storage - __n, 10143: __n); 10143: _M_impl._M_reset(); 10143: } 10143: } 10143: 10143: 10143: void 10143: _M_move_data(_Bvector_base&& __x) noexcept 10143: { _M_impl._M_move_data(std::move(__x._M_impl)); } 10143: 10143: 10143: static size_t 10143: _S_nword(size_t __n) 10143: { return (__n + int(_S_word_bit) - 1) / int(_S_word_bit); } 10143: }; 10143: 10143: 10143: 10143: } 10143: 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: # 586 "/usr/include/c++/8/bits/stl_bvector.h" 3 10143: template 10143: class vector : protected _Bvector_base<_Alloc> 10143: { 10143: typedef _Bvector_base<_Alloc> _Base; 10143: typedef typename _Base::_Bit_pointer _Bit_pointer; 10143: typedef typename _Base::_Bit_alloc_traits _Bit_alloc_traits; 10143: 10143: 10143: template friend struct hash; 10143: 10143: 10143: public: 10143: typedef bool value_type; 10143: typedef size_t size_type; 10143: typedef ptrdiff_t difference_type; 10143: typedef _Bit_reference reference; 10143: typedef bool const_reference; 10143: typedef _Bit_reference* pointer; 10143: typedef const bool* const_pointer; 10143: typedef _Bit_iterator iterator; 10143: typedef _Bit_const_iterator const_iterator; 10143: typedef std::reverse_iterator const_reverse_iterator; 10143: typedef std::reverse_iterator reverse_iterator; 10143: typedef _Alloc allocator_type; 10143: 10143: allocator_type 10143: get_allocator() const 10143: { return _Base::get_allocator(); } 10143: 10143: protected: 10143: using _Base::_M_allocate; 10143: using _Base::_M_deallocate; 10143: using _Base::_S_nword; 10143: using _Base::_M_get_Bit_allocator; 10143: 10143: public: 10143: 10143: vector() = default; 10143: 10143: 10143: 10143: 10143: explicit 10143: vector(const allocator_type& __a) 10143: : _Base(__a) { } 10143: 10143: 10143: explicit 10143: vector(size_type __n, const allocator_type& __a = allocator_type()) 10143: : vector(__n, false, __a) 10143: { } 10143: 10143: vector(size_type __n, const bool& __value, 10143: const allocator_type& __a = allocator_type()) 10143: 10143: 10143: 10143: 10143: 10143: : _Base(__a) 10143: { 10143: _M_initialize(__n); 10143: _M_initialize_value(__value); 10143: } 10143: 10143: vector(const vector& __x) 10143: : _Base(_Bit_alloc_traits::_S_select_on_copy(__x._M_get_Bit_allocator())) 10143: { 10143: _M_initialize(__x.size()); 10143: _M_copy_aligned(__x.begin(), __x.end(), this->_M_impl._M_start); 10143: } 10143: 10143: 10143: vector(vector&&) = default; 10143: 10143: vector(vector&& __x, const allocator_type& __a) 10143: noexcept(_Bit_alloc_traits::_S_always_equal()) 10143: : _Base(__a) 10143: { 10143: if (__x.get_allocator() == __a) 10143: this->_M_move_data(std::move(__x)); 10143: else 10143: { 10143: _M_initialize(__x.size()); 10143: _M_copy_aligned(__x.begin(), __x.end(), begin()); 10143: __x.clear(); 10143: } 10143: } 10143: 10143: vector(const vector& __x, const allocator_type& __a) 10143: : _Base(__a) 10143: { 10143: _M_initialize(__x.size()); 10143: _M_copy_aligned(__x.begin(), __x.end(), this->_M_impl._M_start); 10143: } 10143: 10143: vector(initializer_list __l, 10143: const allocator_type& __a = allocator_type()) 10143: : _Base(__a) 10143: { 10143: _M_initialize_range(__l.begin(), __l.end(), 10143: random_access_iterator_tag()); 10143: } 10143: 10143: 10143: 10143: template> 10143: vector(_InputIterator __first, _InputIterator __last, 10143: const allocator_type& __a = allocator_type()) 10143: : _Base(__a) 10143: { _M_initialize_dispatch(__first, __last, __false_type()); } 10143: # 709 "/usr/include/c++/8/bits/stl_bvector.h" 3 10143: ~vector() noexcept { } 10143: 10143: vector& 10143: operator=(const vector& __x) 10143: { 10143: if (&__x == this) 10143: return *this; 10143: 10143: if (_Bit_alloc_traits::_S_propagate_on_copy_assign()) 10143: { 10143: if (this->_M_get_Bit_allocator() != __x._M_get_Bit_allocator()) 10143: { 10143: this->_M_deallocate(); 10143: std::__alloc_on_copy(_M_get_Bit_allocator(), 10143: __x._M_get_Bit_allocator()); 10143: _M_initialize(__x.size()); 10143: } 10143: else 10143: std::__alloc_on_copy(_M_get_Bit_allocator(), 10143: __x._M_get_Bit_allocator()); 10143: } 10143: 10143: if (__x.size() > capacity()) 10143: { 10143: this->_M_deallocate(); 10143: _M_initialize(__x.size()); 10143: } 10143: this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(), 10143: begin()); 10143: return *this; 10143: } 10143: 10143: 10143: vector& 10143: operator=(vector&& __x) noexcept(_Bit_alloc_traits::_S_nothrow_move()) 10143: { 10143: if (_Bit_alloc_traits::_S_propagate_on_move_assign() 10143: || this->_M_get_Bit_allocator() == __x._M_get_Bit_allocator()) 10143: { 10143: this->_M_deallocate(); 10143: this->_M_move_data(std::move(__x)); 10143: std::__alloc_on_move(_M_get_Bit_allocator(), 10143: __x._M_get_Bit_allocator()); 10143: } 10143: else 10143: { 10143: if (__x.size() > capacity()) 10143: { 10143: this->_M_deallocate(); 10143: _M_initialize(__x.size()); 10143: } 10143: this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(), 10143: begin()); 10143: __x.clear(); 10143: } 10143: return *this; 10143: } 10143: 10143: vector& 10143: operator=(initializer_list __l) 10143: { 10143: this->assign (__l.begin(), __l.end()); 10143: return *this; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: void 10143: assign(size_type __n, const bool& __x) 10143: { _M_fill_assign(__n, __x); } 10143: 10143: 10143: template> 10143: void 10143: assign(_InputIterator __first, _InputIterator __last) 10143: { _M_assign_aux(__first, __last, std::__iterator_category(__first)); } 10143: # 800 "/usr/include/c++/8/bits/stl_bvector.h" 3 10143: void 10143: assign(initializer_list __l) 10143: { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); } 10143: 10143: 10143: iterator 10143: begin() noexcept 10143: { return this->_M_impl._M_start; } 10143: 10143: const_iterator 10143: begin() const noexcept 10143: { return this->_M_impl._M_start; } 10143: 10143: iterator 10143: end() noexcept 10143: { return this->_M_impl._M_finish; } 10143: 10143: const_iterator 10143: end() const noexcept 10143: { return this->_M_impl._M_finish; } 10143: 10143: reverse_iterator 10143: rbegin() noexcept 10143: { return reverse_iterator(end()); } 10143: 10143: const_reverse_iterator 10143: rbegin() const noexcept 10143: { return const_reverse_iterator(end()); } 10143: 10143: reverse_iterator 10143: rend() noexcept 10143: { return reverse_iterator(begin()); } 10143: 10143: const_reverse_iterator 10143: rend() const noexcept 10143: { return const_reverse_iterator(begin()); } 10143: 10143: 10143: const_iterator 10143: cbegin() const noexcept 10143: { return this->_M_impl._M_start; } 10143: 10143: const_iterator 10143: cend() const noexcept 10143: { return this->_M_impl._M_finish; } 10143: 10143: const_reverse_iterator 10143: crbegin() const noexcept 10143: { return const_reverse_iterator(end()); } 10143: 10143: const_reverse_iterator 10143: crend() const noexcept 10143: { return const_reverse_iterator(begin()); } 10143: 10143: 10143: size_type 10143: size() const noexcept 10143: { return size_type(end() - begin()); } 10143: 10143: size_type 10143: max_size() const noexcept 10143: { 10143: const size_type __isize = 10143: __gnu_cxx::__numeric_traits::__max 10143: - int(_S_word_bit) + 1; 10143: const size_type __asize 10143: = _Bit_alloc_traits::max_size(_M_get_Bit_allocator()); 10143: return (__asize <= __isize / int(_S_word_bit) 10143: ? __asize * int(_S_word_bit) : __isize); 10143: } 10143: 10143: size_type 10143: capacity() const noexcept 10143: { return size_type(const_iterator(this->_M_impl._M_end_addr(), 0) 10143: - begin()); } 10143: 10143: bool 10143: empty() const noexcept 10143: { return begin() == end(); } 10143: 10143: reference 10143: operator[](size_type __n) 10143: { 10143: return *iterator(this->_M_impl._M_start._M_p 10143: + __n / int(_S_word_bit), __n % int(_S_word_bit)); 10143: } 10143: 10143: const_reference 10143: operator[](size_type __n) const 10143: { 10143: return *const_iterator(this->_M_impl._M_start._M_p 10143: + __n / int(_S_word_bit), __n % int(_S_word_bit)); 10143: } 10143: 10143: protected: 10143: void 10143: _M_range_check(size_type __n) const 10143: { 10143: if (__n >= this->size()) 10143: __throw_out_of_range_fmt(("vector::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)") 10143: 10143: , 10143: __n, this->size()); 10143: } 10143: 10143: public: 10143: reference 10143: at(size_type __n) 10143: { _M_range_check(__n); return (*this)[__n]; } 10143: 10143: const_reference 10143: at(size_type __n) const 10143: { _M_range_check(__n); return (*this)[__n]; } 10143: 10143: void 10143: reserve(size_type __n) 10143: { 10143: if (__n > max_size()) 10143: __throw_length_error(("vector::reserve")); 10143: if (capacity() < __n) 10143: _M_reallocate(__n); 10143: } 10143: 10143: reference 10143: front() 10143: { return *begin(); } 10143: 10143: const_reference 10143: front() const 10143: { return *begin(); } 10143: 10143: reference 10143: back() 10143: { return *(end() - 1); } 10143: 10143: const_reference 10143: back() const 10143: { return *(end() - 1); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: void 10143: data() noexcept { } 10143: 10143: void 10143: push_back(bool __x) 10143: { 10143: if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr()) 10143: *this->_M_impl._M_finish++ = __x; 10143: else 10143: _M_insert_aux(end(), __x); 10143: } 10143: 10143: void 10143: swap(vector& __x) noexcept 10143: { 10143: std::swap(this->_M_impl._M_start, __x._M_impl._M_start); 10143: std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish); 10143: std::swap(this->_M_impl._M_end_of_storage, 10143: __x._M_impl._M_end_of_storage); 10143: _Bit_alloc_traits::_S_on_swap(_M_get_Bit_allocator(), 10143: __x._M_get_Bit_allocator()); 10143: } 10143: 10143: 10143: static void 10143: swap(reference __x, reference __y) noexcept 10143: { 10143: bool __tmp = __x; 10143: __x = __y; 10143: __y = __tmp; 10143: } 10143: 10143: iterator 10143: 10143: insert(const_iterator __position, const bool& __x = bool()) 10143: 10143: 10143: 10143: { 10143: const difference_type __n = __position - begin(); 10143: if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr() 10143: && __position == end()) 10143: *this->_M_impl._M_finish++ = __x; 10143: else 10143: _M_insert_aux(__position._M_const_cast(), __x); 10143: return begin() + __n; 10143: } 10143: 10143: 10143: template> 10143: iterator 10143: insert(const_iterator __position, 10143: _InputIterator __first, _InputIterator __last) 10143: { 10143: difference_type __offset = __position - cbegin(); 10143: _M_insert_dispatch(__position._M_const_cast(), 10143: __first, __last, __false_type()); 10143: return begin() + __offset; 10143: } 10143: # 1016 "/usr/include/c++/8/bits/stl_bvector.h" 3 10143: iterator 10143: insert(const_iterator __position, size_type __n, const bool& __x) 10143: { 10143: difference_type __offset = __position - cbegin(); 10143: _M_fill_insert(__position._M_const_cast(), __n, __x); 10143: return begin() + __offset; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: iterator 10143: insert(const_iterator __p, initializer_list __l) 10143: { return this->insert(__p, __l.begin(), __l.end()); } 10143: 10143: 10143: void 10143: pop_back() 10143: { --this->_M_impl._M_finish; } 10143: 10143: iterator 10143: 10143: erase(const_iterator __position) 10143: 10143: 10143: 10143: { return _M_erase(__position._M_const_cast()); } 10143: 10143: iterator 10143: 10143: erase(const_iterator __first, const_iterator __last) 10143: 10143: 10143: 10143: { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); } 10143: 10143: void 10143: resize(size_type __new_size, bool __x = bool()) 10143: { 10143: if (__new_size < size()) 10143: _M_erase_at_end(begin() + difference_type(__new_size)); 10143: else 10143: insert(end(), __new_size - size(), __x); 10143: } 10143: 10143: 10143: void 10143: shrink_to_fit() 10143: { _M_shrink_to_fit(); } 10143: 10143: 10143: void 10143: flip() noexcept 10143: { 10143: _Bit_type * const __end = this->_M_impl._M_end_addr(); 10143: for (_Bit_type * __p = this->_M_impl._M_start._M_p; __p != __end; ++__p) 10143: *__p = ~*__p; 10143: } 10143: 10143: void 10143: clear() noexcept 10143: { _M_erase_at_end(begin()); } 10143: 10143: 10143: template 10143: 10143: 10143: 10143: void 10143: 10143: emplace_back(_Args&&... __args) 10143: { 10143: push_back(bool(__args...)); 10143: 10143: 10143: 10143: } 10143: 10143: template 10143: iterator 10143: emplace(const_iterator __pos, _Args&&... __args) 10143: { return insert(__pos, bool(__args...)); } 10143: 10143: 10143: protected: 10143: 10143: iterator 10143: _M_copy_aligned(const_iterator __first, const_iterator __last, 10143: iterator __result) 10143: { 10143: _Bit_type* __q = std::copy(__first._M_p, __last._M_p, __result._M_p); 10143: return std::copy(const_iterator(__last._M_p, 0), __last, 10143: iterator(__q, 0)); 10143: } 10143: 10143: void 10143: _M_initialize(size_type __n) 10143: { 10143: if (__n) 10143: { 10143: _Bit_pointer __q = this->_M_allocate(__n); 10143: this->_M_impl._M_end_of_storage = __q + _S_nword(__n); 10143: this->_M_impl._M_start = iterator(std::__addressof(*__q), 0); 10143: } 10143: else 10143: { 10143: this->_M_impl._M_end_of_storage = _Bit_pointer(); 10143: this->_M_impl._M_start = iterator(0, 0); 10143: } 10143: this->_M_impl._M_finish = this->_M_impl._M_start + difference_type(__n); 10143: 10143: } 10143: 10143: void 10143: _M_initialize_value(bool __x) 10143: { 10143: if (_Bit_type* __p = this->_M_impl._M_start._M_p) 10143: __builtin_memset(__p, __x ? ~0 : 0, 10143: (this->_M_impl._M_end_addr() - __p) 10143: * sizeof(_Bit_type)); 10143: } 10143: 10143: void 10143: _M_reallocate(size_type __n); 10143: 10143: 10143: bool 10143: _M_shrink_to_fit(); 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: void 10143: _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) 10143: { 10143: _M_initialize(static_cast(__n)); 10143: _M_initialize_value(__x); 10143: } 10143: 10143: template 10143: void 10143: _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, 10143: __false_type) 10143: { _M_initialize_range(__first, __last, 10143: std::__iterator_category(__first)); } 10143: 10143: template 10143: void 10143: _M_initialize_range(_InputIterator __first, _InputIterator __last, 10143: std::input_iterator_tag) 10143: { 10143: for (; __first != __last; ++__first) 10143: push_back(*__first); 10143: } 10143: 10143: template 10143: void 10143: _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last, 10143: std::forward_iterator_tag) 10143: { 10143: const size_type __n = std::distance(__first, __last); 10143: _M_initialize(__n); 10143: std::copy(__first, __last, this->_M_impl._M_start); 10143: } 10143: # 1202 "/usr/include/c++/8/bits/stl_bvector.h" 3 10143: void 10143: _M_fill_assign(size_t __n, bool __x) 10143: { 10143: if (__n > size()) 10143: { 10143: _M_initialize_value(__x); 10143: insert(end(), __n - size(), __x); 10143: } 10143: else 10143: { 10143: _M_erase_at_end(begin() + __n); 10143: _M_initialize_value(__x); 10143: } 10143: } 10143: 10143: template 10143: void 10143: _M_assign_aux(_InputIterator __first, _InputIterator __last, 10143: std::input_iterator_tag) 10143: { 10143: iterator __cur = begin(); 10143: for (; __first != __last && __cur != end(); ++__cur, ++__first) 10143: *__cur = *__first; 10143: if (__first == __last) 10143: _M_erase_at_end(__cur); 10143: else 10143: insert(end(), __first, __last); 10143: } 10143: 10143: template 10143: void 10143: _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, 10143: std::forward_iterator_tag) 10143: { 10143: const size_type __len = std::distance(__first, __last); 10143: if (__len < size()) 10143: _M_erase_at_end(std::copy(__first, __last, begin())); 10143: else 10143: { 10143: _ForwardIterator __mid = __first; 10143: std::advance(__mid, size()); 10143: std::copy(__first, __mid, begin()); 10143: insert(end(), __mid, __last); 10143: } 10143: } 10143: 10143: 10143: 10143: 10143: 10143: template 10143: void 10143: _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x, 10143: __true_type) 10143: { _M_fill_insert(__pos, __n, __x); } 10143: 10143: template 10143: void 10143: _M_insert_dispatch(iterator __pos, 10143: _InputIterator __first, _InputIterator __last, 10143: __false_type) 10143: { _M_insert_range(__pos, __first, __last, 10143: std::__iterator_category(__first)); } 10143: 10143: void 10143: _M_fill_insert(iterator __position, size_type __n, bool __x); 10143: 10143: template 10143: void 10143: _M_insert_range(iterator __pos, _InputIterator __first, 10143: _InputIterator __last, std::input_iterator_tag) 10143: { 10143: for (; __first != __last; ++__first) 10143: { 10143: __pos = insert(__pos, *__first); 10143: ++__pos; 10143: } 10143: } 10143: 10143: template 10143: void 10143: _M_insert_range(iterator __position, _ForwardIterator __first, 10143: _ForwardIterator __last, std::forward_iterator_tag); 10143: 10143: void 10143: _M_insert_aux(iterator __position, bool __x); 10143: 10143: size_type 10143: _M_check_len(size_type __n, const char* __s) const 10143: { 10143: if (max_size() - size() < __n) 10143: __throw_length_error((__s)); 10143: 10143: const size_type __len = size() + std::max(size(), __n); 10143: return (__len < size() || __len > max_size()) ? max_size() : __len; 10143: } 10143: 10143: void 10143: _M_erase_at_end(iterator __pos) 10143: { this->_M_impl._M_finish = __pos; } 10143: 10143: iterator 10143: _M_erase(iterator __pos); 10143: 10143: iterator 10143: _M_erase(iterator __first, iterator __last); 10143: }; 10143: 10143: 10143: 10143: } 10143: 10143: 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: template 10143: struct hash> 10143: : public __hash_base> 10143: { 10143: size_t 10143: operator()(const std::vector&) const noexcept; 10143: }; 10143: 10143: 10143: } 10143: # 66 "/usr/include/c++/8/vector" 2 3 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/bits/vector.tcc" 1 3 10143: # 59 "/usr/include/c++/8/bits/vector.tcc" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: template 10143: void 10143: vector<_Tp, _Alloc>:: 10143: reserve(size_type __n) 10143: { 10143: if (__n > this->max_size()) 10143: __throw_length_error(("vector::reserve")); 10143: if (this->capacity() < __n) 10143: { 10143: const size_type __old_size = size(); 10143: pointer __tmp = _M_allocate_and_copy(__n, 10143: std::__make_move_if_noexcept_iterator(this->_M_impl._M_start), 10143: std::__make_move_if_noexcept_iterator(this->_M_impl._M_finish)); 10143: ; 10143: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 10143: _M_get_Tp_allocator()); 10143: _M_deallocate(this->_M_impl._M_start, 10143: this->_M_impl._M_end_of_storage 10143: - this->_M_impl._M_start); 10143: this->_M_impl._M_start = __tmp; 10143: this->_M_impl._M_finish = __tmp + __old_size; 10143: this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; 10143: } 10143: } 10143: 10143: 10143: template 10143: template 10143: 10143: 10143: 10143: void 10143: 10143: vector<_Tp, _Alloc>:: 10143: emplace_back(_Args&&... __args) 10143: { 10143: if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) 10143: { 10143: ; 10143: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 10143: std::forward<_Args>(__args)...); 10143: ++this->_M_impl._M_finish; 10143: ; 10143: } 10143: else 10143: _M_realloc_insert(end(), std::forward<_Args>(__args)...); 10143: 10143: 10143: 10143: } 10143: 10143: 10143: template 10143: typename vector<_Tp, _Alloc>::iterator 10143: vector<_Tp, _Alloc>:: 10143: 10143: insert(const_iterator __position, const value_type& __x) 10143: 10143: 10143: 10143: { 10143: const size_type __n = __position - begin(); 10143: if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) 10143: if (__position == end()) 10143: { 10143: ; 10143: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 10143: __x); 10143: ++this->_M_impl._M_finish; 10143: ; 10143: } 10143: else 10143: { 10143: 10143: const auto __pos = begin() + (__position - cbegin()); 10143: 10143: 10143: _Temporary_value __x_copy(this, __x); 10143: _M_insert_aux(__pos, std::move(__x_copy._M_val())); 10143: 10143: 10143: 10143: } 10143: else 10143: 10143: _M_realloc_insert(begin() + (__position - cbegin()), __x); 10143: 10143: 10143: 10143: 10143: return iterator(this->_M_impl._M_start + __n); 10143: } 10143: 10143: template 10143: typename vector<_Tp, _Alloc>::iterator 10143: vector<_Tp, _Alloc>:: 10143: _M_erase(iterator __position) 10143: { 10143: if (__position + 1 != end()) 10143: std::move(__position + 1, end(), __position); 10143: --this->_M_impl._M_finish; 10143: _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish); 10143: ; 10143: return __position; 10143: } 10143: 10143: template 10143: typename vector<_Tp, _Alloc>::iterator 10143: vector<_Tp, _Alloc>:: 10143: _M_erase(iterator __first, iterator __last) 10143: { 10143: if (__first != __last) 10143: { 10143: if (__last != end()) 10143: std::move(__last, end(), __first); 10143: _M_erase_at_end(__first.base() + (end() - __last)); 10143: } 10143: return __first; 10143: } 10143: 10143: template 10143: vector<_Tp, _Alloc>& 10143: vector<_Tp, _Alloc>:: 10143: operator=(const vector<_Tp, _Alloc>& __x) 10143: { 10143: if (&__x != this) 10143: { 10143: ; 10143: 10143: if (_Alloc_traits::_S_propagate_on_copy_assign()) 10143: { 10143: if (!_Alloc_traits::_S_always_equal() 10143: && _M_get_Tp_allocator() != __x._M_get_Tp_allocator()) 10143: { 10143: 10143: this->clear(); 10143: _M_deallocate(this->_M_impl._M_start, 10143: this->_M_impl._M_end_of_storage 10143: - this->_M_impl._M_start); 10143: this->_M_impl._M_start = nullptr; 10143: this->_M_impl._M_finish = nullptr; 10143: this->_M_impl._M_end_of_storage = nullptr; 10143: } 10143: std::__alloc_on_copy(_M_get_Tp_allocator(), 10143: __x._M_get_Tp_allocator()); 10143: } 10143: 10143: const size_type __xlen = __x.size(); 10143: if (__xlen > capacity()) 10143: { 10143: pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(), 10143: __x.end()); 10143: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 10143: _M_get_Tp_allocator()); 10143: _M_deallocate(this->_M_impl._M_start, 10143: this->_M_impl._M_end_of_storage 10143: - this->_M_impl._M_start); 10143: this->_M_impl._M_start = __tmp; 10143: this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __xlen; 10143: } 10143: else if (size() >= __xlen) 10143: { 10143: std::_Destroy(std::copy(__x.begin(), __x.end(), begin()), 10143: end(), _M_get_Tp_allocator()); 10143: } 10143: else 10143: { 10143: std::copy(__x._M_impl._M_start, __x._M_impl._M_start + size(), 10143: this->_M_impl._M_start); 10143: std::__uninitialized_copy_a(__x._M_impl._M_start + size(), 10143: __x._M_impl._M_finish, 10143: this->_M_impl._M_finish, 10143: _M_get_Tp_allocator()); 10143: } 10143: this->_M_impl._M_finish = this->_M_impl._M_start + __xlen; 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: void 10143: vector<_Tp, _Alloc>:: 10143: _M_fill_assign(size_t __n, const value_type& __val) 10143: { 10143: if (__n > capacity()) 10143: { 10143: vector __tmp(__n, __val, _M_get_Tp_allocator()); 10143: __tmp._M_impl._M_swap_data(this->_M_impl); 10143: } 10143: else if (__n > size()) 10143: { 10143: std::fill(begin(), end(), __val); 10143: const size_type __add = __n - size(); 10143: ; 10143: this->_M_impl._M_finish = 10143: std::__uninitialized_fill_n_a(this->_M_impl._M_finish, 10143: __add, __val, _M_get_Tp_allocator()); 10143: ; 10143: } 10143: else 10143: _M_erase_at_end(std::fill_n(this->_M_impl._M_start, __n, __val)); 10143: } 10143: 10143: template 10143: template 10143: void 10143: vector<_Tp, _Alloc>:: 10143: _M_assign_aux(_InputIterator __first, _InputIterator __last, 10143: std::input_iterator_tag) 10143: { 10143: pointer __cur(this->_M_impl._M_start); 10143: for (; __first != __last && __cur != this->_M_impl._M_finish; 10143: ++__cur, ++__first) 10143: *__cur = *__first; 10143: if (__first == __last) 10143: _M_erase_at_end(__cur); 10143: else 10143: _M_range_insert(end(), __first, __last, 10143: std::__iterator_category(__first)); 10143: } 10143: 10143: template 10143: template 10143: void 10143: vector<_Tp, _Alloc>:: 10143: _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, 10143: std::forward_iterator_tag) 10143: { 10143: const size_type __len = std::distance(__first, __last); 10143: 10143: if (__len > capacity()) 10143: { 10143: pointer __tmp(_M_allocate_and_copy(__len, __first, __last)); 10143: ; 10143: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 10143: _M_get_Tp_allocator()); 10143: _M_deallocate(this->_M_impl._M_start, 10143: this->_M_impl._M_end_of_storage 10143: - this->_M_impl._M_start); 10143: this->_M_impl._M_start = __tmp; 10143: this->_M_impl._M_finish = this->_M_impl._M_start + __len; 10143: this->_M_impl._M_end_of_storage = this->_M_impl._M_finish; 10143: } 10143: else if (size() >= __len) 10143: _M_erase_at_end(std::copy(__first, __last, this->_M_impl._M_start)); 10143: else 10143: { 10143: _ForwardIterator __mid = __first; 10143: std::advance(__mid, size()); 10143: std::copy(__first, __mid, this->_M_impl._M_start); 10143: const size_type __attribute__((__unused__)) __n = __len - size(); 10143: ; 10143: this->_M_impl._M_finish = 10143: std::__uninitialized_copy_a(__mid, __last, 10143: this->_M_impl._M_finish, 10143: _M_get_Tp_allocator()); 10143: ; 10143: } 10143: } 10143: 10143: 10143: template 10143: auto 10143: vector<_Tp, _Alloc>:: 10143: _M_insert_rval(const_iterator __position, value_type&& __v) -> iterator 10143: { 10143: const auto __n = __position - cbegin(); 10143: if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) 10143: if (__position == cend()) 10143: { 10143: ; 10143: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 10143: std::move(__v)); 10143: ++this->_M_impl._M_finish; 10143: ; 10143: } 10143: else 10143: _M_insert_aux(begin() + __n, std::move(__v)); 10143: else 10143: _M_realloc_insert(begin() + __n, std::move(__v)); 10143: 10143: return iterator(this->_M_impl._M_start + __n); 10143: } 10143: 10143: template 10143: template 10143: auto 10143: vector<_Tp, _Alloc>:: 10143: _M_emplace_aux(const_iterator __position, _Args&&... __args) 10143: -> iterator 10143: { 10143: const auto __n = __position - cbegin(); 10143: if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) 10143: if (__position == cend()) 10143: { 10143: ; 10143: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 10143: std::forward<_Args>(__args)...); 10143: ++this->_M_impl._M_finish; 10143: ; 10143: } 10143: else 10143: { 10143: 10143: 10143: 10143: _Temporary_value __tmp(this, std::forward<_Args>(__args)...); 10143: _M_insert_aux(begin() + __n, std::move(__tmp._M_val())); 10143: } 10143: else 10143: _M_realloc_insert(begin() + __n, std::forward<_Args>(__args)...); 10143: 10143: return iterator(this->_M_impl._M_start + __n); 10143: } 10143: 10143: template 10143: template 10143: void 10143: vector<_Tp, _Alloc>:: 10143: _M_insert_aux(iterator __position, _Arg&& __arg) 10143: 10143: 10143: 10143: 10143: 10143: 10143: { 10143: ; 10143: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 10143: std::move(*(this->_M_impl._M_finish - 1))); 10143: ++this->_M_impl._M_finish; 10143: ; 10143: 10143: 10143: 10143: std::move_backward(__position.base(), this->_M_impl._M_finish - 2, this->_M_impl._M_finish - 1) 10143: 10143: ; 10143: 10143: 10143: 10143: *__position = std::forward<_Arg>(__arg); 10143: 10143: } 10143: 10143: 10143: template 10143: template 10143: void 10143: vector<_Tp, _Alloc>:: 10143: _M_realloc_insert(iterator __position, _Args&&... __args) 10143: 10143: 10143: 10143: 10143: 10143: 10143: { 10143: const size_type __len = 10143: _M_check_len(size_type(1), "vector::_M_realloc_insert"); 10143: pointer __old_start = this->_M_impl._M_start; 10143: pointer __old_finish = this->_M_impl._M_finish; 10143: const size_type __elems_before = __position - begin(); 10143: pointer __new_start(this->_M_allocate(__len)); 10143: pointer __new_finish(__new_start); 10143: if (true) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: _Alloc_traits::construct(this->_M_impl, 10143: __new_start + __elems_before, 10143: 10143: std::forward<_Args>(__args)...); 10143: 10143: 10143: 10143: __new_finish = pointer(); 10143: 10143: __new_finish 10143: = std::__uninitialized_move_if_noexcept_a 10143: (__old_start, __position.base(), 10143: __new_start, _M_get_Tp_allocator()); 10143: 10143: ++__new_finish; 10143: 10143: __new_finish 10143: = std::__uninitialized_move_if_noexcept_a 10143: (__position.base(), __old_finish, 10143: __new_finish, _M_get_Tp_allocator()); 10143: } 10143: if (false) 10143: { 10143: if (!__new_finish) 10143: _Alloc_traits::destroy(this->_M_impl, 10143: __new_start + __elems_before); 10143: else 10143: std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator()); 10143: _M_deallocate(__new_start, __len); 10143: ; 10143: } 10143: ; 10143: std::_Destroy(__old_start, __old_finish, _M_get_Tp_allocator()); 10143: _M_deallocate(__old_start, 10143: this->_M_impl._M_end_of_storage - __old_start); 10143: this->_M_impl._M_start = __new_start; 10143: this->_M_impl._M_finish = __new_finish; 10143: this->_M_impl._M_end_of_storage = __new_start + __len; 10143: } 10143: 10143: template 10143: void 10143: vector<_Tp, _Alloc>:: 10143: _M_fill_insert(iterator __position, size_type __n, const value_type& __x) 10143: { 10143: if (__n != 0) 10143: { 10143: if (size_type(this->_M_impl._M_end_of_storage 10143: - this->_M_impl._M_finish) >= __n) 10143: { 10143: 10143: 10143: 10143: _Temporary_value __tmp(this, __x); 10143: value_type& __x_copy = __tmp._M_val(); 10143: 10143: const size_type __elems_after = end() - __position; 10143: pointer __old_finish(this->_M_impl._M_finish); 10143: if (__elems_after > __n) 10143: { 10143: ; 10143: std::__uninitialized_move_a(this->_M_impl._M_finish - __n, 10143: this->_M_impl._M_finish, 10143: this->_M_impl._M_finish, 10143: _M_get_Tp_allocator()); 10143: this->_M_impl._M_finish += __n; 10143: ; 10143: std::move_backward(__position.base(), __old_finish - __n, __old_finish) 10143: ; 10143: std::fill(__position.base(), __position.base() + __n, 10143: __x_copy); 10143: } 10143: else 10143: { 10143: ; 10143: this->_M_impl._M_finish = 10143: std::__uninitialized_fill_n_a(this->_M_impl._M_finish, 10143: __n - __elems_after, 10143: __x_copy, 10143: _M_get_Tp_allocator()); 10143: ; 10143: std::__uninitialized_move_a(__position.base(), __old_finish, 10143: this->_M_impl._M_finish, 10143: _M_get_Tp_allocator()); 10143: this->_M_impl._M_finish += __elems_after; 10143: ; 10143: std::fill(__position.base(), __old_finish, __x_copy); 10143: } 10143: } 10143: else 10143: { 10143: const size_type __len = 10143: _M_check_len(__n, "vector::_M_fill_insert"); 10143: const size_type __elems_before = __position - begin(); 10143: pointer __new_start(this->_M_allocate(__len)); 10143: pointer __new_finish(__new_start); 10143: if (true) 10143: { 10143: 10143: std::__uninitialized_fill_n_a(__new_start + __elems_before, 10143: __n, __x, 10143: _M_get_Tp_allocator()); 10143: __new_finish = pointer(); 10143: 10143: __new_finish 10143: = std::__uninitialized_move_if_noexcept_a 10143: (this->_M_impl._M_start, __position.base(), 10143: __new_start, _M_get_Tp_allocator()); 10143: 10143: __new_finish += __n; 10143: 10143: __new_finish 10143: = std::__uninitialized_move_if_noexcept_a 10143: (__position.base(), this->_M_impl._M_finish, 10143: __new_finish, _M_get_Tp_allocator()); 10143: } 10143: if (false) 10143: { 10143: if (!__new_finish) 10143: std::_Destroy(__new_start + __elems_before, 10143: __new_start + __elems_before + __n, 10143: _M_get_Tp_allocator()); 10143: else 10143: std::_Destroy(__new_start, __new_finish, 10143: _M_get_Tp_allocator()); 10143: _M_deallocate(__new_start, __len); 10143: ; 10143: } 10143: ; 10143: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 10143: _M_get_Tp_allocator()); 10143: _M_deallocate(this->_M_impl._M_start, 10143: this->_M_impl._M_end_of_storage 10143: - this->_M_impl._M_start); 10143: this->_M_impl._M_start = __new_start; 10143: this->_M_impl._M_finish = __new_finish; 10143: this->_M_impl._M_end_of_storage = __new_start + __len; 10143: } 10143: } 10143: } 10143: 10143: 10143: template 10143: void 10143: vector<_Tp, _Alloc>:: 10143: _M_default_append(size_type __n) 10143: { 10143: if (__n != 0) 10143: { 10143: size_type __size = size(); 10143: size_type __navail = size_type(this->_M_impl._M_end_of_storage 10143: - this->_M_impl._M_finish); 10143: 10143: if (__size > max_size() || __navail > max_size() - __size) 10143: __builtin_unreachable(); 10143: 10143: if (__navail >= __n) 10143: { 10143: ; 10143: this->_M_impl._M_finish = 10143: std::__uninitialized_default_n_a(this->_M_impl._M_finish, 10143: __n, _M_get_Tp_allocator()); 10143: ; 10143: } 10143: else 10143: { 10143: const size_type __len = 10143: _M_check_len(__n, "vector::_M_default_append"); 10143: const size_type __old_size = __size; 10143: pointer __new_start(this->_M_allocate(__len)); 10143: pointer __new_finish(__new_start); 10143: if (true) 10143: { 10143: __new_finish 10143: = std::__uninitialized_move_if_noexcept_a 10143: (this->_M_impl._M_start, this->_M_impl._M_finish, 10143: __new_start, _M_get_Tp_allocator()); 10143: __new_finish = 10143: std::__uninitialized_default_n_a(__new_finish, __n, 10143: _M_get_Tp_allocator()); 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__new_start, __new_finish, 10143: _M_get_Tp_allocator()); 10143: _M_deallocate(__new_start, __len); 10143: ; 10143: } 10143: ; 10143: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 10143: _M_get_Tp_allocator()); 10143: _M_deallocate(this->_M_impl._M_start, 10143: this->_M_impl._M_end_of_storage 10143: - this->_M_impl._M_start); 10143: this->_M_impl._M_start = __new_start; 10143: this->_M_impl._M_finish = __new_finish; 10143: this->_M_impl._M_end_of_storage = __new_start + __len; 10143: } 10143: } 10143: } 10143: 10143: template 10143: bool 10143: vector<_Tp, _Alloc>:: 10143: _M_shrink_to_fit() 10143: { 10143: if (capacity() == size()) 10143: return false; 10143: ; 10143: return std::__shrink_to_fit_aux::_S_do_it(*this); 10143: } 10143: 10143: 10143: template 10143: template 10143: void 10143: vector<_Tp, _Alloc>:: 10143: _M_range_insert(iterator __pos, _InputIterator __first, 10143: _InputIterator __last, std::input_iterator_tag) 10143: { 10143: if (__pos == end()) 10143: { 10143: for (; __first != __last; ++__first) 10143: insert(end(), *__first); 10143: } 10143: else if (__first != __last) 10143: { 10143: vector __tmp(__first, __last, _M_get_Tp_allocator()); 10143: insert(__pos, 10143: std::make_move_iterator(__tmp.begin()), 10143: std::make_move_iterator(__tmp.end())); 10143: } 10143: } 10143: 10143: template 10143: template 10143: void 10143: vector<_Tp, _Alloc>:: 10143: _M_range_insert(iterator __position, _ForwardIterator __first, 10143: _ForwardIterator __last, std::forward_iterator_tag) 10143: { 10143: if (__first != __last) 10143: { 10143: const size_type __n = std::distance(__first, __last); 10143: if (size_type(this->_M_impl._M_end_of_storage 10143: - this->_M_impl._M_finish) >= __n) 10143: { 10143: const size_type __elems_after = end() - __position; 10143: pointer __old_finish(this->_M_impl._M_finish); 10143: if (__elems_after > __n) 10143: { 10143: ; 10143: std::__uninitialized_move_a(this->_M_impl._M_finish - __n, 10143: this->_M_impl._M_finish, 10143: this->_M_impl._M_finish, 10143: _M_get_Tp_allocator()); 10143: this->_M_impl._M_finish += __n; 10143: ; 10143: std::move_backward(__position.base(), __old_finish - __n, __old_finish) 10143: ; 10143: std::copy(__first, __last, __position); 10143: } 10143: else 10143: { 10143: _ForwardIterator __mid = __first; 10143: std::advance(__mid, __elems_after); 10143: ; 10143: std::__uninitialized_copy_a(__mid, __last, 10143: this->_M_impl._M_finish, 10143: _M_get_Tp_allocator()); 10143: this->_M_impl._M_finish += __n - __elems_after; 10143: ; 10143: std::__uninitialized_move_a(__position.base(), 10143: __old_finish, 10143: this->_M_impl._M_finish, 10143: _M_get_Tp_allocator()); 10143: this->_M_impl._M_finish += __elems_after; 10143: ; 10143: std::copy(__first, __mid, __position); 10143: } 10143: } 10143: else 10143: { 10143: const size_type __len = 10143: _M_check_len(__n, "vector::_M_range_insert"); 10143: pointer __new_start(this->_M_allocate(__len)); 10143: pointer __new_finish(__new_start); 10143: if (true) 10143: { 10143: __new_finish 10143: = std::__uninitialized_move_if_noexcept_a 10143: (this->_M_impl._M_start, __position.base(), 10143: __new_start, _M_get_Tp_allocator()); 10143: __new_finish 10143: = std::__uninitialized_copy_a(__first, __last, 10143: __new_finish, 10143: _M_get_Tp_allocator()); 10143: __new_finish 10143: = std::__uninitialized_move_if_noexcept_a 10143: (__position.base(), this->_M_impl._M_finish, 10143: __new_finish, _M_get_Tp_allocator()); 10143: } 10143: if (false) 10143: { 10143: std::_Destroy(__new_start, __new_finish, 10143: _M_get_Tp_allocator()); 10143: _M_deallocate(__new_start, __len); 10143: ; 10143: } 10143: ; 10143: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 10143: _M_get_Tp_allocator()); 10143: _M_deallocate(this->_M_impl._M_start, 10143: this->_M_impl._M_end_of_storage 10143: - this->_M_impl._M_start); 10143: this->_M_impl._M_start = __new_start; 10143: this->_M_impl._M_finish = __new_finish; 10143: this->_M_impl._M_end_of_storage = __new_start + __len; 10143: } 10143: } 10143: } 10143: 10143: 10143: 10143: template 10143: void 10143: vector:: 10143: _M_reallocate(size_type __n) 10143: { 10143: _Bit_pointer __q = this->_M_allocate(__n); 10143: iterator __start(std::__addressof(*__q), 0); 10143: iterator __finish(_M_copy_aligned(begin(), end(), __start)); 10143: this->_M_deallocate(); 10143: this->_M_impl._M_start = __start; 10143: this->_M_impl._M_finish = __finish; 10143: this->_M_impl._M_end_of_storage = __q + _S_nword(__n); 10143: } 10143: 10143: template 10143: void 10143: vector:: 10143: _M_fill_insert(iterator __position, size_type __n, bool __x) 10143: { 10143: if (__n == 0) 10143: return; 10143: if (capacity() - size() >= __n) 10143: { 10143: std::copy_backward(__position, end(), 10143: this->_M_impl._M_finish + difference_type(__n)); 10143: std::fill(__position, __position + difference_type(__n), __x); 10143: this->_M_impl._M_finish += difference_type(__n); 10143: } 10143: else 10143: { 10143: const size_type __len = 10143: _M_check_len(__n, "vector::_M_fill_insert"); 10143: _Bit_pointer __q = this->_M_allocate(__len); 10143: iterator __start(std::__addressof(*__q), 0); 10143: iterator __i = _M_copy_aligned(begin(), __position, __start); 10143: std::fill(__i, __i + difference_type(__n), __x); 10143: iterator __finish = std::copy(__position, end(), 10143: __i + difference_type(__n)); 10143: this->_M_deallocate(); 10143: this->_M_impl._M_end_of_storage = __q + _S_nword(__len); 10143: this->_M_impl._M_start = __start; 10143: this->_M_impl._M_finish = __finish; 10143: } 10143: } 10143: 10143: template 10143: template 10143: void 10143: vector:: 10143: _M_insert_range(iterator __position, _ForwardIterator __first, 10143: _ForwardIterator __last, std::forward_iterator_tag) 10143: { 10143: if (__first != __last) 10143: { 10143: size_type __n = std::distance(__first, __last); 10143: if (capacity() - size() >= __n) 10143: { 10143: std::copy_backward(__position, end(), 10143: this->_M_impl._M_finish 10143: + difference_type(__n)); 10143: std::copy(__first, __last, __position); 10143: this->_M_impl._M_finish += difference_type(__n); 10143: } 10143: else 10143: { 10143: const size_type __len = 10143: _M_check_len(__n, "vector::_M_insert_range"); 10143: _Bit_pointer __q = this->_M_allocate(__len); 10143: iterator __start(std::__addressof(*__q), 0); 10143: iterator __i = _M_copy_aligned(begin(), __position, __start); 10143: __i = std::copy(__first, __last, __i); 10143: iterator __finish = std::copy(__position, end(), __i); 10143: this->_M_deallocate(); 10143: this->_M_impl._M_end_of_storage = __q + _S_nword(__len); 10143: this->_M_impl._M_start = __start; 10143: this->_M_impl._M_finish = __finish; 10143: } 10143: } 10143: } 10143: 10143: template 10143: void 10143: vector:: 10143: _M_insert_aux(iterator __position, bool __x) 10143: { 10143: if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr()) 10143: { 10143: std::copy_backward(__position, this->_M_impl._M_finish, 10143: this->_M_impl._M_finish + 1); 10143: *__position = __x; 10143: ++this->_M_impl._M_finish; 10143: } 10143: else 10143: { 10143: const size_type __len = 10143: _M_check_len(size_type(1), "vector::_M_insert_aux"); 10143: _Bit_pointer __q = this->_M_allocate(__len); 10143: iterator __start(std::__addressof(*__q), 0); 10143: iterator __i = _M_copy_aligned(begin(), __position, __start); 10143: *__i++ = __x; 10143: iterator __finish = std::copy(__position, end(), __i); 10143: this->_M_deallocate(); 10143: this->_M_impl._M_end_of_storage = __q + _S_nword(__len); 10143: this->_M_impl._M_start = __start; 10143: this->_M_impl._M_finish = __finish; 10143: } 10143: } 10143: 10143: template 10143: typename vector::iterator 10143: vector:: 10143: _M_erase(iterator __position) 10143: { 10143: if (__position + 1 != end()) 10143: std::copy(__position + 1, end(), __position); 10143: --this->_M_impl._M_finish; 10143: return __position; 10143: } 10143: 10143: template 10143: typename vector::iterator 10143: vector:: 10143: _M_erase(iterator __first, iterator __last) 10143: { 10143: if (__first != __last) 10143: _M_erase_at_end(std::copy(__last, end(), __first)); 10143: return __first; 10143: } 10143: 10143: 10143: template 10143: bool 10143: vector:: 10143: _M_shrink_to_fit() 10143: { 10143: if (capacity() - size() < int(_S_word_bit)) 10143: return false; 10143: if (true) 10143: { 10143: _M_reallocate(size()); 10143: return true; 10143: } 10143: if (false) 10143: { return false; } 10143: } 10143: 10143: 10143: 10143: 10143: } 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: template 10143: size_t 10143: hash>:: 10143: operator()(const std::vector& __b) const noexcept 10143: { 10143: size_t __hash = 0; 10143: using std::_S_word_bit; 10143: using std::_Bit_type; 10143: 10143: const size_t __words = __b.size() / _S_word_bit; 10143: if (__words) 10143: { 10143: const size_t __clength = __words * sizeof(_Bit_type); 10143: __hash = std::_Hash_impl::hash(__b._M_impl._M_start._M_p, __clength); 10143: } 10143: 10143: const size_t __extrabits = __b.size() % _S_word_bit; 10143: if (__extrabits) 10143: { 10143: _Bit_type __hiword = *__b._M_impl._M_finish._M_p; 10143: __hiword &= ~((~static_cast<_Bit_type>(0)) << __extrabits); 10143: 10143: const size_t __clength 10143: = (__extrabits + 8 - 1) / 8; 10143: if (__words) 10143: __hash = std::_Hash_impl::hash(&__hiword, __clength, __hash); 10143: else 10143: __hash = std::_Hash_impl::hash(&__hiword, __clength); 10143: } 10143: 10143: return __hash; 10143: } 10143: 10143: 10143: } 10143: # 70 "/usr/include/c++/8/vector" 2 3 10143: # 54 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmetatype.h" 2 3 4 10143: 10143: # 1 "/usr/include/c++/8/map" 1 3 4 10143: # 58 "/usr/include/c++/8/map" 3 4 10143: 10143: # 59 "/usr/include/c++/8/map" 3 10143: 10143: # 1 "/usr/include/c++/8/bits/stl_tree.h" 1 3 10143: # 61 "/usr/include/c++/8/bits/stl_tree.h" 3 10143: 10143: # 62 "/usr/include/c++/8/bits/stl_tree.h" 3 10143: # 75 "/usr/include/c++/8/bits/stl_tree.h" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 99 "/usr/include/c++/8/bits/stl_tree.h" 3 10143: enum _Rb_tree_color { _S_red = false, _S_black = true }; 10143: 10143: struct _Rb_tree_node_base 10143: { 10143: typedef _Rb_tree_node_base* _Base_ptr; 10143: typedef const _Rb_tree_node_base* _Const_Base_ptr; 10143: 10143: _Rb_tree_color _M_color; 10143: _Base_ptr _M_parent; 10143: _Base_ptr _M_left; 10143: _Base_ptr _M_right; 10143: 10143: static _Base_ptr 10143: _S_minimum(_Base_ptr __x) noexcept 10143: { 10143: while (__x->_M_left != 0) __x = __x->_M_left; 10143: return __x; 10143: } 10143: 10143: static _Const_Base_ptr 10143: _S_minimum(_Const_Base_ptr __x) noexcept 10143: { 10143: while (__x->_M_left != 0) __x = __x->_M_left; 10143: return __x; 10143: } 10143: 10143: static _Base_ptr 10143: _S_maximum(_Base_ptr __x) noexcept 10143: { 10143: while (__x->_M_right != 0) __x = __x->_M_right; 10143: return __x; 10143: } 10143: 10143: static _Const_Base_ptr 10143: _S_maximum(_Const_Base_ptr __x) noexcept 10143: { 10143: while (__x->_M_right != 0) __x = __x->_M_right; 10143: return __x; 10143: } 10143: }; 10143: 10143: 10143: template 10143: struct _Rb_tree_key_compare 10143: { 10143: _Key_compare _M_key_compare; 10143: 10143: _Rb_tree_key_compare() 10143: noexcept(is_nothrow_default_constructible<_Key_compare>::value) 10143: 10143: : _M_key_compare() 10143: { } 10143: 10143: _Rb_tree_key_compare(const _Key_compare& __comp) 10143: : _M_key_compare(__comp) 10143: { } 10143: 10143: 10143: 10143: _Rb_tree_key_compare(const _Rb_tree_key_compare&) = default; 10143: 10143: _Rb_tree_key_compare(_Rb_tree_key_compare&& __x) 10143: noexcept(is_nothrow_copy_constructible<_Key_compare>::value) 10143: : _M_key_compare(__x._M_key_compare) 10143: { } 10143: 10143: }; 10143: 10143: 10143: struct _Rb_tree_header 10143: { 10143: _Rb_tree_node_base _M_header; 10143: size_t _M_node_count; 10143: 10143: _Rb_tree_header() noexcept 10143: { 10143: _M_header._M_color = _S_red; 10143: _M_reset(); 10143: } 10143: 10143: 10143: _Rb_tree_header(_Rb_tree_header&& __x) noexcept 10143: { 10143: if (__x._M_header._M_parent != nullptr) 10143: _M_move_data(__x); 10143: else 10143: { 10143: _M_header._M_color = _S_red; 10143: _M_reset(); 10143: } 10143: } 10143: 10143: 10143: void 10143: _M_move_data(_Rb_tree_header& __from) 10143: { 10143: _M_header._M_color = __from._M_header._M_color; 10143: _M_header._M_parent = __from._M_header._M_parent; 10143: _M_header._M_left = __from._M_header._M_left; 10143: _M_header._M_right = __from._M_header._M_right; 10143: _M_header._M_parent->_M_parent = &_M_header; 10143: _M_node_count = __from._M_node_count; 10143: 10143: __from._M_reset(); 10143: } 10143: 10143: void 10143: _M_reset() 10143: { 10143: _M_header._M_parent = 0; 10143: _M_header._M_left = &_M_header; 10143: _M_header._M_right = &_M_header; 10143: _M_node_count = 0; 10143: } 10143: }; 10143: 10143: template 10143: struct _Rb_tree_node : public _Rb_tree_node_base 10143: { 10143: typedef _Rb_tree_node<_Val>* _Link_type; 10143: # 231 "/usr/include/c++/8/bits/stl_tree.h" 3 10143: __gnu_cxx::__aligned_membuf<_Val> _M_storage; 10143: 10143: _Val* 10143: _M_valptr() 10143: { return _M_storage._M_ptr(); } 10143: 10143: const _Val* 10143: _M_valptr() const 10143: { return _M_storage._M_ptr(); } 10143: 10143: }; 10143: 10143: __attribute__ ((__pure__)) _Rb_tree_node_base* 10143: _Rb_tree_increment(_Rb_tree_node_base* __x) throw (); 10143: 10143: __attribute__ ((__pure__)) const _Rb_tree_node_base* 10143: _Rb_tree_increment(const _Rb_tree_node_base* __x) throw (); 10143: 10143: __attribute__ ((__pure__)) _Rb_tree_node_base* 10143: _Rb_tree_decrement(_Rb_tree_node_base* __x) throw (); 10143: 10143: __attribute__ ((__pure__)) const _Rb_tree_node_base* 10143: _Rb_tree_decrement(const _Rb_tree_node_base* __x) throw (); 10143: 10143: template 10143: struct _Rb_tree_iterator 10143: { 10143: typedef _Tp value_type; 10143: typedef _Tp& reference; 10143: typedef _Tp* pointer; 10143: 10143: typedef bidirectional_iterator_tag iterator_category; 10143: typedef ptrdiff_t difference_type; 10143: 10143: typedef _Rb_tree_iterator<_Tp> _Self; 10143: typedef _Rb_tree_node_base::_Base_ptr _Base_ptr; 10143: typedef _Rb_tree_node<_Tp>* _Link_type; 10143: 10143: _Rb_tree_iterator() noexcept 10143: : _M_node() { } 10143: 10143: explicit 10143: _Rb_tree_iterator(_Base_ptr __x) noexcept 10143: : _M_node(__x) { } 10143: 10143: reference 10143: operator*() const noexcept 10143: { return *static_cast<_Link_type>(_M_node)->_M_valptr(); } 10143: 10143: pointer 10143: operator->() const noexcept 10143: { return static_cast<_Link_type> (_M_node)->_M_valptr(); } 10143: 10143: _Self& 10143: operator++() noexcept 10143: { 10143: _M_node = _Rb_tree_increment(_M_node); 10143: return *this; 10143: } 10143: 10143: _Self 10143: operator++(int) noexcept 10143: { 10143: _Self __tmp = *this; 10143: _M_node = _Rb_tree_increment(_M_node); 10143: return __tmp; 10143: } 10143: 10143: _Self& 10143: operator--() noexcept 10143: { 10143: _M_node = _Rb_tree_decrement(_M_node); 10143: return *this; 10143: } 10143: 10143: _Self 10143: operator--(int) noexcept 10143: { 10143: _Self __tmp = *this; 10143: _M_node = _Rb_tree_decrement(_M_node); 10143: return __tmp; 10143: } 10143: 10143: bool 10143: operator==(const _Self& __x) const noexcept 10143: { return _M_node == __x._M_node; } 10143: 10143: bool 10143: operator!=(const _Self& __x) const noexcept 10143: { return _M_node != __x._M_node; } 10143: 10143: _Base_ptr _M_node; 10143: }; 10143: 10143: template 10143: struct _Rb_tree_const_iterator 10143: { 10143: typedef _Tp value_type; 10143: typedef const _Tp& reference; 10143: typedef const _Tp* pointer; 10143: 10143: typedef _Rb_tree_iterator<_Tp> iterator; 10143: 10143: typedef bidirectional_iterator_tag iterator_category; 10143: typedef ptrdiff_t difference_type; 10143: 10143: typedef _Rb_tree_const_iterator<_Tp> _Self; 10143: typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr; 10143: typedef const _Rb_tree_node<_Tp>* _Link_type; 10143: 10143: _Rb_tree_const_iterator() noexcept 10143: : _M_node() { } 10143: 10143: explicit 10143: _Rb_tree_const_iterator(_Base_ptr __x) noexcept 10143: : _M_node(__x) { } 10143: 10143: _Rb_tree_const_iterator(const iterator& __it) noexcept 10143: : _M_node(__it._M_node) { } 10143: 10143: iterator 10143: _M_const_cast() const noexcept 10143: { return iterator(const_cast(_M_node)); } 10143: 10143: reference 10143: operator*() const noexcept 10143: { return *static_cast<_Link_type>(_M_node)->_M_valptr(); } 10143: 10143: pointer 10143: operator->() const noexcept 10143: { return static_cast<_Link_type>(_M_node)->_M_valptr(); } 10143: 10143: _Self& 10143: operator++() noexcept 10143: { 10143: _M_node = _Rb_tree_increment(_M_node); 10143: return *this; 10143: } 10143: 10143: _Self 10143: operator++(int) noexcept 10143: { 10143: _Self __tmp = *this; 10143: _M_node = _Rb_tree_increment(_M_node); 10143: return __tmp; 10143: } 10143: 10143: _Self& 10143: operator--() noexcept 10143: { 10143: _M_node = _Rb_tree_decrement(_M_node); 10143: return *this; 10143: } 10143: 10143: _Self 10143: operator--(int) noexcept 10143: { 10143: _Self __tmp = *this; 10143: _M_node = _Rb_tree_decrement(_M_node); 10143: return __tmp; 10143: } 10143: 10143: bool 10143: operator==(const _Self& __x) const noexcept 10143: { return _M_node == __x._M_node; } 10143: 10143: bool 10143: operator!=(const _Self& __x) const noexcept 10143: { return _M_node != __x._M_node; } 10143: 10143: _Base_ptr _M_node; 10143: }; 10143: 10143: template 10143: inline bool 10143: operator==(const _Rb_tree_iterator<_Val>& __x, 10143: const _Rb_tree_const_iterator<_Val>& __y) noexcept 10143: { return __x._M_node == __y._M_node; } 10143: 10143: template 10143: inline bool 10143: operator!=(const _Rb_tree_iterator<_Val>& __x, 10143: const _Rb_tree_const_iterator<_Val>& __y) noexcept 10143: { return __x._M_node != __y._M_node; } 10143: 10143: void 10143: _Rb_tree_insert_and_rebalance(const bool __insert_left, 10143: _Rb_tree_node_base* __x, 10143: _Rb_tree_node_base* __p, 10143: _Rb_tree_node_base& __header) throw (); 10143: 10143: _Rb_tree_node_base* 10143: _Rb_tree_rebalance_for_erase(_Rb_tree_node_base* const __z, 10143: _Rb_tree_node_base& __header) throw (); 10143: # 442 "/usr/include/c++/8/bits/stl_tree.h" 3 10143: template > 10143: class _Rb_tree 10143: { 10143: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 10143: rebind<_Rb_tree_node<_Val> >::other _Node_allocator; 10143: 10143: typedef __gnu_cxx::__alloc_traits<_Node_allocator> _Alloc_traits; 10143: 10143: 10143: static_assert(__is_invocable<_Compare&, const _Key&, const _Key&>{}, 10143: "comparison object must be invocable with two arguments of key type"); 10143: # 462 "/usr/include/c++/8/bits/stl_tree.h" 3 10143: protected: 10143: typedef _Rb_tree_node_base* _Base_ptr; 10143: typedef const _Rb_tree_node_base* _Const_Base_ptr; 10143: typedef _Rb_tree_node<_Val>* _Link_type; 10143: typedef const _Rb_tree_node<_Val>* _Const_Link_type; 10143: 10143: private: 10143: 10143: 10143: struct _Reuse_or_alloc_node 10143: { 10143: _Reuse_or_alloc_node(_Rb_tree& __t) 10143: : _M_root(__t._M_root()), _M_nodes(__t._M_rightmost()), _M_t(__t) 10143: { 10143: if (_M_root) 10143: { 10143: _M_root->_M_parent = 0; 10143: 10143: if (_M_nodes->_M_left) 10143: _M_nodes = _M_nodes->_M_left; 10143: } 10143: else 10143: _M_nodes = 0; 10143: } 10143: 10143: 10143: _Reuse_or_alloc_node(const _Reuse_or_alloc_node&) = delete; 10143: 10143: 10143: ~_Reuse_or_alloc_node() 10143: { _M_t._M_erase(static_cast<_Link_type>(_M_root)); } 10143: 10143: template 10143: _Link_type 10143: 10143: 10143: 10143: operator()(_Arg&& __arg) 10143: 10143: { 10143: _Link_type __node = static_cast<_Link_type>(_M_extract()); 10143: if (__node) 10143: { 10143: _M_t._M_destroy_node(__node); 10143: _M_t._M_construct_node(__node, std::forward<_Arg>(__arg)); 10143: return __node; 10143: } 10143: 10143: return _M_t._M_create_node(std::forward<_Arg>(__arg)); 10143: } 10143: 10143: private: 10143: _Base_ptr 10143: _M_extract() 10143: { 10143: if (!_M_nodes) 10143: return _M_nodes; 10143: 10143: _Base_ptr __node = _M_nodes; 10143: _M_nodes = _M_nodes->_M_parent; 10143: if (_M_nodes) 10143: { 10143: if (_M_nodes->_M_right == __node) 10143: { 10143: _M_nodes->_M_right = 0; 10143: 10143: if (_M_nodes->_M_left) 10143: { 10143: _M_nodes = _M_nodes->_M_left; 10143: 10143: while (_M_nodes->_M_right) 10143: _M_nodes = _M_nodes->_M_right; 10143: 10143: if (_M_nodes->_M_left) 10143: _M_nodes = _M_nodes->_M_left; 10143: } 10143: } 10143: else 10143: _M_nodes->_M_left = 0; 10143: } 10143: else 10143: _M_root = 0; 10143: 10143: return __node; 10143: } 10143: 10143: _Base_ptr _M_root; 10143: _Base_ptr _M_nodes; 10143: _Rb_tree& _M_t; 10143: }; 10143: 10143: 10143: 10143: struct _Alloc_node 10143: { 10143: _Alloc_node(_Rb_tree& __t) 10143: : _M_t(__t) { } 10143: 10143: template 10143: _Link_type 10143: 10143: 10143: 10143: operator()(_Arg&& __arg) const 10143: 10143: { return _M_t._M_create_node(std::forward<_Arg>(__arg)); } 10143: 10143: private: 10143: _Rb_tree& _M_t; 10143: }; 10143: 10143: public: 10143: typedef _Key key_type; 10143: typedef _Val value_type; 10143: typedef value_type* pointer; 10143: typedef const value_type* const_pointer; 10143: typedef value_type& reference; 10143: typedef const value_type& const_reference; 10143: typedef size_t size_type; 10143: typedef ptrdiff_t difference_type; 10143: typedef _Alloc allocator_type; 10143: 10143: _Node_allocator& 10143: _M_get_Node_allocator() noexcept 10143: { return this->_M_impl; } 10143: 10143: const _Node_allocator& 10143: _M_get_Node_allocator() const noexcept 10143: { return this->_M_impl; } 10143: 10143: allocator_type 10143: get_allocator() const noexcept 10143: { return allocator_type(_M_get_Node_allocator()); } 10143: 10143: protected: 10143: _Link_type 10143: _M_get_node() 10143: { return _Alloc_traits::allocate(_M_get_Node_allocator(), 1); } 10143: 10143: void 10143: _M_put_node(_Link_type __p) noexcept 10143: { _Alloc_traits::deallocate(_M_get_Node_allocator(), __p, 1); } 10143: # 630 "/usr/include/c++/8/bits/stl_tree.h" 3 10143: template 10143: void 10143: _M_construct_node(_Link_type __node, _Args&&... __args) 10143: { 10143: if (true) 10143: { 10143: ::new(__node) _Rb_tree_node<_Val>; 10143: _Alloc_traits::construct(_M_get_Node_allocator(), 10143: __node->_M_valptr(), 10143: std::forward<_Args>(__args)...); 10143: } 10143: if (false) 10143: { 10143: __node->~_Rb_tree_node<_Val>(); 10143: _M_put_node(__node); 10143: ; 10143: } 10143: } 10143: 10143: template 10143: _Link_type 10143: _M_create_node(_Args&&... __args) 10143: { 10143: _Link_type __tmp = _M_get_node(); 10143: _M_construct_node(__tmp, std::forward<_Args>(__args)...); 10143: return __tmp; 10143: } 10143: 10143: void 10143: _M_destroy_node(_Link_type __p) noexcept 10143: { 10143: _Alloc_traits::destroy(_M_get_Node_allocator(), __p->_M_valptr()); 10143: __p->~_Rb_tree_node<_Val>(); 10143: } 10143: 10143: 10143: void 10143: _M_drop_node(_Link_type __p) noexcept 10143: { 10143: _M_destroy_node(__p); 10143: _M_put_node(__p); 10143: } 10143: 10143: template 10143: _Link_type 10143: _M_clone_node(_Const_Link_type __x, _NodeGen& __node_gen) 10143: { 10143: _Link_type __tmp = __node_gen(*__x->_M_valptr()); 10143: __tmp->_M_color = __x->_M_color; 10143: __tmp->_M_left = 0; 10143: __tmp->_M_right = 0; 10143: return __tmp; 10143: } 10143: 10143: protected: 10143: 10143: 10143: 10143: 10143: template 10143: 10143: struct _Rb_tree_impl 10143: : public _Node_allocator 10143: , public _Rb_tree_key_compare<_Key_compare> 10143: , public _Rb_tree_header 10143: { 10143: typedef _Rb_tree_key_compare<_Key_compare> _Base_key_compare; 10143: 10143: _Rb_tree_impl() 10143: noexcept(is_nothrow_default_constructible<_Node_allocator>::value && is_nothrow_default_constructible<_Base_key_compare>::value) 10143: 10143: 10143: : _Node_allocator() 10143: { } 10143: 10143: _Rb_tree_impl(const _Rb_tree_impl& __x) 10143: : _Node_allocator(_Alloc_traits::_S_select_on_copy(__x)) 10143: , _Base_key_compare(__x._M_key_compare) 10143: { } 10143: 10143: 10143: 10143: 10143: 10143: 10143: _Rb_tree_impl(_Rb_tree_impl&&) = default; 10143: 10143: _Rb_tree_impl(const _Key_compare& __comp, _Node_allocator&& __a) 10143: : _Node_allocator(std::move(__a)), _Base_key_compare(__comp) 10143: { } 10143: 10143: }; 10143: 10143: _Rb_tree_impl<_Compare> _M_impl; 10143: 10143: protected: 10143: _Base_ptr& 10143: _M_root() noexcept 10143: { return this->_M_impl._M_header._M_parent; } 10143: 10143: _Const_Base_ptr 10143: _M_root() const noexcept 10143: { return this->_M_impl._M_header._M_parent; } 10143: 10143: _Base_ptr& 10143: _M_leftmost() noexcept 10143: { return this->_M_impl._M_header._M_left; } 10143: 10143: _Const_Base_ptr 10143: _M_leftmost() const noexcept 10143: { return this->_M_impl._M_header._M_left; } 10143: 10143: _Base_ptr& 10143: _M_rightmost() noexcept 10143: { return this->_M_impl._M_header._M_right; } 10143: 10143: _Const_Base_ptr 10143: _M_rightmost() const noexcept 10143: { return this->_M_impl._M_header._M_right; } 10143: 10143: _Link_type 10143: _M_begin() noexcept 10143: { return static_cast<_Link_type>(this->_M_impl._M_header._M_parent); } 10143: 10143: _Const_Link_type 10143: _M_begin() const noexcept 10143: { 10143: return static_cast<_Const_Link_type> 10143: (this->_M_impl._M_header._M_parent); 10143: } 10143: 10143: _Base_ptr 10143: _M_end() noexcept 10143: { return &this->_M_impl._M_header; } 10143: 10143: _Const_Base_ptr 10143: _M_end() const noexcept 10143: { return &this->_M_impl._M_header; } 10143: 10143: static const_reference 10143: _S_value(_Const_Link_type __x) 10143: { return *__x->_M_valptr(); } 10143: 10143: static const _Key& 10143: _S_key(_Const_Link_type __x) 10143: { return _KeyOfValue()(_S_value(__x)); } 10143: 10143: static _Link_type 10143: _S_left(_Base_ptr __x) noexcept 10143: { return static_cast<_Link_type>(__x->_M_left); } 10143: 10143: static _Const_Link_type 10143: _S_left(_Const_Base_ptr __x) noexcept 10143: { return static_cast<_Const_Link_type>(__x->_M_left); } 10143: 10143: static _Link_type 10143: _S_right(_Base_ptr __x) noexcept 10143: { return static_cast<_Link_type>(__x->_M_right); } 10143: 10143: static _Const_Link_type 10143: _S_right(_Const_Base_ptr __x) noexcept 10143: { return static_cast<_Const_Link_type>(__x->_M_right); } 10143: 10143: static const_reference 10143: _S_value(_Const_Base_ptr __x) 10143: { return *static_cast<_Const_Link_type>(__x)->_M_valptr(); } 10143: 10143: static const _Key& 10143: _S_key(_Const_Base_ptr __x) 10143: { return _KeyOfValue()(_S_value(__x)); } 10143: 10143: static _Base_ptr 10143: _S_minimum(_Base_ptr __x) noexcept 10143: { return _Rb_tree_node_base::_S_minimum(__x); } 10143: 10143: static _Const_Base_ptr 10143: _S_minimum(_Const_Base_ptr __x) noexcept 10143: { return _Rb_tree_node_base::_S_minimum(__x); } 10143: 10143: static _Base_ptr 10143: _S_maximum(_Base_ptr __x) noexcept 10143: { return _Rb_tree_node_base::_S_maximum(__x); } 10143: 10143: static _Const_Base_ptr 10143: _S_maximum(_Const_Base_ptr __x) noexcept 10143: { return _Rb_tree_node_base::_S_maximum(__x); } 10143: 10143: public: 10143: typedef _Rb_tree_iterator iterator; 10143: typedef _Rb_tree_const_iterator const_iterator; 10143: 10143: typedef std::reverse_iterator reverse_iterator; 10143: typedef std::reverse_iterator const_reverse_iterator; 10143: # 832 "/usr/include/c++/8/bits/stl_tree.h" 3 10143: pair<_Base_ptr, _Base_ptr> 10143: _M_get_insert_unique_pos(const key_type& __k); 10143: 10143: pair<_Base_ptr, _Base_ptr> 10143: _M_get_insert_equal_pos(const key_type& __k); 10143: 10143: pair<_Base_ptr, _Base_ptr> 10143: _M_get_insert_hint_unique_pos(const_iterator __pos, 10143: const key_type& __k); 10143: 10143: pair<_Base_ptr, _Base_ptr> 10143: _M_get_insert_hint_equal_pos(const_iterator __pos, 10143: const key_type& __k); 10143: 10143: private: 10143: 10143: template 10143: iterator 10143: _M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v, _NodeGen&); 10143: 10143: iterator 10143: _M_insert_node(_Base_ptr __x, _Base_ptr __y, _Link_type __z); 10143: 10143: template 10143: iterator 10143: _M_insert_lower(_Base_ptr __y, _Arg&& __v); 10143: 10143: template 10143: iterator 10143: _M_insert_equal_lower(_Arg&& __x); 10143: 10143: iterator 10143: _M_insert_lower_node(_Base_ptr __p, _Link_type __z); 10143: 10143: iterator 10143: _M_insert_equal_lower_node(_Link_type __z); 10143: # 883 "/usr/include/c++/8/bits/stl_tree.h" 3 10143: template 10143: _Link_type 10143: _M_copy(_Const_Link_type __x, _Base_ptr __p, _NodeGen&); 10143: 10143: template 10143: _Link_type 10143: _M_copy(const _Rb_tree& __x, _NodeGen& __gen) 10143: { 10143: _Link_type __root = _M_copy(__x._M_begin(), _M_end(), __gen); 10143: _M_leftmost() = _S_minimum(__root); 10143: _M_rightmost() = _S_maximum(__root); 10143: _M_impl._M_node_count = __x._M_impl._M_node_count; 10143: return __root; 10143: } 10143: 10143: _Link_type 10143: _M_copy(const _Rb_tree& __x) 10143: { 10143: _Alloc_node __an(*this); 10143: return _M_copy(__x, __an); 10143: } 10143: 10143: void 10143: _M_erase(_Link_type __x); 10143: 10143: iterator 10143: _M_lower_bound(_Link_type __x, _Base_ptr __y, 10143: const _Key& __k); 10143: 10143: const_iterator 10143: _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y, 10143: const _Key& __k) const; 10143: 10143: iterator 10143: _M_upper_bound(_Link_type __x, _Base_ptr __y, 10143: const _Key& __k); 10143: 10143: const_iterator 10143: _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y, 10143: const _Key& __k) const; 10143: 10143: public: 10143: 10143: 10143: 10143: 10143: _Rb_tree() = default; 10143: 10143: 10143: _Rb_tree(const _Compare& __comp, 10143: const allocator_type& __a = allocator_type()) 10143: : _M_impl(__comp, _Node_allocator(__a)) { } 10143: 10143: _Rb_tree(const _Rb_tree& __x) 10143: : _M_impl(__x._M_impl) 10143: { 10143: if (__x._M_root() != 0) 10143: _M_root() = _M_copy(__x); 10143: } 10143: 10143: 10143: _Rb_tree(const allocator_type& __a) 10143: : _M_impl(_Compare(), _Node_allocator(__a)) 10143: { } 10143: 10143: _Rb_tree(const _Rb_tree& __x, const allocator_type& __a) 10143: : _M_impl(__x._M_impl._M_key_compare, _Node_allocator(__a)) 10143: { 10143: if (__x._M_root() != nullptr) 10143: _M_root() = _M_copy(__x); 10143: } 10143: 10143: _Rb_tree(_Rb_tree&&) = default; 10143: 10143: _Rb_tree(_Rb_tree&& __x, const allocator_type& __a) 10143: : _Rb_tree(std::move(__x), _Node_allocator(__a)) 10143: { } 10143: 10143: _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a); 10143: 10143: 10143: ~_Rb_tree() noexcept 10143: { _M_erase(_M_begin()); } 10143: 10143: _Rb_tree& 10143: operator=(const _Rb_tree& __x); 10143: 10143: 10143: _Compare 10143: key_comp() const 10143: { return _M_impl._M_key_compare; } 10143: 10143: iterator 10143: begin() noexcept 10143: { return iterator(this->_M_impl._M_header._M_left); } 10143: 10143: const_iterator 10143: begin() const noexcept 10143: { return const_iterator(this->_M_impl._M_header._M_left); } 10143: 10143: iterator 10143: end() noexcept 10143: { return iterator(&this->_M_impl._M_header); } 10143: 10143: const_iterator 10143: end() const noexcept 10143: { return const_iterator(&this->_M_impl._M_header); } 10143: 10143: reverse_iterator 10143: rbegin() noexcept 10143: { return reverse_iterator(end()); } 10143: 10143: const_reverse_iterator 10143: rbegin() const noexcept 10143: { return const_reverse_iterator(end()); } 10143: 10143: reverse_iterator 10143: rend() noexcept 10143: { return reverse_iterator(begin()); } 10143: 10143: const_reverse_iterator 10143: rend() const noexcept 10143: { return const_reverse_iterator(begin()); } 10143: 10143: bool 10143: empty() const noexcept 10143: { return _M_impl._M_node_count == 0; } 10143: 10143: size_type 10143: size() const noexcept 10143: { return _M_impl._M_node_count; } 10143: 10143: size_type 10143: max_size() const noexcept 10143: { return _Alloc_traits::max_size(_M_get_Node_allocator()); } 10143: 10143: void 10143: swap(_Rb_tree& __t) 10143: noexcept(__is_nothrow_swappable<_Compare>::value); 10143: 10143: 10143: 10143: template 10143: pair 10143: _M_insert_unique(_Arg&& __x); 10143: 10143: template 10143: iterator 10143: _M_insert_equal(_Arg&& __x); 10143: 10143: template 10143: iterator 10143: _M_insert_unique_(const_iterator __pos, _Arg&& __x, _NodeGen&); 10143: 10143: template 10143: iterator 10143: _M_insert_unique_(const_iterator __pos, _Arg&& __x) 10143: { 10143: _Alloc_node __an(*this); 10143: return _M_insert_unique_(__pos, std::forward<_Arg>(__x), __an); 10143: } 10143: 10143: template 10143: iterator 10143: _M_insert_equal_(const_iterator __pos, _Arg&& __x, _NodeGen&); 10143: 10143: template 10143: iterator 10143: _M_insert_equal_(const_iterator __pos, _Arg&& __x) 10143: { 10143: _Alloc_node __an(*this); 10143: return _M_insert_equal_(__pos, std::forward<_Arg>(__x), __an); 10143: } 10143: 10143: template 10143: pair 10143: _M_emplace_unique(_Args&&... __args); 10143: 10143: template 10143: iterator 10143: _M_emplace_equal(_Args&&... __args); 10143: 10143: template 10143: iterator 10143: _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args); 10143: 10143: template 10143: iterator 10143: _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args); 10143: # 1103 "/usr/include/c++/8/bits/stl_tree.h" 3 10143: template 10143: void 10143: _M_insert_unique(_InputIterator __first, _InputIterator __last); 10143: 10143: template 10143: void 10143: _M_insert_equal(_InputIterator __first, _InputIterator __last); 10143: 10143: private: 10143: void 10143: _M_erase_aux(const_iterator __position); 10143: 10143: void 10143: _M_erase_aux(const_iterator __first, const_iterator __last); 10143: 10143: public: 10143: 10143: 10143: 10143: __attribute ((__abi_tag__ ("cxx11"))) 10143: iterator 10143: erase(const_iterator __position) 10143: { 10143: ; 10143: const_iterator __result = __position; 10143: ++__result; 10143: _M_erase_aux(__position); 10143: return __result._M_const_cast(); 10143: } 10143: 10143: 10143: __attribute ((__abi_tag__ ("cxx11"))) 10143: iterator 10143: erase(iterator __position) 10143: { 10143: ; 10143: iterator __result = __position; 10143: ++__result; 10143: _M_erase_aux(__position); 10143: return __result; 10143: } 10143: # 1159 "/usr/include/c++/8/bits/stl_tree.h" 3 10143: size_type 10143: erase(const key_type& __x); 10143: 10143: 10143: 10143: 10143: __attribute ((__abi_tag__ ("cxx11"))) 10143: iterator 10143: erase(const_iterator __first, const_iterator __last) 10143: { 10143: _M_erase_aux(__first, __last); 10143: return __last._M_const_cast(); 10143: } 10143: # 1181 "/usr/include/c++/8/bits/stl_tree.h" 3 10143: void 10143: erase(const key_type* __first, const key_type* __last); 10143: 10143: void 10143: clear() noexcept 10143: { 10143: _M_erase(_M_begin()); 10143: _M_impl._M_reset(); 10143: } 10143: 10143: 10143: iterator 10143: find(const key_type& __k); 10143: 10143: const_iterator 10143: find(const key_type& __k) const; 10143: 10143: size_type 10143: count(const key_type& __k) const; 10143: 10143: iterator 10143: lower_bound(const key_type& __k) 10143: { return _M_lower_bound(_M_begin(), _M_end(), __k); } 10143: 10143: const_iterator 10143: lower_bound(const key_type& __k) const 10143: { return _M_lower_bound(_M_begin(), _M_end(), __k); } 10143: 10143: iterator 10143: upper_bound(const key_type& __k) 10143: { return _M_upper_bound(_M_begin(), _M_end(), __k); } 10143: 10143: const_iterator 10143: upper_bound(const key_type& __k) const 10143: { return _M_upper_bound(_M_begin(), _M_end(), __k); } 10143: 10143: pair 10143: equal_range(const key_type& __k); 10143: 10143: pair 10143: equal_range(const key_type& __k) const; 10143: # 1341 "/usr/include/c++/8/bits/stl_tree.h" 3 10143: bool 10143: __rb_verify() const; 10143: 10143: 10143: _Rb_tree& 10143: operator=(_Rb_tree&&) 10143: noexcept(_Alloc_traits::_S_nothrow_move() 10143: && is_nothrow_move_assignable<_Compare>::value); 10143: 10143: template 10143: void 10143: _M_assign_unique(_Iterator, _Iterator); 10143: 10143: template 10143: void 10143: _M_assign_equal(_Iterator, _Iterator); 10143: 10143: private: 10143: 10143: void 10143: _M_move_data(_Rb_tree& __x, std::true_type) 10143: { _M_impl._M_move_data(__x._M_impl); } 10143: 10143: 10143: 10143: void 10143: _M_move_data(_Rb_tree&, std::false_type); 10143: 10143: 10143: void 10143: _M_move_assign(_Rb_tree&, std::true_type); 10143: 10143: 10143: 10143: void 10143: _M_move_assign(_Rb_tree&, std::false_type); 10143: # 1544 "/usr/include/c++/8/bits/stl_tree.h" 3 10143: }; 10143: 10143: template 10143: inline bool 10143: operator==(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 10143: const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 10143: { 10143: return __x.size() == __y.size() 10143: && std::equal(__x.begin(), __x.end(), __y.begin()); 10143: } 10143: 10143: template 10143: inline bool 10143: operator<(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 10143: const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 10143: { 10143: return std::lexicographical_compare(__x.begin(), __x.end(), 10143: __y.begin(), __y.end()); 10143: } 10143: 10143: template 10143: inline bool 10143: operator!=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 10143: const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 10143: { return !(__x == __y); } 10143: 10143: template 10143: inline bool 10143: operator>(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 10143: const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 10143: { return __y < __x; } 10143: 10143: template 10143: inline bool 10143: operator<=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 10143: const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 10143: { return !(__y < __x); } 10143: 10143: template 10143: inline bool 10143: operator>=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 10143: const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 10143: { return !(__x < __y); } 10143: 10143: template 10143: inline void 10143: swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 10143: { __x.swap(__y); } 10143: 10143: 10143: template 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a) 10143: : _M_impl(__x._M_impl._M_key_compare, std::move(__a)) 10143: { 10143: using __eq = typename _Alloc_traits::is_always_equal; 10143: if (__x._M_root() != nullptr) 10143: _M_move_data(__x, __eq()); 10143: } 10143: 10143: template 10143: void 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_move_data(_Rb_tree& __x, std::false_type) 10143: { 10143: if (_M_get_Node_allocator() == __x._M_get_Node_allocator()) 10143: _M_move_data(__x, std::true_type()); 10143: else 10143: { 10143: _Alloc_node __an(*this); 10143: auto __lbd = 10143: [&__an](const value_type& __cval) 10143: { 10143: auto& __val = const_cast(__cval); 10143: return __an(std::move_if_noexcept(__val)); 10143: }; 10143: _M_root() = _M_copy(__x, __lbd); 10143: } 10143: } 10143: 10143: template 10143: inline void 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_move_assign(_Rb_tree& __x, true_type) 10143: { 10143: clear(); 10143: if (__x._M_root() != nullptr) 10143: _M_move_data(__x, std::true_type()); 10143: std::__alloc_on_move(_M_get_Node_allocator(), 10143: __x._M_get_Node_allocator()); 10143: } 10143: 10143: template 10143: void 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_move_assign(_Rb_tree& __x, false_type) 10143: { 10143: if (_M_get_Node_allocator() == __x._M_get_Node_allocator()) 10143: return _M_move_assign(__x, true_type{}); 10143: 10143: 10143: 10143: _Reuse_or_alloc_node __roan(*this); 10143: _M_impl._M_reset(); 10143: if (__x._M_root() != nullptr) 10143: { 10143: auto __lbd = 10143: [&__roan](const value_type& __cval) 10143: { 10143: auto& __val = const_cast(__cval); 10143: return __roan(std::move_if_noexcept(__val)); 10143: }; 10143: _M_root() = _M_copy(__x, __lbd); 10143: __x.clear(); 10143: } 10143: } 10143: 10143: template 10143: inline _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: operator=(_Rb_tree&& __x) 10143: noexcept(_Alloc_traits::_S_nothrow_move() 10143: && is_nothrow_move_assignable<_Compare>::value) 10143: { 10143: _M_impl._M_key_compare = std::move(__x._M_impl._M_key_compare); 10143: _M_move_assign(__x, __bool_constant<_Alloc_traits::_S_nothrow_move()>()); 10143: return *this; 10143: } 10143: 10143: template 10143: template 10143: void 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_assign_unique(_Iterator __first, _Iterator __last) 10143: { 10143: _Reuse_or_alloc_node __roan(*this); 10143: _M_impl._M_reset(); 10143: for (; __first != __last; ++__first) 10143: _M_insert_unique_(end(), *__first, __roan); 10143: } 10143: 10143: template 10143: template 10143: void 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_assign_equal(_Iterator __first, _Iterator __last) 10143: { 10143: _Reuse_or_alloc_node __roan(*this); 10143: _M_impl._M_reset(); 10143: for (; __first != __last; ++__first) 10143: _M_insert_equal_(end(), *__first, __roan); 10143: } 10143: 10143: 10143: template 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: operator=(const _Rb_tree& __x) 10143: { 10143: if (this != &__x) 10143: { 10143: 10143: 10143: if (_Alloc_traits::_S_propagate_on_copy_assign()) 10143: { 10143: auto& __this_alloc = this->_M_get_Node_allocator(); 10143: auto& __that_alloc = __x._M_get_Node_allocator(); 10143: if (!_Alloc_traits::_S_always_equal() 10143: && __this_alloc != __that_alloc) 10143: { 10143: 10143: 10143: clear(); 10143: std::__alloc_on_copy(__this_alloc, __that_alloc); 10143: } 10143: } 10143: 10143: 10143: _Reuse_or_alloc_node __roan(*this); 10143: _M_impl._M_reset(); 10143: _M_impl._M_key_compare = __x._M_impl._M_key_compare; 10143: if (__x._M_root() != 0) 10143: _M_root() = _M_copy(__x, __roan); 10143: } 10143: 10143: return *this; 10143: } 10143: 10143: template 10143: 10143: template 10143: 10143: 10143: 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_insert_(_Base_ptr __x, _Base_ptr __p, 10143: 10143: _Arg&& __v, 10143: 10143: 10143: 10143: _NodeGen& __node_gen) 10143: { 10143: bool __insert_left = (__x != 0 || __p == _M_end() 10143: || _M_impl._M_key_compare(_KeyOfValue()(__v), 10143: _S_key(__p))); 10143: 10143: _Link_type __z = __node_gen(std::forward<_Arg>(__v)); 10143: 10143: _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, 10143: this->_M_impl._M_header); 10143: ++_M_impl._M_node_count; 10143: return iterator(__z); 10143: } 10143: 10143: template 10143: 10143: template 10143: 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: 10143: _M_insert_lower(_Base_ptr __p, _Arg&& __v) 10143: 10143: 10143: 10143: { 10143: bool __insert_left = (__p == _M_end() 10143: || !_M_impl._M_key_compare(_S_key(__p), 10143: _KeyOfValue()(__v))); 10143: 10143: _Link_type __z = _M_create_node(std::forward<_Arg>(__v)); 10143: 10143: _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, 10143: this->_M_impl._M_header); 10143: ++_M_impl._M_node_count; 10143: return iterator(__z); 10143: } 10143: 10143: template 10143: 10143: template 10143: 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: 10143: _M_insert_equal_lower(_Arg&& __v) 10143: 10143: 10143: 10143: { 10143: _Link_type __x = _M_begin(); 10143: _Base_ptr __y = _M_end(); 10143: while (__x != 0) 10143: { 10143: __y = __x; 10143: __x = !_M_impl._M_key_compare(_S_key(__x), _KeyOfValue()(__v)) ? 10143: _S_left(__x) : _S_right(__x); 10143: } 10143: return _M_insert_lower(__y, std::forward<_Arg>(__v)); 10143: } 10143: 10143: template 10143: template 10143: typename _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::_Link_type 10143: _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>:: 10143: _M_copy(_Const_Link_type __x, _Base_ptr __p, _NodeGen& __node_gen) 10143: { 10143: 10143: _Link_type __top = _M_clone_node(__x, __node_gen); 10143: __top->_M_parent = __p; 10143: 10143: if (true) 10143: { 10143: if (__x->_M_right) 10143: __top->_M_right = _M_copy(_S_right(__x), __top, __node_gen); 10143: __p = __top; 10143: __x = _S_left(__x); 10143: 10143: while (__x != 0) 10143: { 10143: _Link_type __y = _M_clone_node(__x, __node_gen); 10143: __p->_M_left = __y; 10143: __y->_M_parent = __p; 10143: if (__x->_M_right) 10143: __y->_M_right = _M_copy(_S_right(__x), __y, __node_gen); 10143: __p = __y; 10143: __x = _S_left(__x); 10143: } 10143: } 10143: if (false) 10143: { 10143: _M_erase(__top); 10143: ; 10143: } 10143: return __top; 10143: } 10143: 10143: template 10143: void 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_erase(_Link_type __x) 10143: { 10143: 10143: while (__x != 0) 10143: { 10143: _M_erase(_S_right(__x)); 10143: _Link_type __y = _S_left(__x); 10143: _M_drop_node(__x); 10143: __x = __y; 10143: } 10143: } 10143: 10143: template 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, 10143: _Compare, _Alloc>::iterator 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_lower_bound(_Link_type __x, _Base_ptr __y, 10143: const _Key& __k) 10143: { 10143: while (__x != 0) 10143: if (!_M_impl._M_key_compare(_S_key(__x), __k)) 10143: __y = __x, __x = _S_left(__x); 10143: else 10143: __x = _S_right(__x); 10143: return iterator(__y); 10143: } 10143: 10143: template 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, 10143: _Compare, _Alloc>::const_iterator 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y, 10143: const _Key& __k) const 10143: { 10143: while (__x != 0) 10143: if (!_M_impl._M_key_compare(_S_key(__x), __k)) 10143: __y = __x, __x = _S_left(__x); 10143: else 10143: __x = _S_right(__x); 10143: return const_iterator(__y); 10143: } 10143: 10143: template 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, 10143: _Compare, _Alloc>::iterator 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_upper_bound(_Link_type __x, _Base_ptr __y, 10143: const _Key& __k) 10143: { 10143: while (__x != 0) 10143: if (_M_impl._M_key_compare(__k, _S_key(__x))) 10143: __y = __x, __x = _S_left(__x); 10143: else 10143: __x = _S_right(__x); 10143: return iterator(__y); 10143: } 10143: 10143: template 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, 10143: _Compare, _Alloc>::const_iterator 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y, 10143: const _Key& __k) const 10143: { 10143: while (__x != 0) 10143: if (_M_impl._M_key_compare(__k, _S_key(__x))) 10143: __y = __x, __x = _S_left(__x); 10143: else 10143: __x = _S_right(__x); 10143: return const_iterator(__y); 10143: } 10143: 10143: template 10143: pair::iterator, 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, 10143: _Compare, _Alloc>::iterator> 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: equal_range(const _Key& __k) 10143: { 10143: _Link_type __x = _M_begin(); 10143: _Base_ptr __y = _M_end(); 10143: while (__x != 0) 10143: { 10143: if (_M_impl._M_key_compare(_S_key(__x), __k)) 10143: __x = _S_right(__x); 10143: else if (_M_impl._M_key_compare(__k, _S_key(__x))) 10143: __y = __x, __x = _S_left(__x); 10143: else 10143: { 10143: _Link_type __xu(__x); 10143: _Base_ptr __yu(__y); 10143: __y = __x, __x = _S_left(__x); 10143: __xu = _S_right(__xu); 10143: return pair(_M_lower_bound(__x, __y, __k), 10143: _M_upper_bound(__xu, __yu, __k)); 10143: } 10143: } 10143: return pair(iterator(__y), 10143: iterator(__y)); 10143: } 10143: 10143: template 10143: pair::const_iterator, 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, 10143: _Compare, _Alloc>::const_iterator> 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: equal_range(const _Key& __k) const 10143: { 10143: _Const_Link_type __x = _M_begin(); 10143: _Const_Base_ptr __y = _M_end(); 10143: while (__x != 0) 10143: { 10143: if (_M_impl._M_key_compare(_S_key(__x), __k)) 10143: __x = _S_right(__x); 10143: else if (_M_impl._M_key_compare(__k, _S_key(__x))) 10143: __y = __x, __x = _S_left(__x); 10143: else 10143: { 10143: _Const_Link_type __xu(__x); 10143: _Const_Base_ptr __yu(__y); 10143: __y = __x, __x = _S_left(__x); 10143: __xu = _S_right(__xu); 10143: return pair(_M_lower_bound(__x, __y, __k), 10143: _M_upper_bound(__xu, __yu, __k)); 10143: } 10143: } 10143: return pair(const_iterator(__y), 10143: const_iterator(__y)); 10143: } 10143: 10143: template 10143: void 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: swap(_Rb_tree& __t) 10143: noexcept(__is_nothrow_swappable<_Compare>::value) 10143: { 10143: if (_M_root() == 0) 10143: { 10143: if (__t._M_root() != 0) 10143: _M_impl._M_move_data(__t._M_impl); 10143: } 10143: else if (__t._M_root() == 0) 10143: __t._M_impl._M_move_data(_M_impl); 10143: else 10143: { 10143: std::swap(_M_root(),__t._M_root()); 10143: std::swap(_M_leftmost(),__t._M_leftmost()); 10143: std::swap(_M_rightmost(),__t._M_rightmost()); 10143: 10143: _M_root()->_M_parent = _M_end(); 10143: __t._M_root()->_M_parent = __t._M_end(); 10143: std::swap(this->_M_impl._M_node_count, __t._M_impl._M_node_count); 10143: } 10143: 10143: std::swap(this->_M_impl._M_key_compare, __t._M_impl._M_key_compare); 10143: 10143: _Alloc_traits::_S_on_swap(_M_get_Node_allocator(), 10143: __t._M_get_Node_allocator()); 10143: } 10143: 10143: template 10143: pair::_Base_ptr, 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, 10143: _Compare, _Alloc>::_Base_ptr> 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_get_insert_unique_pos(const key_type& __k) 10143: { 10143: typedef pair<_Base_ptr, _Base_ptr> _Res; 10143: _Link_type __x = _M_begin(); 10143: _Base_ptr __y = _M_end(); 10143: bool __comp = true; 10143: while (__x != 0) 10143: { 10143: __y = __x; 10143: __comp = _M_impl._M_key_compare(__k, _S_key(__x)); 10143: __x = __comp ? _S_left(__x) : _S_right(__x); 10143: } 10143: iterator __j = iterator(__y); 10143: if (__comp) 10143: { 10143: if (__j == begin()) 10143: return _Res(__x, __y); 10143: else 10143: --__j; 10143: } 10143: if (_M_impl._M_key_compare(_S_key(__j._M_node), __k)) 10143: return _Res(__x, __y); 10143: return _Res(__j._M_node, 0); 10143: } 10143: 10143: template 10143: pair::_Base_ptr, 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, 10143: _Compare, _Alloc>::_Base_ptr> 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_get_insert_equal_pos(const key_type& __k) 10143: { 10143: typedef pair<_Base_ptr, _Base_ptr> _Res; 10143: _Link_type __x = _M_begin(); 10143: _Base_ptr __y = _M_end(); 10143: while (__x != 0) 10143: { 10143: __y = __x; 10143: __x = _M_impl._M_key_compare(__k, _S_key(__x)) ? 10143: _S_left(__x) : _S_right(__x); 10143: } 10143: return _Res(__x, __y); 10143: } 10143: 10143: template 10143: 10143: template 10143: 10143: pair::iterator, bool> 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: 10143: _M_insert_unique(_Arg&& __v) 10143: 10143: 10143: 10143: { 10143: typedef pair _Res; 10143: pair<_Base_ptr, _Base_ptr> __res 10143: = _M_get_insert_unique_pos(_KeyOfValue()(__v)); 10143: 10143: if (__res.second) 10143: { 10143: _Alloc_node __an(*this); 10143: return _Res(_M_insert_(__res.first, __res.second, 10143: std::forward<_Arg>(__v), __an), 10143: true); 10143: } 10143: 10143: return _Res(iterator(__res.first), false); 10143: } 10143: 10143: template 10143: 10143: template 10143: 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: 10143: _M_insert_equal(_Arg&& __v) 10143: 10143: 10143: 10143: { 10143: pair<_Base_ptr, _Base_ptr> __res 10143: = _M_get_insert_equal_pos(_KeyOfValue()(__v)); 10143: _Alloc_node __an(*this); 10143: return _M_insert_(__res.first, __res.second, 10143: std::forward<_Arg>(__v), __an); 10143: } 10143: 10143: template 10143: pair::_Base_ptr, 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, 10143: _Compare, _Alloc>::_Base_ptr> 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_get_insert_hint_unique_pos(const_iterator __position, 10143: const key_type& __k) 10143: { 10143: iterator __pos = __position._M_const_cast(); 10143: typedef pair<_Base_ptr, _Base_ptr> _Res; 10143: 10143: 10143: if (__pos._M_node == _M_end()) 10143: { 10143: if (size() > 0 10143: && _M_impl._M_key_compare(_S_key(_M_rightmost()), __k)) 10143: return _Res(0, _M_rightmost()); 10143: else 10143: return _M_get_insert_unique_pos(__k); 10143: } 10143: else if (_M_impl._M_key_compare(__k, _S_key(__pos._M_node))) 10143: { 10143: 10143: iterator __before = __pos; 10143: if (__pos._M_node == _M_leftmost()) 10143: return _Res(_M_leftmost(), _M_leftmost()); 10143: else if (_M_impl._M_key_compare(_S_key((--__before)._M_node), __k)) 10143: { 10143: if (_S_right(__before._M_node) == 0) 10143: return _Res(0, __before._M_node); 10143: else 10143: return _Res(__pos._M_node, __pos._M_node); 10143: } 10143: else 10143: return _M_get_insert_unique_pos(__k); 10143: } 10143: else if (_M_impl._M_key_compare(_S_key(__pos._M_node), __k)) 10143: { 10143: 10143: iterator __after = __pos; 10143: if (__pos._M_node == _M_rightmost()) 10143: return _Res(0, _M_rightmost()); 10143: else if (_M_impl._M_key_compare(__k, _S_key((++__after)._M_node))) 10143: { 10143: if (_S_right(__pos._M_node) == 0) 10143: return _Res(0, __pos._M_node); 10143: else 10143: return _Res(__after._M_node, __after._M_node); 10143: } 10143: else 10143: return _M_get_insert_unique_pos(__k); 10143: } 10143: else 10143: 10143: return _Res(__pos._M_node, 0); 10143: } 10143: 10143: template 10143: 10143: template 10143: 10143: 10143: 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_insert_unique_(const_iterator __position, 10143: 10143: _Arg&& __v, 10143: 10143: 10143: 10143: _NodeGen& __node_gen) 10143: { 10143: pair<_Base_ptr, _Base_ptr> __res 10143: = _M_get_insert_hint_unique_pos(__position, _KeyOfValue()(__v)); 10143: 10143: if (__res.second) 10143: return _M_insert_(__res.first, __res.second, 10143: std::forward<_Arg>(__v), 10143: __node_gen); 10143: return iterator(__res.first); 10143: } 10143: 10143: template 10143: pair::_Base_ptr, 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, 10143: _Compare, _Alloc>::_Base_ptr> 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_get_insert_hint_equal_pos(const_iterator __position, const key_type& __k) 10143: { 10143: iterator __pos = __position._M_const_cast(); 10143: typedef pair<_Base_ptr, _Base_ptr> _Res; 10143: 10143: 10143: if (__pos._M_node == _M_end()) 10143: { 10143: if (size() > 0 10143: && !_M_impl._M_key_compare(__k, _S_key(_M_rightmost()))) 10143: return _Res(0, _M_rightmost()); 10143: else 10143: return _M_get_insert_equal_pos(__k); 10143: } 10143: else if (!_M_impl._M_key_compare(_S_key(__pos._M_node), __k)) 10143: { 10143: 10143: iterator __before = __pos; 10143: if (__pos._M_node == _M_leftmost()) 10143: return _Res(_M_leftmost(), _M_leftmost()); 10143: else if (!_M_impl._M_key_compare(__k, _S_key((--__before)._M_node))) 10143: { 10143: if (_S_right(__before._M_node) == 0) 10143: return _Res(0, __before._M_node); 10143: else 10143: return _Res(__pos._M_node, __pos._M_node); 10143: } 10143: else 10143: return _M_get_insert_equal_pos(__k); 10143: } 10143: else 10143: { 10143: 10143: iterator __after = __pos; 10143: if (__pos._M_node == _M_rightmost()) 10143: return _Res(0, _M_rightmost()); 10143: else if (!_M_impl._M_key_compare(_S_key((++__after)._M_node), __k)) 10143: { 10143: if (_S_right(__pos._M_node) == 0) 10143: return _Res(0, __pos._M_node); 10143: else 10143: return _Res(__after._M_node, __after._M_node); 10143: } 10143: else 10143: return _Res(0, 0); 10143: } 10143: } 10143: 10143: template 10143: 10143: template 10143: 10143: 10143: 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_insert_equal_(const_iterator __position, 10143: 10143: _Arg&& __v, 10143: 10143: 10143: 10143: _NodeGen& __node_gen) 10143: { 10143: pair<_Base_ptr, _Base_ptr> __res 10143: = _M_get_insert_hint_equal_pos(__position, _KeyOfValue()(__v)); 10143: 10143: if (__res.second) 10143: return _M_insert_(__res.first, __res.second, 10143: std::forward<_Arg>(__v), 10143: __node_gen); 10143: 10143: return _M_insert_equal_lower(std::forward<_Arg>(__v)); 10143: } 10143: 10143: 10143: template 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_insert_node(_Base_ptr __x, _Base_ptr __p, _Link_type __z) 10143: { 10143: bool __insert_left = (__x != 0 || __p == _M_end() 10143: || _M_impl._M_key_compare(_S_key(__z), 10143: _S_key(__p))); 10143: 10143: _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, 10143: this->_M_impl._M_header); 10143: ++_M_impl._M_node_count; 10143: return iterator(__z); 10143: } 10143: 10143: template 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_insert_lower_node(_Base_ptr __p, _Link_type __z) 10143: { 10143: bool __insert_left = (__p == _M_end() 10143: || !_M_impl._M_key_compare(_S_key(__p), 10143: _S_key(__z))); 10143: 10143: _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, 10143: this->_M_impl._M_header); 10143: ++_M_impl._M_node_count; 10143: return iterator(__z); 10143: } 10143: 10143: template 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_insert_equal_lower_node(_Link_type __z) 10143: { 10143: _Link_type __x = _M_begin(); 10143: _Base_ptr __y = _M_end(); 10143: while (__x != 0) 10143: { 10143: __y = __x; 10143: __x = !_M_impl._M_key_compare(_S_key(__x), _S_key(__z)) ? 10143: _S_left(__x) : _S_right(__x); 10143: } 10143: return _M_insert_lower_node(__y, __z); 10143: } 10143: 10143: template 10143: template 10143: pair::iterator, bool> 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_emplace_unique(_Args&&... __args) 10143: { 10143: _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); 10143: 10143: if (true) 10143: { 10143: typedef pair _Res; 10143: auto __res = _M_get_insert_unique_pos(_S_key(__z)); 10143: if (__res.second) 10143: return _Res(_M_insert_node(__res.first, __res.second, __z), true); 10143: 10143: _M_drop_node(__z); 10143: return _Res(iterator(__res.first), false); 10143: } 10143: if (false) 10143: { 10143: _M_drop_node(__z); 10143: ; 10143: } 10143: } 10143: 10143: template 10143: template 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_emplace_equal(_Args&&... __args) 10143: { 10143: _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); 10143: 10143: if (true) 10143: { 10143: auto __res = _M_get_insert_equal_pos(_S_key(__z)); 10143: return _M_insert_node(__res.first, __res.second, __z); 10143: } 10143: if (false) 10143: { 10143: _M_drop_node(__z); 10143: ; 10143: } 10143: } 10143: 10143: template 10143: template 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args) 10143: { 10143: _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); 10143: 10143: if (true) 10143: { 10143: auto __res = _M_get_insert_hint_unique_pos(__pos, _S_key(__z)); 10143: 10143: if (__res.second) 10143: return _M_insert_node(__res.first, __res.second, __z); 10143: 10143: _M_drop_node(__z); 10143: return iterator(__res.first); 10143: } 10143: if (false) 10143: { 10143: _M_drop_node(__z); 10143: ; 10143: } 10143: } 10143: 10143: template 10143: template 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args) 10143: { 10143: _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); 10143: 10143: if (true) 10143: { 10143: auto __res = _M_get_insert_hint_equal_pos(__pos, _S_key(__z)); 10143: 10143: if (__res.second) 10143: return _M_insert_node(__res.first, __res.second, __z); 10143: 10143: return _M_insert_equal_lower_node(__z); 10143: } 10143: if (false) 10143: { 10143: _M_drop_node(__z); 10143: ; 10143: } 10143: } 10143: 10143: 10143: template 10143: template 10143: void 10143: _Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>:: 10143: _M_insert_unique(_II __first, _II __last) 10143: { 10143: _Alloc_node __an(*this); 10143: for (; __first != __last; ++__first) 10143: _M_insert_unique_(end(), *__first, __an); 10143: } 10143: 10143: template 10143: template 10143: void 10143: _Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>:: 10143: _M_insert_equal(_II __first, _II __last) 10143: { 10143: _Alloc_node __an(*this); 10143: for (; __first != __last; ++__first) 10143: _M_insert_equal_(end(), *__first, __an); 10143: } 10143: 10143: template 10143: void 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_erase_aux(const_iterator __position) 10143: { 10143: _Link_type __y = 10143: static_cast<_Link_type>(_Rb_tree_rebalance_for_erase 10143: (const_cast<_Base_ptr>(__position._M_node), 10143: this->_M_impl._M_header)); 10143: _M_drop_node(__y); 10143: --_M_impl._M_node_count; 10143: } 10143: 10143: template 10143: void 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: _M_erase_aux(const_iterator __first, const_iterator __last) 10143: { 10143: if (__first == begin() && __last == end()) 10143: clear(); 10143: else 10143: while (__first != __last) 10143: _M_erase_aux(__first++); 10143: } 10143: 10143: template 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: erase(const _Key& __x) 10143: { 10143: pair __p = equal_range(__x); 10143: const size_type __old_size = size(); 10143: _M_erase_aux(__p.first, __p.second); 10143: return __old_size - size(); 10143: } 10143: 10143: template 10143: void 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: erase(const _Key* __first, const _Key* __last) 10143: { 10143: while (__first != __last) 10143: erase(*__first++); 10143: } 10143: 10143: template 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, 10143: _Compare, _Alloc>::iterator 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: find(const _Key& __k) 10143: { 10143: iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k); 10143: return (__j == end() 10143: || _M_impl._M_key_compare(__k, 10143: _S_key(__j._M_node))) ? end() : __j; 10143: } 10143: 10143: template 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, 10143: _Compare, _Alloc>::const_iterator 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: find(const _Key& __k) const 10143: { 10143: const_iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k); 10143: return (__j == end() 10143: || _M_impl._M_key_compare(__k, 10143: _S_key(__j._M_node))) ? end() : __j; 10143: } 10143: 10143: template 10143: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type 10143: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 10143: count(const _Key& __k) const 10143: { 10143: pair __p = equal_range(__k); 10143: const size_type __n = std::distance(__p.first, __p.second); 10143: return __n; 10143: } 10143: 10143: __attribute__ ((__pure__)) unsigned int 10143: _Rb_tree_black_count(const _Rb_tree_node_base* __node, 10143: const _Rb_tree_node_base* __root) throw (); 10143: 10143: template 10143: bool 10143: _Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const 10143: { 10143: if (_M_impl._M_node_count == 0 || begin() == end()) 10143: return _M_impl._M_node_count == 0 && begin() == end() 10143: && this->_M_impl._M_header._M_left == _M_end() 10143: && this->_M_impl._M_header._M_right == _M_end(); 10143: 10143: unsigned int __len = _Rb_tree_black_count(_M_leftmost(), _M_root()); 10143: for (const_iterator __it = begin(); __it != end(); ++__it) 10143: { 10143: _Const_Link_type __x = static_cast<_Const_Link_type>(__it._M_node); 10143: _Const_Link_type __L = _S_left(__x); 10143: _Const_Link_type __R = _S_right(__x); 10143: 10143: if (__x->_M_color == _S_red) 10143: if ((__L && __L->_M_color == _S_red) 10143: || (__R && __R->_M_color == _S_red)) 10143: return false; 10143: 10143: if (__L && _M_impl._M_key_compare(_S_key(__x), _S_key(__L))) 10143: return false; 10143: if (__R && _M_impl._M_key_compare(_S_key(__R), _S_key(__x))) 10143: return false; 10143: 10143: if (!__L && !__R && _Rb_tree_black_count(__x, _M_root()) != __len) 10143: return false; 10143: } 10143: 10143: if (_M_leftmost() != _Rb_tree_node_base::_S_minimum(_M_root())) 10143: return false; 10143: if (_M_rightmost() != _Rb_tree_node_base::_S_maximum(_M_root())) 10143: return false; 10143: return true; 10143: } 10143: # 2627 "/usr/include/c++/8/bits/stl_tree.h" 3 10143: 10143: } 10143: # 61 "/usr/include/c++/8/map" 2 3 10143: # 1 "/usr/include/c++/8/bits/stl_map.h" 1 3 10143: # 63 "/usr/include/c++/8/bits/stl_map.h" 3 10143: # 1 "/usr/include/c++/8/tuple" 1 3 10143: # 32 "/usr/include/c++/8/tuple" 3 10143: 10143: # 33 "/usr/include/c++/8/tuple" 3 10143: 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/array" 1 3 10143: # 32 "/usr/include/c++/8/array" 3 10143: 10143: # 33 "/usr/include/c++/8/array" 3 10143: # 43 "/usr/include/c++/8/array" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: template 10143: struct __array_traits 10143: { 10143: typedef _Tp _Type[_Nm]; 10143: typedef __is_swappable<_Tp> _Is_swappable; 10143: typedef __is_nothrow_swappable<_Tp> _Is_nothrow_swappable; 10143: 10143: static constexpr _Tp& 10143: _S_ref(const _Type& __t, std::size_t __n) noexcept 10143: { return const_cast<_Tp&>(__t[__n]); } 10143: 10143: static constexpr _Tp* 10143: _S_ptr(const _Type& __t) noexcept 10143: { return const_cast<_Tp*>(__t); } 10143: }; 10143: 10143: template 10143: struct __array_traits<_Tp, 0> 10143: { 10143: struct _Type { }; 10143: typedef true_type _Is_swappable; 10143: typedef true_type _Is_nothrow_swappable; 10143: 10143: static constexpr _Tp& 10143: _S_ref(const _Type&, std::size_t) noexcept 10143: { return *static_cast<_Tp*>(nullptr); } 10143: 10143: static constexpr _Tp* 10143: _S_ptr(const _Type&) noexcept 10143: { return nullptr; } 10143: }; 10143: # 93 "/usr/include/c++/8/array" 3 10143: template 10143: struct array 10143: { 10143: typedef _Tp value_type; 10143: typedef value_type* pointer; 10143: typedef const value_type* const_pointer; 10143: typedef value_type& reference; 10143: typedef const value_type& const_reference; 10143: typedef value_type* iterator; 10143: typedef const value_type* const_iterator; 10143: typedef std::size_t size_type; 10143: typedef std::ptrdiff_t difference_type; 10143: typedef std::reverse_iterator reverse_iterator; 10143: typedef std::reverse_iterator const_reverse_iterator; 10143: 10143: 10143: typedef std::__array_traits<_Tp, _Nm> _AT_Type; 10143: typename _AT_Type::_Type _M_elems; 10143: 10143: 10143: 10143: 10143: void 10143: fill(const value_type& __u) 10143: { std::fill_n(begin(), size(), __u); } 10143: 10143: void 10143: swap(array& __other) 10143: noexcept(_AT_Type::_Is_nothrow_swappable::value) 10143: { std::swap_ranges(begin(), end(), __other.begin()); } 10143: 10143: 10143: iterator 10143: begin() noexcept 10143: { return iterator(data()); } 10143: 10143: const_iterator 10143: begin() const noexcept 10143: { return const_iterator(data()); } 10143: 10143: iterator 10143: end() noexcept 10143: { return iterator(data() + _Nm); } 10143: 10143: const_iterator 10143: end() const noexcept 10143: { return const_iterator(data() + _Nm); } 10143: 10143: reverse_iterator 10143: rbegin() noexcept 10143: { return reverse_iterator(end()); } 10143: 10143: const_reverse_iterator 10143: rbegin() const noexcept 10143: { return const_reverse_iterator(end()); } 10143: 10143: reverse_iterator 10143: rend() noexcept 10143: { return reverse_iterator(begin()); } 10143: 10143: const_reverse_iterator 10143: rend() const noexcept 10143: { return const_reverse_iterator(begin()); } 10143: 10143: const_iterator 10143: cbegin() const noexcept 10143: { return const_iterator(data()); } 10143: 10143: const_iterator 10143: cend() const noexcept 10143: { return const_iterator(data() + _Nm); } 10143: 10143: const_reverse_iterator 10143: crbegin() const noexcept 10143: { return const_reverse_iterator(end()); } 10143: 10143: const_reverse_iterator 10143: crend() const noexcept 10143: { return const_reverse_iterator(begin()); } 10143: 10143: 10143: constexpr size_type 10143: size() const noexcept { return _Nm; } 10143: 10143: constexpr size_type 10143: max_size() const noexcept { return _Nm; } 10143: 10143: constexpr bool 10143: empty() const noexcept { return size() == 0; } 10143: 10143: 10143: reference 10143: operator[](size_type __n) noexcept 10143: { return _AT_Type::_S_ref(_M_elems, __n); } 10143: 10143: constexpr const_reference 10143: operator[](size_type __n) const noexcept 10143: { return _AT_Type::_S_ref(_M_elems, __n); } 10143: 10143: reference 10143: at(size_type __n) 10143: { 10143: if (__n >= _Nm) 10143: std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)") 10143: , 10143: __n, _Nm); 10143: return _AT_Type::_S_ref(_M_elems, __n); 10143: } 10143: 10143: constexpr const_reference 10143: at(size_type __n) const 10143: { 10143: 10143: 10143: return __n < _Nm ? _AT_Type::_S_ref(_M_elems, __n) 10143: : (std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)") 10143: , 10143: __n, _Nm), 10143: _AT_Type::_S_ref(_M_elems, 0)); 10143: } 10143: 10143: reference 10143: front() noexcept 10143: { return *begin(); } 10143: 10143: constexpr const_reference 10143: front() const noexcept 10143: { return _AT_Type::_S_ref(_M_elems, 0); } 10143: 10143: reference 10143: back() noexcept 10143: { return _Nm ? *(end() - 1) : *end(); } 10143: 10143: constexpr const_reference 10143: back() const noexcept 10143: { 10143: return _Nm ? _AT_Type::_S_ref(_M_elems, _Nm - 1) 10143: : _AT_Type::_S_ref(_M_elems, 0); 10143: } 10143: 10143: pointer 10143: data() noexcept 10143: { return _AT_Type::_S_ptr(_M_elems); } 10143: 10143: const_pointer 10143: data() const noexcept 10143: { return _AT_Type::_S_ptr(_M_elems); } 10143: }; 10143: # 250 "/usr/include/c++/8/array" 3 10143: template 10143: inline bool 10143: operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) 10143: { return std::equal(__one.begin(), __one.end(), __two.begin()); } 10143: 10143: template 10143: inline bool 10143: operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) 10143: { return !(__one == __two); } 10143: 10143: template 10143: inline bool 10143: operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b) 10143: { 10143: return std::lexicographical_compare(__a.begin(), __a.end(), 10143: __b.begin(), __b.end()); 10143: } 10143: 10143: template 10143: inline bool 10143: operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) 10143: { return __two < __one; } 10143: 10143: template 10143: inline bool 10143: operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) 10143: { return !(__one > __two); } 10143: 10143: template 10143: inline bool 10143: operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) 10143: { return !(__one < __two); } 10143: 10143: 10143: template 10143: inline 10143: 10143: 10143: typename enable_if< 10143: std::__array_traits<_Tp, _Nm>::_Is_swappable::value 10143: >::type 10143: 10143: 10143: 10143: swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two) 10143: noexcept(noexcept(__one.swap(__two))) 10143: { __one.swap(__two); } 10143: 10143: 10143: template 10143: typename enable_if< 10143: !std::__array_traits<_Tp, _Nm>::_Is_swappable::value>::type 10143: swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&) = delete; 10143: 10143: 10143: template 10143: constexpr _Tp& 10143: get(array<_Tp, _Nm>& __arr) noexcept 10143: { 10143: static_assert(_Int < _Nm, "array index is within bounds"); 10143: return std::__array_traits<_Tp, _Nm>:: 10143: _S_ref(__arr._M_elems, _Int); 10143: } 10143: 10143: template 10143: constexpr _Tp&& 10143: get(array<_Tp, _Nm>&& __arr) noexcept 10143: { 10143: static_assert(_Int < _Nm, "array index is within bounds"); 10143: return std::move(std::get<_Int>(__arr)); 10143: } 10143: 10143: template 10143: constexpr const _Tp& 10143: get(const array<_Tp, _Nm>& __arr) noexcept 10143: { 10143: static_assert(_Int < _Nm, "array index is within bounds"); 10143: return std::__array_traits<_Tp, _Nm>:: 10143: _S_ref(__arr._M_elems, _Int); 10143: } 10143: 10143: template 10143: constexpr const _Tp&& 10143: get(const array<_Tp, _Nm>&& __arr) noexcept 10143: { 10143: static_assert(_Int < _Nm, "array index is within bounds"); 10143: return std::move(std::get<_Int>(__arr)); 10143: } 10143: 10143: 10143: } 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct tuple_size; 10143: 10143: 10143: template 10143: struct tuple_size> 10143: : public integral_constant { }; 10143: 10143: 10143: template 10143: struct tuple_element; 10143: 10143: 10143: template 10143: struct tuple_element<_Int, std::array<_Tp, _Nm>> 10143: { 10143: static_assert(_Int < _Nm, "index is out of bounds"); 10143: typedef _Tp type; 10143: }; 10143: 10143: template 10143: struct __is_tuple_like_impl> : true_type 10143: { }; 10143: 10143: 10143: } 10143: # 40 "/usr/include/c++/8/tuple" 2 3 10143: # 1 "/usr/include/c++/8/bits/uses_allocator.h" 1 3 10143: # 35 "/usr/include/c++/8/bits/uses_allocator.h" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: struct __erased_type { }; 10143: 10143: template 10143: using __is_erased_or_convertible 10143: = __or_, is_convertible<_Alloc, _Tp>>; 10143: 10143: 10143: struct allocator_arg_t { explicit allocator_arg_t() = default; }; 10143: 10143: constexpr allocator_arg_t allocator_arg = 10143: allocator_arg_t(); 10143: 10143: template> 10143: struct __uses_allocator_helper 10143: : false_type { }; 10143: 10143: template 10143: struct __uses_allocator_helper<_Tp, _Alloc, 10143: __void_t> 10143: : __is_erased_or_convertible<_Alloc, typename _Tp::allocator_type>::type 10143: { }; 10143: 10143: 10143: template 10143: struct uses_allocator 10143: : __uses_allocator_helper<_Tp, _Alloc>::type 10143: { }; 10143: 10143: struct __uses_alloc_base { }; 10143: 10143: struct __uses_alloc0 : __uses_alloc_base 10143: { 10143: struct _Sink { void operator=(const void*) { } } _M_a; 10143: }; 10143: 10143: template 10143: struct __uses_alloc1 : __uses_alloc_base { const _Alloc* _M_a; }; 10143: 10143: template 10143: struct __uses_alloc2 : __uses_alloc_base { const _Alloc* _M_a; }; 10143: 10143: template 10143: struct __uses_alloc; 10143: 10143: template 10143: struct __uses_alloc 10143: : conditional< 10143: is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>::value, 10143: __uses_alloc1<_Alloc>, 10143: __uses_alloc2<_Alloc>>::type 10143: { 10143: static_assert(__or_< 10143: is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>, 10143: is_constructible<_Tp, _Args..., _Alloc>>::value, "construction with" 10143: " an allocator must be possible if uses_allocator is true"); 10143: }; 10143: 10143: template 10143: struct __uses_alloc 10143: : __uses_alloc0 { }; 10143: 10143: template 10143: using __uses_alloc_t = 10143: __uses_alloc::value, _Tp, _Alloc, _Args...>; 10143: 10143: template 10143: inline __uses_alloc_t<_Tp, _Alloc, _Args...> 10143: __use_alloc(const _Alloc& __a) 10143: { 10143: __uses_alloc_t<_Tp, _Alloc, _Args...> __ret; 10143: __ret._M_a = std::__addressof(__a); 10143: return __ret; 10143: } 10143: 10143: template 10143: void 10143: __use_alloc(const _Alloc&&) = delete; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template class _Predicate, 10143: typename _Tp, typename _Alloc, typename... _Args> 10143: struct __is_uses_allocator_predicate 10143: : conditional::value, 10143: __or_<_Predicate<_Tp, allocator_arg_t, _Alloc, _Args...>, 10143: _Predicate<_Tp, _Args..., _Alloc>>, 10143: _Predicate<_Tp, _Args...>>::type { }; 10143: 10143: template 10143: struct __is_uses_allocator_constructible 10143: : __is_uses_allocator_predicate 10143: { }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct __is_nothrow_uses_allocator_constructible 10143: : __is_uses_allocator_predicate 10143: { }; 10143: # 156 "/usr/include/c++/8/bits/uses_allocator.h" 3 10143: template 10143: void __uses_allocator_construct_impl(__uses_alloc0 __a, _Tp* __ptr, 10143: _Args&&... __args) 10143: { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)...); } 10143: 10143: template 10143: void __uses_allocator_construct_impl(__uses_alloc1<_Alloc> __a, _Tp* __ptr, 10143: _Args&&... __args) 10143: { 10143: ::new ((void*)__ptr) _Tp(allocator_arg, *__a._M_a, 10143: std::forward<_Args>(__args)...); 10143: } 10143: 10143: template 10143: void __uses_allocator_construct_impl(__uses_alloc2<_Alloc> __a, _Tp* __ptr, 10143: _Args&&... __args) 10143: { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)..., *__a._M_a); } 10143: 10143: template 10143: void __uses_allocator_construct(const _Alloc& __a, _Tp* __ptr, 10143: _Args&&... __args) 10143: { 10143: __uses_allocator_construct_impl(__use_alloc<_Tp, _Alloc, _Args...>(__a), 10143: __ptr, std::forward<_Args>(__args)...); 10143: } 10143: 10143: 10143: } 10143: # 41 "/usr/include/c++/8/tuple" 2 3 10143: # 1 "/usr/include/c++/8/bits/invoke.h" 1 3 10143: # 33 "/usr/include/c++/8/bits/invoke.h" 3 10143: 10143: # 34 "/usr/include/c++/8/bits/invoke.h" 3 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 52 "/usr/include/c++/8/bits/invoke.h" 3 10143: template::type> 10143: constexpr _Up&& 10143: __invfwd(typename remove_reference<_Tp>::type& __t) noexcept 10143: { return static_cast<_Up&&>(__t); } 10143: 10143: template 10143: constexpr _Res 10143: __invoke_impl(__invoke_other, _Fn&& __f, _Args&&... __args) 10143: { return std::forward<_Fn>(__f)(std::forward<_Args>(__args)...); } 10143: 10143: template 10143: constexpr _Res 10143: __invoke_impl(__invoke_memfun_ref, _MemFun&& __f, _Tp&& __t, 10143: _Args&&... __args) 10143: { return (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...); } 10143: 10143: template 10143: constexpr _Res 10143: __invoke_impl(__invoke_memfun_deref, _MemFun&& __f, _Tp&& __t, 10143: _Args&&... __args) 10143: { 10143: return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...); 10143: } 10143: 10143: template 10143: constexpr _Res 10143: __invoke_impl(__invoke_memobj_ref, _MemPtr&& __f, _Tp&& __t) 10143: { return __invfwd<_Tp>(__t).*__f; } 10143: 10143: template 10143: constexpr _Res 10143: __invoke_impl(__invoke_memobj_deref, _MemPtr&& __f, _Tp&& __t) 10143: { return (*std::forward<_Tp>(__t)).*__f; } 10143: 10143: 10143: template 10143: constexpr typename __invoke_result<_Callable, _Args...>::type 10143: __invoke(_Callable&& __fn, _Args&&... __args) 10143: noexcept(__is_nothrow_invocable<_Callable, _Args...>::value) 10143: { 10143: using __result = __invoke_result<_Callable, _Args...>; 10143: using __type = typename __result::type; 10143: using __tag = typename __result::__invoke_type; 10143: return std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn), 10143: std::forward<_Args>(__args)...); 10143: } 10143: 10143: 10143: } 10143: # 42 "/usr/include/c++/8/tuple" 2 3 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: class tuple; 10143: 10143: template 10143: struct __is_empty_non_tuple : is_empty<_Tp> { }; 10143: 10143: 10143: template 10143: struct __is_empty_non_tuple> : false_type { }; 10143: 10143: 10143: template 10143: using __empty_not_final 10143: = typename conditional<__is_final(_Tp), false_type, 10143: __is_empty_non_tuple<_Tp>>::type; 10143: 10143: template::value> 10143: struct _Head_base; 10143: 10143: template 10143: struct _Head_base<_Idx, _Head, true> 10143: : public _Head 10143: { 10143: constexpr _Head_base() 10143: : _Head() { } 10143: 10143: constexpr _Head_base(const _Head& __h) 10143: : _Head(__h) { } 10143: 10143: constexpr _Head_base(const _Head_base&) = default; 10143: constexpr _Head_base(_Head_base&&) = default; 10143: 10143: template 10143: constexpr _Head_base(_UHead&& __h) 10143: : _Head(std::forward<_UHead>(__h)) { } 10143: 10143: _Head_base(allocator_arg_t, __uses_alloc0) 10143: : _Head() { } 10143: 10143: template 10143: _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) 10143: : _Head(allocator_arg, *__a._M_a) { } 10143: 10143: template 10143: _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) 10143: : _Head(*__a._M_a) { } 10143: 10143: template 10143: _Head_base(__uses_alloc0, _UHead&& __uhead) 10143: : _Head(std::forward<_UHead>(__uhead)) { } 10143: 10143: template 10143: _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead) 10143: : _Head(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) { } 10143: 10143: template 10143: _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead) 10143: : _Head(std::forward<_UHead>(__uhead), *__a._M_a) { } 10143: 10143: static constexpr _Head& 10143: _M_head(_Head_base& __b) noexcept { return __b; } 10143: 10143: static constexpr const _Head& 10143: _M_head(const _Head_base& __b) noexcept { return __b; } 10143: }; 10143: 10143: template 10143: struct _Head_base<_Idx, _Head, false> 10143: { 10143: constexpr _Head_base() 10143: : _M_head_impl() { } 10143: 10143: constexpr _Head_base(const _Head& __h) 10143: : _M_head_impl(__h) { } 10143: 10143: constexpr _Head_base(const _Head_base&) = default; 10143: constexpr _Head_base(_Head_base&&) = default; 10143: 10143: template 10143: constexpr _Head_base(_UHead&& __h) 10143: : _M_head_impl(std::forward<_UHead>(__h)) { } 10143: 10143: _Head_base(allocator_arg_t, __uses_alloc0) 10143: : _M_head_impl() { } 10143: 10143: template 10143: _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) 10143: : _M_head_impl(allocator_arg, *__a._M_a) { } 10143: 10143: template 10143: _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) 10143: : _M_head_impl(*__a._M_a) { } 10143: 10143: template 10143: _Head_base(__uses_alloc0, _UHead&& __uhead) 10143: : _M_head_impl(std::forward<_UHead>(__uhead)) { } 10143: 10143: template 10143: _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead) 10143: : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) 10143: { } 10143: 10143: template 10143: _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead) 10143: : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { } 10143: 10143: static constexpr _Head& 10143: _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; } 10143: 10143: static constexpr const _Head& 10143: _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; } 10143: 10143: _Head _M_head_impl; 10143: }; 10143: # 176 "/usr/include/c++/8/tuple" 3 10143: template 10143: struct _Tuple_impl; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct _Tuple_impl<_Idx, _Head, _Tail...> 10143: : public _Tuple_impl<_Idx + 1, _Tail...>, 10143: private _Head_base<_Idx, _Head> 10143: { 10143: template friend class _Tuple_impl; 10143: 10143: typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited; 10143: typedef _Head_base<_Idx, _Head> _Base; 10143: 10143: static constexpr _Head& 10143: _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } 10143: 10143: static constexpr const _Head& 10143: _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } 10143: 10143: static constexpr _Inherited& 10143: _M_tail(_Tuple_impl& __t) noexcept { return __t; } 10143: 10143: static constexpr const _Inherited& 10143: _M_tail(const _Tuple_impl& __t) noexcept { return __t; } 10143: 10143: constexpr _Tuple_impl() 10143: : _Inherited(), _Base() { } 10143: 10143: explicit 10143: constexpr _Tuple_impl(const _Head& __head, const _Tail&... __tail) 10143: : _Inherited(__tail...), _Base(__head) { } 10143: 10143: template::type> 10143: explicit 10143: constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail) 10143: : _Inherited(std::forward<_UTail>(__tail)...), 10143: _Base(std::forward<_UHead>(__head)) { } 10143: 10143: constexpr _Tuple_impl(const _Tuple_impl&) = default; 10143: 10143: constexpr 10143: _Tuple_impl(_Tuple_impl&& __in) 10143: noexcept(__and_, 10143: is_nothrow_move_constructible<_Inherited>>::value) 10143: : _Inherited(std::move(_M_tail(__in))), 10143: _Base(std::forward<_Head>(_M_head(__in))) { } 10143: 10143: template 10143: constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in) 10143: : _Inherited(_Tuple_impl<_Idx, _UElements...>::_M_tail(__in)), 10143: _Base(_Tuple_impl<_Idx, _UElements...>::_M_head(__in)) { } 10143: 10143: template 10143: constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) 10143: : _Inherited(std::move 10143: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), 10143: _Base(std::forward<_UHead> 10143: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) { } 10143: 10143: template 10143: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) 10143: : _Inherited(__tag, __a), 10143: _Base(__tag, __use_alloc<_Head>(__a)) { } 10143: 10143: template 10143: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 10143: const _Head& __head, const _Tail&... __tail) 10143: : _Inherited(__tag, __a, __tail...), 10143: _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head) { } 10143: 10143: template::type> 10143: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 10143: _UHead&& __head, _UTail&&... __tail) 10143: : _Inherited(__tag, __a, std::forward<_UTail>(__tail)...), 10143: _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), 10143: std::forward<_UHead>(__head)) { } 10143: 10143: template 10143: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 10143: const _Tuple_impl& __in) 10143: : _Inherited(__tag, __a, _M_tail(__in)), 10143: _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in)) { } 10143: 10143: template 10143: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 10143: _Tuple_impl&& __in) 10143: : _Inherited(__tag, __a, std::move(_M_tail(__in))), 10143: _Base(__use_alloc<_Head, _Alloc, _Head>(__a), 10143: std::forward<_Head>(_M_head(__in))) { } 10143: 10143: template 10143: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 10143: const _Tuple_impl<_Idx, _UElements...>& __in) 10143: : _Inherited(__tag, __a, 10143: _Tuple_impl<_Idx, _UElements...>::_M_tail(__in)), 10143: _Base(__use_alloc<_Head, _Alloc, _Head>(__a), 10143: _Tuple_impl<_Idx, _UElements...>::_M_head(__in)) { } 10143: 10143: template 10143: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 10143: _Tuple_impl<_Idx, _UHead, _UTails...>&& __in) 10143: : _Inherited(__tag, __a, std::move 10143: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), 10143: _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), 10143: std::forward<_UHead> 10143: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) { } 10143: 10143: _Tuple_impl& 10143: operator=(const _Tuple_impl& __in) 10143: { 10143: _M_head(*this) = _M_head(__in); 10143: _M_tail(*this) = _M_tail(__in); 10143: return *this; 10143: } 10143: 10143: _Tuple_impl& 10143: operator=(_Tuple_impl&& __in) 10143: noexcept(__and_, 10143: is_nothrow_move_assignable<_Inherited>>::value) 10143: { 10143: _M_head(*this) = std::forward<_Head>(_M_head(__in)); 10143: _M_tail(*this) = std::move(_M_tail(__in)); 10143: return *this; 10143: } 10143: 10143: template 10143: _Tuple_impl& 10143: operator=(const _Tuple_impl<_Idx, _UElements...>& __in) 10143: { 10143: _M_head(*this) = _Tuple_impl<_Idx, _UElements...>::_M_head(__in); 10143: _M_tail(*this) = _Tuple_impl<_Idx, _UElements...>::_M_tail(__in); 10143: return *this; 10143: } 10143: 10143: template 10143: _Tuple_impl& 10143: operator=(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) 10143: { 10143: _M_head(*this) = std::forward<_UHead> 10143: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)); 10143: _M_tail(*this) = std::move 10143: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)); 10143: return *this; 10143: } 10143: 10143: protected: 10143: void 10143: _M_swap(_Tuple_impl& __in) 10143: noexcept(__is_nothrow_swappable<_Head>::value 10143: && noexcept(_M_tail(__in)._M_swap(_M_tail(__in)))) 10143: { 10143: using std::swap; 10143: swap(_M_head(*this), _M_head(__in)); 10143: _Inherited::_M_swap(_M_tail(__in)); 10143: } 10143: }; 10143: 10143: 10143: template 10143: struct _Tuple_impl<_Idx, _Head> 10143: : private _Head_base<_Idx, _Head> 10143: { 10143: template friend class _Tuple_impl; 10143: 10143: typedef _Head_base<_Idx, _Head> _Base; 10143: 10143: static constexpr _Head& 10143: _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } 10143: 10143: static constexpr const _Head& 10143: _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } 10143: 10143: constexpr _Tuple_impl() 10143: : _Base() { } 10143: 10143: explicit 10143: constexpr _Tuple_impl(const _Head& __head) 10143: : _Base(__head) { } 10143: 10143: template 10143: explicit 10143: constexpr _Tuple_impl(_UHead&& __head) 10143: : _Base(std::forward<_UHead>(__head)) { } 10143: 10143: constexpr _Tuple_impl(const _Tuple_impl&) = default; 10143: 10143: constexpr 10143: _Tuple_impl(_Tuple_impl&& __in) 10143: noexcept(is_nothrow_move_constructible<_Head>::value) 10143: : _Base(std::forward<_Head>(_M_head(__in))) { } 10143: 10143: template 10143: constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in) 10143: : _Base(_Tuple_impl<_Idx, _UHead>::_M_head(__in)) { } 10143: 10143: template 10143: constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in) 10143: : _Base(std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in))) 10143: { } 10143: 10143: template 10143: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) 10143: : _Base(__tag, __use_alloc<_Head>(__a)) { } 10143: 10143: template 10143: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 10143: const _Head& __head) 10143: : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head) { } 10143: 10143: template 10143: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 10143: _UHead&& __head) 10143: : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), 10143: std::forward<_UHead>(__head)) { } 10143: 10143: template 10143: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 10143: const _Tuple_impl& __in) 10143: : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in)) { } 10143: 10143: template 10143: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 10143: _Tuple_impl&& __in) 10143: : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), 10143: std::forward<_Head>(_M_head(__in))) { } 10143: 10143: template 10143: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 10143: const _Tuple_impl<_Idx, _UHead>& __in) 10143: : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), 10143: _Tuple_impl<_Idx, _UHead>::_M_head(__in)) { } 10143: 10143: template 10143: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 10143: _Tuple_impl<_Idx, _UHead>&& __in) 10143: : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), 10143: std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in))) 10143: { } 10143: 10143: _Tuple_impl& 10143: operator=(const _Tuple_impl& __in) 10143: { 10143: _M_head(*this) = _M_head(__in); 10143: return *this; 10143: } 10143: 10143: _Tuple_impl& 10143: operator=(_Tuple_impl&& __in) 10143: noexcept(is_nothrow_move_assignable<_Head>::value) 10143: { 10143: _M_head(*this) = std::forward<_Head>(_M_head(__in)); 10143: return *this; 10143: } 10143: 10143: template 10143: _Tuple_impl& 10143: operator=(const _Tuple_impl<_Idx, _UHead>& __in) 10143: { 10143: _M_head(*this) = _Tuple_impl<_Idx, _UHead>::_M_head(__in); 10143: return *this; 10143: } 10143: 10143: template 10143: _Tuple_impl& 10143: operator=(_Tuple_impl<_Idx, _UHead>&& __in) 10143: { 10143: _M_head(*this) 10143: = std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)); 10143: return *this; 10143: } 10143: 10143: protected: 10143: void 10143: _M_swap(_Tuple_impl& __in) 10143: noexcept(__is_nothrow_swappable<_Head>::value) 10143: { 10143: using std::swap; 10143: swap(_M_head(*this), _M_head(__in)); 10143: } 10143: }; 10143: 10143: 10143: 10143: template 10143: struct _TC 10143: { 10143: template 10143: static constexpr bool _ConstructibleTuple() 10143: { 10143: return __and_...>::value; 10143: } 10143: 10143: template 10143: static constexpr bool _ImplicitlyConvertibleTuple() 10143: { 10143: return __and_...>::value; 10143: } 10143: 10143: template 10143: static constexpr bool _MoveConstructibleTuple() 10143: { 10143: return __and_...>::value; 10143: } 10143: 10143: template 10143: static constexpr bool _ImplicitlyMoveConvertibleTuple() 10143: { 10143: return __and_...>::value; 10143: } 10143: 10143: template 10143: static constexpr bool _NonNestedTuple() 10143: { 10143: return __and_<__not_, 10143: typename remove_cv< 10143: typename remove_reference<_SrcTuple>::type 10143: >::type>>, 10143: __not_>, 10143: __not_> 10143: >::value; 10143: } 10143: template 10143: static constexpr bool _NotSameTuple() 10143: { 10143: return __not_, 10143: typename remove_const< 10143: typename remove_reference<_UElements...>::type 10143: >::type>>::value; 10143: } 10143: }; 10143: 10143: template 10143: struct _TC 10143: { 10143: template 10143: static constexpr bool _ConstructibleTuple() 10143: { 10143: return false; 10143: } 10143: 10143: template 10143: static constexpr bool _ImplicitlyConvertibleTuple() 10143: { 10143: return false; 10143: } 10143: 10143: template 10143: static constexpr bool _MoveConstructibleTuple() 10143: { 10143: return false; 10143: } 10143: 10143: template 10143: static constexpr bool _ImplicitlyMoveConvertibleTuple() 10143: { 10143: return false; 10143: } 10143: 10143: template 10143: static constexpr bool _NonNestedTuple() 10143: { 10143: return true; 10143: } 10143: template 10143: static constexpr bool _NotSameTuple() 10143: { 10143: return true; 10143: } 10143: }; 10143: 10143: 10143: template 10143: class tuple : public _Tuple_impl<0, _Elements...> 10143: { 10143: typedef _Tuple_impl<0, _Elements...> _Inherited; 10143: 10143: 10143: 10143: template 10143: struct _TC2 10143: { 10143: static constexpr bool _DefaultConstructibleTuple() 10143: { 10143: return __and_...>::value; 10143: } 10143: static constexpr bool _ImplicitlyDefaultConstructibleTuple() 10143: { 10143: return __and_<__is_implicitly_default_constructible<_Elements>...> 10143: ::value; 10143: } 10143: }; 10143: 10143: public: 10143: template:: 10143: _ImplicitlyDefaultConstructibleTuple(), 10143: bool>::type = true> 10143: constexpr tuple() 10143: : _Inherited() { } 10143: 10143: template:: 10143: _DefaultConstructibleTuple() 10143: && 10143: !_TC2<_Dummy>:: 10143: _ImplicitlyDefaultConstructibleTuple(), 10143: bool>::type = false> 10143: explicit constexpr tuple() 10143: : _Inherited() { } 10143: 10143: 10143: 10143: template using _TCC = 10143: _TC::value, 10143: _Elements...>; 10143: 10143: template::template 10143: _ConstructibleTuple<_Elements...>() 10143: && _TCC<_Dummy>::template 10143: _ImplicitlyConvertibleTuple<_Elements...>() 10143: && (sizeof...(_Elements) >= 1), 10143: bool>::type=true> 10143: constexpr tuple(const _Elements&... __elements) 10143: : _Inherited(__elements...) { } 10143: 10143: template::template 10143: _ConstructibleTuple<_Elements...>() 10143: && !_TCC<_Dummy>::template 10143: _ImplicitlyConvertibleTuple<_Elements...>() 10143: && (sizeof...(_Elements) >= 1), 10143: bool>::type=false> 10143: explicit constexpr tuple(const _Elements&... __elements) 10143: : _Inherited(__elements...) { } 10143: 10143: 10143: 10143: template using _TMC = 10143: _TC<(sizeof...(_Elements) == sizeof...(_UElements)) 10143: && (_TC<(sizeof...(_UElements)==1), _Elements...>:: 10143: template _NotSameTuple<_UElements...>()), 10143: _Elements...>; 10143: 10143: 10143: 10143: template using _TMCT = 10143: _TC<(sizeof...(_Elements) == sizeof...(_UElements)) 10143: && !is_same, 10143: tuple<_UElements...>>::value, 10143: _Elements...>; 10143: 10143: template::template 10143: _MoveConstructibleTuple<_UElements...>() 10143: && _TMC<_UElements...>::template 10143: _ImplicitlyMoveConvertibleTuple<_UElements...>() 10143: && (sizeof...(_Elements) >= 1), 10143: bool>::type=true> 10143: constexpr tuple(_UElements&&... __elements) 10143: : _Inherited(std::forward<_UElements>(__elements)...) { } 10143: 10143: template::template 10143: _MoveConstructibleTuple<_UElements...>() 10143: && !_TMC<_UElements...>::template 10143: _ImplicitlyMoveConvertibleTuple<_UElements...>() 10143: && (sizeof...(_Elements) >= 1), 10143: bool>::type=false> 10143: explicit constexpr tuple(_UElements&&... __elements) 10143: : _Inherited(std::forward<_UElements>(__elements)...) { } 10143: 10143: constexpr tuple(const tuple&) = default; 10143: 10143: constexpr tuple(tuple&&) = default; 10143: 10143: 10143: 10143: template using _TNTC = 10143: _TC::value && sizeof...(_Elements) == 1, 10143: _Elements...>; 10143: 10143: template::template 10143: _ConstructibleTuple<_UElements...>() 10143: && _TMCT<_UElements...>::template 10143: _ImplicitlyConvertibleTuple<_UElements...>() 10143: && _TNTC<_Dummy>::template 10143: _NonNestedTuple&>(), 10143: bool>::type=true> 10143: constexpr tuple(const tuple<_UElements...>& __in) 10143: : _Inherited(static_cast&>(__in)) 10143: { } 10143: 10143: template::template 10143: _ConstructibleTuple<_UElements...>() 10143: && !_TMCT<_UElements...>::template 10143: _ImplicitlyConvertibleTuple<_UElements...>() 10143: && _TNTC<_Dummy>::template 10143: _NonNestedTuple&>(), 10143: bool>::type=false> 10143: explicit constexpr tuple(const tuple<_UElements...>& __in) 10143: : _Inherited(static_cast&>(__in)) 10143: { } 10143: 10143: template::template 10143: _MoveConstructibleTuple<_UElements...>() 10143: && _TMCT<_UElements...>::template 10143: _ImplicitlyMoveConvertibleTuple<_UElements...>() 10143: && _TNTC<_Dummy>::template 10143: _NonNestedTuple&&>(), 10143: bool>::type=true> 10143: constexpr tuple(tuple<_UElements...>&& __in) 10143: : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { } 10143: 10143: template::template 10143: _MoveConstructibleTuple<_UElements...>() 10143: && !_TMCT<_UElements...>::template 10143: _ImplicitlyMoveConvertibleTuple<_UElements...>() 10143: && _TNTC<_Dummy>::template 10143: _NonNestedTuple&&>(), 10143: bool>::type=false> 10143: explicit constexpr tuple(tuple<_UElements...>&& __in) 10143: : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { } 10143: 10143: 10143: 10143: template 10143: tuple(allocator_arg_t __tag, const _Alloc& __a) 10143: : _Inherited(__tag, __a) { } 10143: 10143: template::template 10143: _ConstructibleTuple<_Elements...>() 10143: && _TCC<_Dummy>::template 10143: _ImplicitlyConvertibleTuple<_Elements...>(), 10143: bool>::type=true> 10143: tuple(allocator_arg_t __tag, const _Alloc& __a, 10143: const _Elements&... __elements) 10143: : _Inherited(__tag, __a, __elements...) { } 10143: 10143: template::template 10143: _ConstructibleTuple<_Elements...>() 10143: && !_TCC<_Dummy>::template 10143: _ImplicitlyConvertibleTuple<_Elements...>(), 10143: bool>::type=false> 10143: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 10143: const _Elements&... __elements) 10143: : _Inherited(__tag, __a, __elements...) { } 10143: 10143: template::template 10143: _MoveConstructibleTuple<_UElements...>() 10143: && _TMC<_UElements...>::template 10143: _ImplicitlyMoveConvertibleTuple<_UElements...>(), 10143: bool>::type=true> 10143: tuple(allocator_arg_t __tag, const _Alloc& __a, 10143: _UElements&&... __elements) 10143: : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...) 10143: { } 10143: 10143: template::template 10143: _MoveConstructibleTuple<_UElements...>() 10143: && !_TMC<_UElements...>::template 10143: _ImplicitlyMoveConvertibleTuple<_UElements...>(), 10143: bool>::type=false> 10143: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 10143: _UElements&&... __elements) 10143: : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...) 10143: { } 10143: 10143: template 10143: tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in) 10143: : _Inherited(__tag, __a, static_cast(__in)) { } 10143: 10143: template 10143: tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in) 10143: : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { } 10143: 10143: template::template 10143: _ConstructibleTuple<_UElements...>() 10143: && _TMCT<_UElements...>::template 10143: _ImplicitlyConvertibleTuple<_UElements...>() 10143: && _TNTC<_Dummy>::template 10143: _NonNestedTuple&&>(), 10143: bool>::type=true> 10143: tuple(allocator_arg_t __tag, const _Alloc& __a, 10143: const tuple<_UElements...>& __in) 10143: : _Inherited(__tag, __a, 10143: static_cast&>(__in)) 10143: { } 10143: 10143: template::template 10143: _ConstructibleTuple<_UElements...>() 10143: && !_TMCT<_UElements...>::template 10143: _ImplicitlyConvertibleTuple<_UElements...>() 10143: && _TNTC<_Dummy>::template 10143: _NonNestedTuple&&>(), 10143: bool>::type=false> 10143: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 10143: const tuple<_UElements...>& __in) 10143: : _Inherited(__tag, __a, 10143: static_cast&>(__in)) 10143: { } 10143: 10143: template::template 10143: _MoveConstructibleTuple<_UElements...>() 10143: && _TMCT<_UElements...>::template 10143: _ImplicitlyMoveConvertibleTuple<_UElements...>() 10143: && _TNTC<_Dummy>::template 10143: _NonNestedTuple&&>(), 10143: bool>::type=true> 10143: tuple(allocator_arg_t __tag, const _Alloc& __a, 10143: tuple<_UElements...>&& __in) 10143: : _Inherited(__tag, __a, 10143: static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) 10143: { } 10143: 10143: template::template 10143: _MoveConstructibleTuple<_UElements...>() 10143: && !_TMCT<_UElements...>::template 10143: _ImplicitlyMoveConvertibleTuple<_UElements...>() 10143: && _TNTC<_Dummy>::template 10143: _NonNestedTuple&&>(), 10143: bool>::type=false> 10143: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 10143: tuple<_UElements...>&& __in) 10143: : _Inherited(__tag, __a, 10143: static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) 10143: { } 10143: 10143: tuple& 10143: operator=(const tuple& __in) 10143: { 10143: static_cast<_Inherited&>(*this) = __in; 10143: return *this; 10143: } 10143: 10143: tuple& 10143: operator=(tuple&& __in) 10143: noexcept(is_nothrow_move_assignable<_Inherited>::value) 10143: { 10143: static_cast<_Inherited&>(*this) = std::move(__in); 10143: return *this; 10143: } 10143: 10143: template 10143: typename 10143: enable_if::type 10143: operator=(const tuple<_UElements...>& __in) 10143: { 10143: static_cast<_Inherited&>(*this) = __in; 10143: return *this; 10143: } 10143: 10143: template 10143: typename 10143: enable_if::type 10143: operator=(tuple<_UElements...>&& __in) 10143: { 10143: static_cast<_Inherited&>(*this) = std::move(__in); 10143: return *this; 10143: } 10143: 10143: void 10143: swap(tuple& __in) 10143: noexcept(noexcept(__in._M_swap(__in))) 10143: { _Inherited::_M_swap(__in); } 10143: }; 10143: # 889 "/usr/include/c++/8/tuple" 3 10143: template<> 10143: class tuple<> 10143: { 10143: public: 10143: void swap(tuple&) noexcept { } 10143: 10143: 10143: tuple() = default; 10143: 10143: template 10143: tuple(allocator_arg_t, const _Alloc&) { } 10143: template 10143: tuple(allocator_arg_t, const _Alloc&, const tuple&) { } 10143: }; 10143: 10143: 10143: 10143: template 10143: class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2> 10143: { 10143: typedef _Tuple_impl<0, _T1, _T2> _Inherited; 10143: 10143: public: 10143: template , 10143: __is_implicitly_default_constructible<_U2>> 10143: ::value, bool>::type = true> 10143: 10143: constexpr tuple() 10143: : _Inherited() { } 10143: 10143: template , 10143: is_default_constructible<_U2>, 10143: __not_< 10143: __and_<__is_implicitly_default_constructible<_U1>, 10143: __is_implicitly_default_constructible<_U2>>>> 10143: ::value, bool>::type = false> 10143: 10143: explicit constexpr tuple() 10143: : _Inherited() { } 10143: 10143: 10143: 10143: template using _TCC = 10143: _TC::value, _T1, _T2>; 10143: 10143: template::template 10143: _ConstructibleTuple<_T1, _T2>() 10143: && _TCC<_Dummy>::template 10143: _ImplicitlyConvertibleTuple<_T1, _T2>(), 10143: bool>::type = true> 10143: constexpr tuple(const _T1& __a1, const _T2& __a2) 10143: : _Inherited(__a1, __a2) { } 10143: 10143: template::template 10143: _ConstructibleTuple<_T1, _T2>() 10143: && !_TCC<_Dummy>::template 10143: _ImplicitlyConvertibleTuple<_T1, _T2>(), 10143: bool>::type = false> 10143: explicit constexpr tuple(const _T1& __a1, const _T2& __a2) 10143: : _Inherited(__a1, __a2) { } 10143: 10143: 10143: 10143: using _TMC = _TC; 10143: 10143: template() 10143: && _TMC::template 10143: _ImplicitlyMoveConvertibleTuple<_U1, _U2>() 10143: && !is_same::type, 10143: allocator_arg_t>::value, 10143: bool>::type = true> 10143: constexpr tuple(_U1&& __a1, _U2&& __a2) 10143: : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { } 10143: 10143: template() 10143: && !_TMC::template 10143: _ImplicitlyMoveConvertibleTuple<_U1, _U2>() 10143: && !is_same::type, 10143: allocator_arg_t>::value, 10143: bool>::type = false> 10143: explicit constexpr tuple(_U1&& __a1, _U2&& __a2) 10143: : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { } 10143: 10143: constexpr tuple(const tuple&) = default; 10143: 10143: constexpr tuple(tuple&&) = default; 10143: 10143: template() 10143: && _TMC::template 10143: _ImplicitlyConvertibleTuple<_U1, _U2>(), 10143: bool>::type = true> 10143: constexpr tuple(const tuple<_U1, _U2>& __in) 10143: : _Inherited(static_cast&>(__in)) { } 10143: 10143: template() 10143: && !_TMC::template 10143: _ImplicitlyConvertibleTuple<_U1, _U2>(), 10143: bool>::type = false> 10143: explicit constexpr tuple(const tuple<_U1, _U2>& __in) 10143: : _Inherited(static_cast&>(__in)) { } 10143: 10143: template() 10143: && _TMC::template 10143: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 10143: bool>::type = true> 10143: constexpr tuple(tuple<_U1, _U2>&& __in) 10143: : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { } 10143: 10143: template() 10143: && !_TMC::template 10143: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 10143: bool>::type = false> 10143: explicit constexpr tuple(tuple<_U1, _U2>&& __in) 10143: : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { } 10143: 10143: template() 10143: && _TMC::template 10143: _ImplicitlyConvertibleTuple<_U1, _U2>(), 10143: bool>::type = true> 10143: constexpr tuple(const pair<_U1, _U2>& __in) 10143: : _Inherited(__in.first, __in.second) { } 10143: 10143: template() 10143: && !_TMC::template 10143: _ImplicitlyConvertibleTuple<_U1, _U2>(), 10143: bool>::type = false> 10143: explicit constexpr tuple(const pair<_U1, _U2>& __in) 10143: : _Inherited(__in.first, __in.second) { } 10143: 10143: template() 10143: && _TMC::template 10143: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 10143: bool>::type = true> 10143: constexpr tuple(pair<_U1, _U2>&& __in) 10143: : _Inherited(std::forward<_U1>(__in.first), 10143: std::forward<_U2>(__in.second)) { } 10143: 10143: template() 10143: && !_TMC::template 10143: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 10143: bool>::type = false> 10143: explicit constexpr tuple(pair<_U1, _U2>&& __in) 10143: : _Inherited(std::forward<_U1>(__in.first), 10143: std::forward<_U2>(__in.second)) { } 10143: 10143: 10143: 10143: template 10143: tuple(allocator_arg_t __tag, const _Alloc& __a) 10143: : _Inherited(__tag, __a) { } 10143: 10143: template::template 10143: _ConstructibleTuple<_T1, _T2>() 10143: && _TCC<_Dummy>::template 10143: _ImplicitlyConvertibleTuple<_T1, _T2>(), 10143: bool>::type=true> 10143: 10143: tuple(allocator_arg_t __tag, const _Alloc& __a, 10143: const _T1& __a1, const _T2& __a2) 10143: : _Inherited(__tag, __a, __a1, __a2) { } 10143: 10143: template::template 10143: _ConstructibleTuple<_T1, _T2>() 10143: && !_TCC<_Dummy>::template 10143: _ImplicitlyConvertibleTuple<_T1, _T2>(), 10143: bool>::type=false> 10143: 10143: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 10143: const _T1& __a1, const _T2& __a2) 10143: : _Inherited(__tag, __a, __a1, __a2) { } 10143: 10143: template() 10143: && _TMC::template 10143: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 10143: bool>::type = true> 10143: tuple(allocator_arg_t __tag, const _Alloc& __a, _U1&& __a1, _U2&& __a2) 10143: : _Inherited(__tag, __a, std::forward<_U1>(__a1), 10143: std::forward<_U2>(__a2)) { } 10143: 10143: template() 10143: && !_TMC::template 10143: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 10143: bool>::type = false> 10143: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 10143: _U1&& __a1, _U2&& __a2) 10143: : _Inherited(__tag, __a, std::forward<_U1>(__a1), 10143: std::forward<_U2>(__a2)) { } 10143: 10143: template 10143: tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in) 10143: : _Inherited(__tag, __a, static_cast(__in)) { } 10143: 10143: template 10143: tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in) 10143: : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { } 10143: 10143: template() 10143: && _TMC::template 10143: _ImplicitlyConvertibleTuple<_U1, _U2>(), 10143: bool>::type = true> 10143: tuple(allocator_arg_t __tag, const _Alloc& __a, 10143: const tuple<_U1, _U2>& __in) 10143: : _Inherited(__tag, __a, 10143: static_cast&>(__in)) 10143: { } 10143: 10143: template() 10143: && !_TMC::template 10143: _ImplicitlyConvertibleTuple<_U1, _U2>(), 10143: bool>::type = false> 10143: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 10143: const tuple<_U1, _U2>& __in) 10143: : _Inherited(__tag, __a, 10143: static_cast&>(__in)) 10143: { } 10143: 10143: template() 10143: && _TMC::template 10143: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 10143: bool>::type = true> 10143: tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in) 10143: : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) 10143: { } 10143: 10143: template() 10143: && !_TMC::template 10143: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 10143: bool>::type = false> 10143: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 10143: tuple<_U1, _U2>&& __in) 10143: : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) 10143: { } 10143: 10143: template() 10143: && _TMC::template 10143: _ImplicitlyConvertibleTuple<_U1, _U2>(), 10143: bool>::type = true> 10143: tuple(allocator_arg_t __tag, const _Alloc& __a, 10143: const pair<_U1, _U2>& __in) 10143: : _Inherited(__tag, __a, __in.first, __in.second) { } 10143: 10143: template() 10143: && !_TMC::template 10143: _ImplicitlyConvertibleTuple<_U1, _U2>(), 10143: bool>::type = false> 10143: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 10143: const pair<_U1, _U2>& __in) 10143: : _Inherited(__tag, __a, __in.first, __in.second) { } 10143: 10143: template() 10143: && _TMC::template 10143: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 10143: bool>::type = true> 10143: tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in) 10143: : _Inherited(__tag, __a, std::forward<_U1>(__in.first), 10143: std::forward<_U2>(__in.second)) { } 10143: 10143: template() 10143: && !_TMC::template 10143: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 10143: bool>::type = false> 10143: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 10143: pair<_U1, _U2>&& __in) 10143: : _Inherited(__tag, __a, std::forward<_U1>(__in.first), 10143: std::forward<_U2>(__in.second)) { } 10143: 10143: tuple& 10143: operator=(const tuple& __in) 10143: { 10143: static_cast<_Inherited&>(*this) = __in; 10143: return *this; 10143: } 10143: 10143: tuple& 10143: operator=(tuple&& __in) 10143: noexcept(is_nothrow_move_assignable<_Inherited>::value) 10143: { 10143: static_cast<_Inherited&>(*this) = std::move(__in); 10143: return *this; 10143: } 10143: 10143: template 10143: tuple& 10143: operator=(const tuple<_U1, _U2>& __in) 10143: { 10143: static_cast<_Inherited&>(*this) = __in; 10143: return *this; 10143: } 10143: 10143: template 10143: tuple& 10143: operator=(tuple<_U1, _U2>&& __in) 10143: { 10143: static_cast<_Inherited&>(*this) = std::move(__in); 10143: return *this; 10143: } 10143: 10143: template 10143: tuple& 10143: operator=(const pair<_U1, _U2>& __in) 10143: { 10143: this->_M_head(*this) = __in.first; 10143: this->_M_tail(*this)._M_head(*this) = __in.second; 10143: return *this; 10143: } 10143: 10143: template 10143: tuple& 10143: operator=(pair<_U1, _U2>&& __in) 10143: { 10143: this->_M_head(*this) = std::forward<_U1>(__in.first); 10143: this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__in.second); 10143: return *this; 10143: } 10143: 10143: void 10143: swap(tuple& __in) 10143: noexcept(noexcept(__in._M_swap(__in))) 10143: { _Inherited::_M_swap(__in); } 10143: }; 10143: 10143: 10143: 10143: template 10143: struct tuple_size> 10143: : public integral_constant { }; 10143: # 1278 "/usr/include/c++/8/tuple" 3 10143: template 10143: struct tuple_element<__i, tuple<_Head, _Tail...> > 10143: : tuple_element<__i - 1, tuple<_Tail...> > { }; 10143: 10143: 10143: 10143: 10143: template 10143: struct tuple_element<0, tuple<_Head, _Tail...> > 10143: { 10143: typedef _Head type; 10143: }; 10143: 10143: 10143: 10143: 10143: template 10143: struct tuple_element<__i, tuple<>> 10143: { 10143: static_assert(__i < tuple_size>::value, 10143: "tuple index is in range"); 10143: }; 10143: 10143: template 10143: constexpr _Head& 10143: __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept 10143: { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } 10143: 10143: template 10143: constexpr const _Head& 10143: __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept 10143: { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } 10143: 10143: 10143: template 10143: constexpr __tuple_element_t<__i, tuple<_Elements...>>& 10143: get(tuple<_Elements...>& __t) noexcept 10143: { return std::__get_helper<__i>(__t); } 10143: 10143: 10143: template 10143: constexpr const __tuple_element_t<__i, tuple<_Elements...>>& 10143: get(const tuple<_Elements...>& __t) noexcept 10143: { return std::__get_helper<__i>(__t); } 10143: 10143: 10143: template 10143: constexpr __tuple_element_t<__i, tuple<_Elements...>>&& 10143: get(tuple<_Elements...>&& __t) noexcept 10143: { 10143: typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type; 10143: return std::forward<__element_type&&>(std::get<__i>(__t)); 10143: } 10143: 10143: 10143: template 10143: constexpr const __tuple_element_t<__i, tuple<_Elements...>>&& 10143: get(const tuple<_Elements...>&& __t) noexcept 10143: { 10143: typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type; 10143: return std::forward(std::get<__i>(__t)); 10143: } 10143: # 1382 "/usr/include/c++/8/tuple" 3 10143: template 10143: struct __tuple_compare 10143: { 10143: static constexpr bool 10143: __eq(const _Tp& __t, const _Up& __u) 10143: { 10143: return bool(std::get<__i>(__t) == std::get<__i>(__u)) 10143: && __tuple_compare<_Tp, _Up, __i + 1, __size>::__eq(__t, __u); 10143: } 10143: 10143: static constexpr bool 10143: __less(const _Tp& __t, const _Up& __u) 10143: { 10143: return bool(std::get<__i>(__t) < std::get<__i>(__u)) 10143: || (!bool(std::get<__i>(__u) < std::get<__i>(__t)) 10143: && __tuple_compare<_Tp, _Up, __i + 1, __size>::__less(__t, __u)); 10143: } 10143: }; 10143: 10143: template 10143: struct __tuple_compare<_Tp, _Up, __size, __size> 10143: { 10143: static constexpr bool 10143: __eq(const _Tp&, const _Up&) { return true; } 10143: 10143: static constexpr bool 10143: __less(const _Tp&, const _Up&) { return false; } 10143: }; 10143: 10143: template 10143: constexpr bool 10143: operator==(const tuple<_TElements...>& __t, 10143: const tuple<_UElements...>& __u) 10143: { 10143: static_assert(sizeof...(_TElements) == sizeof...(_UElements), 10143: "tuple objects can only be compared if they have equal sizes."); 10143: using __compare = __tuple_compare, 10143: tuple<_UElements...>, 10143: 0, sizeof...(_TElements)>; 10143: return __compare::__eq(__t, __u); 10143: } 10143: 10143: template 10143: constexpr bool 10143: operator<(const tuple<_TElements...>& __t, 10143: const tuple<_UElements...>& __u) 10143: { 10143: static_assert(sizeof...(_TElements) == sizeof...(_UElements), 10143: "tuple objects can only be compared if they have equal sizes."); 10143: using __compare = __tuple_compare, 10143: tuple<_UElements...>, 10143: 0, sizeof...(_TElements)>; 10143: return __compare::__less(__t, __u); 10143: } 10143: 10143: template 10143: constexpr bool 10143: operator!=(const tuple<_TElements...>& __t, 10143: const tuple<_UElements...>& __u) 10143: { return !(__t == __u); } 10143: 10143: template 10143: constexpr bool 10143: operator>(const tuple<_TElements...>& __t, 10143: const tuple<_UElements...>& __u) 10143: { return __u < __t; } 10143: 10143: template 10143: constexpr bool 10143: operator<=(const tuple<_TElements...>& __t, 10143: const tuple<_UElements...>& __u) 10143: { return !(__u < __t); } 10143: 10143: template 10143: constexpr bool 10143: operator>=(const tuple<_TElements...>& __t, 10143: const tuple<_UElements...>& __u) 10143: { return !(__t < __u); } 10143: 10143: 10143: template 10143: constexpr tuple::__type...> 10143: make_tuple(_Elements&&... __args) 10143: { 10143: typedef tuple::__type...> 10143: __result_type; 10143: return __result_type(std::forward<_Elements>(__args)...); 10143: } 10143: 10143: 10143: 10143: template 10143: constexpr tuple<_Elements&&...> 10143: forward_as_tuple(_Elements&&... __args) noexcept 10143: { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); } 10143: 10143: template 10143: struct __make_tuple_impl; 10143: 10143: template 10143: struct __make_tuple_impl<_Idx, tuple<_Tp...>, _Tuple, _Nm> 10143: : __make_tuple_impl<_Idx + 1, 10143: tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>, 10143: _Tuple, _Nm> 10143: { }; 10143: 10143: template 10143: struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm> 10143: { 10143: typedef tuple<_Tp...> __type; 10143: }; 10143: 10143: template 10143: struct __do_make_tuple 10143: : __make_tuple_impl<0, tuple<>, _Tuple, std::tuple_size<_Tuple>::value> 10143: { }; 10143: 10143: 10143: template 10143: struct __make_tuple 10143: : public __do_make_tuple::type>::type> 10143: { }; 10143: 10143: 10143: template 10143: struct __combine_tuples; 10143: 10143: template<> 10143: struct __combine_tuples<> 10143: { 10143: typedef tuple<> __type; 10143: }; 10143: 10143: template 10143: struct __combine_tuples> 10143: { 10143: typedef tuple<_Ts...> __type; 10143: }; 10143: 10143: template 10143: struct __combine_tuples, tuple<_T2s...>, _Rem...> 10143: { 10143: typedef typename __combine_tuples, 10143: _Rem...>::__type __type; 10143: }; 10143: 10143: 10143: template 10143: struct __tuple_cat_result 10143: { 10143: typedef typename __combine_tuples 10143: ::__type...>::__type __type; 10143: }; 10143: 10143: 10143: 10143: template 10143: struct __make_1st_indices; 10143: 10143: template<> 10143: struct __make_1st_indices<> 10143: { 10143: typedef std::_Index_tuple<> __type; 10143: }; 10143: 10143: template 10143: struct __make_1st_indices<_Tp, _Tpls...> 10143: { 10143: typedef typename std::_Build_index_tuple::type>::value>::__type __type; 10143: }; 10143: 10143: 10143: 10143: 10143: template 10143: struct __tuple_concater; 10143: 10143: template 10143: struct __tuple_concater<_Ret, std::_Index_tuple<_Is...>, _Tp, _Tpls...> 10143: { 10143: template 10143: static constexpr _Ret 10143: _S_do(_Tp&& __tp, _Tpls&&... __tps, _Us&&... __us) 10143: { 10143: typedef typename __make_1st_indices<_Tpls...>::__type __idx; 10143: typedef __tuple_concater<_Ret, __idx, _Tpls...> __next; 10143: return __next::_S_do(std::forward<_Tpls>(__tps)..., 10143: std::forward<_Us>(__us)..., 10143: std::get<_Is>(std::forward<_Tp>(__tp))...); 10143: } 10143: }; 10143: 10143: template 10143: struct __tuple_concater<_Ret, std::_Index_tuple<>> 10143: { 10143: template 10143: static constexpr _Ret 10143: _S_do(_Us&&... __us) 10143: { 10143: return _Ret(std::forward<_Us>(__us)...); 10143: } 10143: }; 10143: 10143: 10143: template...>::value>::type> 10143: constexpr auto 10143: tuple_cat(_Tpls&&... __tpls) 10143: -> typename __tuple_cat_result<_Tpls...>::__type 10143: { 10143: typedef typename __tuple_cat_result<_Tpls...>::__type __ret; 10143: typedef typename __make_1st_indices<_Tpls...>::__type __idx; 10143: typedef __tuple_concater<__ret, __idx, _Tpls...> __concater; 10143: return __concater::_S_do(std::forward<_Tpls>(__tpls)...); 10143: } 10143: 10143: 10143: 10143: 10143: template 10143: constexpr tuple<_Elements&...> 10143: tie(_Elements&... __args) noexcept 10143: { return tuple<_Elements&...>(__args...); } 10143: 10143: 10143: template 10143: inline 10143: 10143: 10143: typename enable_if<__and_<__is_swappable<_Elements>...>::value 10143: >::type 10143: 10143: 10143: 10143: swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y) 10143: noexcept(noexcept(__x.swap(__y))) 10143: { __x.swap(__y); } 10143: 10143: 10143: template 10143: typename enable_if...>::value>::type 10143: swap(tuple<_Elements...>&, tuple<_Elements...>&) = delete; 10143: 10143: 10143: 10143: 10143: 10143: 10143: struct _Swallow_assign 10143: { 10143: template 10143: const _Swallow_assign& 10143: operator=(const _Tp&) const 10143: { return *this; } 10143: }; 10143: 10143: 10143: 10143: constexpr _Swallow_assign ignore{}; 10143: 10143: 10143: template 10143: struct uses_allocator, _Alloc> : true_type { }; 10143: 10143: 10143: template 10143: template 10143: inline 10143: pair<_T1, _T2>:: 10143: pair(piecewise_construct_t, 10143: tuple<_Args1...> __first, tuple<_Args2...> __second) 10143: : pair(__first, __second, 10143: typename _Build_index_tuple::__type(), 10143: typename _Build_index_tuple::__type()) 10143: { } 10143: 10143: template 10143: template 10143: inline 10143: pair<_T1, _T2>:: 10143: pair(tuple<_Args1...>& __tuple1, tuple<_Args2...>& __tuple2, 10143: _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>) 10143: : first(std::forward<_Args1>(std::get<_Indexes1>(__tuple1))...), 10143: second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...) 10143: { } 10143: # 1711 "/usr/include/c++/8/tuple" 3 10143: 10143: } 10143: # 64 "/usr/include/c++/8/bits/stl_map.h" 2 3 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: template 10143: class multimap; 10143: # 98 "/usr/include/c++/8/bits/stl_map.h" 3 10143: template , 10143: typename _Alloc = std::allocator > > 10143: class map 10143: { 10143: public: 10143: typedef _Key key_type; 10143: typedef _Tp mapped_type; 10143: typedef std::pair value_type; 10143: typedef _Compare key_compare; 10143: typedef _Alloc allocator_type; 10143: 10143: private: 10143: # 126 "/usr/include/c++/8/bits/stl_map.h" 3 10143: public: 10143: class value_compare 10143: : public std::binary_function 10143: { 10143: friend class map<_Key, _Tp, _Compare, _Alloc>; 10143: protected: 10143: _Compare comp; 10143: 10143: value_compare(_Compare __c) 10143: : comp(__c) { } 10143: 10143: public: 10143: bool operator()(const value_type& __x, const value_type& __y) const 10143: { return comp(__x.first, __y.first); } 10143: }; 10143: 10143: private: 10143: 10143: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 10143: rebind::other _Pair_alloc_type; 10143: 10143: typedef _Rb_tree, 10143: key_compare, _Pair_alloc_type> _Rep_type; 10143: 10143: 10143: _Rep_type _M_t; 10143: 10143: typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits; 10143: 10143: public: 10143: 10143: 10143: typedef typename _Alloc_traits::pointer pointer; 10143: typedef typename _Alloc_traits::const_pointer const_pointer; 10143: typedef typename _Alloc_traits::reference reference; 10143: typedef typename _Alloc_traits::const_reference const_reference; 10143: typedef typename _Rep_type::iterator iterator; 10143: typedef typename _Rep_type::const_iterator const_iterator; 10143: typedef typename _Rep_type::size_type size_type; 10143: typedef typename _Rep_type::difference_type difference_type; 10143: typedef typename _Rep_type::reverse_iterator reverse_iterator; 10143: typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; 10143: # 183 "/usr/include/c++/8/bits/stl_map.h" 3 10143: map() = default; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: explicit 10143: map(const _Compare& __comp, 10143: const allocator_type& __a = allocator_type()) 10143: : _M_t(__comp, _Pair_alloc_type(__a)) { } 10143: # 205 "/usr/include/c++/8/bits/stl_map.h" 3 10143: map(const map&) = default; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: map(map&&) = default; 10143: # 226 "/usr/include/c++/8/bits/stl_map.h" 3 10143: map(initializer_list __l, 10143: const _Compare& __comp = _Compare(), 10143: const allocator_type& __a = allocator_type()) 10143: : _M_t(__comp, _Pair_alloc_type(__a)) 10143: { _M_t._M_insert_unique(__l.begin(), __l.end()); } 10143: 10143: 10143: explicit 10143: map(const allocator_type& __a) 10143: : _M_t(_Compare(), _Pair_alloc_type(__a)) { } 10143: 10143: 10143: map(const map& __m, const allocator_type& __a) 10143: : _M_t(__m._M_t, _Pair_alloc_type(__a)) { } 10143: 10143: 10143: map(map&& __m, const allocator_type& __a) 10143: noexcept(is_nothrow_copy_constructible<_Compare>::value 10143: && _Alloc_traits::_S_always_equal()) 10143: : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { } 10143: 10143: 10143: map(initializer_list __l, const allocator_type& __a) 10143: : _M_t(_Compare(), _Pair_alloc_type(__a)) 10143: { _M_t._M_insert_unique(__l.begin(), __l.end()); } 10143: 10143: 10143: template 10143: map(_InputIterator __first, _InputIterator __last, 10143: const allocator_type& __a) 10143: : _M_t(_Compare(), _Pair_alloc_type(__a)) 10143: { _M_t._M_insert_unique(__first, __last); } 10143: # 270 "/usr/include/c++/8/bits/stl_map.h" 3 10143: template 10143: map(_InputIterator __first, _InputIterator __last) 10143: : _M_t() 10143: { _M_t._M_insert_unique(__first, __last); } 10143: # 287 "/usr/include/c++/8/bits/stl_map.h" 3 10143: template 10143: map(_InputIterator __first, _InputIterator __last, 10143: const _Compare& __comp, 10143: const allocator_type& __a = allocator_type()) 10143: : _M_t(__comp, _Pair_alloc_type(__a)) 10143: { _M_t._M_insert_unique(__first, __last); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ~map() = default; 10143: # 316 "/usr/include/c++/8/bits/stl_map.h" 3 10143: map& 10143: operator=(const map&) = default; 10143: 10143: 10143: map& 10143: operator=(map&&) = default; 10143: # 334 "/usr/include/c++/8/bits/stl_map.h" 3 10143: map& 10143: operator=(initializer_list __l) 10143: { 10143: _M_t._M_assign_unique(__l.begin(), __l.end()); 10143: return *this; 10143: } 10143: 10143: 10143: 10143: allocator_type 10143: get_allocator() const noexcept 10143: { return allocator_type(_M_t.get_allocator()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: iterator 10143: begin() noexcept 10143: { return _M_t.begin(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_iterator 10143: begin() const noexcept 10143: { return _M_t.begin(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: iterator 10143: end() noexcept 10143: { return _M_t.end(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_iterator 10143: end() const noexcept 10143: { return _M_t.end(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: reverse_iterator 10143: rbegin() noexcept 10143: { return _M_t.rbegin(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_reverse_iterator 10143: rbegin() const noexcept 10143: { return _M_t.rbegin(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: reverse_iterator 10143: rend() noexcept 10143: { return _M_t.rend(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_reverse_iterator 10143: rend() const noexcept 10143: { return _M_t.rend(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_iterator 10143: cbegin() const noexcept 10143: { return _M_t.begin(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_iterator 10143: cend() const noexcept 10143: { return _M_t.end(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_reverse_iterator 10143: crbegin() const noexcept 10143: { return _M_t.rbegin(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_reverse_iterator 10143: crend() const noexcept 10143: { return _M_t.rend(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: bool 10143: empty() const noexcept 10143: { return _M_t.empty(); } 10143: 10143: 10143: size_type 10143: size() const noexcept 10143: { return _M_t.size(); } 10143: 10143: 10143: size_type 10143: max_size() const noexcept 10143: { return _M_t.max_size(); } 10143: # 489 "/usr/include/c++/8/bits/stl_map.h" 3 10143: mapped_type& 10143: operator[](const key_type& __k) 10143: { 10143: 10143: 10143: 10143: iterator __i = lower_bound(__k); 10143: 10143: if (__i == end() || key_comp()(__k, (*__i).first)) 10143: 10143: __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, 10143: std::tuple(__k), 10143: std::tuple<>()); 10143: 10143: 10143: 10143: return (*__i).second; 10143: } 10143: 10143: 10143: mapped_type& 10143: operator[](key_type&& __k) 10143: { 10143: 10143: 10143: 10143: iterator __i = lower_bound(__k); 10143: 10143: if (__i == end() || key_comp()(__k, (*__i).first)) 10143: __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, 10143: std::forward_as_tuple(std::move(__k)), 10143: std::tuple<>()); 10143: return (*__i).second; 10143: } 10143: # 534 "/usr/include/c++/8/bits/stl_map.h" 3 10143: mapped_type& 10143: at(const key_type& __k) 10143: { 10143: iterator __i = lower_bound(__k); 10143: if (__i == end() || key_comp()(__k, (*__i).first)) 10143: __throw_out_of_range(("map::at")); 10143: return (*__i).second; 10143: } 10143: 10143: const mapped_type& 10143: at(const key_type& __k) const 10143: { 10143: const_iterator __i = lower_bound(__k); 10143: if (__i == end() || key_comp()(__k, (*__i).first)) 10143: __throw_out_of_range(("map::at")); 10143: return (*__i).second; 10143: } 10143: # 572 "/usr/include/c++/8/bits/stl_map.h" 3 10143: template 10143: std::pair 10143: emplace(_Args&&... __args) 10143: { return _M_t._M_emplace_unique(std::forward<_Args>(__args)...); } 10143: # 602 "/usr/include/c++/8/bits/stl_map.h" 3 10143: template 10143: iterator 10143: emplace_hint(const_iterator __pos, _Args&&... __args) 10143: { 10143: return _M_t._M_emplace_hint_unique(__pos, 10143: std::forward<_Args>(__args)...); 10143: } 10143: # 800 "/usr/include/c++/8/bits/stl_map.h" 3 10143: std::pair 10143: insert(const value_type& __x) 10143: { return _M_t._M_insert_unique(__x); } 10143: 10143: 10143: 10143: 10143: std::pair 10143: insert(value_type&& __x) 10143: { return _M_t._M_insert_unique(std::move(__x)); } 10143: 10143: template::value>::type> 10143: std::pair 10143: insert(_Pair&& __x) 10143: { return _M_t._M_insert_unique(std::forward<_Pair>(__x)); } 10143: # 828 "/usr/include/c++/8/bits/stl_map.h" 3 10143: void 10143: insert(std::initializer_list __list) 10143: { insert(__list.begin(), __list.end()); } 10143: # 857 "/usr/include/c++/8/bits/stl_map.h" 3 10143: iterator 10143: 10143: insert(const_iterator __position, const value_type& __x) 10143: 10143: 10143: 10143: { return _M_t._M_insert_unique_(__position, __x); } 10143: 10143: 10143: 10143: 10143: iterator 10143: insert(const_iterator __position, value_type&& __x) 10143: { return _M_t._M_insert_unique_(__position, std::move(__x)); } 10143: 10143: template::value>::type> 10143: iterator 10143: insert(const_iterator __position, _Pair&& __x) 10143: { return _M_t._M_insert_unique_(__position, 10143: std::forward<_Pair>(__x)); } 10143: # 890 "/usr/include/c++/8/bits/stl_map.h" 3 10143: template 10143: void 10143: insert(_InputIterator __first, _InputIterator __last) 10143: { _M_t._M_insert_unique(__first, __last); } 10143: # 1030 "/usr/include/c++/8/bits/stl_map.h" 3 10143: iterator 10143: erase(const_iterator __position) 10143: { return _M_t.erase(__position); } 10143: 10143: 10143: __attribute ((__abi_tag__ ("cxx11"))) 10143: iterator 10143: erase(iterator __position) 10143: { return _M_t.erase(__position); } 10143: # 1067 "/usr/include/c++/8/bits/stl_map.h" 3 10143: size_type 10143: erase(const key_type& __x) 10143: { return _M_t.erase(__x); } 10143: # 1087 "/usr/include/c++/8/bits/stl_map.h" 3 10143: iterator 10143: erase(const_iterator __first, const_iterator __last) 10143: { return _M_t.erase(__first, __last); } 10143: # 1121 "/usr/include/c++/8/bits/stl_map.h" 3 10143: void 10143: swap(map& __x) 10143: noexcept(__is_nothrow_swappable<_Compare>::value) 10143: { _M_t.swap(__x._M_t); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: void 10143: clear() noexcept 10143: { _M_t.clear(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: key_compare 10143: key_comp() const 10143: { return _M_t.key_comp(); } 10143: 10143: 10143: 10143: 10143: 10143: value_compare 10143: value_comp() const 10143: { return value_compare(_M_t.key_comp()); } 10143: # 1168 "/usr/include/c++/8/bits/stl_map.h" 3 10143: iterator 10143: find(const key_type& __x) 10143: { return _M_t.find(__x); } 10143: # 1193 "/usr/include/c++/8/bits/stl_map.h" 3 10143: const_iterator 10143: find(const key_type& __x) const 10143: { return _M_t.find(__x); } 10143: # 1214 "/usr/include/c++/8/bits/stl_map.h" 3 10143: size_type 10143: count(const key_type& __x) const 10143: { return _M_t.find(__x) == _M_t.end() ? 0 : 1; } 10143: # 1238 "/usr/include/c++/8/bits/stl_map.h" 3 10143: iterator 10143: lower_bound(const key_type& __x) 10143: { return _M_t.lower_bound(__x); } 10143: # 1263 "/usr/include/c++/8/bits/stl_map.h" 3 10143: const_iterator 10143: lower_bound(const key_type& __x) const 10143: { return _M_t.lower_bound(__x); } 10143: # 1283 "/usr/include/c++/8/bits/stl_map.h" 3 10143: iterator 10143: upper_bound(const key_type& __x) 10143: { return _M_t.upper_bound(__x); } 10143: # 1303 "/usr/include/c++/8/bits/stl_map.h" 3 10143: const_iterator 10143: upper_bound(const key_type& __x) const 10143: { return _M_t.upper_bound(__x); } 10143: # 1332 "/usr/include/c++/8/bits/stl_map.h" 3 10143: std::pair 10143: equal_range(const key_type& __x) 10143: { return _M_t.equal_range(__x); } 10143: # 1361 "/usr/include/c++/8/bits/stl_map.h" 3 10143: std::pair 10143: equal_range(const key_type& __x) const 10143: { return _M_t.equal_range(__x); } 10143: # 1378 "/usr/include/c++/8/bits/stl_map.h" 3 10143: template 10143: friend bool 10143: operator==(const map<_K1, _T1, _C1, _A1>&, 10143: const map<_K1, _T1, _C1, _A1>&); 10143: 10143: template 10143: friend bool 10143: operator<(const map<_K1, _T1, _C1, _A1>&, 10143: const map<_K1, _T1, _C1, _A1>&); 10143: }; 10143: # 1433 "/usr/include/c++/8/bits/stl_map.h" 3 10143: template 10143: inline bool 10143: operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x, 10143: const map<_Key, _Tp, _Compare, _Alloc>& __y) 10143: { return __x._M_t == __y._M_t; } 10143: # 1450 "/usr/include/c++/8/bits/stl_map.h" 3 10143: template 10143: inline bool 10143: operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x, 10143: const map<_Key, _Tp, _Compare, _Alloc>& __y) 10143: { return __x._M_t < __y._M_t; } 10143: 10143: 10143: template 10143: inline bool 10143: operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x, 10143: const map<_Key, _Tp, _Compare, _Alloc>& __y) 10143: { return !(__x == __y); } 10143: 10143: 10143: template 10143: inline bool 10143: operator>(const map<_Key, _Tp, _Compare, _Alloc>& __x, 10143: const map<_Key, _Tp, _Compare, _Alloc>& __y) 10143: { return __y < __x; } 10143: 10143: 10143: template 10143: inline bool 10143: operator<=(const map<_Key, _Tp, _Compare, _Alloc>& __x, 10143: const map<_Key, _Tp, _Compare, _Alloc>& __y) 10143: { return !(__y < __x); } 10143: 10143: 10143: template 10143: inline bool 10143: operator>=(const map<_Key, _Tp, _Compare, _Alloc>& __x, 10143: const map<_Key, _Tp, _Compare, _Alloc>& __y) 10143: { return !(__x < __y); } 10143: 10143: 10143: template 10143: inline void 10143: swap(map<_Key, _Tp, _Compare, _Alloc>& __x, 10143: map<_Key, _Tp, _Compare, _Alloc>& __y) 10143: noexcept(noexcept(__x.swap(__y))) 10143: { __x.swap(__y); } 10143: 10143: 10143: # 1515 "/usr/include/c++/8/bits/stl_map.h" 3 10143: 10143: } 10143: # 62 "/usr/include/c++/8/map" 2 3 10143: # 1 "/usr/include/c++/8/bits/stl_multimap.h" 1 3 10143: # 64 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: template 10143: class map; 10143: # 96 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: template , 10143: typename _Alloc = std::allocator > > 10143: class multimap 10143: { 10143: public: 10143: typedef _Key key_type; 10143: typedef _Tp mapped_type; 10143: typedef std::pair value_type; 10143: typedef _Compare key_compare; 10143: typedef _Alloc allocator_type; 10143: 10143: private: 10143: # 125 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: public: 10143: class value_compare 10143: : public std::binary_function 10143: { 10143: friend class multimap<_Key, _Tp, _Compare, _Alloc>; 10143: protected: 10143: _Compare comp; 10143: 10143: value_compare(_Compare __c) 10143: : comp(__c) { } 10143: 10143: public: 10143: bool operator()(const value_type& __x, const value_type& __y) const 10143: { return comp(__x.first, __y.first); } 10143: }; 10143: 10143: private: 10143: 10143: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 10143: rebind::other _Pair_alloc_type; 10143: 10143: typedef _Rb_tree, 10143: key_compare, _Pair_alloc_type> _Rep_type; 10143: 10143: _Rep_type _M_t; 10143: 10143: typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits; 10143: 10143: public: 10143: 10143: 10143: typedef typename _Alloc_traits::pointer pointer; 10143: typedef typename _Alloc_traits::const_pointer const_pointer; 10143: typedef typename _Alloc_traits::reference reference; 10143: typedef typename _Alloc_traits::const_reference const_reference; 10143: typedef typename _Rep_type::iterator iterator; 10143: typedef typename _Rep_type::const_iterator const_iterator; 10143: typedef typename _Rep_type::size_type size_type; 10143: typedef typename _Rep_type::difference_type difference_type; 10143: typedef typename _Rep_type::reverse_iterator reverse_iterator; 10143: typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; 10143: # 180 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: multimap() = default; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: explicit 10143: multimap(const _Compare& __comp, 10143: const allocator_type& __a = allocator_type()) 10143: : _M_t(__comp, _Pair_alloc_type(__a)) { } 10143: # 202 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: multimap(const multimap&) = default; 10143: # 211 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: multimap(multimap&&) = default; 10143: # 223 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: multimap(initializer_list __l, 10143: const _Compare& __comp = _Compare(), 10143: const allocator_type& __a = allocator_type()) 10143: : _M_t(__comp, _Pair_alloc_type(__a)) 10143: { _M_t._M_insert_equal(__l.begin(), __l.end()); } 10143: 10143: 10143: explicit 10143: multimap(const allocator_type& __a) 10143: : _M_t(_Compare(), _Pair_alloc_type(__a)) { } 10143: 10143: 10143: multimap(const multimap& __m, const allocator_type& __a) 10143: : _M_t(__m._M_t, _Pair_alloc_type(__a)) { } 10143: 10143: 10143: multimap(multimap&& __m, const allocator_type& __a) 10143: noexcept(is_nothrow_copy_constructible<_Compare>::value 10143: && _Alloc_traits::_S_always_equal()) 10143: : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { } 10143: 10143: 10143: multimap(initializer_list __l, const allocator_type& __a) 10143: : _M_t(_Compare(), _Pair_alloc_type(__a)) 10143: { _M_t._M_insert_equal(__l.begin(), __l.end()); } 10143: 10143: 10143: template 10143: multimap(_InputIterator __first, _InputIterator __last, 10143: const allocator_type& __a) 10143: : _M_t(_Compare(), _Pair_alloc_type(__a)) 10143: { _M_t._M_insert_equal(__first, __last); } 10143: # 266 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: template 10143: multimap(_InputIterator __first, _InputIterator __last) 10143: : _M_t() 10143: { _M_t._M_insert_equal(__first, __last); } 10143: # 282 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: template 10143: multimap(_InputIterator __first, _InputIterator __last, 10143: const _Compare& __comp, 10143: const allocator_type& __a = allocator_type()) 10143: : _M_t(__comp, _Pair_alloc_type(__a)) 10143: { _M_t._M_insert_equal(__first, __last); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: ~multimap() = default; 10143: # 311 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: multimap& 10143: operator=(const multimap&) = default; 10143: 10143: 10143: multimap& 10143: operator=(multimap&&) = default; 10143: # 329 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: multimap& 10143: operator=(initializer_list __l) 10143: { 10143: _M_t._M_assign_equal(__l.begin(), __l.end()); 10143: return *this; 10143: } 10143: 10143: 10143: 10143: allocator_type 10143: get_allocator() const noexcept 10143: { return allocator_type(_M_t.get_allocator()); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: iterator 10143: begin() noexcept 10143: { return _M_t.begin(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_iterator 10143: begin() const noexcept 10143: { return _M_t.begin(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: iterator 10143: end() noexcept 10143: { return _M_t.end(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_iterator 10143: end() const noexcept 10143: { return _M_t.end(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: reverse_iterator 10143: rbegin() noexcept 10143: { return _M_t.rbegin(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_reverse_iterator 10143: rbegin() const noexcept 10143: { return _M_t.rbegin(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: reverse_iterator 10143: rend() noexcept 10143: { return _M_t.rend(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_reverse_iterator 10143: rend() const noexcept 10143: { return _M_t.rend(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_iterator 10143: cbegin() const noexcept 10143: { return _M_t.begin(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_iterator 10143: cend() const noexcept 10143: { return _M_t.end(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_reverse_iterator 10143: crbegin() const noexcept 10143: { return _M_t.rbegin(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: const_reverse_iterator 10143: crend() const noexcept 10143: { return _M_t.rend(); } 10143: 10143: 10143: 10143: 10143: bool 10143: empty() const noexcept 10143: { return _M_t.empty(); } 10143: 10143: 10143: size_type 10143: size() const noexcept 10143: { return _M_t.size(); } 10143: 10143: 10143: size_type 10143: max_size() const noexcept 10143: { return _M_t.max_size(); } 10143: # 487 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: template 10143: iterator 10143: emplace(_Args&&... __args) 10143: { return _M_t._M_emplace_equal(std::forward<_Args>(__args)...); } 10143: # 514 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: template 10143: iterator 10143: emplace_hint(const_iterator __pos, _Args&&... __args) 10143: { 10143: return _M_t._M_emplace_hint_equal(__pos, 10143: std::forward<_Args>(__args)...); 10143: } 10143: # 536 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: iterator 10143: insert(const value_type& __x) 10143: { return _M_t._M_insert_equal(__x); } 10143: 10143: 10143: 10143: 10143: iterator 10143: insert(value_type&& __x) 10143: { return _M_t._M_insert_equal(std::move(__x)); } 10143: 10143: template::value>::type> 10143: iterator 10143: insert(_Pair&& __x) 10143: { return _M_t._M_insert_equal(std::forward<_Pair>(__x)); } 10143: # 577 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: iterator 10143: 10143: insert(const_iterator __position, const value_type& __x) 10143: 10143: 10143: 10143: { return _M_t._M_insert_equal_(__position, __x); } 10143: 10143: 10143: 10143: 10143: iterator 10143: insert(const_iterator __position, value_type&& __x) 10143: { return _M_t._M_insert_equal_(__position, std::move(__x)); } 10143: 10143: template::value>::type> 10143: iterator 10143: insert(const_iterator __position, _Pair&& __x) 10143: { return _M_t._M_insert_equal_(__position, 10143: std::forward<_Pair>(__x)); } 10143: # 611 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: template 10143: void 10143: insert(_InputIterator __first, _InputIterator __last) 10143: { _M_t._M_insert_equal(__first, __last); } 10143: # 624 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: void 10143: insert(initializer_list __l) 10143: { this->insert(__l.begin(), __l.end()); } 10143: # 701 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: iterator 10143: erase(const_iterator __position) 10143: { return _M_t.erase(__position); } 10143: 10143: 10143: __attribute ((__abi_tag__ ("cxx11"))) 10143: iterator 10143: erase(iterator __position) 10143: { return _M_t.erase(__position); } 10143: # 738 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: size_type 10143: erase(const key_type& __x) 10143: { return _M_t.erase(__x); } 10143: # 759 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: iterator 10143: erase(const_iterator __first, const_iterator __last) 10143: { return _M_t.erase(__first, __last); } 10143: # 796 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: void 10143: swap(multimap& __x) 10143: noexcept(__is_nothrow_swappable<_Compare>::value) 10143: { _M_t.swap(__x._M_t); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: void 10143: clear() noexcept 10143: { _M_t.clear(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: key_compare 10143: key_comp() const 10143: { return _M_t.key_comp(); } 10143: 10143: 10143: 10143: 10143: 10143: value_compare 10143: value_comp() const 10143: { return value_compare(_M_t.key_comp()); } 10143: # 842 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: iterator 10143: find(const key_type& __x) 10143: { return _M_t.find(__x); } 10143: # 866 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: const_iterator 10143: find(const key_type& __x) const 10143: { return _M_t.find(__x); } 10143: # 884 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: size_type 10143: count(const key_type& __x) const 10143: { return _M_t.count(__x); } 10143: # 908 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: iterator 10143: lower_bound(const key_type& __x) 10143: { return _M_t.lower_bound(__x); } 10143: # 933 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: const_iterator 10143: lower_bound(const key_type& __x) const 10143: { return _M_t.lower_bound(__x); } 10143: # 953 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: iterator 10143: upper_bound(const key_type& __x) 10143: { return _M_t.upper_bound(__x); } 10143: # 973 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: const_iterator 10143: upper_bound(const key_type& __x) const 10143: { return _M_t.upper_bound(__x); } 10143: # 1000 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: std::pair 10143: equal_range(const key_type& __x) 10143: { return _M_t.equal_range(__x); } 10143: # 1027 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: std::pair 10143: equal_range(const key_type& __x) const 10143: { return _M_t.equal_range(__x); } 10143: # 1044 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: template 10143: friend bool 10143: operator==(const multimap<_K1, _T1, _C1, _A1>&, 10143: const multimap<_K1, _T1, _C1, _A1>&); 10143: 10143: template 10143: friend bool 10143: operator<(const multimap<_K1, _T1, _C1, _A1>&, 10143: const multimap<_K1, _T1, _C1, _A1>&); 10143: }; 10143: # 1098 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: template 10143: inline bool 10143: operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 10143: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 10143: { return __x._M_t == __y._M_t; } 10143: # 1115 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: template 10143: inline bool 10143: operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 10143: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 10143: { return __x._M_t < __y._M_t; } 10143: 10143: 10143: template 10143: inline bool 10143: operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 10143: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 10143: { return !(__x == __y); } 10143: 10143: 10143: template 10143: inline bool 10143: operator>(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 10143: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 10143: { return __y < __x; } 10143: 10143: 10143: template 10143: inline bool 10143: operator<=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 10143: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 10143: { return !(__y < __x); } 10143: 10143: 10143: template 10143: inline bool 10143: operator>=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 10143: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 10143: { return !(__x < __y); } 10143: 10143: 10143: template 10143: inline void 10143: swap(multimap<_Key, _Tp, _Compare, _Alloc>& __x, 10143: multimap<_Key, _Tp, _Compare, _Alloc>& __y) 10143: noexcept(noexcept(__x.swap(__y))) 10143: { __x.swap(__y); } 10143: 10143: 10143: # 1180 "/usr/include/c++/8/bits/stl_multimap.h" 3 10143: 10143: } 10143: # 63 "/usr/include/c++/8/map" 2 3 10143: # 56 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmetatype.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct QMetaTypeId2; 10143: 10143: template 10143: inline constexpr int qMetaTypeId(); 10143: # 216 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmetatype.h" 3 4 10143: class QDataStream; 10143: class QMetaTypeInterface; 10143: struct QMetaObject; 10143: 10143: namespace QtPrivate 10143: { 10143: 10143: 10143: 10143: 10143: template 10143: To convertImplicit(const From& from) 10143: { 10143: return from; 10143: } 10143: 10143: 10143: struct AbstractDebugStreamFunction 10143: { 10143: typedef void (*Stream)(const AbstractDebugStreamFunction *, QDebug&, const void *); 10143: typedef void (*Destroy)(AbstractDebugStreamFunction *); 10143: explicit AbstractDebugStreamFunction(Stream s = nullptr, Destroy d = nullptr) 10143: : stream(s), destroy(d) {} 10143: AbstractDebugStreamFunction(const AbstractDebugStreamFunction &) = delete; AbstractDebugStreamFunction &operator=(const AbstractDebugStreamFunction &) = delete; 10143: Stream stream; 10143: Destroy destroy; 10143: }; 10143: 10143: template 10143: struct BuiltInDebugStreamFunction : public AbstractDebugStreamFunction 10143: { 10143: BuiltInDebugStreamFunction() 10143: : AbstractDebugStreamFunction(stream, destroy) {} 10143: static void stream(const AbstractDebugStreamFunction *, QDebug& dbg, const void *r) 10143: { 10143: const T *rhs = static_cast(r); 10143: operator<<(dbg, *rhs); 10143: } 10143: 10143: static void destroy(AbstractDebugStreamFunction *_this) 10143: { 10143: delete static_cast(_this); 10143: } 10143: }; 10143: 10143: 10143: struct AbstractComparatorFunction 10143: { 10143: typedef bool (*LessThan)(const AbstractComparatorFunction *, const void *, const void *); 10143: typedef bool (*Equals)(const AbstractComparatorFunction *, const void *, const void *); 10143: typedef void (*Destroy)(AbstractComparatorFunction *); 10143: explicit AbstractComparatorFunction(LessThan lt = nullptr, Equals e = nullptr, Destroy d = nullptr) 10143: : lessThan(lt), equals(e), destroy(d) {} 10143: AbstractComparatorFunction(const AbstractComparatorFunction &) = delete; AbstractComparatorFunction &operator=(const AbstractComparatorFunction &) = delete; 10143: LessThan lessThan; 10143: Equals equals; 10143: Destroy destroy; 10143: }; 10143: 10143: template 10143: struct BuiltInComparatorFunction : public AbstractComparatorFunction 10143: { 10143: BuiltInComparatorFunction() 10143: : AbstractComparatorFunction(lessThan, equals, destroy) {} 10143: static bool lessThan(const AbstractComparatorFunction *, const void *l, const void *r) 10143: { 10143: const T *lhs = static_cast(l); 10143: const T *rhs = static_cast(r); 10143: return *lhs < *rhs; 10143: } 10143: 10143: static bool equals(const AbstractComparatorFunction *, const void *l, const void *r) 10143: { 10143: const T *lhs = static_cast(l); 10143: const T *rhs = static_cast(r); 10143: return *lhs == *rhs; 10143: } 10143: 10143: static void destroy(AbstractComparatorFunction *_this) 10143: { 10143: delete static_cast(_this); 10143: } 10143: }; 10143: 10143: template 10143: struct BuiltInEqualsComparatorFunction : public AbstractComparatorFunction 10143: { 10143: BuiltInEqualsComparatorFunction() 10143: : AbstractComparatorFunction(nullptr, equals, destroy) {} 10143: static bool equals(const AbstractComparatorFunction *, const void *l, const void *r) 10143: { 10143: const T *lhs = static_cast(l); 10143: const T *rhs = static_cast(r); 10143: return *lhs == *rhs; 10143: } 10143: 10143: static void destroy(AbstractComparatorFunction *_this) 10143: { 10143: delete static_cast(_this); 10143: } 10143: }; 10143: 10143: struct AbstractConverterFunction 10143: { 10143: typedef bool (*Converter)(const AbstractConverterFunction *, const void *, void*); 10143: explicit AbstractConverterFunction(Converter c = nullptr) 10143: : convert(c) {} 10143: AbstractConverterFunction(const AbstractConverterFunction &) = delete; AbstractConverterFunction &operator=(const AbstractConverterFunction &) = delete; 10143: Converter convert; 10143: }; 10143: 10143: template 10143: struct ConverterMemberFunction : public AbstractConverterFunction 10143: { 10143: explicit ConverterMemberFunction(To(From::*function)() const) 10143: : AbstractConverterFunction(convert), 10143: m_function(function) {} 10143: ~ConverterMemberFunction(); 10143: static bool convert(const AbstractConverterFunction *_this, const void *in, void *out) 10143: { 10143: const From *f = static_cast(in); 10143: To *t = static_cast(out); 10143: const ConverterMemberFunction *_typedThis = 10143: static_cast(_this); 10143: *t = (f->*_typedThis->m_function)(); 10143: return true; 10143: } 10143: 10143: To(From::* const m_function)() const; 10143: }; 10143: 10143: template 10143: struct ConverterMemberFunctionOk : public AbstractConverterFunction 10143: { 10143: explicit ConverterMemberFunctionOk(To(From::*function)(bool *) const) 10143: : AbstractConverterFunction(convert), 10143: m_function(function) {} 10143: ~ConverterMemberFunctionOk(); 10143: static bool convert(const AbstractConverterFunction *_this, const void *in, void *out) 10143: { 10143: const From *f = static_cast(in); 10143: To *t = static_cast(out); 10143: bool ok = false; 10143: const ConverterMemberFunctionOk *_typedThis = 10143: static_cast(_this); 10143: *t = (f->*_typedThis->m_function)(&ok); 10143: if (!ok) 10143: *t = To(); 10143: return ok; 10143: } 10143: 10143: To(From::* const m_function)(bool*) const; 10143: }; 10143: 10143: template 10143: struct ConverterFunctor : public AbstractConverterFunction 10143: { 10143: explicit ConverterFunctor(UnaryFunction function) 10143: : AbstractConverterFunction(convert), 10143: m_function(function) {} 10143: ~ConverterFunctor(); 10143: static bool convert(const AbstractConverterFunction *_this, const void *in, void *out) 10143: { 10143: const From *f = static_cast(in); 10143: To *t = static_cast(out); 10143: const ConverterFunctor *_typedThis = 10143: static_cast(_this); 10143: *t = _typedThis->m_function(*f); 10143: return true; 10143: } 10143: 10143: UnaryFunction m_function; 10143: }; 10143: 10143: template 10143: struct ValueTypeIsMetaType; 10143: template 10143: struct AssociativeValueTypeIsMetaType; 10143: template 10143: struct IsMetaTypePair; 10143: template 10143: struct MetaTypeSmartPointerHelper; 10143: } 10143: 10143: class __attribute__((visibility("default"))) QMetaType { 10143: enum ExtensionFlag { NoExtensionFlags, 10143: CreateEx = 0x1, DestroyEx = 0x2, 10143: ConstructEx = 0x4, DestructEx = 0x8, 10143: NameEx = 0x10, SizeEx = 0x20, 10143: CtorEx = 0x40, DtorEx = 0x80, 10143: FlagsEx = 0x100, MetaObjectEx = 0x200 10143: }; 10143: public: 10143: 10143: 10143: enum Type { 10143: 10143: Void = 43, Bool = 1, Int = 2, UInt = 3, LongLong = 4, ULongLong = 5, Double = 6, Long = 32, Short = 33, Char = 34, ULong = 35, UShort = 36, UChar = 37, Float = 38, SChar = 40, Nullptr = 51, VoidStar = 31, QChar = 7, QString = 10, QStringList = 11, QByteArray = 12, QBitArray = 13, QDate = 14, QTime = 15, QDateTime = 16, QUrl = 17, QLocale = 18, QRect = 19, QRectF = 20, QSize = 21, QSizeF = 22, QLine = 23, QLineF = 24, QPoint = 25, QPointF = 26, QRegExp = 27, QEasingCurve = 29, QUuid = 30, QVariant = 41, QModelIndex = 42, QRegularExpression = 44, QJsonValue = 45, QJsonObject = 46, QJsonArray = 47, QJsonDocument = 48, QPersistentModelIndex = 50, QObjectStar = 39, QVariantMap = 8, QVariantList = 9, QVariantHash = 28, QByteArrayList = 49, QFont = 64, QPixmap = 65, QBrush = 66, QColor = 67, QPalette = 68, QIcon = 69, QImage = 70, QPolygon = 71, QRegion = 72, QBitmap = 73, QCursor = 74, QKeySequence = 75, QPen = 76, QTextLength = 77, QTextFormat = 78, QMatrix = 79, QTransform = 80, QMatrix4x4 = 81, QVector2D = 82, QVector3D = 83, QVector4D = 84, QQuaternion = 85, QPolygonF = 86, QSizePolicy = 121, 10143: 10143: FirstCoreType = Bool, 10143: LastCoreType = Nullptr, 10143: FirstGuiType = QFont, 10143: LastGuiType = QPolygonF, 10143: FirstWidgetsType = QSizePolicy, 10143: LastWidgetsType = QSizePolicy, 10143: HighestInternalId = LastWidgetsType, 10143: 10143: QReal = sizeof(qreal) == sizeof(double) ? Double : Float, 10143: 10143: UnknownType = 0, 10143: User = 1024 10143: }; 10143: # 455 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmetatype.h" 3 4 10143: enum TypeFlag { 10143: NeedsConstruction = 0x1, 10143: NeedsDestruction = 0x2, 10143: MovableType = 0x4, 10143: PointerToQObject = 0x8, 10143: IsEnumeration = 0x10, 10143: SharedPointerToQObject = 0x20, 10143: WeakPointerToQObject = 0x40, 10143: TrackingPointerToQObject = 0x80, 10143: WasDeclaredAsMetaType = 0x100, 10143: IsGadget = 0x200 10143: }; 10143: typedef QFlags TypeFlags; 10143: 10143: typedef void (*Deleter)(void *); 10143: typedef void *(*Creator)(const void *); 10143: 10143: typedef void (*Destructor)(void *); 10143: typedef void *(*Constructor)(void *, const void *); 10143: 10143: typedef void (*SaveOperator)(QDataStream &, const void *); 10143: typedef void (*LoadOperator)(QDataStream &, void *); 10143: 10143: static void registerStreamOperators(const char *typeName, SaveOperator saveOp, 10143: LoadOperator loadOp); 10143: static void registerStreamOperators(int type, SaveOperator saveOp, 10143: LoadOperator loadOp); 10143: 10143: static int registerType(const char *typeName, Deleter deleter, 10143: Creator creator); 10143: static int registerType(const char *typeName, Deleter deleter, 10143: Creator creator, 10143: Destructor destructor, 10143: Constructor constructor, 10143: int size, 10143: QMetaType::TypeFlags flags, 10143: const QMetaObject *metaObject); 10143: static bool unregisterType(int type); 10143: static int registerNormalizedType(const ::QByteArray &normalizedTypeName, Deleter deleter, 10143: Creator creator, 10143: Destructor destructor, 10143: Constructor constructor, 10143: int size, 10143: QMetaType::TypeFlags flags, 10143: const QMetaObject *metaObject); 10143: static int registerNormalizedType(const ::QByteArray &normalizedTypeName, Destructor destructor, 10143: Constructor constructor, 10143: int size, 10143: QMetaType::TypeFlags flags, 10143: const QMetaObject *metaObject); 10143: static int registerTypedef(const char *typeName, int aliasId); 10143: static int registerNormalizedTypedef(const ::QByteArray &normalizedTypeName, int aliasId); 10143: static int type(const char *typeName); 10143: 10143: static int type(const ::QByteArray &typeName); 10143: static const char *typeName(int type); 10143: static int sizeOf(int type); 10143: static TypeFlags typeFlags(int type); 10143: static const QMetaObject *metaObjectForType(int type); 10143: static bool isRegistered(int type); 10143: static void *create(int type, const void *copy = nullptr); 10143: 10143: 10143: 10143: 10143: static void destroy(int type, void *data); 10143: static void *construct(int type, void *where, const void *copy); 10143: static void destruct(int type, void *where); 10143: 10143: 10143: static bool save(QDataStream &stream, int type, const void *data); 10143: static bool load(QDataStream &stream, int type, void *data); 10143: 10143: 10143: explicit QMetaType(const int type); 10143: inline ~QMetaType(); 10143: 10143: inline bool isValid() const; 10143: inline bool isRegistered() const; 10143: inline int sizeOf() const; 10143: inline TypeFlags flags() const; 10143: inline const QMetaObject *metaObject() const; 10143: 10143: inline void *create(const void *copy = nullptr) const; 10143: inline void destroy(void *data) const; 10143: inline void *construct(void *where, const void *copy = nullptr) const; 10143: inline void destruct(void *data) const; 10143: 10143: public: 10143: template 10143: static bool registerComparators() 10143: { 10143: static_assert(bool((!QMetaTypeId2::IsBuiltIn)), "QMetaType::registerComparators: The type must be a custom type.") 10143: ; 10143: 10143: const int typeId = qMetaTypeId(); 10143: static const QtPrivate::BuiltInComparatorFunction f; 10143: return registerComparatorFunction( &f, typeId); 10143: } 10143: template 10143: static bool registerEqualsComparator() 10143: { 10143: static_assert(bool((!QMetaTypeId2::IsBuiltIn)), "QMetaType::registerEqualsComparator: The type must be a custom type.") 10143: ; 10143: const int typeId = qMetaTypeId(); 10143: static const QtPrivate::BuiltInEqualsComparatorFunction f; 10143: return registerComparatorFunction( &f, typeId); 10143: } 10143: 10143: template 10143: static bool hasRegisteredComparators() 10143: { 10143: return hasRegisteredComparators(qMetaTypeId()); 10143: } 10143: static bool hasRegisteredComparators(int typeId); 10143: 10143: 10143: 10143: template 10143: static bool registerDebugStreamOperator() 10143: { 10143: static_assert(bool((!QMetaTypeId2::IsBuiltIn)), "QMetaType::registerDebugStreamOperator: The type must be a custom type.") 10143: ; 10143: 10143: const int typeId = qMetaTypeId(); 10143: static const QtPrivate::BuiltInDebugStreamFunction f; 10143: return registerDebugStreamOperatorFunction(&f, typeId); 10143: } 10143: template 10143: static bool hasRegisteredDebugStreamOperator() 10143: { 10143: return hasRegisteredDebugStreamOperator(qMetaTypeId()); 10143: } 10143: static bool hasRegisteredDebugStreamOperator(int typeId); 10143: 10143: 10143: 10143: template 10143: static bool registerConverter() 10143: { 10143: return registerConverter(QtPrivate::convertImplicit); 10143: } 10143: # 607 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmetatype.h" 3 4 10143: template 10143: static bool registerConverter(To(From::*function)() const) 10143: { 10143: static_assert(bool((!QMetaTypeId2::IsBuiltIn || !QMetaTypeId2::IsBuiltIn)), "QMetaType::registerConverter: At least one of the types must be a custom type.") 10143: ; 10143: 10143: const int fromTypeId = qMetaTypeId(); 10143: const int toTypeId = qMetaTypeId(); 10143: static const QtPrivate::ConverterMemberFunction f(function); 10143: return registerConverterFunction(&f, fromTypeId, toTypeId); 10143: } 10143: 10143: 10143: template 10143: static bool registerConverter(To(From::*function)(bool*) const) 10143: { 10143: static_assert(bool((!QMetaTypeId2::IsBuiltIn || !QMetaTypeId2::IsBuiltIn)), "QMetaType::registerConverter: At least one of the types must be a custom type.") 10143: ; 10143: 10143: const int fromTypeId = qMetaTypeId(); 10143: const int toTypeId = qMetaTypeId(); 10143: static const QtPrivate::ConverterMemberFunctionOk f(function); 10143: return registerConverterFunction(&f, fromTypeId, toTypeId); 10143: } 10143: 10143: 10143: template 10143: static bool registerConverter(UnaryFunction function) 10143: { 10143: static_assert(bool((!QMetaTypeId2::IsBuiltIn || !QMetaTypeId2::IsBuiltIn)), "QMetaType::registerConverter: At least one of the types must be a custom type.") 10143: ; 10143: 10143: const int fromTypeId = qMetaTypeId(); 10143: const int toTypeId = qMetaTypeId(); 10143: static const QtPrivate::ConverterFunctor f(function); 10143: return registerConverterFunction(&f, fromTypeId, toTypeId); 10143: } 10143: 10143: 10143: static bool convert(const void *from, int fromTypeId, void *to, int toTypeId); 10143: static bool compare(const void *lhs, const void *rhs, int typeId, int* result); 10143: static bool equals(const void *lhs, const void *rhs, int typeId, int* result); 10143: static bool debugStream(QDebug& dbg, const void *rhs, int typeId); 10143: 10143: template 10143: static bool hasRegisteredConverterFunction() 10143: { 10143: return hasRegisteredConverterFunction(qMetaTypeId(), qMetaTypeId()); 10143: } 10143: 10143: static bool hasRegisteredConverterFunction(int fromTypeId, int toTypeId); 10143: 10143: private: 10143: static QMetaType typeInfo(const int type); 10143: inline QMetaType(const ExtensionFlag extensionFlags, const QMetaTypeInterface *info, 10143: Creator creator, 10143: Deleter deleter, 10143: SaveOperator saveOp, 10143: LoadOperator loadOp, 10143: Constructor constructor, 10143: Destructor destructor, 10143: uint sizeOf, 10143: uint theTypeFlags, 10143: int typeId, 10143: const QMetaObject *metaObject); 10143: QMetaType(const QMetaType &other); 10143: QMetaType &operator =(const QMetaType &); 10143: inline bool isExtended(const ExtensionFlag flag) const { return m_extensionFlags & flag; } 10143: 10143: 10143: void ctor(const QMetaTypeInterface *info); 10143: void dtor(); 10143: uint sizeExtended() const; 10143: QMetaType::TypeFlags flagsExtended() const; 10143: const QMetaObject *metaObjectExtended() const; 10143: void *createExtended(const void *copy = nullptr) const; 10143: void destroyExtended(void *data) const; 10143: void *constructExtended(void *where, const void *copy = nullptr) const; 10143: void destructExtended(void *data) const; 10143: 10143: static bool registerComparatorFunction(const QtPrivate::AbstractComparatorFunction *f, int type); 10143: 10143: static bool registerDebugStreamOperatorFunction(const QtPrivate::AbstractDebugStreamFunction *f, int type); 10143: 10143: 10143: 10143: 10143: 10143: template friend struct QtPrivate::ValueTypeIsMetaType; 10143: template friend struct QtPrivate::ConverterMemberFunction; 10143: template friend struct QtPrivate::ConverterMemberFunctionOk; 10143: template friend struct QtPrivate::ConverterFunctor; 10143: template friend struct QtPrivate::AssociativeValueTypeIsMetaType; 10143: template friend struct QtPrivate::IsMetaTypePair; 10143: template friend struct QtPrivate::MetaTypeSmartPointerHelper; 10143: 10143: 10143: 10143: 10143: static bool registerConverterFunction(const QtPrivate::AbstractConverterFunction *f, int from, int to); 10143: static void unregisterConverterFunction(int from, int to); 10143: private: 10143: 10143: Creator m_creator_unused; 10143: Deleter m_deleter_unused; 10143: SaveOperator m_saveOp; 10143: LoadOperator m_loadOp; 10143: Constructor m_constructor; 10143: Destructor m_destructor; 10143: void *m_extension; 10143: uint m_size; 10143: uint m_typeFlags; 10143: uint m_extensionFlags; 10143: int m_typeId; 10143: const QMetaObject *m_metaObject; 10143: }; 10143: 10143: 10143: 10143: constexpr inline QFlags operator|(QMetaType::TypeFlags::enum_type f1, QMetaType::TypeFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(QMetaType::TypeFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(QMetaType::TypeFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: 10143: namespace QtPrivate { 10143: 10143: template 10143: ConverterMemberFunction::~ConverterMemberFunction() 10143: { 10143: QMetaType::unregisterConverterFunction(qMetaTypeId(), qMetaTypeId()); 10143: } 10143: template 10143: ConverterMemberFunctionOk::~ConverterMemberFunctionOk() 10143: { 10143: QMetaType::unregisterConverterFunction(qMetaTypeId(), qMetaTypeId()); 10143: } 10143: template 10143: ConverterFunctor::~ConverterFunctor() 10143: { 10143: QMetaType::unregisterConverterFunction(qMetaTypeId(), qMetaTypeId()); 10143: } 10143: 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: namespace QtMetaTypePrivate { 10143: template 10143: struct QMetaTypeFunctionHelper { 10143: static void Destruct(void *t) 10143: { 10143: (void)t; 10143: static_cast(t)->~T(); 10143: } 10143: 10143: static void *Construct(void *where, const void *t) 10143: { 10143: if (t) 10143: return new (where) T(*static_cast(t)); 10143: return new (where) T; 10143: } 10143: 10143: static void Save(QDataStream &stream, const void *t) 10143: { 10143: stream << *static_cast(t); 10143: } 10143: 10143: static void Load(QDataStream &stream, void *t) 10143: { 10143: stream >> *static_cast(t); 10143: } 10143: 10143: }; 10143: 10143: template 10143: struct QMetaTypeFunctionHelper { 10143: static void Destruct(void *) {} 10143: static void *Construct(void *, const void *) { return nullptr; } 10143: 10143: static void Save(QDataStream &, const void *) {} 10143: static void Load(QDataStream &, void *) {} 10143: 10143: }; 10143: template <> 10143: struct QMetaTypeFunctionHelper 10143: : public QMetaTypeFunctionHelper 10143: {}; 10143: 10143: struct VariantData 10143: { 10143: VariantData(const int metaTypeId_, 10143: const void *data_, 10143: const uint flags_) 10143: : metaTypeId(metaTypeId_) 10143: , data(data_) 10143: , flags(flags_) 10143: { 10143: } 10143: VariantData(const VariantData &other) 10143: : metaTypeId(other.metaTypeId), data(other.data), flags(other.flags){} 10143: const int metaTypeId; 10143: const void *data; 10143: const uint flags; 10143: private: 10143: 10143: VariantData &operator=(const VariantData &) = delete; 10143: }; 10143: 10143: template 10143: struct IteratorOwnerCommon 10143: { 10143: static void assign(void **ptr, const_iterator iterator) 10143: { 10143: *ptr = new const_iterator(iterator); 10143: } 10143: static void assign(void **ptr, void * const * src) 10143: { 10143: *ptr = new const_iterator(*static_cast(*src)); 10143: } 10143: 10143: static void advance(void **iterator, int step) 10143: { 10143: const_iterator &it = *static_cast(*iterator); 10143: std::advance(it, step); 10143: } 10143: 10143: static void destroy(void **ptr) 10143: { 10143: delete static_cast(*ptr); 10143: } 10143: 10143: static bool equal(void * const *it, void * const *other) 10143: { 10143: return *static_cast(*it) == *static_cast(*other); 10143: } 10143: }; 10143: 10143: template 10143: struct IteratorOwner : IteratorOwnerCommon 10143: { 10143: static const void *getData(void * const *iterator) 10143: { 10143: return &**static_cast(*iterator); 10143: } 10143: 10143: static const void *getData(const_iterator it) 10143: { 10143: return &*it; 10143: } 10143: }; 10143: 10143: struct __attribute__((visibility("default"))) VectorBoolElements 10143: { 10143: static const bool true_element; 10143: static const bool false_element; 10143: }; 10143: 10143: template<> 10143: struct IteratorOwner::const_iterator> : IteratorOwnerCommon::const_iterator> 10143: { 10143: public: 10143: static const void *getData(void * const *iterator) 10143: { 10143: return **static_cast::const_iterator*>(*iterator) ? 10143: &VectorBoolElements::true_element : &VectorBoolElements::false_element; 10143: } 10143: 10143: static const void *getData(const std::vector::const_iterator& it) 10143: { 10143: return *it ? &VectorBoolElements::true_element : &VectorBoolElements::false_element; 10143: } 10143: }; 10143: 10143: template 10143: struct IteratorOwner 10143: { 10143: private: 10143: 10143: 10143: 10143: struct Dummy {}; 10143: typedef typename std::conditional::value, Dummy, value_type>::type value_type_OR_Dummy; 10143: public: 10143: static void assign(void **ptr, const value_type_OR_Dummy *iterator ) 10143: { 10143: *ptr = const_cast(iterator); 10143: } 10143: static void assign(void **ptr, void * const * src) 10143: { 10143: *ptr = static_cast(*src); 10143: } 10143: 10143: static void advance(void **iterator, int step) 10143: { 10143: value_type *it = static_cast(*iterator); 10143: std::advance(it, step); 10143: *iterator = it; 10143: } 10143: 10143: static void destroy(void **) 10143: { 10143: } 10143: 10143: static const void *getData(void * const *iterator) 10143: { 10143: return *iterator; 10143: } 10143: 10143: static const void *getData(const value_type_OR_Dummy *it) 10143: { 10143: return it; 10143: } 10143: 10143: static bool equal(void * const *it, void * const *other) 10143: { 10143: return static_cast(*it) == static_cast(*other); 10143: } 10143: }; 10143: 10143: enum IteratorCapability 10143: { 10143: ForwardCapability = 1, 10143: BiDirectionalCapability = 2, 10143: RandomAccessCapability = 4 10143: }; 10143: 10143: template::iterator_category> 10143: struct CapabilitiesImpl; 10143: 10143: template 10143: struct CapabilitiesImpl 10143: { enum { IteratorCapabilities = ForwardCapability }; }; 10143: template 10143: struct CapabilitiesImpl 10143: { enum { IteratorCapabilities = BiDirectionalCapability | ForwardCapability }; }; 10143: template 10143: struct CapabilitiesImpl 10143: { enum { IteratorCapabilities = RandomAccessCapability | BiDirectionalCapability | ForwardCapability }; }; 10143: 10143: template 10143: struct ContainerAPI : CapabilitiesImpl 10143: { 10143: static int size(const T *t) { return int(std::distance(t->begin(), t->end())); } 10143: }; 10143: 10143: template 10143: struct ContainerAPI > : CapabilitiesImpl > 10143: { static int size(const QList *t) { return t->size(); } }; 10143: 10143: template 10143: struct ContainerAPI > : CapabilitiesImpl > 10143: { static int size(const QVector *t) { return t->size(); } }; 10143: 10143: template 10143: struct ContainerAPI > : CapabilitiesImpl > 10143: { static int size(const std::vector *t) { return int(t->size()); } }; 10143: 10143: template 10143: struct ContainerAPI > : CapabilitiesImpl > 10143: { static int size(const std::list *t) { return int(t->size()); } }; 10143: 10143: class QSequentialIterableImpl 10143: { 10143: public: 10143: const void * _iterable; 10143: void *_iterator; 10143: int _metaType_id; 10143: uint _metaType_flags; 10143: uint _iteratorCapabilities; 10143: typedef int(*sizeFunc)(const void *p); 10143: typedef const void * (*atFunc)(const void *p, int); 10143: typedef void (*moveIteratorFunc)(const void *p, void **); 10143: typedef void (*advanceFunc)(void **p, int); 10143: typedef VariantData (*getFunc)( void * const *p, int metaTypeId, uint flags); 10143: typedef void (*destroyIterFunc)(void **p); 10143: typedef bool (*equalIterFunc)(void * const *p, void * const *other); 10143: typedef void (*copyIterFunc)(void **, void * const *); 10143: 10143: sizeFunc _size; 10143: atFunc _at; 10143: moveIteratorFunc _moveToBegin; 10143: moveIteratorFunc _moveToEnd; 10143: advanceFunc _advance; 10143: getFunc _get; 10143: destroyIterFunc _destroyIter; 10143: equalIterFunc _equalIter; 10143: copyIterFunc _copyIter; 10143: 10143: template 10143: static int sizeImpl(const void *p) 10143: { return ContainerAPI::size(static_cast(p)); } 10143: 10143: template 10143: static const void* atImpl(const void *p, int idx) 10143: { 10143: typename T::const_iterator i = static_cast(p)->begin(); 10143: std::advance(i, idx); 10143: return IteratorOwner::getData(i); 10143: } 10143: 10143: template 10143: static void moveToBeginImpl(const void *container, void **iterator) 10143: { IteratorOwner::assign(iterator, static_cast(container)->begin()); } 10143: 10143: template 10143: static void moveToEndImpl(const void *container, void **iterator) 10143: { IteratorOwner::assign(iterator, static_cast(container)->end()); } 10143: 10143: template 10143: static VariantData getImpl(void * const *iterator, int metaTypeId, uint flags) 10143: { return VariantData(metaTypeId, IteratorOwner::getData(iterator), flags); } 10143: 10143: public: 10143: template QSequentialIterableImpl(const T*p) 10143: : _iterable(p) 10143: , _iterator(nullptr) 10143: , _metaType_id(qMetaTypeId()) 10143: , _metaType_flags(QTypeInfo::isPointer) 10143: , _iteratorCapabilities(ContainerAPI::IteratorCapabilities) 10143: , _size(sizeImpl) 10143: , _at(atImpl) 10143: , _moveToBegin(moveToBeginImpl) 10143: , _moveToEnd(moveToEndImpl) 10143: , _advance(IteratorOwner::advance) 10143: , _get(getImpl) 10143: , _destroyIter(IteratorOwner::destroy) 10143: , _equalIter(IteratorOwner::equal) 10143: , _copyIter(IteratorOwner::assign) 10143: { 10143: } 10143: 10143: QSequentialIterableImpl() 10143: : _iterable(nullptr) 10143: , _iterator(nullptr) 10143: , _metaType_id(QMetaType::UnknownType) 10143: , _metaType_flags(0) 10143: , _iteratorCapabilities(0) 10143: , _size(nullptr) 10143: , _at(nullptr) 10143: , _moveToBegin(nullptr) 10143: , _moveToEnd(nullptr) 10143: , _advance(nullptr) 10143: , _get(nullptr) 10143: , _destroyIter(nullptr) 10143: , _equalIter(nullptr) 10143: , _copyIter(nullptr) 10143: { 10143: } 10143: 10143: inline void moveToBegin() { _moveToBegin(_iterable, &_iterator); } 10143: inline void moveToEnd() { _moveToEnd(_iterable, &_iterator); } 10143: inline bool equal(const QSequentialIterableImpl&other) const { return _equalIter(&_iterator, &other._iterator); } 10143: inline QSequentialIterableImpl &advance(int i) { 10143: do { } while ((false) && (i > 0 || _iteratorCapabilities & BiDirectionalCapability)); 10143: _advance(&_iterator, i); 10143: return *this; 10143: } 10143: 10143: inline VariantData getCurrent() const { return _get(&_iterator, _metaType_id, _metaType_flags); } 10143: 10143: VariantData at(int idx) const 10143: { return VariantData(_metaType_id, _at(_iterable, idx), _metaType_flags); } 10143: 10143: int size() const { do { } while ((false) && (_iterable)); return _size(_iterable); } 10143: 10143: inline void destroyIter() { _destroyIter(&_iterator); } 10143: 10143: void copy(const QSequentialIterableImpl &other) 10143: { 10143: *this = other; 10143: _copyIter(&_iterator, &other._iterator); 10143: } 10143: }; 10143: } template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = ((((Q_MOVABLE_TYPE)) & Q_PRIMITIVE_TYPE) == 0), isStatic = ((((Q_MOVABLE_TYPE)) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || (((Q_MOVABLE_TYPE)) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QtMetaTypePrivate:: QSequentialIterableImpl)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QtMetaTypePrivate:: QSequentialIterableImpl >::value, isDummy = ((((Q_MOVABLE_TYPE)) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QtMetaTypePrivate:: QSequentialIterableImpl) }; static inline const char *name() { return "QtMetaTypePrivate:: QSequentialIterableImpl"; } }; namespace QtMetaTypePrivate { 10143: 10143: template 10143: struct QSequentialIterableConvertFunctor 10143: { 10143: QSequentialIterableImpl operator()(const From &f) const 10143: { 10143: return QSequentialIterableImpl(&f); 10143: } 10143: }; 10143: } 10143: 10143: namespace QtMetaTypePrivate { 10143: template::value> 10143: struct AssociativeContainerAccessor 10143: { 10143: static const typename T::key_type& getKey(const typename T::const_iterator &it) 10143: { 10143: return it.key(); 10143: } 10143: 10143: static const typename T::mapped_type& getValue(const typename T::const_iterator &it) 10143: { 10143: return it.value(); 10143: } 10143: }; 10143: 10143: template >::value> 10143: struct StlStyleAssociativeContainerAccessor; 10143: 10143: template 10143: struct StlStyleAssociativeContainerAccessor 10143: { 10143: static const typename T::key_type& getKey(const typename T::const_iterator &it) 10143: { 10143: return it->first; 10143: } 10143: 10143: static const typename T::mapped_type& getValue(const typename T::const_iterator &it) 10143: { 10143: return it->second; 10143: } 10143: }; 10143: 10143: template 10143: struct AssociativeContainerAccessor : public StlStyleAssociativeContainerAccessor 10143: { 10143: }; 10143: 10143: class QAssociativeIterableImpl 10143: { 10143: public: 10143: const void *_iterable; 10143: void *_iterator; 10143: int _metaType_id_key; 10143: uint _metaType_flags_key; 10143: int _metaType_id_value; 10143: uint _metaType_flags_value; 10143: typedef int(*sizeFunc)(const void *p); 10143: typedef void (*findFunc)(const void *container, const void *p, void **iterator); 10143: typedef void (*beginFunc)(const void *p, void **); 10143: typedef void (*advanceFunc)(void **p, int); 10143: typedef VariantData (*getFunc)(void * const *p, int metaTypeId, uint flags); 10143: typedef void (*destroyIterFunc)(void **p); 10143: typedef bool (*equalIterFunc)(void * const *p, void * const *other); 10143: typedef void (*copyIterFunc)(void **, void * const *); 10143: 10143: sizeFunc _size; 10143: findFunc _find; 10143: beginFunc _begin; 10143: beginFunc _end; 10143: advanceFunc _advance; 10143: getFunc _getKey; 10143: getFunc _getValue; 10143: destroyIterFunc _destroyIter; 10143: equalIterFunc _equalIter; 10143: copyIterFunc _copyIter; 10143: 10143: template 10143: static int sizeImpl(const void *p) 10143: { return int(std::distance(static_cast(p)->begin(), 10143: static_cast(p)->end())); } 10143: 10143: template 10143: static void findImpl(const void *container, const void *p, void **iterator) 10143: { IteratorOwner::assign(iterator, 10143: static_cast(container)->find(*static_cast(p))); } 10143: 10143: template 10143: static void advanceImpl(void **p, int step) 10143: { std::advance(*static_cast(*p), step); } 10143: 10143: template 10143: static void beginImpl(const void *container, void **iterator) 10143: { IteratorOwner::assign(iterator, static_cast(container)->begin()); } 10143: 10143: template 10143: static void endImpl(const void *container, void **iterator) 10143: { IteratorOwner::assign(iterator, static_cast(container)->end()); } 10143: 10143: template 10143: static VariantData getKeyImpl(void * const *iterator, int metaTypeId, uint flags) 10143: { return VariantData(metaTypeId, &AssociativeContainerAccessor::getKey(*static_cast(*iterator)), flags); } 10143: 10143: template 10143: static VariantData getValueImpl(void * const *iterator, int metaTypeId, uint flags) 10143: { return VariantData(metaTypeId, &AssociativeContainerAccessor::getValue(*static_cast(*iterator)), flags); } 10143: 10143: public: 10143: template QAssociativeIterableImpl(const T*p) 10143: : _iterable(p) 10143: , _iterator(nullptr) 10143: , _metaType_id_key(qMetaTypeId()) 10143: , _metaType_flags_key(QTypeInfo::isPointer) 10143: , _metaType_id_value(qMetaTypeId()) 10143: , _metaType_flags_value(QTypeInfo::isPointer) 10143: , _size(sizeImpl) 10143: , _find(findImpl) 10143: , _begin(beginImpl) 10143: , _end(endImpl) 10143: , _advance(advanceImpl) 10143: , _getKey(getKeyImpl) 10143: , _getValue(getValueImpl) 10143: , _destroyIter(IteratorOwner::destroy) 10143: , _equalIter(IteratorOwner::equal) 10143: , _copyIter(IteratorOwner::assign) 10143: { 10143: } 10143: 10143: QAssociativeIterableImpl() 10143: : _iterable(nullptr) 10143: , _iterator(nullptr) 10143: , _metaType_id_key(QMetaType::UnknownType) 10143: , _metaType_flags_key(0) 10143: , _metaType_id_value(QMetaType::UnknownType) 10143: , _metaType_flags_value(0) 10143: , _size(nullptr) 10143: , _find(nullptr) 10143: , _begin(nullptr) 10143: , _end(nullptr) 10143: , _advance(nullptr) 10143: , _getKey(nullptr) 10143: , _getValue(nullptr) 10143: , _destroyIter(nullptr) 10143: , _equalIter(nullptr) 10143: , _copyIter(nullptr) 10143: { 10143: } 10143: 10143: inline void begin() { _begin(_iterable, &_iterator); } 10143: inline void end() { _end(_iterable, &_iterator); } 10143: inline bool equal(const QAssociativeIterableImpl&other) const { return _equalIter(&_iterator, &other._iterator); } 10143: inline QAssociativeIterableImpl &advance(int i) { _advance(&_iterator, i); return *this; } 10143: 10143: inline void destroyIter() { _destroyIter(&_iterator); } 10143: 10143: inline VariantData getCurrentKey() const { return _getKey(&_iterator, _metaType_id_key, _metaType_flags_key); } 10143: inline VariantData getCurrentValue() const { return _getValue(&_iterator, _metaType_id_value, _metaType_flags_value); } 10143: 10143: inline void find(const VariantData &key) 10143: { _find(_iterable, key.data, &_iterator); } 10143: 10143: int size() const { do { } while ((false) && (_iterable)); return _size(_iterable); } 10143: 10143: void copy(const QAssociativeIterableImpl &other) 10143: { 10143: *this = other; 10143: _copyIter(&_iterator, &other._iterator); 10143: } 10143: }; 10143: } template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = ((((Q_MOVABLE_TYPE)) & Q_PRIMITIVE_TYPE) == 0), isStatic = ((((Q_MOVABLE_TYPE)) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || (((Q_MOVABLE_TYPE)) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QtMetaTypePrivate:: QAssociativeIterableImpl)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QtMetaTypePrivate:: QAssociativeIterableImpl >::value, isDummy = ((((Q_MOVABLE_TYPE)) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QtMetaTypePrivate:: QAssociativeIterableImpl) }; static inline const char *name() { return "QtMetaTypePrivate:: QAssociativeIterableImpl"; } }; namespace QtMetaTypePrivate { 10143: 10143: template 10143: struct QAssociativeIterableConvertFunctor 10143: { 10143: QAssociativeIterableImpl operator()(const From& f) const 10143: { 10143: return QAssociativeIterableImpl(&f); 10143: } 10143: }; 10143: 10143: class QPairVariantInterfaceImpl 10143: { 10143: const void *_pair; 10143: int _metaType_id_first; 10143: uint _metaType_flags_first; 10143: int _metaType_id_second; 10143: uint _metaType_flags_second; 10143: 10143: typedef VariantData (*getFunc)(const void * const *p, int metaTypeId, uint flags); 10143: 10143: getFunc _getFirst; 10143: getFunc _getSecond; 10143: 10143: template 10143: static VariantData getFirstImpl(const void * const *pair, int metaTypeId, uint flags) 10143: { return VariantData(metaTypeId, &static_cast(*pair)->first, flags); } 10143: template 10143: static VariantData getSecondImpl(const void * const *pair, int metaTypeId, uint flags) 10143: { return VariantData(metaTypeId, &static_cast(*pair)->second, flags); } 10143: 10143: public: 10143: template QPairVariantInterfaceImpl(const T*p) 10143: : _pair(p) 10143: , _metaType_id_first(qMetaTypeId()) 10143: , _metaType_flags_first(QTypeInfo::isPointer) 10143: , _metaType_id_second(qMetaTypeId()) 10143: , _metaType_flags_second(QTypeInfo::isPointer) 10143: , _getFirst(getFirstImpl) 10143: , _getSecond(getSecondImpl) 10143: { 10143: } 10143: 10143: QPairVariantInterfaceImpl() 10143: : _pair(nullptr) 10143: , _metaType_id_first(QMetaType::UnknownType) 10143: , _metaType_flags_first(0) 10143: , _metaType_id_second(QMetaType::UnknownType) 10143: , _metaType_flags_second(0) 10143: , _getFirst(nullptr) 10143: , _getSecond(nullptr) 10143: { 10143: } 10143: 10143: inline VariantData first() const { return _getFirst(&_pair, _metaType_id_first, _metaType_flags_first); } 10143: inline VariantData second() const { return _getSecond(&_pair, _metaType_id_second, _metaType_flags_second); } 10143: }; 10143: } template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = ((((Q_MOVABLE_TYPE)) & Q_PRIMITIVE_TYPE) == 0), isStatic = ((((Q_MOVABLE_TYPE)) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || (((Q_MOVABLE_TYPE)) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QtMetaTypePrivate:: QPairVariantInterfaceImpl)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QtMetaTypePrivate:: QPairVariantInterfaceImpl >::value, isDummy = ((((Q_MOVABLE_TYPE)) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QtMetaTypePrivate:: QPairVariantInterfaceImpl) }; static inline const char *name() { return "QtMetaTypePrivate:: QPairVariantInterfaceImpl"; } }; namespace QtMetaTypePrivate { 10143: 10143: template 10143: struct QPairVariantInterfaceConvertFunctor; 10143: 10143: template 10143: struct QPairVariantInterfaceConvertFunctor > 10143: { 10143: QPairVariantInterfaceImpl operator()(const QPair& f) const 10143: { 10143: return QPairVariantInterfaceImpl(&f); 10143: } 10143: }; 10143: 10143: template 10143: struct QPairVariantInterfaceConvertFunctor > 10143: { 10143: QPairVariantInterfaceImpl operator()(const std::pair& f) const 10143: { 10143: return QPairVariantInterfaceImpl(&f); 10143: } 10143: }; 10143: 10143: } 10143: 10143: class QObject; 10143: class QWidget; 10143: 10143: 10143: 10143: 10143: template class QSharedPointer; template class QWeakPointer; template class QPointer; 10143: 10143: namespace QtPrivate 10143: { 10143: template 10143: struct IsPointerToTypeDerivedFromQObject 10143: { 10143: enum { Value = false }; 10143: }; 10143: 10143: 10143: template<> 10143: struct IsPointerToTypeDerivedFromQObject 10143: { 10143: enum { Value = false }; 10143: }; 10143: template<> 10143: struct IsPointerToTypeDerivedFromQObject 10143: { 10143: enum { Value = false }; 10143: }; 10143: template<> 10143: struct IsPointerToTypeDerivedFromQObject 10143: { 10143: enum { Value = true }; 10143: }; 10143: 10143: template 10143: struct IsPointerToTypeDerivedFromQObject 10143: { 10143: typedef qint8 yes_type; 10143: typedef qint64 no_type; 10143: 10143: 10143: static yes_type checkType(QObject* ); 10143: 10143: static no_type checkType(...); 10143: static_assert(bool(sizeof(T)), "Type argument of Q_DECLARE_METATYPE(T*) must be fully defined"); 10143: enum { Value = sizeof(checkType(static_cast(nullptr))) == sizeof(yes_type) }; 10143: }; 10143: 10143: template 10143: struct IsGadgetHelper { enum { Value = false }; }; 10143: 10143: template 10143: struct IsGadgetHelper 10143: { 10143: template 10143: static char checkType(void (X::*)()); 10143: static void *checkType(void (T::*)()); 10143: enum { Value = sizeof(checkType(&T::qt_check_for_QGADGET_macro)) == sizeof(void *) }; 10143: }; 10143: 10143: 10143: template char qt_getEnumMetaObject(const T&); 10143: 10143: template 10143: struct IsQEnumHelper { 10143: static const T &declval(); 10143: 10143: 10143: 10143: 10143: enum { Value = sizeof(qt_getEnumMetaObject(declval())) == sizeof(QMetaObject*) }; 10143: }; 10143: template<> struct IsQEnumHelper { enum { Value = false }; }; 10143: 10143: template 10143: struct MetaObjectForType 10143: { 10143: static inline const QMetaObject *value() { return nullptr; } 10143: }; 10143: template<> 10143: struct MetaObjectForType 10143: { 10143: static inline const QMetaObject *value() { return nullptr; } 10143: }; 10143: template 10143: struct MetaObjectForType::Value>::type> 10143: { 10143: static inline const QMetaObject *value() { return &T::staticMetaObject; } 10143: }; 10143: template 10143: struct MetaObjectForType::Value>::type> 10143: { 10143: static inline const QMetaObject *value() { return &T::staticMetaObject; } 10143: }; 10143: template 10143: struct MetaObjectForType::Value>::type > 10143: { 10143: static inline const QMetaObject *value() { return qt_getEnumMetaObject(T()); } 10143: }; 10143: 10143: template 10143: struct IsSharedPointerToTypeDerivedFromQObject 10143: { 10143: enum { Value = false }; 10143: }; 10143: 10143: template 10143: struct IsSharedPointerToTypeDerivedFromQObject > : IsPointerToTypeDerivedFromQObject 10143: { 10143: }; 10143: 10143: template 10143: struct IsWeakPointerToTypeDerivedFromQObject 10143: { 10143: enum { Value = false }; 10143: }; 10143: 10143: template 10143: struct IsWeakPointerToTypeDerivedFromQObject > : IsPointerToTypeDerivedFromQObject 10143: { 10143: }; 10143: 10143: template 10143: struct IsTrackingPointerToTypeDerivedFromQObject 10143: { 10143: enum { Value = false }; 10143: }; 10143: 10143: template 10143: struct IsTrackingPointerToTypeDerivedFromQObject > 10143: { 10143: enum { Value = true }; 10143: }; 10143: 10143: template 10143: struct IsSequentialContainer 10143: { 10143: enum { Value = false }; 10143: }; 10143: 10143: template 10143: struct IsAssociativeContainer 10143: { 10143: enum { Value = false }; 10143: }; 10143: 10143: template::Value> 10143: struct SequentialContainerConverterHelper 10143: { 10143: static bool registerConverter(int) 10143: { 10143: return false; 10143: } 10143: }; 10143: 10143: template::Defined> 10143: struct ValueTypeIsMetaType 10143: { 10143: static bool registerConverter(int) 10143: { 10143: return false; 10143: } 10143: }; 10143: 10143: template 10143: struct SequentialContainerConverterHelper : ValueTypeIsMetaType 10143: { 10143: }; 10143: 10143: template::Value> 10143: struct AssociativeContainerConverterHelper 10143: { 10143: static bool registerConverter(int) 10143: { 10143: return false; 10143: } 10143: }; 10143: 10143: template::Defined> 10143: struct AssociativeValueTypeIsMetaType 10143: { 10143: static bool registerConverter(int) 10143: { 10143: return false; 10143: } 10143: }; 10143: 10143: template::Defined> 10143: struct KeyAndValueTypeIsMetaType 10143: { 10143: static bool registerConverter(int) 10143: { 10143: return false; 10143: } 10143: }; 10143: 10143: template 10143: struct KeyAndValueTypeIsMetaType : AssociativeValueTypeIsMetaType 10143: { 10143: }; 10143: 10143: template 10143: struct AssociativeContainerConverterHelper : KeyAndValueTypeIsMetaType 10143: { 10143: }; 10143: 10143: template::Defined 10143: && QMetaTypeId2::Defined> 10143: struct IsMetaTypePair 10143: { 10143: static bool registerConverter(int) 10143: { 10143: return false; 10143: } 10143: }; 10143: 10143: template 10143: struct IsMetaTypePair 10143: { 10143: inline static bool registerConverter(int id); 10143: }; 10143: 10143: template 10143: struct IsPair 10143: { 10143: static bool registerConverter(int) 10143: { 10143: return false; 10143: } 10143: }; 10143: template 10143: struct IsPair > : IsMetaTypePair > {}; 10143: template 10143: struct IsPair > : IsMetaTypePair > {}; 10143: 10143: template 10143: struct MetaTypePairHelper : IsPair {}; 10143: 10143: template 10143: struct MetaTypeSmartPointerHelper 10143: { 10143: static bool registerConverter(int) { return false; } 10143: }; 10143: 10143: __attribute__((visibility("default"))) bool isBuiltinType(const QByteArray &type); 10143: } 10143: 10143: template ::Value ? QMetaType::PointerToQObject : 10143: QtPrivate::IsGadgetHelper::Value ? QMetaType::IsGadget : 10143: QtPrivate::IsQEnumHelper::Value ? QMetaType::IsEnumeration : 0> 10143: struct QMetaTypeIdQObject 10143: { 10143: enum { 10143: Defined = 0 10143: }; 10143: }; 10143: 10143: template 10143: struct QMetaTypeId : public QMetaTypeIdQObject 10143: { 10143: }; 10143: 10143: template 10143: struct QMetaTypeId2 10143: { 10143: enum { Defined = QMetaTypeId::Defined, IsBuiltIn=false }; 10143: static inline constexpr int qt_metatype_id() { return QMetaTypeId::qt_metatype_id(); } 10143: }; 10143: 10143: template 10143: struct QMetaTypeId2 : QMetaTypeId2 {}; 10143: 10143: template 10143: struct QMetaTypeId2 { enum {Defined = false }; }; 10143: 10143: namespace QtPrivate { 10143: template ::Defined> 10143: struct QMetaTypeIdHelper { 10143: static inline constexpr int qt_metatype_id() 10143: { return QMetaTypeId2::qt_metatype_id(); } 10143: }; 10143: template struct QMetaTypeIdHelper { 10143: static inline constexpr int qt_metatype_id() 10143: { return -1; } 10143: }; 10143: 10143: 10143: template 10143: struct IsPointerToTypeDerivedFromQObject { enum { Value = false }; }; 10143: 10143: template 10143: struct QMetaTypeTypeFlags 10143: { 10143: enum { Flags = (QTypeInfoQuery::isRelocatable ? QMetaType::MovableType : 0) 10143: | (QTypeInfo::isComplex ? QMetaType::NeedsConstruction : 0) 10143: | (QTypeInfo::isComplex ? QMetaType::NeedsDestruction : 0) 10143: | (IsPointerToTypeDerivedFromQObject::Value ? QMetaType::PointerToQObject : 0) 10143: | (IsSharedPointerToTypeDerivedFromQObject::Value ? QMetaType::SharedPointerToQObject : 0) 10143: | (IsWeakPointerToTypeDerivedFromQObject::Value ? QMetaType::WeakPointerToQObject : 0) 10143: | (IsTrackingPointerToTypeDerivedFromQObject::Value ? QMetaType::TrackingPointerToQObject : 0) 10143: | (std::is_enum::value ? QMetaType::IsEnumeration : 0) 10143: | (IsGadgetHelper::Value ? QMetaType::IsGadget : 0) 10143: }; 10143: }; 10143: 10143: template 10143: struct MetaTypeDefinedHelper 10143: { 10143: enum DefinedType { Defined = defined }; 10143: }; 10143: 10143: template 10143: struct QSmartPointerConvertFunctor 10143: { 10143: QObject* operator()(const SmartPointer &p) const 10143: { 10143: return p.operator->(); 10143: } 10143: }; 10143: 10143: template 10143: struct QSmartPointerConvertFunctor > 10143: { 10143: QObject* operator()(const QWeakPointer &p) const 10143: { 10143: return p.data(); 10143: } 10143: }; 10143: } 10143: 10143: template 10143: int qRegisterNormalizedMetaType(const ::QByteArray &normalizedTypeName 10143: 10143: , T * dummy = 0 10143: , typename QtPrivate::MetaTypeDefinedHelper::Defined && !QMetaTypeId2::IsBuiltIn>::DefinedType defined = QtPrivate::MetaTypeDefinedHelper::Defined && !QMetaTypeId2::IsBuiltIn>::Defined 10143: 10143: ) 10143: { 10143: 10143: do { } while ((false) && (normalizedTypeName == QMetaObject::normalizedType(normalizedTypeName.constData()))); 10143: 10143: const int typedefOf = dummy ? -1 : QtPrivate::QMetaTypeIdHelper::qt_metatype_id(); 10143: if (typedefOf != -1) 10143: return QMetaType::registerNormalizedTypedef(normalizedTypeName, typedefOf); 10143: 10143: QMetaType::TypeFlags flags(QtPrivate::QMetaTypeTypeFlags::Flags); 10143: 10143: if (defined) 10143: flags |= QMetaType::WasDeclaredAsMetaType; 10143: 10143: const int id = QMetaType::registerNormalizedType(normalizedTypeName, 10143: QtMetaTypePrivate::QMetaTypeFunctionHelper::Destruct, 10143: QtMetaTypePrivate::QMetaTypeFunctionHelper::Construct, 10143: int(sizeof(T)), 10143: flags, 10143: QtPrivate::MetaObjectForType::value()); 10143: 10143: if (id > 0) { 10143: QtPrivate::SequentialContainerConverterHelper::registerConverter(id); 10143: QtPrivate::AssociativeContainerConverterHelper::registerConverter(id); 10143: QtPrivate::MetaTypePairHelper::registerConverter(id); 10143: QtPrivate::MetaTypeSmartPointerHelper::registerConverter(id); 10143: } 10143: 10143: return id; 10143: } 10143: 10143: template 10143: int qRegisterMetaType(const char *typeName 10143: 10143: , T * dummy = nullptr 10143: , typename QtPrivate::MetaTypeDefinedHelper::Defined && !QMetaTypeId2::IsBuiltIn>::DefinedType defined = QtPrivate::MetaTypeDefinedHelper::Defined && !QMetaTypeId2::IsBuiltIn>::Defined 10143: 10143: ) 10143: { 10143: 10143: 10143: 10143: ::QByteArray normalizedTypeName = QMetaObject::normalizedType(typeName); 10143: 10143: return qRegisterNormalizedMetaType(normalizedTypeName, dummy, defined); 10143: } 10143: 10143: 10143: template 10143: void qRegisterMetaTypeStreamOperators(const char *typeName 10143: 10143: , T * = nullptr 10143: 10143: ) 10143: { 10143: qRegisterMetaType(typeName); 10143: QMetaType::registerStreamOperators(typeName, QtMetaTypePrivate::QMetaTypeFunctionHelper::Save, 10143: QtMetaTypePrivate::QMetaTypeFunctionHelper::Load); 10143: } 10143: 10143: 10143: template 10143: inline constexpr int qMetaTypeId() 10143: { 10143: static_assert(bool(QMetaTypeId2::Defined), "Type is not registered, please use the Q_DECLARE_METATYPE macro to make it known to Qt's meta-object system"); 10143: return QMetaTypeId2::qt_metatype_id(); 10143: } 10143: 10143: template 10143: inline constexpr int qRegisterMetaType() 10143: { 10143: return qMetaTypeId(); 10143: } 10143: 10143: 10143: 10143: template 10143: inline constexpr int qMetaTypeId(T *) 10143: { return qMetaTypeId(); } 10143: 10143: template 10143: inline constexpr int qRegisterMetaType(T *) 10143: { return qRegisterMetaType(); } 10143: 10143: 10143: 10143: 10143: template 10143: struct QMetaTypeIdQObject 10143: { 10143: enum { 10143: Defined = 1 10143: }; 10143: 10143: static int qt_metatype_id() 10143: { 10143: static QBasicAtomicInt metatype_id = { 0 }; 10143: if (const int id = metatype_id.loadAcquire()) 10143: return id; 10143: const char * const cName = T::staticMetaObject.className(); 10143: QByteArray typeName; 10143: typeName.reserve(int(strlen(cName)) + 1); 10143: typeName.append(cName).append('*'); 10143: const int newId = qRegisterNormalizedMetaType( 10143: typeName, 10143: reinterpret_cast(quintptr(-1))); 10143: metatype_id.storeRelease(newId); 10143: return newId; 10143: } 10143: }; 10143: 10143: template 10143: struct QMetaTypeIdQObject 10143: { 10143: enum { 10143: Defined = std::is_default_constructible::value 10143: }; 10143: 10143: static int qt_metatype_id() 10143: { 10143: static QBasicAtomicInt metatype_id = { 0 }; 10143: if (const int id = metatype_id.loadAcquire()) 10143: return id; 10143: const char * const cName = T::staticMetaObject.className(); 10143: const int newId = qRegisterNormalizedMetaType( 10143: cName, 10143: reinterpret_cast(quintptr(-1))); 10143: metatype_id.storeRelease(newId); 10143: return newId; 10143: } 10143: }; 10143: 10143: template 10143: struct QMetaTypeIdQObject 10143: { 10143: enum { 10143: Defined = 1 10143: }; 10143: 10143: static int qt_metatype_id() 10143: { 10143: static QBasicAtomicInt metatype_id = { 0 }; 10143: if (const int id = metatype_id.loadAcquire()) 10143: return id; 10143: const char *eName = qt_getEnumName(T()); 10143: const char *cName = qt_getEnumMetaObject(T())->className(); 10143: QByteArray typeName; 10143: typeName.reserve(int(strlen(cName) + 2 + strlen(eName))); 10143: typeName.append(cName).append("::").append(eName); 10143: const int newId = qRegisterNormalizedMetaType( 10143: typeName, 10143: reinterpret_cast(quintptr(-1))); 10143: metatype_id.storeRelease(newId); 10143: return newId; 10143: } 10143: }; 10143: 10143: 10143: 10143: template 10143: inline int qRegisterMetaTypeStreamOperators() 10143: { 10143: int id = qMetaTypeId(); 10143: QMetaType::registerStreamOperators(id, QtMetaTypePrivate::QMetaTypeFunctionHelper::Save, 10143: QtMetaTypePrivate::QMetaTypeFunctionHelper::Load); 10143: return id; 10143: } 10143: # 1881 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmetatype.h" 3 4 10143: class QChar; class QString; class QStringList; class QByteArray; class QBitArray; class QDate; class QTime; class QDateTime; class QUrl; class QLocale; class QRect; class QRectF; class QSize; class QSizeF; class QLine; class QLineF; class QPoint; class QPointF; class QRegExp; class QEasingCurve; class QUuid; class QVariant; class QModelIndex; class QRegularExpression; class QJsonValue; class QJsonObject; class QJsonArray; class QJsonDocument; class QPersistentModelIndex; 10143: class QFont; class QPixmap; class QBrush; class QColor; class QPalette; class QIcon; class QImage; class QPolygon; class QRegion; class QBitmap; class QCursor; class QKeySequence; class QPen; class QTextLength; class QTextFormat; class QMatrix; class QTransform; class QMatrix4x4; class QVector2D; class QVector3D; class QVector4D; class QQuaternion; class QPolygonF; 10143: class QSizePolicy; 10143: 10143: 10143: 10143: typedef QList QVariantList; 10143: typedef QMap QVariantMap; 10143: typedef QHash QVariantHash; 10143: 10143: typedef QList QByteArrayList; 10143: # 1968 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmetatype.h" 3 4 10143: namespace QtPrivate { 10143: 10143: template 10143: struct SharedPointerMetaTypeIdHelper 10143: { 10143: enum { 10143: Defined = 0 10143: }; 10143: static int qt_metatype_id() 10143: { 10143: return -1; 10143: } 10143: }; 10143: 10143: } 10143: # 2042 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmetatype.h" 3 4 10143: 10143: 10143: template class QList; template struct QMetaTypeId< QList > { enum { Defined = QMetaTypeId2::Defined }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.load()) return id; const char *tName = QMetaType::typeName(qMetaTypeId()); do { } while ((false) && (tName)); const int tNameLen = int(qstrlen(tName)); QByteArray typeName; typeName.reserve(int(sizeof("QList")) + 1 + tNameLen + 1 + 1); typeName.append("QList", int(sizeof("QList")) - 1) .append('<').append(tName, tNameLen); if (typeName.endsWith('>')) typeName.append(' '); typeName.append('>'); const int newId = qRegisterNormalizedMetaType< QList >( typeName, reinterpret_cast< QList *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; namespace QtPrivate { template struct IsSequentialContainer > { enum { Value = true }; }; } template class QVector; template struct QMetaTypeId< QVector > { enum { Defined = QMetaTypeId2::Defined }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.load()) return id; const char *tName = QMetaType::typeName(qMetaTypeId()); do { } while ((false) && (tName)); const int tNameLen = int(qstrlen(tName)); QByteArray typeName; typeName.reserve(int(sizeof("QVector")) + 1 + tNameLen + 1 + 1); typeName.append("QVector", int(sizeof("QVector")) - 1) .append('<').append(tName, tNameLen); if (typeName.endsWith('>')) typeName.append(' '); typeName.append('>'); const int newId = qRegisterNormalizedMetaType< QVector >( typeName, reinterpret_cast< QVector *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; namespace QtPrivate { template struct IsSequentialContainer > { enum { Value = true }; }; } template class QQueue; template struct QMetaTypeId< QQueue > { enum { Defined = QMetaTypeId2::Defined }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.load()) return id; const char *tName = QMetaType::typeName(qMetaTypeId()); do { } while ((false) && (tName)); const int tNameLen = int(qstrlen(tName)); QByteArray typeName; typeName.reserve(int(sizeof("QQueue")) + 1 + tNameLen + 1 + 1); typeName.append("QQueue", int(sizeof("QQueue")) - 1) .append('<').append(tName, tNameLen); if (typeName.endsWith('>')) typeName.append(' '); typeName.append('>'); const int newId = qRegisterNormalizedMetaType< QQueue >( typeName, reinterpret_cast< QQueue *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; namespace QtPrivate { template struct IsSequentialContainer > { enum { Value = true }; }; } template class QStack; template struct QMetaTypeId< QStack > { enum { Defined = QMetaTypeId2::Defined }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.load()) return id; const char *tName = QMetaType::typeName(qMetaTypeId()); do { } while ((false) && (tName)); const int tNameLen = int(qstrlen(tName)); QByteArray typeName; typeName.reserve(int(sizeof("QStack")) + 1 + tNameLen + 1 + 1); typeName.append("QStack", int(sizeof("QStack")) - 1) .append('<').append(tName, tNameLen); if (typeName.endsWith('>')) typeName.append(' '); typeName.append('>'); const int newId = qRegisterNormalizedMetaType< QStack >( typeName, reinterpret_cast< QStack *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; namespace QtPrivate { template struct IsSequentialContainer > { enum { Value = true }; }; } template class QSet; template struct QMetaTypeId< QSet > { enum { Defined = QMetaTypeId2::Defined }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.load()) return id; const char *tName = QMetaType::typeName(qMetaTypeId()); do { } while ((false) && (tName)); const int tNameLen = int(qstrlen(tName)); QByteArray typeName; typeName.reserve(int(sizeof("QSet")) + 1 + tNameLen + 1 + 1); typeName.append("QSet", int(sizeof("QSet")) - 1) .append('<').append(tName, tNameLen); if (typeName.endsWith('>')) typeName.append(' '); typeName.append('>'); const int newId = qRegisterNormalizedMetaType< QSet >( typeName, reinterpret_cast< QSet *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; namespace QtPrivate { template struct IsSequentialContainer > { enum { Value = true }; }; } template class QLinkedList; template struct QMetaTypeId< QLinkedList > { enum { Defined = QMetaTypeId2::Defined }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.load()) return id; const char *tName = QMetaType::typeName(qMetaTypeId()); do { } while ((false) && (tName)); const int tNameLen = int(qstrlen(tName)); QByteArray typeName; typeName.reserve(int(sizeof("QLinkedList")) + 1 + tNameLen + 1 + 1); typeName.append("QLinkedList", int(sizeof("QLinkedList")) - 1) .append('<').append(tName, tNameLen); if (typeName.endsWith('>')) typeName.append(' '); typeName.append('>'); const int newId = qRegisterNormalizedMetaType< QLinkedList >( typeName, reinterpret_cast< QLinkedList *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; namespace QtPrivate { template struct IsSequentialContainer > { enum { Value = true }; }; } 10143: 10143: 10143: 10143: 10143: 10143: template struct QMetaTypeId< std::vector > { enum { Defined = QMetaTypeId2::Defined }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.load()) return id; const char *tName = QMetaType::typeName(qMetaTypeId()); do { } while ((false) && (tName)); const int tNameLen = int(qstrlen(tName)); QByteArray typeName; typeName.reserve(int(sizeof("std::vector")) + 1 + tNameLen + 1 + 1); typeName.append("std::vector", int(sizeof("std::vector")) - 1) .append('<').append(tName, tNameLen); if (typeName.endsWith('>')) typeName.append(' '); typeName.append('>'); const int newId = qRegisterNormalizedMetaType< std::vector >( typeName, reinterpret_cast< std::vector *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; namespace QtPrivate { template struct IsSequentialContainer > { enum { Value = true }; }; } 10143: template struct QMetaTypeId< std::list > { enum { Defined = QMetaTypeId2::Defined }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.load()) return id; const char *tName = QMetaType::typeName(qMetaTypeId()); do { } while ((false) && (tName)); const int tNameLen = int(qstrlen(tName)); QByteArray typeName; typeName.reserve(int(sizeof("std::list")) + 1 + tNameLen + 1 + 1); typeName.append("std::list", int(sizeof("std::list")) - 1) .append('<').append(tName, tNameLen); if (typeName.endsWith('>')) typeName.append(' '); typeName.append('>'); const int newId = qRegisterNormalizedMetaType< std::list >( typeName, reinterpret_cast< std::list *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; namespace QtPrivate { template struct IsSequentialContainer > { enum { Value = true }; }; } 10143: 10143: 10143: 10143: 10143: 10143: 10143: template class QHash; template class QMap; template struct QPair; 10143: # 2074 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmetatype.h" 3 4 10143: namespace QtPrivate { template struct IsAssociativeContainer > { enum { Value = true }; }; } template struct QMetaTypeId< QHash > { enum { Defined = QMetaTypeId2::Defined && QMetaTypeId2::Defined }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const char *tName = QMetaType::typeName(qMetaTypeId()); const char *uName = QMetaType::typeName(qMetaTypeId()); do { } while ((false) && (tName)); do { } while ((false) && (uName)); const int tNameLen = int(qstrlen(tName)); const int uNameLen = int(qstrlen(uName)); QByteArray typeName; typeName.reserve(int(sizeof("QHash")) + 1 + tNameLen + 1 + uNameLen + 1 + 1); typeName.append("QHash", int(sizeof("QHash")) - 1) .append('<').append(tName, tNameLen).append(',').append(uName, uNameLen); if (typeName.endsWith('>')) typeName.append(' '); typeName.append('>'); const int newId = qRegisterNormalizedMetaType< QHash >( typeName, reinterpret_cast< QHash *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 10143: namespace QtPrivate { template struct IsAssociativeContainer > { enum { Value = true }; }; } template struct QMetaTypeId< QMap > { enum { Defined = QMetaTypeId2::Defined && QMetaTypeId2::Defined }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const char *tName = QMetaType::typeName(qMetaTypeId()); const char *uName = QMetaType::typeName(qMetaTypeId()); do { } while ((false) && (tName)); do { } while ((false) && (uName)); const int tNameLen = int(qstrlen(tName)); const int uNameLen = int(qstrlen(uName)); QByteArray typeName; typeName.reserve(int(sizeof("QMap")) + 1 + tNameLen + 1 + uNameLen + 1 + 1); typeName.append("QMap", int(sizeof("QMap")) - 1) .append('<').append(tName, tNameLen).append(',').append(uName, uNameLen); if (typeName.endsWith('>')) typeName.append(' '); typeName.append('>'); const int newId = qRegisterNormalizedMetaType< QMap >( typeName, reinterpret_cast< QMap *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 10143: namespace QtPrivate { template struct IsAssociativeContainer > { enum { Value = true }; }; } template struct QMetaTypeId< std::map > { enum { Defined = QMetaTypeId2::Defined && QMetaTypeId2::Defined }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const char *tName = QMetaType::typeName(qMetaTypeId()); const char *uName = QMetaType::typeName(qMetaTypeId()); do { } while ((false) && (tName)); do { } while ((false) && (uName)); const int tNameLen = int(qstrlen(tName)); const int uNameLen = int(qstrlen(uName)); QByteArray typeName; typeName.reserve(int(sizeof("std::map")) + 1 + tNameLen + 1 + uNameLen + 1 + 1); typeName.append("std::map", int(sizeof("std::map")) - 1) .append('<').append(tName, tNameLen).append(',').append(uName, uNameLen); if (typeName.endsWith('>')) typeName.append(' '); typeName.append('>'); const int newId = qRegisterNormalizedMetaType< std::map >( typeName, reinterpret_cast< std::map *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 10143: 10143: template struct QMetaTypeId< QPair > { enum { Defined = QMetaTypeId2::Defined && QMetaTypeId2::Defined }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const char *tName = QMetaType::typeName(qMetaTypeId()); const char *uName = QMetaType::typeName(qMetaTypeId()); do { } while ((false) && (tName)); do { } while ((false) && (uName)); const int tNameLen = int(qstrlen(tName)); const int uNameLen = int(qstrlen(uName)); QByteArray typeName; typeName.reserve(int(sizeof("QPair")) + 1 + tNameLen + 1 + uNameLen + 1 + 1); typeName.append("QPair", int(sizeof("QPair")) - 1) .append('<').append(tName, tNameLen).append(',').append(uName, uNameLen); if (typeName.endsWith('>')) typeName.append(' '); typeName.append('>'); const int newId = qRegisterNormalizedMetaType< QPair >( typeName, reinterpret_cast< QPair *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 10143: template struct QMetaTypeId< std::pair > { enum { Defined = QMetaTypeId2::Defined && QMetaTypeId2::Defined }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const char *tName = QMetaType::typeName(qMetaTypeId()); const char *uName = QMetaType::typeName(qMetaTypeId()); do { } while ((false) && (tName)); do { } while ((false) && (uName)); const int tNameLen = int(qstrlen(tName)); const int uNameLen = int(qstrlen(uName)); QByteArray typeName; typeName.reserve(int(sizeof("std::pair")) + 1 + tNameLen + 1 + uNameLen + 1 + 1); typeName.append("std::pair", int(sizeof("std::pair")) - 1) .append('<').append(tName, tNameLen).append(',').append(uName, uNameLen); if (typeName.endsWith('>')) typeName.append(' '); typeName.append('>'); const int newId = qRegisterNormalizedMetaType< std::pair >( typeName, reinterpret_cast< std::pair *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 10143: 10143: 10143: 10143: 10143: 10143: namespace QtPrivate { template struct SharedPointerMetaTypeIdHelper, true> { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const char * const cName = T::staticMetaObject.className(); QByteArray typeName; typeName.reserve(int(sizeof("QSharedPointer") + 1 + strlen(cName) + 1)); typeName.append("QSharedPointer", int(sizeof("QSharedPointer")) - 1) .append('<').append(cName).append('>'); const int newId = qRegisterNormalizedMetaType< QSharedPointer >( typeName, reinterpret_cast< QSharedPointer *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; template struct MetaTypeSmartPointerHelper , typename std::enable_if::Value>::type> { static bool registerConverter(int id) { const int toId = QMetaType::QObjectStar; if (!QMetaType::hasRegisteredConverterFunction(id, toId)) { QtPrivate::QSmartPointerConvertFunctor > o; static const QtPrivate::ConverterFunctor, QObject*, QSmartPointerConvertFunctor > > f(o); return QMetaType::registerConverterFunction(&f, id, toId); } return true; } }; } template struct QMetaTypeId< QSharedPointer > : QtPrivate::SharedPointerMetaTypeIdHelper< QSharedPointer, QtPrivate::IsPointerToTypeDerivedFromQObject::Value> { }; namespace QtPrivate { template struct SharedPointerMetaTypeIdHelper, true> { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const char * const cName = T::staticMetaObject.className(); QByteArray typeName; typeName.reserve(int(sizeof("QWeakPointer") + 1 + strlen(cName) + 1)); typeName.append("QWeakPointer", int(sizeof("QWeakPointer")) - 1) .append('<').append(cName).append('>'); const int newId = qRegisterNormalizedMetaType< QWeakPointer >( typeName, reinterpret_cast< QWeakPointer *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; template struct MetaTypeSmartPointerHelper , typename std::enable_if::Value>::type> { static bool registerConverter(int id) { const int toId = QMetaType::QObjectStar; if (!QMetaType::hasRegisteredConverterFunction(id, toId)) { QtPrivate::QSmartPointerConvertFunctor > o; static const QtPrivate::ConverterFunctor, QObject*, QSmartPointerConvertFunctor > > f(o); return QMetaType::registerConverterFunction(&f, id, toId); } return true; } }; } template struct QMetaTypeId< QWeakPointer > : QtPrivate::SharedPointerMetaTypeIdHelper< QWeakPointer, QtPrivate::IsPointerToTypeDerivedFromQObject::Value> { }; namespace QtPrivate { template struct SharedPointerMetaTypeIdHelper, true> { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const char * const cName = T::staticMetaObject.className(); QByteArray typeName; typeName.reserve(int(sizeof("QPointer") + 1 + strlen(cName) + 1)); typeName.append("QPointer", int(sizeof("QPointer")) - 1) .append('<').append(cName).append('>'); const int newId = qRegisterNormalizedMetaType< QPointer >( typeName, reinterpret_cast< QPointer *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; template struct MetaTypeSmartPointerHelper , typename std::enable_if::Value>::type> { static bool registerConverter(int id) { const int toId = QMetaType::QObjectStar; if (!QMetaType::hasRegisteredConverterFunction(id, toId)) { QtPrivate::QSmartPointerConvertFunctor > o; static const QtPrivate::ConverterFunctor, QObject*, QSmartPointerConvertFunctor > > f(o); return QMetaType::registerConverterFunction(&f, id, toId); } return true; } }; } template struct QMetaTypeId< QPointer > : QtPrivate::SharedPointerMetaTypeIdHelper< QPointer, QtPrivate::IsPointerToTypeDerivedFromQObject::Value> { }; 10143: 10143: 10143: 10143: 10143: 10143: inline QMetaType::QMetaType(const ExtensionFlag extensionFlags, const QMetaTypeInterface *info, 10143: Creator creator, 10143: Deleter deleter, 10143: SaveOperator saveOp, 10143: LoadOperator loadOp, 10143: Constructor constructor, 10143: Destructor destructor, 10143: uint size, 10143: uint theTypeFlags, 10143: int typeId, 10143: const QMetaObject *_metaObject) 10143: : m_creator_unused(creator) 10143: , m_deleter_unused(deleter) 10143: , m_saveOp(saveOp) 10143: , m_loadOp(loadOp) 10143: , m_constructor(constructor) 10143: , m_destructor(destructor) 10143: , m_extension(nullptr) 10143: , m_size(size) 10143: , m_typeFlags(theTypeFlags) 10143: , m_extensionFlags(extensionFlags) 10143: , m_typeId(typeId) 10143: , m_metaObject(_metaObject) 10143: { 10143: if (__builtin_expect(!!(isExtended(CtorEx) || typeId == QMetaType::Void), false)) 10143: ctor(info); 10143: } 10143: 10143: inline QMetaType::~QMetaType() 10143: { 10143: if (__builtin_expect(!!(isExtended(DtorEx)), false)) 10143: dtor(); 10143: } 10143: 10143: inline bool QMetaType::isValid() const 10143: { 10143: return m_typeId != UnknownType; 10143: } 10143: 10143: inline bool QMetaType::isRegistered() const 10143: { 10143: return isValid(); 10143: } 10143: 10143: inline void *QMetaType::create(const void *copy) const 10143: { 10143: 10143: return createExtended(copy); 10143: } 10143: 10143: inline void QMetaType::destroy(void *data) const 10143: { 10143: 10143: destroyExtended(data); 10143: } 10143: 10143: inline void *QMetaType::construct(void *where, const void *copy) const 10143: { 10143: if (__builtin_expect(!!(isExtended(ConstructEx)), false)) 10143: return constructExtended(where, copy); 10143: return m_constructor(where, copy); 10143: } 10143: 10143: inline void QMetaType::destruct(void *data) const 10143: { 10143: if (__builtin_expect(!!(isExtended(DestructEx)), false)) 10143: return destructExtended(data); 10143: if (__builtin_expect(!!(!data), false)) 10143: return; 10143: m_destructor(data); 10143: } 10143: 10143: inline int QMetaType::sizeOf() const 10143: { 10143: if (__builtin_expect(!!(isExtended(SizeEx)), false)) 10143: return sizeExtended(); 10143: return m_size; 10143: } 10143: 10143: inline QMetaType::TypeFlags QMetaType::flags() const 10143: { 10143: if (__builtin_expect(!!(isExtended(FlagsEx)), false)) 10143: return flagsExtended(); 10143: return QMetaType::TypeFlags(m_typeFlags); 10143: } 10143: 10143: inline const QMetaObject *QMetaType::metaObject() const 10143: { 10143: if (__builtin_expect(!!(isExtended(MetaObjectEx)), false)) 10143: return metaObjectExtended(); 10143: return m_metaObject; 10143: } 10143: 10143: 10143: 10143: 10143: template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 43 }; static inline constexpr int qt_metatype_id() { return 43; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 1 }; static inline constexpr int qt_metatype_id() { return 1; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 2 }; static inline constexpr int qt_metatype_id() { return 2; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 3 }; static inline constexpr int qt_metatype_id() { return 3; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 4 }; static inline constexpr int qt_metatype_id() { return 4; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 5 }; static inline constexpr int qt_metatype_id() { return 5; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 6 }; static inline constexpr int qt_metatype_id() { return 6; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 32 }; static inline constexpr int qt_metatype_id() { return 32; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 33 }; static inline constexpr int qt_metatype_id() { return 33; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 34 }; static inline constexpr int qt_metatype_id() { return 34; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 35 }; static inline constexpr int qt_metatype_id() { return 35; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 36 }; static inline constexpr int qt_metatype_id() { return 36; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 37 }; static inline constexpr int qt_metatype_id() { return 37; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 38 }; static inline constexpr int qt_metatype_id() { return 38; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 40 }; static inline constexpr int qt_metatype_id() { return 40; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 51 }; static inline constexpr int qt_metatype_id() { return 51; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 31 }; static inline constexpr int qt_metatype_id() { return 31; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 7 }; static inline constexpr int qt_metatype_id() { return 7; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 10 }; static inline constexpr int qt_metatype_id() { return 10; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 11 }; static inline constexpr int qt_metatype_id() { return 11; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 12 }; static inline constexpr int qt_metatype_id() { return 12; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 13 }; static inline constexpr int qt_metatype_id() { return 13; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 14 }; static inline constexpr int qt_metatype_id() { return 14; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 15 }; static inline constexpr int qt_metatype_id() { return 15; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 16 }; static inline constexpr int qt_metatype_id() { return 16; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 17 }; static inline constexpr int qt_metatype_id() { return 17; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 18 }; static inline constexpr int qt_metatype_id() { return 18; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 19 }; static inline constexpr int qt_metatype_id() { return 19; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 20 }; static inline constexpr int qt_metatype_id() { return 20; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 21 }; static inline constexpr int qt_metatype_id() { return 21; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 22 }; static inline constexpr int qt_metatype_id() { return 22; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 23 }; static inline constexpr int qt_metatype_id() { return 23; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 24 }; static inline constexpr int qt_metatype_id() { return 24; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 25 }; static inline constexpr int qt_metatype_id() { return 25; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 26 }; static inline constexpr int qt_metatype_id() { return 26; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 27 }; static inline constexpr int qt_metatype_id() { return 27; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 29 }; static inline constexpr int qt_metatype_id() { return 29; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 30 }; static inline constexpr int qt_metatype_id() { return 30; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 41 }; static inline constexpr int qt_metatype_id() { return 41; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 42 }; static inline constexpr int qt_metatype_id() { return 42; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 44 }; static inline constexpr int qt_metatype_id() { return 44; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 45 }; static inline constexpr int qt_metatype_id() { return 45; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 46 }; static inline constexpr int qt_metatype_id() { return 46; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 47 }; static inline constexpr int qt_metatype_id() { return 47; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 48 }; static inline constexpr int qt_metatype_id() { return 48; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 50 }; static inline constexpr int qt_metatype_id() { return 50; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 39 }; static inline constexpr int qt_metatype_id() { return 39; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 8 }; static inline constexpr int qt_metatype_id() { return 8; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 9 }; static inline constexpr int qt_metatype_id() { return 9; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 28 }; static inline constexpr int qt_metatype_id() { return 28; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 49 }; static inline constexpr int qt_metatype_id() { return 49; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 64 }; static inline constexpr int qt_metatype_id() { return 64; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 65 }; static inline constexpr int qt_metatype_id() { return 65; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 66 }; static inline constexpr int qt_metatype_id() { return 66; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 67 }; static inline constexpr int qt_metatype_id() { return 67; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 68 }; static inline constexpr int qt_metatype_id() { return 68; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 69 }; static inline constexpr int qt_metatype_id() { return 69; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 70 }; static inline constexpr int qt_metatype_id() { return 70; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 71 }; static inline constexpr int qt_metatype_id() { return 71; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 72 }; static inline constexpr int qt_metatype_id() { return 72; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 73 }; static inline constexpr int qt_metatype_id() { return 73; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 74 }; static inline constexpr int qt_metatype_id() { return 74; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 75 }; static inline constexpr int qt_metatype_id() { return 75; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 76 }; static inline constexpr int qt_metatype_id() { return 76; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 77 }; static inline constexpr int qt_metatype_id() { return 77; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 78 }; static inline constexpr int qt_metatype_id() { return 78; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 79 }; static inline constexpr int qt_metatype_id() { return 79; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 80 }; static inline constexpr int qt_metatype_id() { return 80; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 81 }; static inline constexpr int qt_metatype_id() { return 81; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 82 }; static inline constexpr int qt_metatype_id() { return 82; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 83 }; static inline constexpr int qt_metatype_id() { return 83; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 84 }; static inline constexpr int qt_metatype_id() { return 84; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 85 }; static inline constexpr int qt_metatype_id() { return 85; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 86 }; static inline constexpr int qt_metatype_id() { return 86; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, IsBuiltIn = true, MetaType = 121 }; static inline constexpr int qt_metatype_id() { return 121; } }; 10143: 10143: template <> struct QMetaTypeId< QtMetaTypePrivate::QSequentialIterableImpl > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const int newId = qRegisterMetaType< QtMetaTypePrivate::QSequentialIterableImpl >("QtMetaTypePrivate::QSequentialIterableImpl", reinterpret_cast< QtMetaTypePrivate::QSequentialIterableImpl *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 10143: template <> struct QMetaTypeId< QtMetaTypePrivate::QAssociativeIterableImpl > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const int newId = qRegisterMetaType< QtMetaTypePrivate::QAssociativeIterableImpl >("QtMetaTypePrivate::QAssociativeIterableImpl", reinterpret_cast< QtMetaTypePrivate::QAssociativeIterableImpl *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 10143: template <> struct QMetaTypeId< QtMetaTypePrivate::QPairVariantInterfaceImpl > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const int newId = qRegisterMetaType< QtMetaTypePrivate::QPairVariantInterfaceImpl >("QtMetaTypePrivate::QPairVariantInterfaceImpl", reinterpret_cast< QtMetaTypePrivate::QPairVariantInterfaceImpl *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 10143: 10143: 10143: 10143: template 10143: inline bool QtPrivate::IsMetaTypePair::registerConverter(int id) 10143: { 10143: const int toId = qMetaTypeId(); 10143: if (!QMetaType::hasRegisteredConverterFunction(id, toId)) { 10143: QtMetaTypePrivate::QPairVariantInterfaceConvertFunctor o; 10143: static const QtPrivate::ConverterFunctor > f(o); 10143: return QMetaType::registerConverterFunction(&f, id, toId); 10143: } 10143: return true; 10143: } 10143: 10143: namespace QtPrivate { 10143: template 10143: struct ValueTypeIsMetaType 10143: { 10143: static bool registerConverter(int id) 10143: { 10143: const int toId = qMetaTypeId(); 10143: if (!QMetaType::hasRegisteredConverterFunction(id, toId)) { 10143: QtMetaTypePrivate::QSequentialIterableConvertFunctor o; 10143: static const QtPrivate::ConverterFunctor > f(o); 10143: return QMetaType::registerConverterFunction(&f, id, toId); 10143: } 10143: return true; 10143: } 10143: }; 10143: 10143: template 10143: struct AssociativeValueTypeIsMetaType 10143: { 10143: static bool registerConverter(int id) 10143: { 10143: const int toId = qMetaTypeId(); 10143: if (!QMetaType::hasRegisteredConverterFunction(id, toId)) { 10143: QtMetaTypePrivate::QAssociativeIterableConvertFunctor o; 10143: static const QtPrivate::ConverterFunctor > f(o); 10143: return QMetaType::registerConverterFunction(&f, id, toId); 10143: } 10143: return true; 10143: } 10143: }; 10143: } 10143: 10143: 10143: # 55 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 2 3 4 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject_impl.h" 1 3 4 10143: # 51 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject_impl.h" 3 4 10143: 10143: 10143: 10143: namespace QtPrivate { 10143: # 65 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject_impl.h" 3 4 10143: template struct TypesAreDeclaredMetaType { enum { Value = false }; }; 10143: template <> struct TypesAreDeclaredMetaType> { enum { Value = true }; }; 10143: template struct TypesAreDeclaredMetaType > 10143: { enum { Value = QMetaTypeId2::Defined && TypesAreDeclaredMetaType>::Value }; }; 10143: 10143: template ::Value > struct ConnectionTypes 10143: { static const int *types() { return nullptr; } }; 10143: template <> struct ConnectionTypes, true> 10143: { static const int *types() { return nullptr; } }; 10143: template struct ConnectionTypes, true> 10143: { static const int *types() { static const int t[sizeof...(Args) + 1] = { (QtPrivate::QMetaTypeIdHelper::qt_metatype_id())..., 0 }; return t; } }; 10143: 10143: 10143: class QSlotObjectBase { 10143: QAtomicInt m_ref; 10143: 10143: 10143: 10143: typedef void (*ImplFn)(int which, QSlotObjectBase* this_, QObject *receiver, void **args, bool *ret); 10143: const ImplFn m_impl; 10143: protected: 10143: enum Operation { 10143: Destroy, 10143: Call, 10143: Compare, 10143: 10143: NumOperations 10143: }; 10143: public: 10143: explicit QSlotObjectBase(ImplFn fn) : m_ref(1), m_impl(fn) {} 10143: 10143: inline int ref() noexcept { return m_ref.ref(); } 10143: inline void destroyIfLastRef() noexcept 10143: { if (!m_ref.deref()) m_impl(Destroy, this, nullptr, nullptr, nullptr); } 10143: 10143: inline bool compare(void **a) { bool ret = false; m_impl(Compare, this, nullptr, a, &ret); return ret; } 10143: inline void call(QObject *r, void **a) { m_impl(Call, this, r, a, nullptr); } 10143: protected: 10143: ~QSlotObjectBase() {} 10143: private: 10143: QSlotObjectBase(const QSlotObjectBase &) = delete; QSlotObjectBase &operator=(const QSlotObjectBase &) = delete; 10143: }; 10143: 10143: 10143: template class QSlotObject : public QSlotObjectBase 10143: { 10143: typedef QtPrivate::FunctionPointer FuncType; 10143: Func function; 10143: static void impl(int which, QSlotObjectBase *this_, QObject *r, void **a, bool *ret) 10143: { 10143: switch (which) { 10143: case Destroy: 10143: delete static_cast(this_); 10143: break; 10143: case Call: 10143: FuncType::template call(static_cast(this_)->function, static_cast(r), a); 10143: break; 10143: case Compare: 10143: *ret = *reinterpret_cast(a) == static_cast(this_)->function; 10143: break; 10143: case NumOperations: ; 10143: } 10143: } 10143: public: 10143: explicit QSlotObject(Func f) : QSlotObjectBase(&impl), function(f) {} 10143: }; 10143: 10143: 10143: template class QStaticSlotObject : public QSlotObjectBase 10143: { 10143: typedef QtPrivate::FunctionPointer FuncType; 10143: Func function; 10143: static void impl(int which, QSlotObjectBase *this_, QObject *r, void **a, bool *ret) 10143: { 10143: switch (which) { 10143: case Destroy: 10143: delete static_cast(this_); 10143: break; 10143: case Call: 10143: FuncType::template call(static_cast(this_)->function, r, a); 10143: break; 10143: case Compare: 10143: case NumOperations: 10143: (void)ret;; 10143: } 10143: } 10143: public: 10143: explicit QStaticSlotObject(Func f) : QSlotObjectBase(&impl), function(f) {} 10143: }; 10143: 10143: 10143: 10143: template class QFunctorSlotObject : public QSlotObjectBase 10143: { 10143: typedef QtPrivate::Functor FuncType; 10143: Func function; 10143: static void impl(int which, QSlotObjectBase *this_, QObject *r, void **a, bool *ret) 10143: { 10143: switch (which) { 10143: case Destroy: 10143: delete static_cast(this_); 10143: break; 10143: case Call: 10143: FuncType::template call(static_cast(this_)->function, r, a); 10143: break; 10143: case Compare: 10143: case NumOperations: 10143: (void)ret;; 10143: } 10143: } 10143: public: 10143: explicit QFunctorSlotObject(const Func &f) : QSlotObjectBase(&impl), function(f) {} 10143: }; 10143: } 10143: 10143: 10143: 10143: # 57 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 2 3 4 10143: 10143: 10143: # 1 "/usr/include/c++/8/chrono" 1 3 4 10143: # 32 "/usr/include/c++/8/chrono" 3 4 10143: 10143: # 33 "/usr/include/c++/8/chrono" 3 10143: 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/c++/8/ratio" 1 3 10143: # 32 "/usr/include/c++/8/ratio" 3 10143: 10143: # 33 "/usr/include/c++/8/ratio" 3 10143: # 43 "/usr/include/c++/8/ratio" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 55 "/usr/include/c++/8/ratio" 3 10143: template 10143: struct __static_sign 10143: : integral_constant 10143: { }; 10143: 10143: template 10143: struct __static_abs 10143: : integral_constant::value> 10143: { }; 10143: 10143: template 10143: struct __static_gcd 10143: : __static_gcd<_Qn, (_Pn % _Qn)> 10143: { }; 10143: 10143: template 10143: struct __static_gcd<_Pn, 0> 10143: : integral_constant::value> 10143: { }; 10143: 10143: template 10143: struct __static_gcd<0, _Qn> 10143: : integral_constant::value> 10143: { }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct __safe_multiply 10143: { 10143: private: 10143: static const uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4); 10143: 10143: static const uintmax_t __a0 = __static_abs<_Pn>::value % __c; 10143: static const uintmax_t __a1 = __static_abs<_Pn>::value / __c; 10143: static const uintmax_t __b0 = __static_abs<_Qn>::value % __c; 10143: static const uintmax_t __b1 = __static_abs<_Qn>::value / __c; 10143: 10143: static_assert(__a1 == 0 || __b1 == 0, 10143: "overflow in multiplication"); 10143: static_assert(__a0 * __b1 + __b0 * __a1 < (__c >> 1), 10143: "overflow in multiplication"); 10143: static_assert(__b0 * __a0 <= 0x7fffffffffffffffL, 10143: "overflow in multiplication"); 10143: static_assert((__a0 * __b1 + __b0 * __a1) * __c 10143: <= 0x7fffffffffffffffL - __b0 * __a0, 10143: "overflow in multiplication"); 10143: 10143: public: 10143: static const intmax_t value = _Pn * _Qn; 10143: }; 10143: 10143: 10143: 10143: template 10143: struct __big_less 10143: : integral_constant 10143: { }; 10143: 10143: template 10143: struct __big_add 10143: { 10143: static constexpr uintmax_t __lo = __lo1 + __lo2; 10143: static constexpr uintmax_t __hi = (__hi1 + __hi2 + 10143: (__lo1 + __lo2 < __lo1)); 10143: }; 10143: 10143: 10143: template 10143: struct __big_sub 10143: { 10143: static_assert(!__big_less<__hi1, __lo1, __hi2, __lo2>::value, 10143: "Internal library error"); 10143: static constexpr uintmax_t __lo = __lo1 - __lo2; 10143: static constexpr uintmax_t __hi = (__hi1 - __hi2 - 10143: (__lo1 < __lo2)); 10143: }; 10143: 10143: 10143: template 10143: struct __big_mul 10143: { 10143: private: 10143: static constexpr uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4); 10143: static constexpr uintmax_t __x0 = __x % __c; 10143: static constexpr uintmax_t __x1 = __x / __c; 10143: static constexpr uintmax_t __y0 = __y % __c; 10143: static constexpr uintmax_t __y1 = __y / __c; 10143: static constexpr uintmax_t __x0y0 = __x0 * __y0; 10143: static constexpr uintmax_t __x0y1 = __x0 * __y1; 10143: static constexpr uintmax_t __x1y0 = __x1 * __y0; 10143: static constexpr uintmax_t __x1y1 = __x1 * __y1; 10143: static constexpr uintmax_t __mix = __x0y1 + __x1y0; 10143: static constexpr uintmax_t __mix_lo = __mix * __c; 10143: static constexpr uintmax_t __mix_hi 10143: = __mix / __c + ((__mix < __x0y1) ? __c : 0); 10143: typedef __big_add<__mix_hi, __mix_lo, __x1y1, __x0y0> _Res; 10143: public: 10143: static constexpr uintmax_t __hi = _Res::__hi; 10143: static constexpr uintmax_t __lo = _Res::__lo; 10143: }; 10143: 10143: 10143: 10143: template 10143: struct __big_div_impl 10143: { 10143: private: 10143: static_assert(__d >= (uintmax_t(1) << (sizeof(intmax_t) * 8 - 1)), 10143: "Internal library error"); 10143: static_assert(__n1 < __d, "Internal library error"); 10143: static constexpr uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4); 10143: static constexpr uintmax_t __d1 = __d / __c; 10143: static constexpr uintmax_t __d0 = __d % __c; 10143: 10143: static constexpr uintmax_t __q1x = __n1 / __d1; 10143: static constexpr uintmax_t __r1x = __n1 % __d1; 10143: static constexpr uintmax_t __m = __q1x * __d0; 10143: static constexpr uintmax_t __r1y = __r1x * __c + __n0 / __c; 10143: static constexpr uintmax_t __r1z = __r1y + __d; 10143: static constexpr uintmax_t __r1 10143: = ((__r1y < __m) ? ((__r1z >= __d) && (__r1z < __m)) 10143: ? (__r1z + __d) : __r1z : __r1y) - __m; 10143: static constexpr uintmax_t __q1 10143: = __q1x - ((__r1y < __m) 10143: ? ((__r1z >= __d) && (__r1z < __m)) ? 2 : 1 : 0); 10143: static constexpr uintmax_t __q0x = __r1 / __d1; 10143: static constexpr uintmax_t __r0x = __r1 % __d1; 10143: static constexpr uintmax_t __n = __q0x * __d0; 10143: static constexpr uintmax_t __r0y = __r0x * __c + __n0 % __c; 10143: static constexpr uintmax_t __r0z = __r0y + __d; 10143: static constexpr uintmax_t __r0 10143: = ((__r0y < __n) ? ((__r0z >= __d) && (__r0z < __n)) 10143: ? (__r0z + __d) : __r0z : __r0y) - __n; 10143: static constexpr uintmax_t __q0 10143: = __q0x - ((__r0y < __n) ? ((__r0z >= __d) 10143: && (__r0z < __n)) ? 2 : 1 : 0); 10143: 10143: public: 10143: static constexpr uintmax_t __quot = __q1 * __c + __q0; 10143: static constexpr uintmax_t __rem = __r0; 10143: 10143: private: 10143: typedef __big_mul<__quot, __d> _Prod; 10143: typedef __big_add<_Prod::__hi, _Prod::__lo, 0, __rem> _Sum; 10143: static_assert(_Sum::__hi == __n1 && _Sum::__lo == __n0, 10143: "Internal library error"); 10143: }; 10143: 10143: template 10143: struct __big_div 10143: { 10143: private: 10143: static_assert(__d != 0, "Internal library error"); 10143: static_assert(sizeof (uintmax_t) == sizeof (unsigned long long), 10143: "This library calls __builtin_clzll on uintmax_t, which " 10143: "is unsafe on your platform. Please complain to " 10143: "http://gcc.gnu.org/bugzilla/"); 10143: static constexpr int __shift = __builtin_clzll(__d); 10143: static constexpr int __coshift_ = sizeof(uintmax_t) * 8 - __shift; 10143: static constexpr int __coshift = (__shift != 0) ? __coshift_ : 0; 10143: static constexpr uintmax_t __c1 = uintmax_t(1) << __shift; 10143: static constexpr uintmax_t __c2 = uintmax_t(1) << __coshift; 10143: static constexpr uintmax_t __new_d = __d * __c1; 10143: static constexpr uintmax_t __new_n0 = __n0 * __c1; 10143: static constexpr uintmax_t __n1_shifted = (__n1 % __d) * __c1; 10143: static constexpr uintmax_t __n0_top = (__shift != 0) ? (__n0 / __c2) : 0; 10143: static constexpr uintmax_t __new_n1 = __n1_shifted + __n0_top; 10143: typedef __big_div_impl<__new_n1, __new_n0, __new_d> _Res; 10143: 10143: public: 10143: static constexpr uintmax_t __quot_hi = __n1 / __d; 10143: static constexpr uintmax_t __quot_lo = _Res::__quot; 10143: static constexpr uintmax_t __rem = _Res::__rem / __c1; 10143: 10143: private: 10143: typedef __big_mul<__quot_lo, __d> _P0; 10143: typedef __big_mul<__quot_hi, __d> _P1; 10143: typedef __big_add<_P0::__hi, _P0::__lo, _P1::__lo, __rem> _Sum; 10143: 10143: static_assert(_P1::__hi == 0, "Internal library error"); 10143: static_assert(_Sum::__hi >= _P0::__hi, "Internal library error"); 10143: 10143: static_assert(_Sum::__hi == __n1 && _Sum::__lo == __n0, 10143: "Internal library error"); 10143: static_assert(__rem < __d, "Internal library error"); 10143: }; 10143: # 262 "/usr/include/c++/8/ratio" 3 10143: template 10143: struct ratio 10143: { 10143: static_assert(_Den != 0, "denominator cannot be zero"); 10143: static_assert(_Num >= -0x7fffffffffffffffL && _Den >= -0x7fffffffffffffffL, 10143: "out of range"); 10143: 10143: 10143: static constexpr intmax_t num = 10143: _Num * __static_sign<_Den>::value / __static_gcd<_Num, _Den>::value; 10143: 10143: static constexpr intmax_t den = 10143: __static_abs<_Den>::value / __static_gcd<_Num, _Den>::value; 10143: 10143: typedef ratio type; 10143: }; 10143: 10143: template 10143: constexpr intmax_t ratio<_Num, _Den>::num; 10143: 10143: template 10143: constexpr intmax_t ratio<_Num, _Den>::den; 10143: 10143: template 10143: struct __ratio_multiply 10143: { 10143: private: 10143: static const intmax_t __gcd1 = 10143: __static_gcd<_R1::num, _R2::den>::value; 10143: static const intmax_t __gcd2 = 10143: __static_gcd<_R2::num, _R1::den>::value; 10143: 10143: public: 10143: typedef ratio< 10143: __safe_multiply<(_R1::num / __gcd1), 10143: (_R2::num / __gcd2)>::value, 10143: __safe_multiply<(_R1::den / __gcd2), 10143: (_R2::den / __gcd1)>::value> type; 10143: 10143: static constexpr intmax_t num = type::num; 10143: static constexpr intmax_t den = type::den; 10143: }; 10143: 10143: template 10143: constexpr intmax_t __ratio_multiply<_R1, _R2>::num; 10143: 10143: template 10143: constexpr intmax_t __ratio_multiply<_R1, _R2>::den; 10143: 10143: 10143: template 10143: using ratio_multiply = typename __ratio_multiply<_R1, _R2>::type; 10143: 10143: template 10143: struct __ratio_divide 10143: { 10143: static_assert(_R2::num != 0, "division by 0"); 10143: 10143: typedef typename __ratio_multiply< 10143: _R1, 10143: ratio<_R2::den, _R2::num>>::type type; 10143: 10143: static constexpr intmax_t num = type::num; 10143: static constexpr intmax_t den = type::den; 10143: }; 10143: 10143: template 10143: constexpr intmax_t __ratio_divide<_R1, _R2>::num; 10143: 10143: template 10143: constexpr intmax_t __ratio_divide<_R1, _R2>::den; 10143: 10143: 10143: template 10143: using ratio_divide = typename __ratio_divide<_R1, _R2>::type; 10143: 10143: 10143: template 10143: struct ratio_equal 10143: : integral_constant 10143: { }; 10143: 10143: 10143: template 10143: struct ratio_not_equal 10143: : integral_constant::value> 10143: { }; 10143: 10143: 10143: template, 10143: typename _Right = __big_mul<_R2::num,_R1::den> > 10143: struct __ratio_less_impl_1 10143: : integral_constant::value> 10143: { }; 10143: 10143: template::value 10143: != __static_sign<_R2::num>::value)), 10143: bool = (__static_sign<_R1::num>::value == -1 10143: && __static_sign<_R2::num>::value == -1)> 10143: struct __ratio_less_impl 10143: : __ratio_less_impl_1<_R1, _R2>::type 10143: { }; 10143: 10143: template 10143: struct __ratio_less_impl<_R1, _R2, true, false> 10143: : integral_constant 10143: { }; 10143: 10143: template 10143: struct __ratio_less_impl<_R1, _R2, false, true> 10143: : __ratio_less_impl_1, 10143: ratio<-_R1::num, _R1::den> >::type 10143: { }; 10143: 10143: 10143: template 10143: struct ratio_less 10143: : __ratio_less_impl<_R1, _R2>::type 10143: { }; 10143: 10143: 10143: template 10143: struct ratio_less_equal 10143: : integral_constant::value> 10143: { }; 10143: 10143: 10143: template 10143: struct ratio_greater 10143: : integral_constant::value> 10143: { }; 10143: 10143: 10143: template 10143: struct ratio_greater_equal 10143: : integral_constant::value> 10143: { }; 10143: # 421 "/usr/include/c++/8/ratio" 3 10143: template= 0), 10143: bool = (_R2::num >= 0), 10143: bool = ratio_less::value, _R1::den>, 10143: ratio<__static_abs<_R2::num>::value, _R2::den> >::value> 10143: struct __ratio_add_impl 10143: { 10143: private: 10143: typedef typename __ratio_add_impl< 10143: ratio<-_R1::num, _R1::den>, 10143: ratio<-_R2::num, _R2::den> >::type __t; 10143: public: 10143: typedef ratio<-__t::num, __t::den> type; 10143: }; 10143: 10143: 10143: template 10143: struct __ratio_add_impl<_R1, _R2, true, true, __b> 10143: { 10143: private: 10143: static constexpr uintmax_t __g = __static_gcd<_R1::den, _R2::den>::value; 10143: static constexpr uintmax_t __d2 = _R2::den / __g; 10143: typedef __big_mul<_R1::den, __d2> __d; 10143: typedef __big_mul<_R1::num, _R2::den / __g> __x; 10143: typedef __big_mul<_R2::num, _R1::den / __g> __y; 10143: typedef __big_add<__x::__hi, __x::__lo, __y::__hi, __y::__lo> __n; 10143: static_assert(__n::__hi >= __x::__hi, "Internal library error"); 10143: typedef __big_div<__n::__hi, __n::__lo, __g> __ng; 10143: static constexpr uintmax_t __g2 = __static_gcd<__ng::__rem, __g>::value; 10143: typedef __big_div<__n::__hi, __n::__lo, __g2> __n_final; 10143: static_assert(__n_final::__rem == 0, "Internal library error"); 10143: static_assert(__n_final::__quot_hi == 0 && 10143: __n_final::__quot_lo <= 0x7fffffffffffffffL, "overflow in addition"); 10143: typedef __big_mul<_R1::den / __g2, __d2> __d_final; 10143: static_assert(__d_final::__hi == 0 && 10143: __d_final::__lo <= 0x7fffffffffffffffL, "overflow in addition"); 10143: public: 10143: typedef ratio<__n_final::__quot_lo, __d_final::__lo> type; 10143: }; 10143: 10143: template 10143: struct __ratio_add_impl<_R1, _R2, false, true, true> 10143: : __ratio_add_impl<_R2, _R1> 10143: { }; 10143: 10143: 10143: template 10143: struct __ratio_add_impl<_R1, _R2, true, false, false> 10143: { 10143: private: 10143: static constexpr uintmax_t __g = __static_gcd<_R1::den, _R2::den>::value; 10143: static constexpr uintmax_t __d2 = _R2::den / __g; 10143: typedef __big_mul<_R1::den, __d2> __d; 10143: typedef __big_mul<_R1::num, _R2::den / __g> __x; 10143: typedef __big_mul<-_R2::num, _R1::den / __g> __y; 10143: typedef __big_sub<__x::__hi, __x::__lo, __y::__hi, __y::__lo> __n; 10143: typedef __big_div<__n::__hi, __n::__lo, __g> __ng; 10143: static constexpr uintmax_t __g2 = __static_gcd<__ng::__rem, __g>::value; 10143: typedef __big_div<__n::__hi, __n::__lo, __g2> __n_final; 10143: static_assert(__n_final::__rem == 0, "Internal library error"); 10143: static_assert(__n_final::__quot_hi == 0 && 10143: __n_final::__quot_lo <= 0x7fffffffffffffffL, "overflow in addition"); 10143: typedef __big_mul<_R1::den / __g2, __d2> __d_final; 10143: static_assert(__d_final::__hi == 0 && 10143: __d_final::__lo <= 0x7fffffffffffffffL, "overflow in addition"); 10143: public: 10143: typedef ratio<__n_final::__quot_lo, __d_final::__lo> type; 10143: }; 10143: 10143: template 10143: struct __ratio_add 10143: { 10143: typedef typename __ratio_add_impl<_R1, _R2>::type type; 10143: static constexpr intmax_t num = type::num; 10143: static constexpr intmax_t den = type::den; 10143: }; 10143: 10143: template 10143: constexpr intmax_t __ratio_add<_R1, _R2>::num; 10143: 10143: template 10143: constexpr intmax_t __ratio_add<_R1, _R2>::den; 10143: 10143: 10143: template 10143: using ratio_add = typename __ratio_add<_R1, _R2>::type; 10143: 10143: template 10143: struct __ratio_subtract 10143: { 10143: typedef typename __ratio_add< 10143: _R1, 10143: ratio<-_R2::num, _R2::den>>::type type; 10143: 10143: static constexpr intmax_t num = type::num; 10143: static constexpr intmax_t den = type::den; 10143: }; 10143: 10143: template 10143: constexpr intmax_t __ratio_subtract<_R1, _R2>::num; 10143: 10143: template 10143: constexpr intmax_t __ratio_subtract<_R1, _R2>::den; 10143: 10143: 10143: template 10143: using ratio_subtract = typename __ratio_subtract<_R1, _R2>::type; 10143: 10143: 10143: typedef ratio<1, 1000000000000000000> atto; 10143: typedef ratio<1, 1000000000000000> femto; 10143: typedef ratio<1, 1000000000000> pico; 10143: typedef ratio<1, 1000000000> nano; 10143: typedef ratio<1, 1000000> micro; 10143: typedef ratio<1, 1000> milli; 10143: typedef ratio<1, 100> centi; 10143: typedef ratio<1, 10> deci; 10143: typedef ratio< 10, 1> deca; 10143: typedef ratio< 100, 1> hecto; 10143: typedef ratio< 1000, 1> kilo; 10143: typedef ratio< 1000000, 1> mega; 10143: typedef ratio< 1000000000, 1> giga; 10143: typedef ratio< 1000000000000, 1> tera; 10143: typedef ratio< 1000000000000000, 1> peta; 10143: typedef ratio< 1000000000000000000, 1> exa; 10143: 10143: 10143: 10143: } 10143: # 39 "/usr/include/c++/8/chrono" 2 3 10143: 10143: 10143: # 1 "/usr/include/c++/8/ctime" 1 3 10143: # 39 "/usr/include/c++/8/ctime" 3 10143: 10143: # 40 "/usr/include/c++/8/ctime" 3 10143: # 58 "/usr/include/c++/8/ctime" 3 10143: namespace std 10143: { 10143: using ::clock_t; 10143: using ::time_t; 10143: using ::tm; 10143: 10143: using ::clock; 10143: using ::difftime; 10143: using ::mktime; 10143: using ::time; 10143: using ::asctime; 10143: using ::ctime; 10143: using ::gmtime; 10143: using ::localtime; 10143: using ::strftime; 10143: } 10143: # 42 "/usr/include/c++/8/chrono" 2 3 10143: # 1 "/usr/include/c++/8/bits/parse_numbers.h" 1 3 10143: # 33 "/usr/include/c++/8/bits/parse_numbers.h" 3 10143: 10143: # 34 "/usr/include/c++/8/bits/parse_numbers.h" 3 10143: # 43 "/usr/include/c++/8/chrono" 2 3 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 61 "/usr/include/c++/8/chrono" 3 10143: namespace chrono 10143: { 10143: template> 10143: struct duration; 10143: 10143: template 10143: struct time_point; 10143: } 10143: 10143: 10143: 10143: template 10143: struct __duration_common_type_wrapper 10143: { 10143: private: 10143: typedef __static_gcd<_Period1::num, _Period2::num> __gcd_num; 10143: typedef __static_gcd<_Period1::den, _Period2::den> __gcd_den; 10143: typedef typename _CT::type __cr; 10143: typedef ratio<__gcd_num::value, 10143: (_Period1::den / __gcd_den::value) * _Period2::den> __r; 10143: public: 10143: typedef __success_type> type; 10143: }; 10143: 10143: template 10143: struct __duration_common_type_wrapper<__failure_type, _Period1, _Period2> 10143: { typedef __failure_type type; }; 10143: 10143: template 10143: struct common_type, 10143: chrono::duration<_Rep2, _Period2>> 10143: : public __duration_common_type_wrapper>::type, _Period1, _Period2>::type 10143: { }; 10143: 10143: 10143: 10143: template 10143: struct __timepoint_common_type_wrapper 10143: { 10143: typedef __success_type> 10143: type; 10143: }; 10143: 10143: template 10143: struct __timepoint_common_type_wrapper<__failure_type, _Clock> 10143: { typedef __failure_type type; }; 10143: 10143: template 10143: struct common_type, 10143: chrono::time_point<_Clock, _Duration2>> 10143: : public __timepoint_common_type_wrapper>::type, _Clock>::type 10143: { }; 10143: 10143: namespace chrono 10143: { 10143: 10143: template 10143: struct __duration_cast_impl 10143: { 10143: template 10143: static constexpr _ToDur 10143: __cast(const duration<_Rep, _Period>& __d) 10143: { 10143: typedef typename _ToDur::rep __to_rep; 10143: return _ToDur(static_cast<__to_rep>(static_cast<_CR>(__d.count()) 10143: * static_cast<_CR>(_CF::num) 10143: / static_cast<_CR>(_CF::den))); 10143: } 10143: }; 10143: 10143: template 10143: struct __duration_cast_impl<_ToDur, _CF, _CR, true, true> 10143: { 10143: template 10143: static constexpr _ToDur 10143: __cast(const duration<_Rep, _Period>& __d) 10143: { 10143: typedef typename _ToDur::rep __to_rep; 10143: return _ToDur(static_cast<__to_rep>(__d.count())); 10143: } 10143: }; 10143: 10143: template 10143: struct __duration_cast_impl<_ToDur, _CF, _CR, true, false> 10143: { 10143: template 10143: static constexpr _ToDur 10143: __cast(const duration<_Rep, _Period>& __d) 10143: { 10143: typedef typename _ToDur::rep __to_rep; 10143: return _ToDur(static_cast<__to_rep>( 10143: static_cast<_CR>(__d.count()) / static_cast<_CR>(_CF::den))); 10143: } 10143: }; 10143: 10143: template 10143: struct __duration_cast_impl<_ToDur, _CF, _CR, false, true> 10143: { 10143: template 10143: static constexpr _ToDur 10143: __cast(const duration<_Rep, _Period>& __d) 10143: { 10143: typedef typename _ToDur::rep __to_rep; 10143: return _ToDur(static_cast<__to_rep>( 10143: static_cast<_CR>(__d.count()) * static_cast<_CR>(_CF::num))); 10143: } 10143: }; 10143: 10143: template 10143: struct __is_duration 10143: : std::false_type 10143: { }; 10143: 10143: template 10143: struct __is_duration> 10143: : std::true_type 10143: { }; 10143: 10143: template 10143: using __enable_if_is_duration 10143: = typename enable_if<__is_duration<_Tp>::value, _Tp>::type; 10143: 10143: template 10143: using __disable_if_is_duration 10143: = typename enable_if::value, _Tp>::type; 10143: 10143: 10143: template 10143: constexpr __enable_if_is_duration<_ToDur> 10143: duration_cast(const duration<_Rep, _Period>& __d) 10143: { 10143: typedef typename _ToDur::period __to_period; 10143: typedef typename _ToDur::rep __to_rep; 10143: typedef ratio_divide<_Period, __to_period> __cf; 10143: typedef typename common_type<__to_rep, _Rep, intmax_t>::type 10143: __cr; 10143: typedef __duration_cast_impl<_ToDur, __cf, __cr, 10143: __cf::num == 1, __cf::den == 1> __dc; 10143: return __dc::__cast(__d); 10143: } 10143: 10143: 10143: template 10143: struct treat_as_floating_point 10143: : is_floating_point<_Rep> 10143: { }; 10143: # 274 "/usr/include/c++/8/chrono" 3 10143: template 10143: struct duration_values 10143: { 10143: static constexpr _Rep 10143: zero() 10143: { return _Rep(0); } 10143: 10143: static constexpr _Rep 10143: max() 10143: { return numeric_limits<_Rep>::max(); } 10143: 10143: static constexpr _Rep 10143: min() 10143: { return numeric_limits<_Rep>::lowest(); } 10143: }; 10143: 10143: template 10143: struct __is_ratio 10143: : std::false_type 10143: { }; 10143: 10143: template 10143: struct __is_ratio> 10143: : std::true_type 10143: { }; 10143: 10143: 10143: template 10143: struct duration 10143: { 10143: private: 10143: template 10143: using __is_float = treat_as_floating_point<_Rep2>; 10143: 10143: 10143: template 10143: using __is_harmonic 10143: = __bool_constant::den == 1>; 10143: 10143: public: 10143: 10143: typedef _Rep rep; 10143: typedef _Period period; 10143: 10143: static_assert(!__is_duration<_Rep>::value, "rep cannot be a duration"); 10143: static_assert(__is_ratio<_Period>::value, 10143: "period must be a specialization of ratio"); 10143: static_assert(_Period::num > 0, "period must be positive"); 10143: 10143: 10143: constexpr duration() = default; 10143: 10143: duration(const duration&) = default; 10143: 10143: template, 10143: __or_<__is_float, __not_<__is_float<_Rep2>>>>> 10143: constexpr explicit duration(const _Rep2& __rep) 10143: : __r(static_cast(__rep)) { } 10143: 10143: template, 10143: __and_<__is_harmonic<_Period2>, 10143: __not_<__is_float<_Rep2>>>>>> 10143: constexpr duration(const duration<_Rep2, _Period2>& __d) 10143: : __r(duration_cast(__d).count()) { } 10143: 10143: ~duration() = default; 10143: duration& operator=(const duration&) = default; 10143: 10143: 10143: constexpr rep 10143: count() const 10143: { return __r; } 10143: 10143: 10143: constexpr duration 10143: operator+() const 10143: { return *this; } 10143: 10143: constexpr duration 10143: operator-() const 10143: { return duration(-__r); } 10143: 10143: duration& 10143: operator++() 10143: { 10143: ++__r; 10143: return *this; 10143: } 10143: 10143: duration 10143: operator++(int) 10143: { return duration(__r++); } 10143: 10143: duration& 10143: operator--() 10143: { 10143: --__r; 10143: return *this; 10143: } 10143: 10143: duration 10143: operator--(int) 10143: { return duration(__r--); } 10143: 10143: duration& 10143: operator+=(const duration& __d) 10143: { 10143: __r += __d.count(); 10143: return *this; 10143: } 10143: 10143: duration& 10143: operator-=(const duration& __d) 10143: { 10143: __r -= __d.count(); 10143: return *this; 10143: } 10143: 10143: duration& 10143: operator*=(const rep& __rhs) 10143: { 10143: __r *= __rhs; 10143: return *this; 10143: } 10143: 10143: duration& 10143: operator/=(const rep& __rhs) 10143: { 10143: __r /= __rhs; 10143: return *this; 10143: } 10143: 10143: 10143: template 10143: 10143: typename enable_if::value, 10143: duration&>::type 10143: operator%=(const rep& __rhs) 10143: { 10143: __r %= __rhs; 10143: return *this; 10143: } 10143: 10143: template 10143: 10143: typename enable_if::value, 10143: duration&>::type 10143: operator%=(const duration& __d) 10143: { 10143: __r %= __d.count(); 10143: return *this; 10143: } 10143: 10143: 10143: static constexpr duration 10143: zero() 10143: { return duration(duration_values::zero()); } 10143: 10143: static constexpr duration 10143: min() 10143: { return duration(duration_values::min()); } 10143: 10143: static constexpr duration 10143: max() 10143: { return duration(duration_values::max()); } 10143: 10143: private: 10143: rep __r; 10143: }; 10143: 10143: template 10143: constexpr typename common_type, 10143: duration<_Rep2, _Period2>>::type 10143: operator+(const duration<_Rep1, _Period1>& __lhs, 10143: const duration<_Rep2, _Period2>& __rhs) 10143: { 10143: typedef duration<_Rep1, _Period1> __dur1; 10143: typedef duration<_Rep2, _Period2> __dur2; 10143: typedef typename common_type<__dur1,__dur2>::type __cd; 10143: return __cd(__cd(__lhs).count() + __cd(__rhs).count()); 10143: } 10143: 10143: template 10143: constexpr typename common_type, 10143: duration<_Rep2, _Period2>>::type 10143: operator-(const duration<_Rep1, _Period1>& __lhs, 10143: const duration<_Rep2, _Period2>& __rhs) 10143: { 10143: typedef duration<_Rep1, _Period1> __dur1; 10143: typedef duration<_Rep2, _Period2> __dur2; 10143: typedef typename common_type<__dur1,__dur2>::type __cd; 10143: return __cd(__cd(__lhs).count() - __cd(__rhs).count()); 10143: } 10143: 10143: 10143: 10143: template::type> 10143: using __common_rep_t 10143: = typename enable_if::value, _CRep>::type; 10143: 10143: template 10143: constexpr duration<__common_rep_t<_Rep1, _Rep2>, _Period> 10143: operator*(const duration<_Rep1, _Period>& __d, const _Rep2& __s) 10143: { 10143: typedef duration::type, _Period> 10143: __cd; 10143: return __cd(__cd(__d).count() * __s); 10143: } 10143: 10143: template 10143: constexpr duration<__common_rep_t<_Rep2, _Rep1>, _Period> 10143: operator*(const _Rep1& __s, const duration<_Rep2, _Period>& __d) 10143: { return __d * __s; } 10143: 10143: template 10143: constexpr 10143: duration<__common_rep_t<_Rep1, __disable_if_is_duration<_Rep2>>, _Period> 10143: operator/(const duration<_Rep1, _Period>& __d, const _Rep2& __s) 10143: { 10143: typedef duration::type, _Period> 10143: __cd; 10143: return __cd(__cd(__d).count() / __s); 10143: } 10143: 10143: template 10143: constexpr typename common_type<_Rep1, _Rep2>::type 10143: operator/(const duration<_Rep1, _Period1>& __lhs, 10143: const duration<_Rep2, _Period2>& __rhs) 10143: { 10143: typedef duration<_Rep1, _Period1> __dur1; 10143: typedef duration<_Rep2, _Period2> __dur2; 10143: typedef typename common_type<__dur1,__dur2>::type __cd; 10143: return __cd(__lhs).count() / __cd(__rhs).count(); 10143: } 10143: 10143: 10143: template 10143: constexpr 10143: duration<__common_rep_t<_Rep1, __disable_if_is_duration<_Rep2>>, _Period> 10143: operator%(const duration<_Rep1, _Period>& __d, const _Rep2& __s) 10143: { 10143: typedef duration::type, _Period> 10143: __cd; 10143: return __cd(__cd(__d).count() % __s); 10143: } 10143: 10143: template 10143: constexpr typename common_type, 10143: duration<_Rep2, _Period2>>::type 10143: operator%(const duration<_Rep1, _Period1>& __lhs, 10143: const duration<_Rep2, _Period2>& __rhs) 10143: { 10143: typedef duration<_Rep1, _Period1> __dur1; 10143: typedef duration<_Rep2, _Period2> __dur2; 10143: typedef typename common_type<__dur1,__dur2>::type __cd; 10143: return __cd(__cd(__lhs).count() % __cd(__rhs).count()); 10143: } 10143: 10143: 10143: template 10143: constexpr bool 10143: operator==(const duration<_Rep1, _Period1>& __lhs, 10143: const duration<_Rep2, _Period2>& __rhs) 10143: { 10143: typedef duration<_Rep1, _Period1> __dur1; 10143: typedef duration<_Rep2, _Period2> __dur2; 10143: typedef typename common_type<__dur1,__dur2>::type __ct; 10143: return __ct(__lhs).count() == __ct(__rhs).count(); 10143: } 10143: 10143: template 10143: constexpr bool 10143: operator<(const duration<_Rep1, _Period1>& __lhs, 10143: const duration<_Rep2, _Period2>& __rhs) 10143: { 10143: typedef duration<_Rep1, _Period1> __dur1; 10143: typedef duration<_Rep2, _Period2> __dur2; 10143: typedef typename common_type<__dur1,__dur2>::type __ct; 10143: return __ct(__lhs).count() < __ct(__rhs).count(); 10143: } 10143: 10143: template 10143: constexpr bool 10143: operator!=(const duration<_Rep1, _Period1>& __lhs, 10143: const duration<_Rep2, _Period2>& __rhs) 10143: { return !(__lhs == __rhs); } 10143: 10143: template 10143: constexpr bool 10143: operator<=(const duration<_Rep1, _Period1>& __lhs, 10143: const duration<_Rep2, _Period2>& __rhs) 10143: { return !(__rhs < __lhs); } 10143: 10143: template 10143: constexpr bool 10143: operator>(const duration<_Rep1, _Period1>& __lhs, 10143: const duration<_Rep2, _Period2>& __rhs) 10143: { return __rhs < __lhs; } 10143: 10143: template 10143: constexpr bool 10143: operator>=(const duration<_Rep1, _Period1>& __lhs, 10143: const duration<_Rep2, _Period2>& __rhs) 10143: { return !(__lhs < __rhs); } 10143: 10143: 10143: typedef duration nanoseconds; 10143: 10143: 10143: typedef duration microseconds; 10143: 10143: 10143: typedef duration milliseconds; 10143: 10143: 10143: typedef duration seconds; 10143: 10143: 10143: typedef duration> minutes; 10143: 10143: 10143: typedef duration> hours; 10143: 10143: 10143: template 10143: struct time_point 10143: { 10143: typedef _Clock clock; 10143: typedef _Dur duration; 10143: typedef typename duration::rep rep; 10143: typedef typename duration::period period; 10143: 10143: constexpr time_point() : __d(duration::zero()) 10143: { } 10143: 10143: constexpr explicit time_point(const duration& __dur) 10143: : __d(__dur) 10143: { } 10143: 10143: 10143: template>> 10143: constexpr time_point(const time_point& __t) 10143: : __d(__t.time_since_epoch()) 10143: { } 10143: 10143: 10143: constexpr duration 10143: time_since_epoch() const 10143: { return __d; } 10143: 10143: 10143: time_point& 10143: operator+=(const duration& __dur) 10143: { 10143: __d += __dur; 10143: return *this; 10143: } 10143: 10143: time_point& 10143: operator-=(const duration& __dur) 10143: { 10143: __d -= __dur; 10143: return *this; 10143: } 10143: 10143: 10143: static constexpr time_point 10143: min() 10143: { return time_point(duration::min()); } 10143: 10143: static constexpr time_point 10143: max() 10143: { return time_point(duration::max()); } 10143: 10143: private: 10143: duration __d; 10143: }; 10143: 10143: 10143: template 10143: constexpr typename enable_if<__is_duration<_ToDur>::value, 10143: time_point<_Clock, _ToDur>>::type 10143: time_point_cast(const time_point<_Clock, _Dur>& __t) 10143: { 10143: typedef time_point<_Clock, _ToDur> __time_point; 10143: return __time_point(duration_cast<_ToDur>(__t.time_since_epoch())); 10143: } 10143: # 707 "/usr/include/c++/8/chrono" 3 10143: template 10143: constexpr time_point<_Clock, 10143: typename common_type<_Dur1, duration<_Rep2, _Period2>>::type> 10143: operator+(const time_point<_Clock, _Dur1>& __lhs, 10143: const duration<_Rep2, _Period2>& __rhs) 10143: { 10143: typedef duration<_Rep2, _Period2> __dur2; 10143: typedef typename common_type<_Dur1,__dur2>::type __ct; 10143: typedef time_point<_Clock, __ct> __time_point; 10143: return __time_point(__lhs.time_since_epoch() + __rhs); 10143: } 10143: 10143: template 10143: constexpr time_point<_Clock, 10143: typename common_type, _Dur2>::type> 10143: operator+(const duration<_Rep1, _Period1>& __lhs, 10143: const time_point<_Clock, _Dur2>& __rhs) 10143: { 10143: typedef duration<_Rep1, _Period1> __dur1; 10143: typedef typename common_type<__dur1,_Dur2>::type __ct; 10143: typedef time_point<_Clock, __ct> __time_point; 10143: return __time_point(__rhs.time_since_epoch() + __lhs); 10143: } 10143: 10143: template 10143: constexpr time_point<_Clock, 10143: typename common_type<_Dur1, duration<_Rep2, _Period2>>::type> 10143: operator-(const time_point<_Clock, _Dur1>& __lhs, 10143: const duration<_Rep2, _Period2>& __rhs) 10143: { 10143: typedef duration<_Rep2, _Period2> __dur2; 10143: typedef typename common_type<_Dur1,__dur2>::type __ct; 10143: typedef time_point<_Clock, __ct> __time_point; 10143: return __time_point(__lhs.time_since_epoch() -__rhs); 10143: } 10143: 10143: template 10143: constexpr typename common_type<_Dur1, _Dur2>::type 10143: operator-(const time_point<_Clock, _Dur1>& __lhs, 10143: const time_point<_Clock, _Dur2>& __rhs) 10143: { return __lhs.time_since_epoch() - __rhs.time_since_epoch(); } 10143: 10143: template 10143: constexpr bool 10143: operator==(const time_point<_Clock, _Dur1>& __lhs, 10143: const time_point<_Clock, _Dur2>& __rhs) 10143: { return __lhs.time_since_epoch() == __rhs.time_since_epoch(); } 10143: 10143: template 10143: constexpr bool 10143: operator!=(const time_point<_Clock, _Dur1>& __lhs, 10143: const time_point<_Clock, _Dur2>& __rhs) 10143: { return !(__lhs == __rhs); } 10143: 10143: template 10143: constexpr bool 10143: operator<(const time_point<_Clock, _Dur1>& __lhs, 10143: const time_point<_Clock, _Dur2>& __rhs) 10143: { return __lhs.time_since_epoch() < __rhs.time_since_epoch(); } 10143: 10143: template 10143: constexpr bool 10143: operator<=(const time_point<_Clock, _Dur1>& __lhs, 10143: const time_point<_Clock, _Dur2>& __rhs) 10143: { return !(__rhs < __lhs); } 10143: 10143: template 10143: constexpr bool 10143: operator>(const time_point<_Clock, _Dur1>& __lhs, 10143: const time_point<_Clock, _Dur2>& __rhs) 10143: { return __rhs < __lhs; } 10143: 10143: template 10143: constexpr bool 10143: operator>=(const time_point<_Clock, _Dur1>& __lhs, 10143: const time_point<_Clock, _Dur2>& __rhs) 10143: { return !(__lhs < __rhs); } 10143: # 807 "/usr/include/c++/8/chrono" 3 10143: inline namespace _V2 { 10143: 10143: 10143: 10143: 10143: 10143: 10143: struct system_clock 10143: { 10143: typedef chrono::nanoseconds duration; 10143: typedef duration::rep rep; 10143: typedef duration::period period; 10143: typedef chrono::time_point time_point; 10143: 10143: static_assert(system_clock::duration::min() 10143: < system_clock::duration::zero(), 10143: "a clock's minimum duration cannot be less than its epoch"); 10143: 10143: static constexpr bool is_steady = false; 10143: 10143: static time_point 10143: now() noexcept; 10143: 10143: 10143: static std::time_t 10143: to_time_t(const time_point& __t) noexcept 10143: { 10143: return std::time_t(duration_cast 10143: (__t.time_since_epoch()).count()); 10143: } 10143: 10143: static time_point 10143: from_time_t(std::time_t __t) noexcept 10143: { 10143: typedef chrono::time_point __from; 10143: return time_point_cast 10143: (__from(chrono::seconds(__t))); 10143: } 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: struct steady_clock 10143: { 10143: typedef chrono::nanoseconds duration; 10143: typedef duration::rep rep; 10143: typedef duration::period period; 10143: typedef chrono::time_point time_point; 10143: 10143: static constexpr bool is_steady = true; 10143: 10143: static time_point 10143: now() noexcept; 10143: }; 10143: # 874 "/usr/include/c++/8/chrono" 3 10143: using high_resolution_clock = system_clock; 10143: 10143: } 10143: } 10143: # 976 "/usr/include/c++/8/chrono" 3 10143: 10143: } 10143: # 60 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: class QEvent; 10143: class QTimerEvent; 10143: class QChildEvent; 10143: struct QMetaObject; 10143: class QVariant; 10143: class QObjectPrivate; 10143: class QObject; 10143: class QThread; 10143: class QWidget; 10143: 10143: class QRegExp; 10143: 10143: 10143: class QRegularExpression; 10143: 10143: 10143: class QObjectUserData; 10143: 10143: struct QDynamicMetaObjectData; 10143: 10143: typedef QList QObjectList; 10143: 10143: __attribute__((visibility("default"))) void qt_qFindChildren_helper(const QObject *parent, const QString &name, 10143: const QMetaObject &mo, QList *list, Qt::FindChildOptions options); 10143: __attribute__((visibility("default"))) void qt_qFindChildren_helper(const QObject *parent, const QRegExp &re, 10143: const QMetaObject &mo, QList *list, Qt::FindChildOptions options); 10143: __attribute__((visibility("default"))) void qt_qFindChildren_helper(const QObject *parent, const QRegularExpression &re, 10143: const QMetaObject &mo, QList *list, Qt::FindChildOptions options); 10143: __attribute__((visibility("default"))) QObject *qt_qFindChild_helper(const QObject *parent, const QString &name, const QMetaObject &mo, Qt::FindChildOptions options); 10143: 10143: class __attribute__((visibility("default"))) QObjectData { 10143: public: 10143: virtual ~QObjectData() = 0; 10143: QObject *q_ptr; 10143: QObject *parent; 10143: QObjectList children; 10143: 10143: uint isWidget : 1; 10143: uint blockSig : 1; 10143: uint wasDeleted : 1; 10143: uint isDeletingChildren : 1; 10143: uint sendChildEvents : 1; 10143: uint receiveChildEvents : 1; 10143: uint isWindow : 1; 10143: uint unused : 25; 10143: int postedEvents; 10143: QDynamicMetaObjectData *metaObject; 10143: QMetaObject *dynamicMetaObject() const; 10143: }; 10143: 10143: 10143: class __attribute__((visibility("default"))) QObject 10143: { 10143: public: 10143: # 118 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 3 4 10143: #pragma GCC diagnostic push 10143: # 118 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 3 4 10143: 10143: # 118 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 3 4 10143: #pragma GCC diagnostic ignored "-Wsuggest-override" 10143: # 118 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 3 4 10143: static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); virtual int qt_metacall(QMetaObject::Call, int, void **); static inline QString tr(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 10143: # 118 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 3 4 10143: #pragma GCC diagnostic ignored "-Wattributes" 10143: # 118 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 3 4 10143: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 10143: # 118 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 3 4 10143: #pragma GCC diagnostic pop 10143: # 118 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 3 4 10143: struct QPrivateSignal {}; 10143: 10143: inline QObjectPrivate* d_func() { return reinterpret_cast(qGetPtrHelper(d_ptr)); } inline const QObjectPrivate* d_func() const { return reinterpret_cast(qGetPtrHelper(d_ptr)); } friend class QObjectPrivate; 10143: 10143: public: 10143: explicit QObject(QObject *parent=nullptr); 10143: virtual ~QObject(); 10143: 10143: virtual bool event(QEvent *event); 10143: virtual bool eventFilter(QObject *watched, QEvent *event); 10143: # 144 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 3 4 10143: QString objectName() const; 10143: void setObjectName(const QString &name); 10143: 10143: inline bool isWidgetType() const { return d_ptr->isWidget; } 10143: inline bool isWindowType() const { return d_ptr->isWindow; } 10143: 10143: inline bool signalsBlocked() const noexcept { return d_ptr->blockSig; } 10143: bool blockSignals(bool b) noexcept; 10143: 10143: QThread *thread() const; 10143: void moveToThread(QThread *thread); 10143: 10143: int startTimer(int interval, Qt::TimerType timerType = Qt::CoarseTimer); 10143: 10143: inline __attribute__((always_inline)) 10143: int startTimer(std::chrono::milliseconds time, Qt::TimerType timerType = Qt::CoarseTimer) 10143: { 10143: return startTimer(int(time.count()), timerType); 10143: } 10143: 10143: void killTimer(int id); 10143: 10143: template 10143: inline T findChild(const QString &aName = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const 10143: { 10143: typedef typename std::remove_cv::type>::type ObjType; 10143: return static_cast(qt_qFindChild_helper(this, aName, ObjType::staticMetaObject, options)); 10143: } 10143: 10143: template 10143: inline QList findChildren(const QString &aName = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const 10143: { 10143: typedef typename std::remove_cv::type>::type ObjType; 10143: QList list; 10143: qt_qFindChildren_helper(this, aName, ObjType::staticMetaObject, 10143: reinterpret_cast *>(&list), options); 10143: return list; 10143: } 10143: 10143: 10143: template 10143: inline QList findChildren(const QRegExp &re, Qt::FindChildOptions options = Qt::FindChildrenRecursively) const 10143: { 10143: typedef typename std::remove_cv::type>::type ObjType; 10143: QList list; 10143: qt_qFindChildren_helper(this, re, ObjType::staticMetaObject, 10143: reinterpret_cast *>(&list), options); 10143: return list; 10143: } 10143: 10143: 10143: 10143: template 10143: inline QList findChildren(const QRegularExpression &re, Qt::FindChildOptions options = Qt::FindChildrenRecursively) const 10143: { 10143: typedef typename std::remove_cv::type>::type ObjType; 10143: QList list; 10143: qt_qFindChildren_helper(this, re, ObjType::staticMetaObject, 10143: reinterpret_cast *>(&list), options); 10143: return list; 10143: } 10143: 10143: 10143: inline const QObjectList &children() const { return d_ptr->children; } 10143: 10143: void setParent(QObject *parent); 10143: void installEventFilter(QObject *filterObj); 10143: void removeEventFilter(QObject *obj); 10143: 10143: static QMetaObject::Connection connect(const QObject *sender, const char *signal, 10143: const QObject *receiver, const char *member, Qt::ConnectionType = Qt::AutoConnection); 10143: 10143: static QMetaObject::Connection connect(const QObject *sender, const QMetaMethod &signal, 10143: const QObject *receiver, const QMetaMethod &method, 10143: Qt::ConnectionType type = Qt::AutoConnection); 10143: 10143: inline QMetaObject::Connection connect(const QObject *sender, const char *signal, 10143: const char *member, Qt::ConnectionType type = Qt::AutoConnection) const; 10143: # 232 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 3 4 10143: template 10143: static inline QMetaObject::Connection connect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, 10143: const typename QtPrivate::FunctionPointer::Object *receiver, Func2 slot, 10143: Qt::ConnectionType type = Qt::AutoConnection) 10143: { 10143: typedef QtPrivate::FunctionPointer SignalType; 10143: typedef QtPrivate::FunctionPointer SlotType; 10143: 10143: static_assert(bool(QtPrivate::HasQ_OBJECT_Macro::Value), "No Q_OBJECT in the class with the signal") 10143: ; 10143: 10143: 10143: static_assert(bool(int(SignalType::ArgumentCount) >= int(SlotType::ArgumentCount)), "The slot requires more arguments than the signal provides.") 10143: ; 10143: static_assert(bool((QtPrivate::CheckCompatibleArguments::value)), "Signal and slot arguments are not compatible.") 10143: ; 10143: static_assert(bool((QtPrivate::AreArgumentsCompatible::value)), "Return type of the slot is not compatible with the return type of the signal.") 10143: ; 10143: 10143: const int *types = nullptr; 10143: if (type == Qt::QueuedConnection || type == Qt::BlockingQueuedConnection) 10143: types = QtPrivate::ConnectionTypes::types(); 10143: 10143: return connectImpl(sender, reinterpret_cast(&signal), 10143: receiver, reinterpret_cast(&slot), 10143: new QtPrivate::QSlotObject::Value, 10143: typename SignalType::ReturnType>(slot), 10143: type, types, &SignalType::Object::staticMetaObject); 10143: } 10143: 10143: 10143: template 10143: static inline typename std::enable_if::ArgumentCount) >= 0, QMetaObject::Connection>::type 10143: connect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, Func2 slot) 10143: { 10143: return connect(sender, signal, sender, slot, Qt::DirectConnection); 10143: } 10143: 10143: 10143: template 10143: static inline typename std::enable_if::ArgumentCount) >= 0 && 10143: !QtPrivate::FunctionPointer::IsPointerToMemberFunction, QMetaObject::Connection>::type 10143: connect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, const QObject *context, Func2 slot, 10143: Qt::ConnectionType type = Qt::AutoConnection) 10143: { 10143: typedef QtPrivate::FunctionPointer SignalType; 10143: typedef QtPrivate::FunctionPointer SlotType; 10143: 10143: static_assert(bool(QtPrivate::HasQ_OBJECT_Macro::Value), "No Q_OBJECT in the class with the signal") 10143: ; 10143: 10143: 10143: static_assert(bool(int(SignalType::ArgumentCount) >= int(SlotType::ArgumentCount)), "The slot requires more arguments than the signal provides.") 10143: ; 10143: static_assert(bool((QtPrivate::CheckCompatibleArguments::value)), "Signal and slot arguments are not compatible.") 10143: ; 10143: static_assert(bool((QtPrivate::AreArgumentsCompatible::value)), "Return type of the slot is not compatible with the return type of the signal.") 10143: ; 10143: 10143: const int *types = nullptr; 10143: if (type == Qt::QueuedConnection || type == Qt::BlockingQueuedConnection) 10143: types = QtPrivate::ConnectionTypes::types(); 10143: 10143: return connectImpl(sender, reinterpret_cast(&signal), context, nullptr, 10143: new QtPrivate::QStaticSlotObject::Value, 10143: typename SignalType::ReturnType>(slot), 10143: type, types, &SignalType::Object::staticMetaObject); 10143: } 10143: 10143: 10143: template 10143: static inline typename std::enable_if::ArgumentCount == -1, QMetaObject::Connection>::type 10143: connect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, Func2 slot) 10143: { 10143: return connect(sender, signal, sender, slot, Qt::DirectConnection); 10143: } 10143: 10143: 10143: template 10143: static inline typename std::enable_if::ArgumentCount == -1, QMetaObject::Connection>::type 10143: connect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, const QObject *context, Func2 slot, 10143: Qt::ConnectionType type = Qt::AutoConnection) 10143: { 10143: typedef QtPrivate::FunctionPointer SignalType; 10143: const int FunctorArgumentCount = QtPrivate::ComputeFunctorArgumentCount::Value; 10143: 10143: static_assert(bool((FunctorArgumentCount >= 0)), "Signal and slot arguments are not compatible.") 10143: ; 10143: const int SlotArgumentCount = (FunctorArgumentCount >= 0) ? FunctorArgumentCount : 0; 10143: typedef typename QtPrivate::FunctorReturnType::Value>::Value SlotReturnType; 10143: 10143: static_assert(bool((QtPrivate::AreArgumentsCompatible::value)), "Return type of the slot is not compatible with the return type of the signal.") 10143: ; 10143: 10143: static_assert(bool(QtPrivate::HasQ_OBJECT_Macro::Value), "No Q_OBJECT in the class with the signal") 10143: ; 10143: 10143: const int *types = nullptr; 10143: if (type == Qt::QueuedConnection || type == Qt::BlockingQueuedConnection) 10143: types = QtPrivate::ConnectionTypes::types(); 10143: 10143: return connectImpl(sender, reinterpret_cast(&signal), context, nullptr, 10143: new QtPrivate::QFunctorSlotObject::Value, 10143: typename SignalType::ReturnType>(slot), 10143: type, types, &SignalType::Object::staticMetaObject); 10143: } 10143: 10143: 10143: static bool disconnect(const QObject *sender, const char *signal, 10143: const QObject *receiver, const char *member); 10143: static bool disconnect(const QObject *sender, const QMetaMethod &signal, 10143: const QObject *receiver, const QMetaMethod &member); 10143: inline bool disconnect(const char *signal = nullptr, 10143: const QObject *receiver = nullptr, const char *member = nullptr) const 10143: { return disconnect(this, signal, receiver, member); } 10143: inline bool disconnect(const QObject *receiver, const char *member = nullptr) const 10143: { return disconnect(this, nullptr, receiver, member); } 10143: static bool disconnect(const QMetaObject::Connection &); 10143: 10143: 10143: 10143: 10143: 10143: template 10143: static inline bool disconnect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, 10143: const typename QtPrivate::FunctionPointer::Object *receiver, Func2 slot) 10143: { 10143: typedef QtPrivate::FunctionPointer SignalType; 10143: typedef QtPrivate::FunctionPointer SlotType; 10143: 10143: static_assert(bool(QtPrivate::HasQ_OBJECT_Macro::Value), "No Q_OBJECT in the class with the signal") 10143: ; 10143: 10143: 10143: static_assert(bool((QtPrivate::CheckCompatibleArguments::value)), "Signal and slot arguments are not compatible.") 10143: ; 10143: 10143: return disconnectImpl(sender, reinterpret_cast(&signal), receiver, reinterpret_cast(&slot), 10143: &SignalType::Object::staticMetaObject); 10143: } 10143: template 10143: static inline bool disconnect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, 10143: const QObject *receiver, void **zero) 10143: { 10143: 10143: 10143: 10143: do { } while ((false) && (!zero)); 10143: typedef QtPrivate::FunctionPointer SignalType; 10143: return disconnectImpl(sender, reinterpret_cast(&signal), receiver, zero, 10143: &SignalType::Object::staticMetaObject); 10143: } 10143: 10143: 10143: 10143: 10143: void dumpObjectTree(); 10143: void dumpObjectInfo(); 10143: 10143: void dumpObjectTree() const; 10143: void dumpObjectInfo() const; 10143: 10143: 10143: bool setProperty(const char *name, const QVariant &value); 10143: QVariant property(const char *name) const; 10143: QList dynamicPropertyNames() const; 10143: 10143: 10143: 10143: static uint registerUserData(); 10143: void setUserData(uint id, QObjectUserData* data); 10143: QObjectUserData* userData(uint id) const; 10143: 10143: 10143: public : 10143: void destroyed(QObject * = nullptr); 10143: void objectNameChanged(const QString &objectName, QPrivateSignal); 10143: 10143: public: 10143: inline QObject *parent() const { return d_ptr->parent; } 10143: 10143: inline bool inherits(const char *classname) const 10143: { return const_cast(this)->qt_metacast(classname) != nullptr; } 10143: 10143: public : 10143: void deleteLater(); 10143: 10143: protected: 10143: QObject *sender() const; 10143: int senderSignalIndex() const; 10143: int receivers(const char* signal) const; 10143: bool isSignalConnected(const QMetaMethod &signal) const; 10143: 10143: virtual void timerEvent(QTimerEvent *event); 10143: virtual void childEvent(QChildEvent *event); 10143: virtual void customEvent(QEvent *event); 10143: 10143: virtual void connectNotify(const QMetaMethod &signal); 10143: virtual void disconnectNotify(const QMetaMethod &signal); 10143: 10143: protected: 10143: QObject(QObjectPrivate &dd, QObject *parent = nullptr); 10143: 10143: protected: 10143: QScopedPointer d_ptr; 10143: 10143: static const QMetaObject staticQtMetaObject; 10143: friend inline const QMetaObject *qt_getQtMetaObject() noexcept; 10143: 10143: friend struct QMetaObject; 10143: friend struct QMetaObjectPrivate; 10143: friend class QMetaCallEvent; 10143: friend class QApplication; 10143: friend class QApplicationPrivate; 10143: friend class QCoreApplication; 10143: friend class QCoreApplicationPrivate; 10143: friend class QWidget; 10143: friend class QThreadData; 10143: 10143: private: 10143: QObject(const QObject &) = delete; QObject &operator=(const QObject &) = delete; 10143: 10143: 10143: private: 10143: static QMetaObject::Connection connectImpl(const QObject *sender, void **signal, 10143: const QObject *receiver, void **slotPtr, 10143: QtPrivate::QSlotObjectBase *slot, Qt::ConnectionType type, 10143: const int *types, const QMetaObject *senderMetaObject); 10143: 10143: static bool disconnectImpl(const QObject *sender, void **signal, const QObject *receiver, void **slot, 10143: const QMetaObject *senderMetaObject); 10143: 10143: }; 10143: 10143: inline QMetaObject::Connection QObject::connect(const QObject *asender, const char *asignal, 10143: const char *amember, Qt::ConnectionType atype) const 10143: { return connect(asender, asignal, this, amember, atype); } 10143: 10143: inline const QMetaObject *qt_getQtMetaObject() noexcept 10143: { return &QObject::staticQtMetaObject; } 10143: 10143: 10143: class __attribute__((visibility("default"))) QObjectUserData { 10143: public: 10143: virtual ~QObjectUserData(); 10143: }; 10143: # 508 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 3 4 10143: template 10143: inline T qobject_cast(QObject *object) 10143: { 10143: typedef typename std::remove_cv::type>::type ObjType; 10143: static_assert(bool(QtPrivate::HasQ_OBJECT_Macro::Value), "qobject_cast requires the type to have a Q_OBJECT macro") 10143: ; 10143: return static_cast(ObjType::staticMetaObject.cast(object)); 10143: } 10143: 10143: template 10143: inline T qobject_cast(const QObject *object) 10143: { 10143: typedef typename std::remove_cv::type>::type ObjType; 10143: static_assert(bool(QtPrivate::HasQ_OBJECT_Macro::Value), "qobject_cast requires the type to have a Q_OBJECT macro") 10143: ; 10143: return static_cast(ObjType::staticMetaObject.cast(object)); 10143: } 10143: 10143: 10143: template inline const char * qobject_interface_iid() 10143: { return nullptr; } 10143: # 541 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 3 4 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QObject *); 10143: 10143: 10143: class QSignalBlocker 10143: { 10143: public: 10143: inline explicit QSignalBlocker(QObject *o) noexcept; 10143: inline explicit QSignalBlocker(QObject &o) noexcept; 10143: inline ~QSignalBlocker(); 10143: 10143: 10143: inline QSignalBlocker(QSignalBlocker &&other) noexcept; 10143: inline QSignalBlocker &operator=(QSignalBlocker &&other) noexcept; 10143: 10143: 10143: inline void reblock() noexcept; 10143: inline void unblock() noexcept; 10143: private: 10143: QSignalBlocker(const QSignalBlocker &) = delete; QSignalBlocker &operator=(const QSignalBlocker &) = delete; 10143: QObject * m_o; 10143: bool m_blocked; 10143: bool m_inhibited; 10143: }; 10143: 10143: QSignalBlocker::QSignalBlocker(QObject *o) noexcept 10143: : m_o(o), 10143: m_blocked(o && o->blockSignals(true)), 10143: m_inhibited(false) 10143: {} 10143: 10143: QSignalBlocker::QSignalBlocker(QObject &o) noexcept 10143: : m_o(&o), 10143: m_blocked(o.blockSignals(true)), 10143: m_inhibited(false) 10143: {} 10143: 10143: 10143: QSignalBlocker::QSignalBlocker(QSignalBlocker &&other) noexcept 10143: : m_o(other.m_o), 10143: m_blocked(other.m_blocked), 10143: m_inhibited(other.m_inhibited) 10143: { 10143: other.m_o = nullptr; 10143: } 10143: 10143: QSignalBlocker &QSignalBlocker::operator=(QSignalBlocker &&other) noexcept 10143: { 10143: if (this != &other) { 10143: 10143: 10143: if (m_o != other.m_o || (!m_inhibited && other.m_inhibited)) 10143: unblock(); 10143: m_o = other.m_o; 10143: m_blocked = other.m_blocked; 10143: m_inhibited = other.m_inhibited; 10143: 10143: other.m_o = nullptr; 10143: } 10143: return *this; 10143: } 10143: 10143: 10143: QSignalBlocker::~QSignalBlocker() 10143: { 10143: if (m_o && !m_inhibited) 10143: m_o->blockSignals(m_blocked); 10143: } 10143: 10143: void QSignalBlocker::reblock() noexcept 10143: { 10143: if (m_o) m_o->blockSignals(true); 10143: m_inhibited = false; 10143: } 10143: 10143: void QSignalBlocker::unblock() noexcept 10143: { 10143: if (m_o) m_o->blockSignals(m_blocked); 10143: m_inhibited = true; 10143: } 10143: 10143: namespace QtPrivate { 10143: inline QObject & deref_for_methodcall(QObject &o) { return o; } 10143: inline QObject & deref_for_methodcall(QObject *o) { return *o; } 10143: } 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QObject" 2 3 4 10143: # 27 "/usr/include/kdevplatform/interfaces/iplugin.h" 2 3 4 10143: 10143: # 1 "/usr/include/KF5/KXmlGui/KXMLGUIClient" 1 3 4 10143: # 1 "/usr/include/KF5/KXmlGui/kxmlguiclient.h" 1 3 4 10143: # 22 "/usr/include/KF5/KXmlGui/kxmlguiclient.h" 3 4 10143: # 1 "/usr/include/KF5/KXmlGui/kxmlgui_export.h" 1 3 4 10143: # 23 "/usr/include/KF5/KXmlGui/kxmlguiclient.h" 2 3 4 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QMap" 1 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmap.h" 1 3 4 10143: # 54 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmap.h" 3 4 10143: # 1 "/usr/include/c++/8/functional" 1 3 4 10143: # 46 "/usr/include/c++/8/functional" 3 4 10143: 10143: # 47 "/usr/include/c++/8/functional" 3 10143: # 58 "/usr/include/c++/8/functional" 3 10143: # 1 "/usr/include/c++/8/bits/refwrap.h" 1 3 10143: # 33 "/usr/include/c++/8/bits/refwrap.h" 3 10143: 10143: # 34 "/usr/include/c++/8/bits/refwrap.h" 3 10143: # 43 "/usr/include/c++/8/bits/refwrap.h" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct _Maybe_unary_or_binary_function { }; 10143: 10143: 10143: template 10143: struct _Maybe_unary_or_binary_function<_Res, _T1> 10143: : std::unary_function<_T1, _Res> { }; 10143: 10143: 10143: template 10143: struct _Maybe_unary_or_binary_function<_Res, _T1, _T2> 10143: : std::binary_function<_T1, _T2, _Res> { }; 10143: 10143: template 10143: struct _Mem_fn_traits; 10143: 10143: template 10143: struct _Mem_fn_traits_base 10143: { 10143: using __result_type = _Res; 10143: using __maybe_type 10143: = _Maybe_unary_or_binary_function<_Res, _Class*, _ArgTypes...>; 10143: using __arity = integral_constant; 10143: }; 10143: # 97 "/usr/include/c++/8/bits/refwrap.h" 3 10143: template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; 10143: template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; 10143: template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; 10143: # 111 "/usr/include/c++/8/bits/refwrap.h" 3 10143: template> 10143: struct _Maybe_get_result_type 10143: { }; 10143: 10143: template 10143: struct _Maybe_get_result_type<_Functor, 10143: __void_t> 10143: { typedef typename _Functor::result_type result_type; }; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct _Weak_result_type_impl 10143: : _Maybe_get_result_type<_Functor> 10143: { }; 10143: 10143: 10143: template 10143: struct _Weak_result_type_impl<_Res(_ArgTypes...) > 10143: { typedef _Res result_type; }; 10143: 10143: 10143: template 10143: struct _Weak_result_type_impl<_Res(_ArgTypes......) > 10143: { typedef _Res result_type; }; 10143: 10143: 10143: template 10143: struct _Weak_result_type_impl<_Res(*)(_ArgTypes...) > 10143: { typedef _Res result_type; }; 10143: 10143: 10143: template 10143: struct 10143: _Weak_result_type_impl<_Res(*)(_ArgTypes......) > 10143: { typedef _Res result_type; }; 10143: 10143: 10143: template::value> 10143: struct _Weak_result_type_memfun 10143: : _Weak_result_type_impl<_Functor> 10143: { }; 10143: 10143: 10143: template 10143: struct _Weak_result_type_memfun<_MemFunPtr, true> 10143: { 10143: using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type; 10143: }; 10143: 10143: 10143: template 10143: struct _Weak_result_type_memfun<_Func _Class::*, false> 10143: { }; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct _Weak_result_type 10143: : _Weak_result_type_memfun::type> 10143: { }; 10143: 10143: 10143: template> 10143: struct _Refwrap_base_arg1 10143: { }; 10143: 10143: 10143: template 10143: struct _Refwrap_base_arg1<_Tp, 10143: __void_t> 10143: { 10143: typedef typename _Tp::argument_type argument_type; 10143: }; 10143: 10143: 10143: template> 10143: struct _Refwrap_base_arg2 10143: { }; 10143: 10143: 10143: template 10143: struct _Refwrap_base_arg2<_Tp, 10143: __void_t> 10143: { 10143: typedef typename _Tp::first_argument_type first_argument_type; 10143: typedef typename _Tp::second_argument_type second_argument_type; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct _Reference_wrapper_base 10143: : _Weak_result_type<_Tp>, _Refwrap_base_arg1<_Tp>, _Refwrap_base_arg2<_Tp> 10143: { }; 10143: 10143: 10143: template 10143: struct _Reference_wrapper_base<_Res(_T1) > 10143: : unary_function<_T1, _Res> 10143: { }; 10143: 10143: template 10143: struct _Reference_wrapper_base<_Res(_T1) const> 10143: : unary_function<_T1, _Res> 10143: { }; 10143: 10143: template 10143: struct _Reference_wrapper_base<_Res(_T1) volatile> 10143: : unary_function<_T1, _Res> 10143: { }; 10143: 10143: template 10143: struct _Reference_wrapper_base<_Res(_T1) const volatile> 10143: : unary_function<_T1, _Res> 10143: { }; 10143: 10143: 10143: template 10143: struct _Reference_wrapper_base<_Res(_T1, _T2) > 10143: : binary_function<_T1, _T2, _Res> 10143: { }; 10143: 10143: template 10143: struct _Reference_wrapper_base<_Res(_T1, _T2) const> 10143: : binary_function<_T1, _T2, _Res> 10143: { }; 10143: 10143: template 10143: struct _Reference_wrapper_base<_Res(_T1, _T2) volatile> 10143: : binary_function<_T1, _T2, _Res> 10143: { }; 10143: 10143: template 10143: struct _Reference_wrapper_base<_Res(_T1, _T2) const volatile> 10143: : binary_function<_T1, _T2, _Res> 10143: { }; 10143: 10143: 10143: template 10143: struct _Reference_wrapper_base<_Res(*)(_T1) > 10143: : unary_function<_T1, _Res> 10143: { }; 10143: 10143: 10143: template 10143: struct _Reference_wrapper_base<_Res(*)(_T1, _T2) > 10143: : binary_function<_T1, _T2, _Res> 10143: { }; 10143: 10143: template::value> 10143: struct _Reference_wrapper_base_memfun 10143: : _Reference_wrapper_base<_Tp> 10143: { }; 10143: 10143: template 10143: struct _Reference_wrapper_base_memfun<_MemFunPtr, true> 10143: : _Mem_fn_traits<_MemFunPtr>::__maybe_type 10143: { 10143: using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: class reference_wrapper 10143: : public _Reference_wrapper_base_memfun::type> 10143: { 10143: _Tp* _M_data; 10143: 10143: public: 10143: typedef _Tp type; 10143: 10143: reference_wrapper(_Tp& __indata) noexcept 10143: : _M_data(std::__addressof(__indata)) 10143: { } 10143: 10143: reference_wrapper(_Tp&&) = delete; 10143: 10143: reference_wrapper(const reference_wrapper&) = default; 10143: 10143: reference_wrapper& 10143: operator=(const reference_wrapper&) = default; 10143: 10143: operator _Tp&() const noexcept 10143: { return this->get(); } 10143: 10143: _Tp& 10143: get() const noexcept 10143: { return *_M_data; } 10143: 10143: template 10143: typename result_of<_Tp&(_Args&&...)>::type 10143: operator()(_Args&&... __args) const 10143: { 10143: return std::__invoke(get(), std::forward<_Args>(__args)...); 10143: } 10143: }; 10143: 10143: 10143: 10143: template 10143: inline reference_wrapper<_Tp> 10143: ref(_Tp& __t) noexcept 10143: { return reference_wrapper<_Tp>(__t); } 10143: 10143: 10143: template 10143: inline reference_wrapper 10143: cref(const _Tp& __t) noexcept 10143: { return reference_wrapper(__t); } 10143: 10143: template 10143: void ref(const _Tp&&) = delete; 10143: 10143: template 10143: void cref(const _Tp&&) = delete; 10143: 10143: 10143: template 10143: inline reference_wrapper<_Tp> 10143: ref(reference_wrapper<_Tp> __t) noexcept 10143: { return __t; } 10143: 10143: 10143: template 10143: inline reference_wrapper 10143: cref(reference_wrapper<_Tp> __t) noexcept 10143: { return { __t.get() }; } 10143: 10143: 10143: 10143: 10143: } 10143: # 59 "/usr/include/c++/8/functional" 2 3 10143: # 1 "/usr/include/c++/8/bits/std_function.h" 1 3 10143: # 33 "/usr/include/c++/8/bits/std_function.h" 3 10143: 10143: # 34 "/usr/include/c++/8/bits/std_function.h" 3 10143: # 47 "/usr/include/c++/8/bits/std_function.h" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: class bad_function_call : public std::exception 10143: { 10143: public: 10143: virtual ~bad_function_call() noexcept; 10143: 10143: const char* what() const noexcept; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct __is_location_invariant 10143: : is_trivially_copyable<_Tp>::type 10143: { }; 10143: 10143: class _Undefined_class; 10143: 10143: union _Nocopy_types 10143: { 10143: void* _M_object; 10143: const void* _M_const_object; 10143: void (*_M_function_pointer)(); 10143: void (_Undefined_class::*_M_member_pointer)(); 10143: }; 10143: 10143: union [[gnu::may_alias]] _Any_data 10143: { 10143: void* _M_access() { return &_M_pod_data[0]; } 10143: const void* _M_access() const { return &_M_pod_data[0]; } 10143: 10143: template 10143: _Tp& 10143: _M_access() 10143: { return *static_cast<_Tp*>(_M_access()); } 10143: 10143: template 10143: const _Tp& 10143: _M_access() const 10143: { return *static_cast(_M_access()); } 10143: 10143: _Nocopy_types _M_unused; 10143: char _M_pod_data[sizeof(_Nocopy_types)]; 10143: }; 10143: 10143: enum _Manager_operation 10143: { 10143: __get_type_info, 10143: __get_functor_ptr, 10143: __clone_functor, 10143: __destroy_functor 10143: }; 10143: 10143: 10143: 10143: template 10143: struct _Simple_type_wrapper 10143: { 10143: _Simple_type_wrapper(_Tp __value) : __value(__value) { } 10143: 10143: _Tp __value; 10143: }; 10143: 10143: template 10143: struct __is_location_invariant<_Simple_type_wrapper<_Tp> > 10143: : __is_location_invariant<_Tp> 10143: { }; 10143: 10143: template 10143: class function; 10143: 10143: 10143: class _Function_base 10143: { 10143: public: 10143: static const std::size_t _M_max_size = sizeof(_Nocopy_types); 10143: static const std::size_t _M_max_align = __alignof__(_Nocopy_types); 10143: 10143: template 10143: class _Base_manager 10143: { 10143: protected: 10143: static const bool __stored_locally = 10143: (__is_location_invariant<_Functor>::value 10143: && sizeof(_Functor) <= _M_max_size 10143: && __alignof__(_Functor) <= _M_max_align 10143: && (_M_max_align % __alignof__(_Functor) == 0)); 10143: 10143: typedef integral_constant _Local_storage; 10143: 10143: 10143: static _Functor* 10143: _M_get_pointer(const _Any_data& __source) 10143: { 10143: const _Functor* __ptr = 10143: __stored_locally? std::__addressof(__source._M_access<_Functor>()) 10143: : __source._M_access<_Functor*>(); 10143: return const_cast<_Functor*>(__ptr); 10143: } 10143: 10143: 10143: 10143: static void 10143: _M_clone(_Any_data& __dest, const _Any_data& __source, true_type) 10143: { 10143: ::new (__dest._M_access()) _Functor(__source._M_access<_Functor>()); 10143: } 10143: 10143: 10143: 10143: static void 10143: _M_clone(_Any_data& __dest, const _Any_data& __source, false_type) 10143: { 10143: __dest._M_access<_Functor*>() = 10143: new _Functor(*__source._M_access<_Functor*>()); 10143: } 10143: 10143: 10143: 10143: static void 10143: _M_destroy(_Any_data& __victim, true_type) 10143: { 10143: __victim._M_access<_Functor>().~_Functor(); 10143: } 10143: 10143: 10143: static void 10143: _M_destroy(_Any_data& __victim, false_type) 10143: { 10143: delete __victim._M_access<_Functor*>(); 10143: } 10143: 10143: public: 10143: static bool 10143: _M_manager(_Any_data& __dest, const _Any_data& __source, 10143: _Manager_operation __op) 10143: { 10143: switch (__op) 10143: { 10143: 10143: case __get_type_info: 10143: __dest._M_access() = &typeid(_Functor); 10143: break; 10143: 10143: case __get_functor_ptr: 10143: __dest._M_access<_Functor*>() = _M_get_pointer(__source); 10143: break; 10143: 10143: case __clone_functor: 10143: _M_clone(__dest, __source, _Local_storage()); 10143: break; 10143: 10143: case __destroy_functor: 10143: _M_destroy(__dest, _Local_storage()); 10143: break; 10143: } 10143: return false; 10143: } 10143: 10143: static void 10143: _M_init_functor(_Any_data& __functor, _Functor&& __f) 10143: { _M_init_functor(__functor, std::move(__f), _Local_storage()); } 10143: 10143: template 10143: static bool 10143: _M_not_empty_function(const function<_Signature>& __f) 10143: { return static_cast(__f); } 10143: 10143: template 10143: static bool 10143: _M_not_empty_function(_Tp* __fp) 10143: { return __fp != nullptr; } 10143: 10143: template 10143: static bool 10143: _M_not_empty_function(_Tp _Class::* __mp) 10143: { return __mp != nullptr; } 10143: 10143: template 10143: static bool 10143: _M_not_empty_function(const _Tp&) 10143: { return true; } 10143: 10143: private: 10143: static void 10143: _M_init_functor(_Any_data& __functor, _Functor&& __f, true_type) 10143: { ::new (__functor._M_access()) _Functor(std::move(__f)); } 10143: 10143: static void 10143: _M_init_functor(_Any_data& __functor, _Functor&& __f, false_type) 10143: { __functor._M_access<_Functor*>() = new _Functor(std::move(__f)); } 10143: }; 10143: 10143: _Function_base() : _M_manager(nullptr) { } 10143: 10143: ~_Function_base() 10143: { 10143: if (_M_manager) 10143: _M_manager(_M_functor, _M_functor, __destroy_functor); 10143: } 10143: 10143: bool _M_empty() const { return !_M_manager; } 10143: 10143: typedef bool (*_Manager_type)(_Any_data&, const _Any_data&, 10143: _Manager_operation); 10143: 10143: _Any_data _M_functor; 10143: _Manager_type _M_manager; 10143: }; 10143: 10143: template 10143: class _Function_handler; 10143: 10143: template 10143: class _Function_handler<_Res(_ArgTypes...), _Functor> 10143: : public _Function_base::_Base_manager<_Functor> 10143: { 10143: typedef _Function_base::_Base_manager<_Functor> _Base; 10143: 10143: public: 10143: static _Res 10143: _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args) 10143: { 10143: return (*_Base::_M_get_pointer(__functor))( 10143: std::forward<_ArgTypes>(__args)...); 10143: } 10143: }; 10143: 10143: template 10143: class _Function_handler 10143: : public _Function_base::_Base_manager<_Functor> 10143: { 10143: typedef _Function_base::_Base_manager<_Functor> _Base; 10143: 10143: public: 10143: static void 10143: _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args) 10143: { 10143: (*_Base::_M_get_pointer(__functor))( 10143: std::forward<_ArgTypes>(__args)...); 10143: } 10143: }; 10143: 10143: template 10143: class _Function_handler<_Res(_ArgTypes...), _Member _Class::*> 10143: : public _Function_handler 10143: { 10143: typedef _Function_handler 10143: _Base; 10143: 10143: public: 10143: static _Res 10143: _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args) 10143: { 10143: return std::__invoke(_Base::_M_get_pointer(__functor)->__value, 10143: std::forward<_ArgTypes>(__args)...); 10143: } 10143: }; 10143: 10143: template 10143: class _Function_handler 10143: : public _Function_base::_Base_manager< 10143: _Simple_type_wrapper< _Member _Class::* > > 10143: { 10143: typedef _Member _Class::* _Functor; 10143: typedef _Simple_type_wrapper<_Functor> _Wrapper; 10143: typedef _Function_base::_Base_manager<_Wrapper> _Base; 10143: 10143: public: 10143: static bool 10143: _M_manager(_Any_data& __dest, const _Any_data& __source, 10143: _Manager_operation __op) 10143: { 10143: switch (__op) 10143: { 10143: 10143: case __get_type_info: 10143: __dest._M_access() = &typeid(_Functor); 10143: break; 10143: 10143: case __get_functor_ptr: 10143: __dest._M_access<_Functor*>() = 10143: &_Base::_M_get_pointer(__source)->__value; 10143: break; 10143: 10143: default: 10143: _Base::_M_manager(__dest, __source, __op); 10143: } 10143: return false; 10143: } 10143: 10143: static void 10143: _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args) 10143: { 10143: std::__invoke(_Base::_M_get_pointer(__functor)->__value, 10143: std::forward<_ArgTypes>(__args)...); 10143: } 10143: }; 10143: 10143: template 10143: using __check_func_return_type 10143: = __or_, is_same<_From, _To>, is_convertible<_From, _To>>; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: class function<_Res(_ArgTypes...)> 10143: : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>, 10143: private _Function_base 10143: { 10143: template::type> 10143: struct _Callable : __check_func_return_type<_Res2, _Res> { }; 10143: 10143: 10143: 10143: template 10143: struct _Callable : false_type { }; 10143: 10143: template 10143: using _Requires = typename enable_if<_Cond::value, _Tp>::type; 10143: 10143: public: 10143: typedef _Res result_type; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: function() noexcept 10143: : _Function_base() { } 10143: 10143: 10143: 10143: 10143: 10143: function(nullptr_t) noexcept 10143: : _Function_base() { } 10143: # 413 "/usr/include/c++/8/bits/std_function.h" 3 10143: function(const function& __x); 10143: # 422 "/usr/include/c++/8/bits/std_function.h" 3 10143: function(function&& __x) noexcept : _Function_base() 10143: { 10143: __x.swap(*this); 10143: } 10143: # 443 "/usr/include/c++/8/bits/std_function.h" 3 10143: template>, void>, 10143: typename = _Requires<_Callable<_Functor>, void>> 10143: function(_Functor); 10143: # 460 "/usr/include/c++/8/bits/std_function.h" 3 10143: function& 10143: operator=(const function& __x) 10143: { 10143: function(__x).swap(*this); 10143: return *this; 10143: } 10143: # 478 "/usr/include/c++/8/bits/std_function.h" 3 10143: function& 10143: operator=(function&& __x) noexcept 10143: { 10143: function(std::move(__x)).swap(*this); 10143: return *this; 10143: } 10143: # 492 "/usr/include/c++/8/bits/std_function.h" 3 10143: function& 10143: operator=(nullptr_t) noexcept 10143: { 10143: if (_M_manager) 10143: { 10143: _M_manager(_M_functor, _M_functor, __destroy_functor); 10143: _M_manager = nullptr; 10143: _M_invoker = nullptr; 10143: } 10143: return *this; 10143: } 10143: # 520 "/usr/include/c++/8/bits/std_function.h" 3 10143: template 10143: _Requires<_Callable::type>, function&> 10143: operator=(_Functor&& __f) 10143: { 10143: function(std::forward<_Functor>(__f)).swap(*this); 10143: return *this; 10143: } 10143: 10143: 10143: template 10143: function& 10143: operator=(reference_wrapper<_Functor> __f) noexcept 10143: { 10143: function(__f).swap(*this); 10143: return *this; 10143: } 10143: # 546 "/usr/include/c++/8/bits/std_function.h" 3 10143: void swap(function& __x) noexcept 10143: { 10143: std::swap(_M_functor, __x._M_functor); 10143: std::swap(_M_manager, __x._M_manager); 10143: std::swap(_M_invoker, __x._M_invoker); 10143: } 10143: # 563 "/usr/include/c++/8/bits/std_function.h" 3 10143: explicit operator bool() const noexcept 10143: { return !_M_empty(); } 10143: # 576 "/usr/include/c++/8/bits/std_function.h" 3 10143: _Res operator()(_ArgTypes... __args) const; 10143: # 589 "/usr/include/c++/8/bits/std_function.h" 3 10143: const type_info& target_type() const noexcept; 10143: # 602 "/usr/include/c++/8/bits/std_function.h" 3 10143: template _Functor* target() noexcept; 10143: 10143: template const _Functor* target() const noexcept; 10143: 10143: 10143: 10143: private: 10143: using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...); 10143: _Invoker_type _M_invoker; 10143: }; 10143: # 651 "/usr/include/c++/8/bits/std_function.h" 3 10143: template 10143: function<_Res(_ArgTypes...)>:: 10143: function(const function& __x) 10143: : _Function_base() 10143: { 10143: if (static_cast(__x)) 10143: { 10143: __x._M_manager(_M_functor, __x._M_functor, __clone_functor); 10143: _M_invoker = __x._M_invoker; 10143: _M_manager = __x._M_manager; 10143: } 10143: } 10143: 10143: template 10143: template 10143: function<_Res(_ArgTypes...)>:: 10143: function(_Functor __f) 10143: : _Function_base() 10143: { 10143: typedef _Function_handler<_Res(_ArgTypes...), _Functor> _My_handler; 10143: 10143: if (_My_handler::_M_not_empty_function(__f)) 10143: { 10143: _My_handler::_M_init_functor(_M_functor, std::move(__f)); 10143: _M_invoker = &_My_handler::_M_invoke; 10143: _M_manager = &_My_handler::_M_manager; 10143: } 10143: } 10143: 10143: template 10143: _Res 10143: function<_Res(_ArgTypes...)>:: 10143: operator()(_ArgTypes... __args) const 10143: { 10143: if (_M_empty()) 10143: __throw_bad_function_call(); 10143: return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...); 10143: } 10143: 10143: 10143: template 10143: const type_info& 10143: function<_Res(_ArgTypes...)>:: 10143: target_type() const noexcept 10143: { 10143: if (_M_manager) 10143: { 10143: _Any_data __typeinfo_result; 10143: _M_manager(__typeinfo_result, _M_functor, __get_type_info); 10143: return *__typeinfo_result._M_access(); 10143: } 10143: else 10143: return typeid(void); 10143: } 10143: 10143: template 10143: template 10143: _Functor* 10143: function<_Res(_ArgTypes...)>:: 10143: target() noexcept 10143: { 10143: const function* __const_this = this; 10143: const _Functor* __func = __const_this->template target<_Functor>(); 10143: return const_cast<_Functor*>(__func); 10143: } 10143: 10143: template 10143: template 10143: const _Functor* 10143: function<_Res(_ArgTypes...)>:: 10143: target() const noexcept 10143: { 10143: if (typeid(_Functor) == target_type() && _M_manager) 10143: { 10143: _Any_data __ptr; 10143: _M_manager(__ptr, _M_functor, __get_functor_ptr); 10143: return __ptr._M_access(); 10143: } 10143: else 10143: return nullptr; 10143: } 10143: # 743 "/usr/include/c++/8/bits/std_function.h" 3 10143: template 10143: inline bool 10143: operator==(const function<_Res(_Args...)>& __f, nullptr_t) noexcept 10143: { return !static_cast(__f); } 10143: 10143: 10143: template 10143: inline bool 10143: operator==(nullptr_t, const function<_Res(_Args...)>& __f) noexcept 10143: { return !static_cast(__f); } 10143: # 761 "/usr/include/c++/8/bits/std_function.h" 3 10143: template 10143: inline bool 10143: operator!=(const function<_Res(_Args...)>& __f, nullptr_t) noexcept 10143: { return static_cast(__f); } 10143: 10143: 10143: template 10143: inline bool 10143: operator!=(nullptr_t, const function<_Res(_Args...)>& __f) noexcept 10143: { return static_cast(__f); } 10143: # 782 "/usr/include/c++/8/bits/std_function.h" 3 10143: template 10143: inline void 10143: swap(function<_Res(_Args...)>& __x, function<_Res(_Args...)>& __y) noexcept 10143: { __x.swap(__y); } 10143: 10143: 10143: } 10143: # 60 "/usr/include/c++/8/functional" 2 3 10143: # 68 "/usr/include/c++/8/functional" 3 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 86 "/usr/include/c++/8/functional" 3 10143: template::value> 10143: class _Mem_fn_base 10143: : public _Mem_fn_traits<_MemFunPtr>::__maybe_type 10143: { 10143: using _Traits = _Mem_fn_traits<_MemFunPtr>; 10143: 10143: using _Arity = typename _Traits::__arity; 10143: using _Varargs = typename _Traits::__vararg; 10143: 10143: template 10143: friend struct _Bind_check_arity; 10143: 10143: _MemFunPtr _M_pmf; 10143: 10143: public: 10143: 10143: using result_type = typename _Traits::__result_type; 10143: 10143: explicit constexpr 10143: _Mem_fn_base(_MemFunPtr __pmf) noexcept : _M_pmf(__pmf) { } 10143: 10143: template 10143: auto 10143: operator()(_Args&&... __args) const 10143: noexcept(noexcept( 10143: std::__invoke(_M_pmf, std::forward<_Args>(__args)...))) 10143: -> decltype(std::__invoke(_M_pmf, std::forward<_Args>(__args)...)) 10143: { return std::__invoke(_M_pmf, std::forward<_Args>(__args)...); } 10143: }; 10143: 10143: 10143: template 10143: class _Mem_fn_base<_MemObjPtr, false> 10143: { 10143: using _Arity = integral_constant; 10143: using _Varargs = false_type; 10143: 10143: template 10143: friend struct _Bind_check_arity; 10143: 10143: _MemObjPtr _M_pm; 10143: 10143: public: 10143: explicit constexpr 10143: _Mem_fn_base(_MemObjPtr __pm) noexcept : _M_pm(__pm) { } 10143: 10143: template 10143: auto 10143: operator()(_Tp&& __obj) const 10143: noexcept(noexcept(std::__invoke(_M_pm, std::forward<_Tp>(__obj)))) 10143: -> decltype(std::__invoke(_M_pm, std::forward<_Tp>(__obj))) 10143: { return std::__invoke(_M_pm, std::forward<_Tp>(__obj)); } 10143: }; 10143: 10143: template 10143: struct _Mem_fn; 10143: 10143: template 10143: struct _Mem_fn<_Res _Class::*> 10143: : _Mem_fn_base<_Res _Class::*> 10143: { 10143: using _Mem_fn_base<_Res _Class::*>::_Mem_fn_base; 10143: }; 10143: # 158 "/usr/include/c++/8/functional" 3 10143: template 10143: inline _Mem_fn<_Tp _Class::*> 10143: mem_fn(_Tp _Class::* __pm) noexcept 10143: { 10143: return _Mem_fn<_Tp _Class::*>(__pm); 10143: } 10143: # 173 "/usr/include/c++/8/functional" 3 10143: template 10143: struct is_bind_expression 10143: : public false_type { }; 10143: # 184 "/usr/include/c++/8/functional" 3 10143: template 10143: struct is_placeholder 10143: : public integral_constant 10143: { }; 10143: # 199 "/usr/include/c++/8/functional" 3 10143: template struct _Placeholder { }; 10143: 10143: 10143: 10143: 10143: 10143: namespace placeholders 10143: { 10143: 10143: 10143: 10143: 10143: extern const _Placeholder<1> _1; 10143: extern const _Placeholder<2> _2; 10143: extern const _Placeholder<3> _3; 10143: extern const _Placeholder<4> _4; 10143: extern const _Placeholder<5> _5; 10143: extern const _Placeholder<6> _6; 10143: extern const _Placeholder<7> _7; 10143: extern const _Placeholder<8> _8; 10143: extern const _Placeholder<9> _9; 10143: extern const _Placeholder<10> _10; 10143: extern const _Placeholder<11> _11; 10143: extern const _Placeholder<12> _12; 10143: extern const _Placeholder<13> _13; 10143: extern const _Placeholder<14> _14; 10143: extern const _Placeholder<15> _15; 10143: extern const _Placeholder<16> _16; 10143: extern const _Placeholder<17> _17; 10143: extern const _Placeholder<18> _18; 10143: extern const _Placeholder<19> _19; 10143: extern const _Placeholder<20> _20; 10143: extern const _Placeholder<21> _21; 10143: extern const _Placeholder<22> _22; 10143: extern const _Placeholder<23> _23; 10143: extern const _Placeholder<24> _24; 10143: extern const _Placeholder<25> _25; 10143: extern const _Placeholder<26> _26; 10143: extern const _Placeholder<27> _27; 10143: extern const _Placeholder<28> _28; 10143: extern const _Placeholder<29> _29; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct is_placeholder<_Placeholder<_Num> > 10143: : public integral_constant 10143: { }; 10143: 10143: template 10143: struct is_placeholder > 10143: : public integral_constant 10143: { }; 10143: 10143: 10143: 10143: template 10143: using _Safe_tuple_element_t 10143: = typename enable_if<(__i < tuple_size<_Tuple>::value), 10143: tuple_element<__i, _Tuple>>::type::type; 10143: # 275 "/usr/include/c++/8/functional" 3 10143: template::value, 10143: bool _IsPlaceholder = (is_placeholder<_Arg>::value > 0)> 10143: class _Mu; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: class _Mu, false, false> 10143: { 10143: public: 10143: 10143: 10143: 10143: 10143: template 10143: _Tp& 10143: operator()(_CVRef& __arg, _Tuple&) const volatile 10143: { return __arg.get(); } 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: class _Mu<_Arg, true, false> 10143: { 10143: public: 10143: template 10143: auto 10143: operator()(_CVArg& __arg, 10143: tuple<_Args...>& __tuple) const volatile 10143: -> decltype(__arg(declval<_Args>()...)) 10143: { 10143: 10143: typedef typename _Build_index_tuple::__type 10143: _Indexes; 10143: return this->__call(__arg, __tuple, _Indexes()); 10143: } 10143: 10143: private: 10143: 10143: 10143: template 10143: auto 10143: __call(_CVArg& __arg, tuple<_Args...>& __tuple, 10143: const _Index_tuple<_Indexes...>&) const volatile 10143: -> decltype(__arg(declval<_Args>()...)) 10143: { 10143: return __arg(std::get<_Indexes>(std::move(__tuple))...); 10143: } 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: class _Mu<_Arg, false, true> 10143: { 10143: public: 10143: template 10143: _Safe_tuple_element_t<(is_placeholder<_Arg>::value - 1), _Tuple>&& 10143: operator()(const volatile _Arg&, _Tuple& __tuple) const volatile 10143: { 10143: return 10143: ::std::get<(is_placeholder<_Arg>::value - 1)>(std::move(__tuple)); 10143: } 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: class _Mu<_Arg, false, false> 10143: { 10143: public: 10143: template 10143: _CVArg&& 10143: operator()(_CVArg&& __arg, _Tuple&) const volatile 10143: { return std::forward<_CVArg>(__arg); } 10143: }; 10143: 10143: 10143: template 10143: inline auto 10143: __volget(volatile tuple<_Tp...>& __tuple) 10143: -> __tuple_element_t<_Ind, tuple<_Tp...>> volatile& 10143: { return std::get<_Ind>(const_cast&>(__tuple)); } 10143: 10143: 10143: template 10143: inline auto 10143: __volget(const volatile tuple<_Tp...>& __tuple) 10143: -> __tuple_element_t<_Ind, tuple<_Tp...>> const volatile& 10143: { return std::get<_Ind>(const_cast&>(__tuple)); } 10143: 10143: 10143: template 10143: struct _Bind; 10143: 10143: template 10143: class _Bind<_Functor(_Bound_args...)> 10143: : public _Weak_result_type<_Functor> 10143: { 10143: typedef typename _Build_index_tuple::__type 10143: _Bound_indexes; 10143: 10143: _Functor _M_f; 10143: tuple<_Bound_args...> _M_bound_args; 10143: 10143: 10143: template 10143: _Result 10143: __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) 10143: { 10143: return std::__invoke(_M_f, 10143: _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)... 10143: ); 10143: } 10143: 10143: 10143: template 10143: _Result 10143: __call_c(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const 10143: { 10143: return std::__invoke(_M_f, 10143: _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)... 10143: ); 10143: } 10143: 10143: 10143: template 10143: _Result 10143: __call_v(tuple<_Args...>&& __args, 10143: _Index_tuple<_Indexes...>) volatile 10143: { 10143: return std::__invoke(_M_f, 10143: _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)... 10143: ); 10143: } 10143: 10143: 10143: template 10143: _Result 10143: __call_c_v(tuple<_Args...>&& __args, 10143: _Index_tuple<_Indexes...>) const volatile 10143: { 10143: return std::__invoke(_M_f, 10143: _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)... 10143: ); 10143: } 10143: 10143: template 10143: using _Mu_type = decltype( 10143: _Mu::type>()( 10143: std::declval<_BoundArg&>(), std::declval<_CallArgs&>()) ); 10143: 10143: template 10143: using _Res_type_impl 10143: = typename result_of< _Fn&(_Mu_type<_BArgs, _CallArgs>&&...) >::type; 10143: 10143: template 10143: using _Res_type = _Res_type_impl<_Functor, _CallArgs, _Bound_args...>; 10143: 10143: template 10143: using __dependent = typename 10143: enable_if::value+1), _Functor>::type; 10143: 10143: template class __cv_quals> 10143: using _Res_type_cv = _Res_type_impl< 10143: typename __cv_quals<__dependent<_CallArgs>>::type, 10143: _CallArgs, 10143: typename __cv_quals<_Bound_args>::type...>; 10143: 10143: public: 10143: template 10143: explicit _Bind(const _Functor& __f, _Args&&... __args) 10143: : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...) 10143: { } 10143: 10143: template 10143: explicit _Bind(_Functor&& __f, _Args&&... __args) 10143: : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...) 10143: { } 10143: 10143: _Bind(const _Bind&) = default; 10143: 10143: _Bind(_Bind&& __b) 10143: : _M_f(std::move(__b._M_f)), _M_bound_args(std::move(__b._M_bound_args)) 10143: { } 10143: 10143: 10143: template>> 10143: _Result 10143: operator()(_Args&&... __args) 10143: { 10143: return this->__call<_Result>( 10143: std::forward_as_tuple(std::forward<_Args>(__args)...), 10143: _Bound_indexes()); 10143: } 10143: 10143: 10143: template, add_const>> 10143: _Result 10143: operator()(_Args&&... __args) const 10143: { 10143: return this->__call_c<_Result>( 10143: std::forward_as_tuple(std::forward<_Args>(__args)...), 10143: _Bound_indexes()); 10143: } 10143: # 505 "/usr/include/c++/8/functional" 3 10143: template, add_volatile>> 10143: 10143: _Result 10143: operator()(_Args&&... __args) volatile 10143: { 10143: return this->__call_v<_Result>( 10143: std::forward_as_tuple(std::forward<_Args>(__args)...), 10143: _Bound_indexes()); 10143: } 10143: 10143: 10143: template, add_cv>> 10143: 10143: _Result 10143: operator()(_Args&&... __args) const volatile 10143: { 10143: return this->__call_c_v<_Result>( 10143: std::forward_as_tuple(std::forward<_Args>(__args)...), 10143: _Bound_indexes()); 10143: } 10143: }; 10143: 10143: 10143: template 10143: struct _Bind_result; 10143: 10143: template 10143: class _Bind_result<_Result, _Functor(_Bound_args...)> 10143: { 10143: typedef typename _Build_index_tuple::__type 10143: _Bound_indexes; 10143: 10143: _Functor _M_f; 10143: tuple<_Bound_args...> _M_bound_args; 10143: 10143: 10143: template 10143: using __enable_if_void 10143: = typename enable_if{}>::type; 10143: 10143: template 10143: using __disable_if_void 10143: = typename enable_if{}, _Result>::type; 10143: 10143: 10143: template 10143: __disable_if_void<_Res> 10143: __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) 10143: { 10143: return std::__invoke(_M_f, _Mu<_Bound_args>() 10143: (std::get<_Indexes>(_M_bound_args), __args)...); 10143: } 10143: 10143: 10143: template 10143: __enable_if_void<_Res> 10143: __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) 10143: { 10143: std::__invoke(_M_f, _Mu<_Bound_args>() 10143: (std::get<_Indexes>(_M_bound_args), __args)...); 10143: } 10143: 10143: 10143: template 10143: __disable_if_void<_Res> 10143: __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const 10143: { 10143: return std::__invoke(_M_f, _Mu<_Bound_args>() 10143: (std::get<_Indexes>(_M_bound_args), __args)...); 10143: } 10143: 10143: 10143: template 10143: __enable_if_void<_Res> 10143: __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const 10143: { 10143: std::__invoke(_M_f, _Mu<_Bound_args>() 10143: (std::get<_Indexes>(_M_bound_args), __args)...); 10143: } 10143: 10143: 10143: template 10143: __disable_if_void<_Res> 10143: __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile 10143: { 10143: return std::__invoke(_M_f, _Mu<_Bound_args>() 10143: (__volget<_Indexes>(_M_bound_args), __args)...); 10143: } 10143: 10143: 10143: template 10143: __enable_if_void<_Res> 10143: __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile 10143: { 10143: std::__invoke(_M_f, _Mu<_Bound_args>() 10143: (__volget<_Indexes>(_M_bound_args), __args)...); 10143: } 10143: 10143: 10143: template 10143: __disable_if_void<_Res> 10143: __call(tuple<_Args...>&& __args, 10143: _Index_tuple<_Indexes...>) const volatile 10143: { 10143: return std::__invoke(_M_f, _Mu<_Bound_args>() 10143: (__volget<_Indexes>(_M_bound_args), __args)...); 10143: } 10143: 10143: 10143: template 10143: __enable_if_void<_Res> 10143: __call(tuple<_Args...>&& __args, 10143: _Index_tuple<_Indexes...>) const volatile 10143: { 10143: std::__invoke(_M_f, _Mu<_Bound_args>() 10143: (__volget<_Indexes>(_M_bound_args), __args)...); 10143: } 10143: 10143: public: 10143: typedef _Result result_type; 10143: 10143: template 10143: explicit _Bind_result(const _Functor& __f, _Args&&... __args) 10143: : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...) 10143: { } 10143: 10143: template 10143: explicit _Bind_result(_Functor&& __f, _Args&&... __args) 10143: : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...) 10143: { } 10143: 10143: _Bind_result(const _Bind_result&) = default; 10143: 10143: _Bind_result(_Bind_result&& __b) 10143: : _M_f(std::move(__b._M_f)), _M_bound_args(std::move(__b._M_bound_args)) 10143: { } 10143: 10143: 10143: template 10143: result_type 10143: operator()(_Args&&... __args) 10143: { 10143: return this->__call<_Result>( 10143: std::forward_as_tuple(std::forward<_Args>(__args)...), 10143: _Bound_indexes()); 10143: } 10143: 10143: 10143: template 10143: result_type 10143: operator()(_Args&&... __args) const 10143: { 10143: return this->__call<_Result>( 10143: std::forward_as_tuple(std::forward<_Args>(__args)...), 10143: _Bound_indexes()); 10143: } 10143: 10143: 10143: template 10143: 10143: result_type 10143: operator()(_Args&&... __args) volatile 10143: { 10143: return this->__call<_Result>( 10143: std::forward_as_tuple(std::forward<_Args>(__args)...), 10143: _Bound_indexes()); 10143: } 10143: 10143: 10143: template 10143: 10143: result_type 10143: operator()(_Args&&... __args) const volatile 10143: { 10143: return this->__call<_Result>( 10143: std::forward_as_tuple(std::forward<_Args>(__args)...), 10143: _Bound_indexes()); 10143: } 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct is_bind_expression<_Bind<_Signature> > 10143: : public true_type { }; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct is_bind_expression > 10143: : public true_type { }; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct is_bind_expression > 10143: : public true_type { }; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct is_bind_expression> 10143: : public true_type { }; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct is_bind_expression<_Bind_result<_Result, _Signature>> 10143: : public true_type { }; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct is_bind_expression> 10143: : public true_type { }; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct is_bind_expression> 10143: : public true_type { }; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct is_bind_expression> 10143: : public true_type { }; 10143: 10143: template 10143: struct _Bind_check_arity { }; 10143: 10143: template 10143: struct _Bind_check_arity<_Ret (*)(_Args...), _BoundArgs...> 10143: { 10143: static_assert(sizeof...(_BoundArgs) == sizeof...(_Args), 10143: "Wrong number of arguments for function"); 10143: }; 10143: 10143: template 10143: struct _Bind_check_arity<_Ret (*)(_Args......), _BoundArgs...> 10143: { 10143: static_assert(sizeof...(_BoundArgs) >= sizeof...(_Args), 10143: "Wrong number of arguments for function"); 10143: }; 10143: 10143: template 10143: struct _Bind_check_arity<_Tp _Class::*, _BoundArgs...> 10143: { 10143: using _Arity = typename _Mem_fn<_Tp _Class::*>::_Arity; 10143: using _Varargs = typename _Mem_fn<_Tp _Class::*>::_Varargs; 10143: static_assert(_Varargs::value 10143: ? sizeof...(_BoundArgs) >= _Arity::value + 1 10143: : sizeof...(_BoundArgs) == _Arity::value + 1, 10143: "Wrong number of arguments for pointer-to-member"); 10143: }; 10143: 10143: 10143: 10143: 10143: template::type> 10143: using __is_socketlike = __or_, is_enum<_Tp2>>; 10143: 10143: template 10143: struct _Bind_helper 10143: : _Bind_check_arity::type, _BoundArgs...> 10143: { 10143: typedef typename decay<_Func>::type __func_type; 10143: typedef _Bind<__func_type(typename decay<_BoundArgs>::type...)> type; 10143: }; 10143: 10143: 10143: 10143: 10143: template 10143: struct _Bind_helper 10143: { }; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline typename 10143: _Bind_helper<__is_socketlike<_Func>::value, _Func, _BoundArgs...>::type 10143: bind(_Func&& __f, _BoundArgs&&... __args) 10143: { 10143: typedef _Bind_helper __helper_type; 10143: return typename __helper_type::type(std::forward<_Func>(__f), 10143: std::forward<_BoundArgs>(__args)...); 10143: } 10143: 10143: template 10143: struct _Bindres_helper 10143: : _Bind_check_arity::type, _BoundArgs...> 10143: { 10143: typedef typename decay<_Func>::type __functor_type; 10143: typedef _Bind_result<_Result, 10143: __functor_type(typename decay<_BoundArgs>::type...)> 10143: type; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline 10143: typename _Bindres_helper<_Result, _Func, _BoundArgs...>::type 10143: bind(_Func&& __f, _BoundArgs&&... __args) 10143: { 10143: typedef _Bindres_helper<_Result, _Func, _BoundArgs...> __helper_type; 10143: return typename __helper_type::type(std::forward<_Func>(__f), 10143: std::forward<_BoundArgs>(__args)...); 10143: } 10143: # 1192 "/usr/include/c++/8/functional" 3 10143: 10143: } 10143: # 55 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmap.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: # 69 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmap.h" 3 4 10143: template inline bool qMapLessThanKey(const Key &key1, const Key &key2) 10143: { 10143: return key1 < key2; 10143: } 10143: 10143: template inline bool qMapLessThanKey(const Ptr *key1, const Ptr *key2) 10143: { 10143: return std::less()(key1, key2); 10143: } 10143: 10143: struct QMapDataBase; 10143: template struct QMapData; 10143: 10143: struct __attribute__((visibility("default"))) QMapNodeBase 10143: { 10143: quintptr p; 10143: QMapNodeBase *left; 10143: QMapNodeBase *right; 10143: 10143: enum Color { Red = 0, Black = 1 }; 10143: enum { Mask = 3 }; 10143: 10143: const QMapNodeBase *nextNode() const; 10143: QMapNodeBase *nextNode() { return const_cast(const_cast(this)->nextNode()); } 10143: const QMapNodeBase *previousNode() const; 10143: QMapNodeBase *previousNode() { return const_cast(const_cast(this)->previousNode()); } 10143: 10143: Color color() const { return Color(p & 1); } 10143: void setColor(Color c) { if (c == Black) p |= Black; else p &= ~Black; } 10143: QMapNodeBase *parent() const { return reinterpret_cast(p & ~Mask); } 10143: void setParent(QMapNodeBase *pp) { p = (p & Mask) | quintptr(pp); } 10143: 10143: template 10143: static typename std::enable_if::isComplex>::type 10143: callDestructorIfNecessary(T &t) noexcept { (void)t;; t.~T(); } 10143: template 10143: static typename std::enable_if::isComplex>::type 10143: callDestructorIfNecessary(T &) noexcept {} 10143: }; 10143: 10143: template 10143: struct QMapNode : public QMapNodeBase 10143: { 10143: Key key; 10143: T value; 10143: 10143: inline QMapNode *leftNode() const { return static_cast(left); } 10143: inline QMapNode *rightNode() const { return static_cast(right); } 10143: 10143: inline const QMapNode *nextNode() const { return static_cast(QMapNodeBase::nextNode()); } 10143: inline const QMapNode *previousNode() const { return static_cast(QMapNodeBase::previousNode()); } 10143: inline QMapNode *nextNode() { return static_cast(QMapNodeBase::nextNode()); } 10143: inline QMapNode *previousNode() { return static_cast(QMapNodeBase::previousNode()); } 10143: 10143: QMapNode *copy(QMapData *d) const; 10143: 10143: void destroySubTree() 10143: { 10143: callDestructorIfNecessary(key); 10143: callDestructorIfNecessary(value); 10143: doDestroySubTree(std::integral_constant::isComplex || QTypeInfo::isComplex>()); 10143: } 10143: 10143: QMapNode *lowerBound(const Key &key); 10143: QMapNode *upperBound(const Key &key); 10143: 10143: private: 10143: void doDestroySubTree(std::false_type) {} 10143: void doDestroySubTree(std::true_type) 10143: { 10143: if (left) 10143: leftNode()->destroySubTree(); 10143: if (right) 10143: rightNode()->destroySubTree(); 10143: } 10143: 10143: QMapNode() = delete; 10143: QMapNode(const QMapNode &) = delete; QMapNode &operator=(const QMapNode &) = delete; 10143: }; 10143: 10143: template 10143: inline QMapNode *QMapNode::lowerBound(const Key &akey) 10143: { 10143: QMapNode *n = this; 10143: QMapNode *lastNode = nullptr; 10143: while (n) { 10143: if (!qMapLessThanKey(n->key, akey)) { 10143: lastNode = n; 10143: n = n->leftNode(); 10143: } else { 10143: n = n->rightNode(); 10143: } 10143: } 10143: return lastNode; 10143: } 10143: 10143: template 10143: inline QMapNode *QMapNode::upperBound(const Key &akey) 10143: { 10143: QMapNode *n = this; 10143: QMapNode *lastNode = nullptr; 10143: while (n) { 10143: if (qMapLessThanKey(akey, n->key)) { 10143: lastNode = n; 10143: n = n->leftNode(); 10143: } else { 10143: n = n->rightNode(); 10143: } 10143: } 10143: return lastNode; 10143: } 10143: 10143: 10143: 10143: struct __attribute__((visibility("default"))) QMapDataBase 10143: { 10143: QtPrivate::RefCount ref; 10143: int size; 10143: QMapNodeBase header; 10143: QMapNodeBase *mostLeftNode; 10143: 10143: void rotateLeft(QMapNodeBase *x); 10143: void rotateRight(QMapNodeBase *x); 10143: void rebalance(QMapNodeBase *x); 10143: void freeNodeAndRebalance(QMapNodeBase *z); 10143: void recalcMostLeftNode(); 10143: 10143: QMapNodeBase *createNode(int size, int alignment, QMapNodeBase *parent, bool left); 10143: void freeTree(QMapNodeBase *root, int alignment); 10143: 10143: static const QMapDataBase shared_null; 10143: 10143: static QMapDataBase *createData(); 10143: static void freeData(QMapDataBase *d); 10143: }; 10143: 10143: template 10143: struct QMapData : public QMapDataBase 10143: { 10143: typedef QMapNode Node; 10143: 10143: Node *root() const { return static_cast(header.left); } 10143: 10143: 10143: 10143: const Node *end() const { return reinterpret_cast(&header); } 10143: Node *end() { return reinterpret_cast(&header); } 10143: const Node *begin() const { if (root()) return static_cast(mostLeftNode); return end(); } 10143: Node *begin() { if (root()) return static_cast(mostLeftNode); return end(); } 10143: 10143: void deleteNode(Node *z); 10143: Node *findNode(const Key &akey) const; 10143: void nodeRange(const Key &akey, Node **firstNode, Node **lastNode); 10143: 10143: Node *createNode(const Key &k, const T &v, Node *parent = nullptr, bool left = false) 10143: { 10143: Node *n = static_cast(QMapDataBase::createNode(sizeof(Node), alignof(Node), 10143: parent, left)); 10143: if (true) { 10143: new (&n->key) Key(k); 10143: if (true) { 10143: new (&n->value) T(v); 10143: } else { 10143: n->key.~Key(); 10143: qt_noop(); 10143: } 10143: } else { 10143: QMapDataBase::freeNodeAndRebalance(n); 10143: qt_noop(); 10143: } 10143: return n; 10143: } 10143: 10143: static QMapData *create() { 10143: return static_cast(createData()); 10143: } 10143: 10143: void destroy() { 10143: if (root()) { 10143: root()->destroySubTree(); 10143: freeTree(header.left, alignof(Node)); 10143: } 10143: freeData(this); 10143: } 10143: }; 10143: 10143: template 10143: QMapNode *QMapNode::copy(QMapData *d) const 10143: { 10143: QMapNode *n = d->createNode(key, value); 10143: n->setColor(color()); 10143: if (left) { 10143: n->left = leftNode()->copy(d); 10143: n->left->setParent(n); 10143: } else { 10143: n->left = nullptr; 10143: } 10143: if (right) { 10143: n->right = rightNode()->copy(d); 10143: n->right->setParent(n); 10143: } else { 10143: n->right = nullptr; 10143: } 10143: return n; 10143: } 10143: 10143: template 10143: void QMapData::deleteNode(QMapNode *z) 10143: { 10143: QMapNodeBase::callDestructorIfNecessary(z->key); 10143: QMapNodeBase::callDestructorIfNecessary(z->value); 10143: freeNodeAndRebalance(z); 10143: } 10143: 10143: template 10143: QMapNode *QMapData::findNode(const Key &akey) const 10143: { 10143: if (Node *r = root()) { 10143: Node *lb = r->lowerBound(akey); 10143: if (lb && !qMapLessThanKey(akey, lb->key)) 10143: return lb; 10143: } 10143: return nullptr; 10143: } 10143: 10143: 10143: template 10143: void QMapData::nodeRange(const Key &akey, QMapNode **firstNode, QMapNode **lastNode) 10143: { 10143: Node *n = root(); 10143: Node *l = end(); 10143: while (n) { 10143: if (qMapLessThanKey(akey, n->key)) { 10143: l = n; 10143: n = n->leftNode(); 10143: } else if (qMapLessThanKey(n->key, akey)) { 10143: n = n->rightNode(); 10143: } else { 10143: *firstNode = n->leftNode() ? n->leftNode()->lowerBound(akey) : nullptr; 10143: if (!*firstNode) 10143: *firstNode = n; 10143: *lastNode = n->rightNode() ? n->rightNode()->upperBound(akey) : nullptr; 10143: if (!*lastNode) 10143: *lastNode = l; 10143: return; 10143: } 10143: } 10143: *firstNode = *lastNode = l; 10143: } 10143: 10143: 10143: template 10143: class QMap 10143: { 10143: typedef QMapNode Node; 10143: 10143: QMapData *d; 10143: 10143: public: 10143: inline QMap() noexcept : d(static_cast *>(const_cast(&QMapDataBase::shared_null))) { } 10143: 10143: inline QMap(std::initializer_list > list) 10143: : d(static_cast *>(const_cast(&QMapDataBase::shared_null))) 10143: { 10143: for (typename std::initializer_list >::const_iterator it = list.begin(); it != list.end(); ++it) 10143: insert(it->first, it->second); 10143: } 10143: 10143: QMap(const QMap &other); 10143: 10143: inline ~QMap() { if (!d->ref.deref()) d->destroy(); } 10143: 10143: QMap &operator=(const QMap &other); 10143: 10143: inline QMap(QMap &&other) noexcept 10143: : d(other.d) 10143: { 10143: other.d = static_cast *>( 10143: const_cast(&QMapDataBase::shared_null)); 10143: } 10143: 10143: inline QMap &operator=(QMap &&other) noexcept 10143: { QMap moved(std::move(other)); swap(moved); return *this; } 10143: 10143: inline void swap(QMap &other) noexcept { qSwap(d, other.d); } 10143: explicit QMap(const typename std::map &other); 10143: std::map toStdMap() const; 10143: 10143: bool operator==(const QMap &other) const; 10143: inline bool operator!=(const QMap &other) const { return !(*this == other); } 10143: 10143: inline int size() const { return d->size; } 10143: 10143: inline bool isEmpty() const { return d->size == 0; } 10143: 10143: inline void detach() { if (d->ref.isShared()) detach_helper(); } 10143: inline bool isDetached() const { return !d->ref.isShared(); } 10143: 10143: inline void setSharable(bool sharable) 10143: { 10143: if (sharable == d->ref.isSharable()) 10143: return; 10143: if (!sharable) 10143: detach(); 10143: 10143: d->ref.setSharable(sharable); 10143: } 10143: 10143: inline bool isSharedWith(const QMap &other) const { return d == other.d; } 10143: 10143: void clear(); 10143: 10143: int remove(const Key &key); 10143: T take(const Key &key); 10143: 10143: bool contains(const Key &key) const; 10143: const Key key(const T &value, const Key &defaultKey = Key()) const; 10143: const T value(const Key &key, const T &defaultValue = T()) const; 10143: T &operator[](const Key &key); 10143: const T operator[](const Key &key) const; 10143: 10143: QList uniqueKeys() const; 10143: QList keys() const; 10143: QList keys(const T &value) const; 10143: QList values() const; 10143: QList values(const Key &key) const; 10143: int count(const Key &key) const; 10143: 10143: inline const Key &firstKey() const { do { } while ((false) && (!isEmpty())); return constBegin().key(); } 10143: inline const Key &lastKey() const { do { } while ((false) && (!isEmpty())); return (constEnd() - 1).key(); } 10143: 10143: inline T &first() { do { } while ((false) && (!isEmpty())); return *begin(); } 10143: inline const T &first() const { do { } while ((false) && (!isEmpty())); return *constBegin(); } 10143: inline T &last() { do { } while ((false) && (!isEmpty())); return *(end() - 1); } 10143: inline const T &last() const { do { } while ((false) && (!isEmpty())); return *(constEnd() - 1); } 10143: 10143: class const_iterator; 10143: 10143: class iterator 10143: { 10143: friend class const_iterator; 10143: Node *i; 10143: 10143: public: 10143: typedef std::bidirectional_iterator_tag iterator_category; 10143: typedef qptrdiff difference_type; 10143: typedef T value_type; 10143: typedef T *pointer; 10143: typedef T &reference; 10143: 10143: inline iterator() : i(nullptr) { } 10143: inline iterator(Node *node) : i(node) { } 10143: 10143: inline const Key &key() const { return i->key; } 10143: inline T &value() const { return i->value; } 10143: inline T &operator*() const { return i->value; } 10143: inline T *operator->() const { return &i->value; } 10143: inline bool operator==(const iterator &o) const { return i == o.i; } 10143: inline bool operator!=(const iterator &o) const { return i != o.i; } 10143: 10143: inline iterator &operator++() { 10143: i = i->nextNode(); 10143: return *this; 10143: } 10143: inline iterator operator++(int) { 10143: iterator r = *this; 10143: i = i->nextNode(); 10143: return r; 10143: } 10143: inline iterator &operator--() { 10143: i = i->previousNode(); 10143: return *this; 10143: } 10143: inline iterator operator--(int) { 10143: iterator r = *this; 10143: i = i->previousNode(); 10143: return r; 10143: } 10143: inline iterator operator+(int j) const 10143: { iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } 10143: inline iterator operator-(int j) const { return operator+(-j); } 10143: inline iterator &operator+=(int j) { return *this = *this + j; } 10143: inline iterator &operator-=(int j) { return *this = *this - j; } 10143: 10143: 10143: public: 10143: inline bool operator==(const const_iterator &o) const 10143: { return i == o.i; } 10143: inline bool operator!=(const const_iterator &o) const 10143: { return i != o.i; } 10143: 10143: friend class QMap; 10143: }; 10143: friend class iterator; 10143: 10143: class const_iterator 10143: { 10143: friend class iterator; 10143: const Node *i; 10143: 10143: public: 10143: typedef std::bidirectional_iterator_tag iterator_category; 10143: typedef qptrdiff difference_type; 10143: typedef T value_type; 10143: typedef const T *pointer; 10143: typedef const T &reference; 10143: 10143: constexpr inline const_iterator() : i(nullptr) { } 10143: inline const_iterator(const Node *node) : i(node) { } 10143: 10143: 10143: 10143: inline const_iterator(const iterator &o) 10143: 10143: { i = o.i; } 10143: 10143: inline const Key &key() const { return i->key; } 10143: inline const T &value() const { return i->value; } 10143: inline const T &operator*() const { return i->value; } 10143: inline const T *operator->() const { return &i->value; } 10143: constexpr inline bool operator==(const const_iterator &o) const { return i == o.i; } 10143: constexpr inline bool operator!=(const const_iterator &o) const { return i != o.i; } 10143: 10143: inline const_iterator &operator++() { 10143: i = i->nextNode(); 10143: return *this; 10143: } 10143: inline const_iterator operator++(int) { 10143: const_iterator r = *this; 10143: i = i->nextNode(); 10143: return r; 10143: } 10143: inline const_iterator &operator--() { 10143: i = i->previousNode(); 10143: return *this; 10143: } 10143: inline const_iterator operator--(int) { 10143: const_iterator r = *this; 10143: i = i->previousNode(); 10143: return r; 10143: } 10143: inline const_iterator operator+(int j) const 10143: { const_iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } 10143: inline const_iterator operator-(int j) const { return operator+(-j); } 10143: inline const_iterator &operator+=(int j) { return *this = *this + j; } 10143: inline const_iterator &operator-=(int j) { return *this = *this - j; } 10143: 10143: 10143: 10143: 10143: 10143: 10143: friend class QMap; 10143: }; 10143: friend class const_iterator; 10143: 10143: class key_iterator 10143: { 10143: const_iterator i; 10143: 10143: public: 10143: typedef typename const_iterator::iterator_category iterator_category; 10143: typedef typename const_iterator::difference_type difference_type; 10143: typedef Key value_type; 10143: typedef const Key *pointer; 10143: typedef const Key &reference; 10143: 10143: key_iterator() = default; 10143: explicit key_iterator(const_iterator o) : i(o) { } 10143: 10143: const Key &operator*() const { return i.key(); } 10143: const Key *operator->() const { return &i.key(); } 10143: bool operator==(key_iterator o) const { return i == o.i; } 10143: bool operator!=(key_iterator o) const { return i != o.i; } 10143: 10143: inline key_iterator &operator++() { ++i; return *this; } 10143: inline key_iterator operator++(int) { return key_iterator(i++);} 10143: inline key_iterator &operator--() { --i; return *this; } 10143: inline key_iterator operator--(int) { return key_iterator(i--); } 10143: const_iterator base() const { return i; } 10143: }; 10143: 10143: 10143: 10143: inline iterator begin() { detach(); return iterator(d->begin()); } 10143: inline const_iterator begin() const { return const_iterator(d->begin()); } 10143: inline const_iterator constBegin() const { return const_iterator(d->begin()); } 10143: inline const_iterator cbegin() const { return const_iterator(d->begin()); } 10143: inline iterator end() { detach(); return iterator(d->end()); } 10143: inline const_iterator end() const { return const_iterator(d->end()); } 10143: inline const_iterator constEnd() const { return const_iterator(d->end()); } 10143: inline const_iterator cend() const { return const_iterator(d->end()); } 10143: inline key_iterator keyBegin() const { return key_iterator(begin()); } 10143: inline key_iterator keyEnd() const { return key_iterator(end()); } 10143: iterator erase(iterator it); 10143: 10143: 10143: typedef iterator Iterator; 10143: typedef const_iterator ConstIterator; 10143: inline int count() const { return d->size; } 10143: iterator find(const Key &key); 10143: const_iterator find(const Key &key) const; 10143: const_iterator constFind(const Key &key) const; 10143: iterator lowerBound(const Key &key); 10143: const_iterator lowerBound(const Key &key) const; 10143: iterator upperBound(const Key &key); 10143: const_iterator upperBound(const Key &key) const; 10143: iterator insert(const Key &key, const T &value); 10143: iterator insert(const_iterator pos, const Key &key, const T &value); 10143: iterator insertMulti(const Key &key, const T &value); 10143: iterator insertMulti(const_iterator pos, const Key &akey, const T &avalue); 10143: QMap &unite(const QMap &other); 10143: 10143: 10143: typedef Key key_type; 10143: typedef T mapped_type; 10143: typedef qptrdiff difference_type; 10143: typedef int size_type; 10143: inline bool empty() const { return isEmpty(); } 10143: QPair equal_range(const Key &akey); 10143: QPair equal_range(const Key &akey) const; 10143: 10143: 10143: 10143: 10143: 10143: private: 10143: void detach_helper(); 10143: bool isValidIterator(const const_iterator &ci) const 10143: { 10143: 10143: 10143: 10143: 10143: 10143: 10143: (void)ci;; 10143: return true; 10143: 10143: } 10143: }; 10143: 10143: template 10143: inline QMap::QMap(const QMap &other) 10143: { 10143: if (other.d->ref.ref()) { 10143: d = other.d; 10143: } else { 10143: d = QMapData::create(); 10143: if (other.d->header.left) { 10143: d->header.left = static_cast(other.d->header.left)->copy(d); 10143: d->header.left->setParent(&d->header); 10143: d->recalcMostLeftNode(); 10143: } 10143: } 10143: } 10143: 10143: template 10143: inline QMap &QMap::operator=(const QMap &other) 10143: { 10143: if (d != other.d) { 10143: QMap tmp(other); 10143: tmp.swap(*this); 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: inline void QMap::clear() 10143: { 10143: *this = QMap(); 10143: } 10143: 10143: 10143: # 642 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmap.h" 3 4 10143: #pragma GCC diagnostic push 10143: # 642 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmap.h" 3 4 10143: 10143: 10143: 10143: template 10143: inline const T QMap::value(const Key &akey, const T &adefaultValue) const 10143: { 10143: Node *n = d->findNode(akey); 10143: return n ? n->value : adefaultValue; 10143: } 10143: 10143: 10143: # 652 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmap.h" 3 4 10143: #pragma GCC diagnostic pop 10143: # 652 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmap.h" 3 4 10143: 10143: 10143: template 10143: inline const T QMap::operator[](const Key &akey) const 10143: { 10143: return value(akey); 10143: } 10143: 10143: template 10143: inline T &QMap::operator[](const Key &akey) 10143: { 10143: detach(); 10143: Node *n = d->findNode(akey); 10143: if (!n) 10143: return *insert(akey, T()); 10143: return n->value; 10143: } 10143: 10143: template 10143: inline int QMap::count(const Key &akey) const 10143: { 10143: Node *firstNode; 10143: Node *lastNode; 10143: d->nodeRange(akey, &firstNode, &lastNode); 10143: 10143: const_iterator ci_first(firstNode); 10143: const const_iterator ci_last(lastNode); 10143: int cnt = 0; 10143: while (ci_first != ci_last) { 10143: ++cnt; 10143: ++ci_first; 10143: } 10143: return cnt; 10143: } 10143: 10143: template 10143: inline bool QMap::contains(const Key &akey) const 10143: { 10143: return d->findNode(akey) != nullptr; 10143: } 10143: 10143: template 10143: inline typename QMap::iterator QMap::insert(const Key &akey, const T &avalue) 10143: { 10143: detach(); 10143: Node *n = d->root(); 10143: Node *y = d->end(); 10143: Node *lastNode = nullptr; 10143: bool left = true; 10143: while (n) { 10143: y = n; 10143: if (!qMapLessThanKey(n->key, akey)) { 10143: lastNode = n; 10143: left = true; 10143: n = n->leftNode(); 10143: } else { 10143: left = false; 10143: n = n->rightNode(); 10143: } 10143: } 10143: if (lastNode && !qMapLessThanKey(akey, lastNode->key)) { 10143: lastNode->value = avalue; 10143: return iterator(lastNode); 10143: } 10143: Node *z = d->createNode(akey, avalue, y, left); 10143: return iterator(z); 10143: } 10143: 10143: template 10143: typename QMap::iterator QMap::insert(const_iterator pos, const Key &akey, const T &avalue) 10143: { 10143: if (d->ref.isShared()) 10143: return this->insert(akey, avalue); 10143: 10143: do { } while ((false) && (isValidIterator(pos))); 10143: 10143: if (pos == constEnd()) { 10143: 10143: Node *n = static_cast(pos.i->left); 10143: if (n) { 10143: while (n->right) 10143: n = static_cast(n->right); 10143: 10143: if (!qMapLessThanKey(n->key, akey)) 10143: return this->insert(akey, avalue); 10143: 10143: 10143: 10143: 10143: Node *z = d->createNode(akey, avalue, n, false); 10143: return iterator(z); 10143: } 10143: return this->insert(akey, avalue); 10143: } else { 10143: 10143: 10143: Node *next = const_cast(pos.i); 10143: if (qMapLessThanKey(next->key, akey)) 10143: return this->insert(akey, avalue); 10143: 10143: if (pos == constBegin()) { 10143: 10143: 10143: if (!qMapLessThanKey(akey, next->key)) { 10143: next->value = avalue; 10143: return iterator(next); 10143: } 10143: 10143: Node *z = d->createNode(akey, avalue, begin().i, true); 10143: return iterator(z); 10143: } else { 10143: Node *prev = const_cast(pos.i->previousNode()); 10143: if (!qMapLessThanKey(prev->key, akey)) { 10143: return this->insert(akey, avalue); 10143: } 10143: 10143: if (!qMapLessThanKey(akey, next->key)) { 10143: next->value = avalue; 10143: return iterator(next); 10143: } 10143: 10143: 10143: if (prev->right == nullptr) { 10143: Node *z = d->createNode(akey, avalue, prev, false); 10143: return iterator(z); 10143: } 10143: if (next->left == nullptr) { 10143: Node *z = d->createNode(akey, avalue, next, true); 10143: return iterator(z); 10143: } 10143: do { } while ((false) && (false)); 10143: return this->insert(akey, avalue); 10143: } 10143: } 10143: } 10143: 10143: template 10143: inline typename QMap::iterator QMap::insertMulti(const Key &akey, 10143: const T &avalue) 10143: { 10143: detach(); 10143: Node* y = d->end(); 10143: Node* x = static_cast(d->root()); 10143: bool left = true; 10143: while (x != nullptr) { 10143: left = !qMapLessThanKey(x->key, akey); 10143: y = x; 10143: x = left ? x->leftNode() : x->rightNode(); 10143: } 10143: Node *z = d->createNode(akey, avalue, y, left); 10143: return iterator(z); 10143: } 10143: 10143: template 10143: typename QMap::iterator QMap::insertMulti(const_iterator pos, const Key &akey, const T &avalue) 10143: { 10143: if (d->ref.isShared()) 10143: return this->insertMulti(akey, avalue); 10143: 10143: do { } while ((false) && (isValidIterator(pos))); 10143: 10143: if (pos == constEnd()) { 10143: 10143: Node *n = static_cast(pos.i->left); 10143: if (n) { 10143: while (n->right) 10143: n = static_cast(n->right); 10143: 10143: if (!qMapLessThanKey(n->key, akey)) 10143: return this->insertMulti(akey, avalue); 10143: Node *z = d->createNode(akey, avalue, n, false); 10143: return iterator(z); 10143: } 10143: return this->insertMulti(akey, avalue); 10143: } else { 10143: 10143: 10143: Node *next = const_cast(pos.i); 10143: if (qMapLessThanKey(next->key, akey)) 10143: return this->insertMulti(akey, avalue); 10143: 10143: if (pos == constBegin()) { 10143: 10143: Node *z = d->createNode(akey, avalue, begin().i, true); 10143: return iterator(z); 10143: } else { 10143: Node *prev = const_cast(pos.i->previousNode()); 10143: if (!qMapLessThanKey(prev->key, akey)) 10143: return this->insertMulti(akey, avalue); 10143: 10143: 10143: if (prev->right == nullptr) { 10143: Node *z = d->createNode(akey, avalue, prev, false); 10143: return iterator(z); 10143: } 10143: if (next->left == nullptr) { 10143: Node *z = d->createNode(akey, avalue, next, true); 10143: return iterator(z); 10143: } 10143: do { } while ((false) && (false)); 10143: return this->insertMulti(akey, avalue); 10143: } 10143: } 10143: } 10143: 10143: 10143: template 10143: inline typename QMap::const_iterator QMap::constFind(const Key &akey) const 10143: { 10143: Node *n = d->findNode(akey); 10143: return const_iterator(n ? n : d->end()); 10143: } 10143: 10143: template 10143: inline typename QMap::const_iterator QMap::find(const Key &akey) const 10143: { 10143: return constFind(akey); 10143: } 10143: 10143: template 10143: inline typename QMap::iterator QMap::find(const Key &akey) 10143: { 10143: detach(); 10143: Node *n = d->findNode(akey); 10143: return iterator(n ? n : d->end()); 10143: } 10143: 10143: template 10143: inline QMap &QMap::unite(const QMap &other) 10143: { 10143: QMap copy(other); 10143: const_iterator it = copy.constEnd(); 10143: const const_iterator b = copy.constBegin(); 10143: while (it != b) { 10143: --it; 10143: insertMulti(it.key(), it.value()); 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: QPair::iterator, typename QMap::iterator> QMap::equal_range(const Key &akey) 10143: { 10143: detach(); 10143: Node *firstNode, *lastNode; 10143: d->nodeRange(akey, &firstNode, &lastNode); 10143: return QPair(iterator(firstNode), iterator(lastNode)); 10143: } 10143: 10143: template 10143: QPair::const_iterator, typename QMap::const_iterator> 10143: QMap::equal_range(const Key &akey) const 10143: { 10143: Node *firstNode, *lastNode; 10143: d->nodeRange(akey, &firstNode, &lastNode); 10143: return qMakePair(const_iterator(firstNode), const_iterator(lastNode)); 10143: } 10143: # 932 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmap.h" 3 4 10143: template 10143: int QMap::remove(const Key &akey) 10143: { 10143: detach(); 10143: int n = 0; 10143: while (Node *node = d->findNode(akey)) { 10143: d->deleteNode(node); 10143: ++n; 10143: } 10143: return n; 10143: } 10143: 10143: template 10143: T QMap::take(const Key &akey) 10143: { 10143: detach(); 10143: 10143: Node *node = d->findNode(akey); 10143: if (node) { 10143: T t = node->value; 10143: d->deleteNode(node); 10143: return t; 10143: } 10143: return T(); 10143: } 10143: 10143: template 10143: typename QMap::iterator QMap::erase(iterator it) 10143: { 10143: if (it == iterator(d->end())) 10143: return it; 10143: 10143: do { } while ((false) && (isValidIterator(const_iterator(it)))); 10143: 10143: if (d->ref.isShared()) { 10143: const_iterator oldBegin = constBegin(); 10143: const_iterator old = const_iterator(it); 10143: int backStepsWithSameKey = 0; 10143: 10143: while (old != oldBegin) { 10143: --old; 10143: if (qMapLessThanKey(old.key(), it.key())) 10143: break; 10143: ++backStepsWithSameKey; 10143: } 10143: 10143: it = find(old.key()); 10143: do { } while ((false) && (it != iterator(d->end()))); 10143: 10143: while (backStepsWithSameKey > 0) { 10143: ++it; 10143: --backStepsWithSameKey; 10143: } 10143: } 10143: 10143: Node *n = it.i; 10143: ++it; 10143: d->deleteNode(n); 10143: return it; 10143: } 10143: 10143: template 10143: void QMap::detach_helper() 10143: { 10143: QMapData *x = QMapData::create(); 10143: if (d->header.left) { 10143: x->header.left = static_cast(d->header.left)->copy(x); 10143: x->header.left->setParent(&x->header); 10143: } 10143: if (!d->ref.deref()) 10143: d->destroy(); 10143: d = x; 10143: d->recalcMostLeftNode(); 10143: } 10143: 10143: template 10143: QList QMap::uniqueKeys() const 10143: { 10143: QList res; 10143: res.reserve(size()); 10143: const_iterator i = begin(); 10143: if (i != end()) { 10143: for (;;) { 10143: const Key &aKey = i.key(); 10143: res.append(aKey); 10143: do { 10143: if (++i == end()) 10143: goto break_out_of_outer_loop; 10143: } while (!qMapLessThanKey(aKey, i.key())); 10143: } 10143: } 10143: break_out_of_outer_loop: 10143: return res; 10143: } 10143: 10143: template 10143: QList QMap::keys() const 10143: { 10143: QList res; 10143: res.reserve(size()); 10143: const_iterator i = begin(); 10143: while (i != end()) { 10143: res.append(i.key()); 10143: ++i; 10143: } 10143: return res; 10143: } 10143: 10143: template 10143: QList QMap::keys(const T &avalue) const 10143: { 10143: QList res; 10143: const_iterator i = begin(); 10143: while (i != end()) { 10143: if (i.value() == avalue) 10143: res.append(i.key()); 10143: ++i; 10143: } 10143: return res; 10143: } 10143: 10143: template 10143: const Key QMap::key(const T &avalue, const Key &defaultKey) const 10143: { 10143: const_iterator i = begin(); 10143: while (i != end()) { 10143: if (i.value() == avalue) 10143: return i.key(); 10143: ++i; 10143: } 10143: 10143: return defaultKey; 10143: } 10143: 10143: template 10143: QList QMap::values() const 10143: { 10143: QList res; 10143: res.reserve(size()); 10143: const_iterator i = begin(); 10143: while (i != end()) { 10143: res.append(i.value()); 10143: ++i; 10143: } 10143: return res; 10143: } 10143: 10143: template 10143: QList QMap::values(const Key &akey) const 10143: { 10143: QList res; 10143: Node *n = d->findNode(akey); 10143: if (n) { 10143: const_iterator it(n); 10143: do { 10143: res.append(*it); 10143: ++it; 10143: } while (it != constEnd() && !qMapLessThanKey(akey, it.key())); 10143: } 10143: return res; 10143: } 10143: 10143: template 10143: inline typename QMap::const_iterator QMap::lowerBound(const Key &akey) const 10143: { 10143: Node *lb = d->root() ? d->root()->lowerBound(akey) : nullptr; 10143: if (!lb) 10143: lb = d->end(); 10143: return const_iterator(lb); 10143: } 10143: 10143: template 10143: inline typename QMap::iterator QMap::lowerBound(const Key &akey) 10143: { 10143: detach(); 10143: Node *lb = d->root() ? d->root()->lowerBound(akey) : nullptr; 10143: if (!lb) 10143: lb = d->end(); 10143: return iterator(lb); 10143: } 10143: 10143: template 10143: inline typename QMap::const_iterator 10143: QMap::upperBound(const Key &akey) const 10143: { 10143: Node *ub = d->root() ? d->root()->upperBound(akey) : nullptr; 10143: if (!ub) 10143: ub = d->end(); 10143: return const_iterator(ub); 10143: } 10143: 10143: template 10143: inline typename QMap::iterator QMap::upperBound(const Key &akey) 10143: { 10143: detach(); 10143: Node *ub = d->root() ? d->root()->upperBound(akey) : nullptr; 10143: if (!ub) 10143: ub = d->end(); 10143: return iterator(ub); 10143: } 10143: 10143: template 10143: bool QMap::operator==(const QMap &other) const 10143: { 10143: if (size() != other.size()) 10143: return false; 10143: if (d == other.d) 10143: return true; 10143: 10143: const_iterator it1 = begin(); 10143: const_iterator it2 = other.begin(); 10143: 10143: while (it1 != end()) { 10143: if (!(it1.value() == it2.value()) || qMapLessThanKey(it1.key(), it2.key()) || qMapLessThanKey(it2.key(), it1.key())) 10143: return false; 10143: ++it2; 10143: ++it1; 10143: } 10143: return true; 10143: } 10143: 10143: template 10143: QMap::QMap(const std::map &other) 10143: { 10143: d = QMapData::create(); 10143: typename std::map::const_iterator it = other.end(); 10143: while (it != other.begin()) { 10143: --it; 10143: d->createNode((*it).first, (*it).second, d->begin(), true); 10143: } 10143: } 10143: 10143: template 10143: std::map QMap::toStdMap() const 10143: { 10143: std::map map; 10143: const_iterator it = end(); 10143: while (it != begin()) { 10143: --it; 10143: map.insert(map.begin(), std::pair(it.key(), it.value())); 10143: } 10143: return map; 10143: } 10143: 10143: template 10143: class QMultiMap : public QMap 10143: { 10143: public: 10143: QMultiMap() noexcept {} 10143: 10143: inline QMultiMap(std::initializer_list > list) 10143: { 10143: for (typename std::initializer_list >::const_iterator it = list.begin(); it != list.end(); ++it) 10143: insert(it->first, it->second); 10143: } 10143: 10143: QMultiMap(const QMap &other) : QMap(other) {} 10143: 10143: QMultiMap(QMap &&other) noexcept : QMap(std::move(other)) {} 10143: 10143: void swap(QMultiMap &other) noexcept { QMap::swap(other); } 10143: 10143: inline typename QMap::iterator replace(const Key &key, const T &value) 10143: { return QMap::insert(key, value); } 10143: inline typename QMap::iterator insert(const Key &key, const T &value) 10143: { return QMap::insertMulti(key, value); } 10143: inline typename QMap::iterator insert(typename QMap::const_iterator pos, const Key &key, const T &value) 10143: { return QMap::insertMulti(pos, key, value); } 10143: 10143: inline QMultiMap &operator+=(const QMultiMap &other) 10143: { this->unite(other); return *this; } 10143: inline QMultiMap operator+(const QMultiMap &other) const 10143: { QMultiMap result = *this; result += other; return result; } 10143: 10143: using QMap::contains; 10143: using QMap::remove; 10143: using QMap::count; 10143: using QMap::find; 10143: using QMap::constFind; 10143: 10143: bool contains(const Key &key, const T &value) const; 10143: 10143: int remove(const Key &key, const T &value); 10143: 10143: int count(const Key &key, const T &value) const; 10143: 10143: typename QMap::iterator find(const Key &key, const T &value) { 10143: typename QMap::iterator i(find(key)); 10143: typename QMap::iterator end(this->end()); 10143: while (i != end && !qMapLessThanKey(key, i.key())) { 10143: if (i.value() == value) 10143: return i; 10143: ++i; 10143: } 10143: return end; 10143: } 10143: typename QMap::const_iterator find(const Key &key, const T &value) const { 10143: typename QMap::const_iterator i(constFind(key)); 10143: typename QMap::const_iterator end(QMap::constEnd()); 10143: while (i != end && !qMapLessThanKey(key, i.key())) { 10143: if (i.value() == value) 10143: return i; 10143: ++i; 10143: } 10143: return end; 10143: } 10143: typename QMap::const_iterator constFind(const Key &key, const T &value) const 10143: { return find(key, value); } 10143: private: 10143: T &operator[](const Key &key); 10143: const T operator[](const Key &key) const; 10143: }; 10143: 10143: template 10143: inline bool QMultiMap::contains(const Key &key, const T &value) const 10143: { 10143: return constFind(key, value) != QMap::constEnd(); 10143: } 10143: 10143: template 10143: inline int QMultiMap::remove(const Key &key, const T &value) 10143: { 10143: int n = 0; 10143: typename QMap::iterator i(find(key)); 10143: typename QMap::iterator end(QMap::end()); 10143: while (i != end && !qMapLessThanKey(key, i.key())) { 10143: if (i.value() == value) { 10143: i = this->erase(i); 10143: ++n; 10143: } else { 10143: ++i; 10143: } 10143: } 10143: return n; 10143: } 10143: 10143: template 10143: inline int QMultiMap::count(const Key &key, const T &value) const 10143: { 10143: int n = 0; 10143: typename QMap::const_iterator i(constFind(key)); 10143: typename QMap::const_iterator end(QMap::constEnd()); 10143: while (i != end && !qMapLessThanKey(key, i.key())) { 10143: if (i.value() == value) 10143: ++n; 10143: ++i; 10143: } 10143: return n; 10143: } 10143: 10143: template class QMapIterator { typedef typename QMap::const_iterator const_iterator; typedef const_iterator Item; QMap c; const_iterator i, n; inline bool item_exists() const { return n != c.constEnd(); } public: inline QMapIterator(const QMap &container) : c(container), i(c.constBegin()), n(c.constEnd()) {} inline QMapIterator &operator=(const QMap &container) { c = container; i = c.constBegin(); n = c.constEnd(); return *this; } inline void toFront() { i = c.constBegin(); n = c.constEnd(); } inline void toBack() { i = c.constEnd(); n = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline Item next() { n = i++; return n; } inline Item peekNext() const { return i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline Item previous() { n = --i; return n; } inline Item peekPrevious() const { const_iterator p = i; return --p; } inline const T &value() const { do { } while ((false) && (item_exists())); return *n; } inline const Key &key() const { do { } while ((false) && (item_exists())); return n.key(); } inline bool findNext(const T &t) { while ((n = i) != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(n = --i) == t) return true; n = c.constEnd(); return false; } }; 10143: template class QMutableMapIterator { typedef typename QMap::iterator iterator; typedef typename QMap::const_iterator const_iterator; typedef iterator Item; QMap *c; iterator i, n; inline bool item_exists() const { return const_iterator(n) != c->constEnd(); } public: inline QMutableMapIterator(QMap &container) : c(&container) { i = c->begin(); n = c->end(); } inline QMutableMapIterator &operator=(QMap &container) { c = &container; i = c->begin(); n = c->end(); return *this; } inline void toFront() { i = c->begin(); n = c->end(); } inline void toBack() { i = c->end(); n = c->end(); } inline bool hasNext() const { return const_iterator(i) != c->constEnd(); } inline Item next() { n = i++; return n; } inline Item peekNext() const { return i; } inline bool hasPrevious() const { return const_iterator(i) != c->constBegin(); } inline Item previous() { n = --i; return n; } inline Item peekPrevious() const { iterator p = i; return --p; } inline void remove() { if (const_iterator(n) != c->constEnd()) { i = c->erase(n); n = c->end(); } } inline void setValue(const T &t) { if (const_iterator(n) != c->constEnd()) *n = t; } inline T &value() { do { } while ((false) && (item_exists())); return *n; } inline const T &value() const { do { } while ((false) && (item_exists())); return *n; } inline const Key &key() const { do { } while ((false) && (item_exists())); return n.key(); } inline bool findNext(const T &t) { while (const_iterator(n = i) != c->constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (const_iterator(i) != c->constBegin()) if (*(n = --i) == t) return true; n = c->end(); return false; } }; 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QMap" 2 3 4 10143: # 25 "/usr/include/KF5/KXmlGui/kxmlguiclient.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QStringList" 1 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstringlist.h" 1 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QStringList" 2 3 4 10143: # 26 "/usr/include/KF5/KXmlGui/kxmlguiclient.h" 2 3 4 10143: 10143: class QDomDocument; 10143: class QDomElement; 10143: class QWidget; 10143: 10143: class QAction; 10143: class KActionCollection; 10143: class KXMLGUIClientPrivate; 10143: class KXMLGUIFactory; 10143: class KXMLGUIBuilder; 10143: 10143: namespace KDEPrivate 10143: { 10143: class KEditToolBarWidget; 10143: } 10143: # 49 "/usr/include/KF5/KXmlGui/kxmlguiclient.h" 3 4 10143: class __attribute__((visibility("default"))) KXMLGUIClient 10143: { 10143: friend class KDEPrivate::KEditToolBarWidget; 10143: public: 10143: 10143: 10143: 10143: 10143: 10143: KXMLGUIClient(); 10143: # 71 "/usr/include/KF5/KXmlGui/kxmlguiclient.h" 3 4 10143: explicit KXMLGUIClient(KXMLGUIClient *parent); 10143: # 82 "/usr/include/KF5/KXmlGui/kxmlguiclient.h" 3 4 10143: virtual ~KXMLGUIClient(); 10143: 10143: 10143: 10143: 10143: 10143: 10143: QAction *action(const char *name) const; 10143: 10143: 10143: 10143: 10143: 10143: 10143: virtual QAction *action(const QDomElement &element) const; 10143: 10143: 10143: 10143: 10143: virtual KActionCollection *actionCollection() const; 10143: 10143: 10143: 10143: 10143: virtual QString componentName() const; 10143: 10143: 10143: 10143: 10143: 10143: 10143: virtual QDomDocument domDocument() const; 10143: # 128 "/usr/include/KF5/KXmlGui/kxmlguiclient.h" 3 4 10143: virtual QString xmlFile() const; 10143: 10143: virtual QString localXMLFile() const; 10143: 10143: 10143: 10143: 10143: void setXMLGUIBuildDocument(const QDomDocument &doc); 10143: 10143: 10143: 10143: QDomDocument xmlguiBuildDocument() const; 10143: 10143: 10143: 10143: 10143: 10143: void setFactory(KXMLGUIFactory *factory); 10143: 10143: 10143: 10143: 10143: 10143: KXMLGUIFactory *factory() const; 10143: 10143: 10143: 10143: 10143: 10143: 10143: KXMLGUIClient *parentClient() const; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: void insertChildClient(KXMLGUIClient *child); 10143: 10143: 10143: 10143: 10143: void removeChildClient(KXMLGUIClient *child); 10143: 10143: 10143: 10143: 10143: QList childClients(); 10143: # 186 "/usr/include/KF5/KXmlGui/kxmlguiclient.h" 3 4 10143: void setClientBuilder(KXMLGUIBuilder *builder); 10143: 10143: 10143: 10143: 10143: 10143: KXMLGUIBuilder *clientBuilder() const; 10143: # 203 "/usr/include/KF5/KXmlGui/kxmlguiclient.h" 3 4 10143: void reloadXML(); 10143: # 248 "/usr/include/KF5/KXmlGui/kxmlguiclient.h" 3 4 10143: void plugActionList(const QString &name, const QList &actionList); 10143: # 257 "/usr/include/KF5/KXmlGui/kxmlguiclient.h" 3 4 10143: void unplugActionList(const QString &name); 10143: 10143: static QString findMostRecentXMLFile(const QStringList &files, QString &doc); 10143: 10143: void addStateActionEnabled(const QString &state, const QString &action); 10143: 10143: void addStateActionDisabled(const QString &state, const QString &action); 10143: 10143: enum ReverseStateChange { StateNoReverse, StateReverse }; 10143: struct StateChange { 10143: QStringList actionsToEnable; 10143: QStringList actionsToDisable; 10143: }; 10143: 10143: StateChange getActionsToChangeForState(const QString &state); 10143: 10143: void beginXMLPlug(QWidget *); 10143: void endXMLPlug(); 10143: void prepareXMLUnplug(QWidget *); 10143: # 300 "/usr/include/KF5/KXmlGui/kxmlguiclient.h" 3 4 10143: void replaceXMLFile(const QString &xmlfile, const QString &localxmlfile, bool merge = false); 10143: 10143: protected: 10143: # 311 "/usr/include/KF5/KXmlGui/kxmlguiclient.h" 3 4 10143: virtual void setComponentName(const QString &componentName, const QString &componentDisplayName); 10143: # 343 "/usr/include/KF5/KXmlGui/kxmlguiclient.h" 3 4 10143: virtual void setXMLFile(const QString &file, bool merge = false, bool setXMLDoc = true); 10143: 10143: 10143: 10143: 10143: 10143: 10143: static QString standardsXmlFileLocation(); 10143: 10143: 10143: 10143: 10143: 10143: void loadStandardsXmlFile(); 10143: 10143: 10143: 10143: 10143: 10143: 10143: virtual void setLocalXMLFile(const QString &file); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: virtual void setXML(const QString &document, bool merge = false); 10143: # 388 "/usr/include/KF5/KXmlGui/kxmlguiclient.h" 3 4 10143: virtual void setDOMDocument(const QDomDocument &document, bool merge = false); 10143: # 401 "/usr/include/KF5/KXmlGui/kxmlguiclient.h" 3 4 10143: virtual void stateChanged(const QString &newstate, ReverseStateChange reverse = StateNoReverse); 10143: 10143: 10143: 10143: protected: 10143: virtual void virtual_hook(int id, void *data); 10143: 10143: private: 10143: KXMLGUIClientPrivate *const d; 10143: }; 10143: # 1 "/usr/include/KF5/KXmlGui/KXMLGUIClient" 2 3 4 10143: # 29 "/usr/include/kdevplatform/interfaces/iplugin.h" 2 3 4 10143: 10143: # 1 "/usr/include/kdevplatform/interfaces/interfacesexport.h" 1 3 4 10143: # 31 "/usr/include/kdevplatform/interfaces/iplugin.h" 2 3 4 10143: 10143: namespace Sublime { 10143: class MainWindow; 10143: } 10143: # 43 "/usr/include/kdevplatform/interfaces/iplugin.h" 3 4 10143: namespace KDevelop 10143: { 10143: 10143: class ICore; 10143: class ConfigPage; 10143: class Context; 10143: class ContextMenuExtension; 10143: struct ProjectConfigOptions; 10143: # 140 "/usr/include/kdevplatform/interfaces/iplugin.h" 3 4 10143: class __attribute__((visibility("default"))) IPlugin: public QObject, public KXMLGUIClient 10143: { 10143: public: 10143: # 142 "/usr/include/kdevplatform/interfaces/iplugin.h" 3 4 10143: #pragma GCC diagnostic push 10143: # 142 "/usr/include/kdevplatform/interfaces/iplugin.h" 3 4 10143: 10143: # 142 "/usr/include/kdevplatform/interfaces/iplugin.h" 3 4 10143: #pragma GCC diagnostic ignored "-Wsuggest-override" 10143: # 142 "/usr/include/kdevplatform/interfaces/iplugin.h" 3 4 10143: static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); virtual int qt_metacall(QMetaObject::Call, int, void **); static inline QString tr(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 10143: # 142 "/usr/include/kdevplatform/interfaces/iplugin.h" 3 4 10143: #pragma GCC diagnostic ignored "-Wattributes" 10143: # 142 "/usr/include/kdevplatform/interfaces/iplugin.h" 3 4 10143: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 10143: # 142 "/usr/include/kdevplatform/interfaces/iplugin.h" 3 4 10143: #pragma GCC diagnostic pop 10143: # 142 "/usr/include/kdevplatform/interfaces/iplugin.h" 3 4 10143: struct QPrivateSignal {}; 10143: 10143: public: 10143: 10143: 10143: 10143: 10143: IPlugin(const QString &componentName, QObject *parent); 10143: 10143: 10143: ~IPlugin() override; 10143: 10143: 10143: 10143: 10143: virtual void unload(); 10143: 10143: 10143: 10143: 10143: ICore *core() const; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: inline Extension* extension() 10143: { 10143: return qobject_cast(this); 10143: } 10143: # 182 "/usr/include/kdevplatform/interfaces/iplugin.h" 3 4 10143: virtual ContextMenuExtension contextMenuExtension(KDevelop::Context* context, QWidget* parent); 10143: # 196 "/usr/include/kdevplatform/interfaces/iplugin.h" 3 4 10143: virtual KXMLGUIClient* createGUIForMainWindow( Sublime::MainWindow* window ); 10143: # 207 "/usr/include/kdevplatform/interfaces/iplugin.h" 3 4 10143: virtual void createActionsForMainWindow( Sublime::MainWindow* window, QString& xmlFile, KActionCollection& actions ); 10143: 10143: 10143: 10143: 10143: 10143: 10143: bool hasError() const; 10143: 10143: 10143: 10143: 10143: QString errorDescription() const; 10143: 10143: 10143: 10143: 10143: 10143: void setErrorDescription(QString const& description); 10143: # 238 "/usr/include/kdevplatform/interfaces/iplugin.h" 3 4 10143: virtual ConfigPage* configPage(int number, QWidget *parent); 10143: 10143: 10143: 10143: 10143: 10143: 10143: virtual int configPages() const; 10143: 10143: 10143: 10143: 10143: 10143: 10143: virtual int perProjectConfigPages() const; 10143: # 266 "/usr/include/kdevplatform/interfaces/iplugin.h" 3 4 10143: virtual ConfigPage* perProjectConfigPage(int number, const KDevelop::ProjectConfigOptions& options, QWidget* parent); 10143: 10143: protected: 10143: 10143: 10143: 10143: virtual void initializeGuiState(); 10143: 10143: private: 10143: const QScopedPointer d; 10143: friend class IPluginPrivate; 10143: }; 10143: 10143: } 10143: # 25 "/<>/testprovider/phpunitprovider.h" 2 10143: 10143: # 1 "/usr/include/kdevplatform/language/duchain/indexeddeclaration.h" 1 3 4 10143: # 22 "/usr/include/kdevplatform/language/duchain/indexeddeclaration.h" 3 4 10143: # 1 "/usr/include/kdevplatform/language/languageexport.h" 1 3 4 10143: # 23 "/usr/include/kdevplatform/language/duchain/indexeddeclaration.h" 2 3 4 10143: 10143: # 1 "/usr/include/kdevplatform/language/duchain/indexedtopducontext.h" 1 3 4 10143: # 22 "/usr/include/kdevplatform/language/duchain/indexedtopducontext.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QMetaType" 1 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmetatype.h" 1 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QMetaType" 2 3 4 10143: # 23 "/usr/include/kdevplatform/language/duchain/indexedtopducontext.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QPair" 1 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qpair.h" 1 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QPair" 2 3 4 10143: # 24 "/usr/include/kdevplatform/language/duchain/indexedtopducontext.h" 2 3 4 10143: 10143: 10143: 10143: namespace KDevelop { 10143: 10143: class IndexedString; 10143: class IndexedTopDUContextEmbeddedTreeHandler; 10143: class TopDUContext; 10143: 10143: 10143: 10143: 10143: class __attribute__((visibility("default"))) IndexedTopDUContext 10143: { 10143: public: 10143: inline IndexedTopDUContext(uint index) : m_index(index) { 10143: if(!index) 10143: setIsDummy(true); 10143: } 10143: IndexedTopDUContext(TopDUContext* context = nullptr); 10143: 10143: enum { 10143: DummyMask = 1u<<31u 10143: }; 10143: # 56 "/usr/include/kdevplatform/language/duchain/indexedtopducontext.h" 3 4 10143: TopDUContext* data() const; 10143: 10143: 10143: 10143: 10143: 10143: 10143: bool isLoaded() const; 10143: 10143: inline bool operator==(const IndexedTopDUContext& rhs) const { 10143: return m_index == rhs.m_index; 10143: } 10143: 10143: inline bool operator!=(const IndexedTopDUContext& rhs) const { 10143: return m_index != rhs.m_index; 10143: } 10143: 10143: inline bool operator<(const IndexedTopDUContext& rhs) const { 10143: return m_index < rhs.m_index; 10143: } 10143: 10143: inline bool isValid() const { 10143: return m_index && !isDummy(); 10143: } 10143: 10143: inline uint index() const { 10143: if(isDummy()) 10143: return 0; 10143: else 10143: return m_index; 10143: } 10143: 10143: inline bool isDummy() const { 10143: return m_index & DummyMask; 10143: } 10143: 10143: void setIsDummy(bool isDummy) { 10143: if(isDummy) 10143: m_index |= DummyMask; 10143: else 10143: m_index &= ~((uint)DummyMask); 10143: } 10143: # 106 "/usr/include/kdevplatform/language/duchain/indexedtopducontext.h" 3 4 10143: void setDummyData(ushort first, ushort second) { 10143: do { } while ((false) && (isDummy())); 10143: m_index = ((((uint)first)<<16) + second) | DummyMask; 10143: } 10143: 10143: 10143: 10143: 10143: QPair dummyData() const { 10143: uint withoutMask = m_index & (~((uint)DummyMask)); 10143: return qMakePair((ushort)(withoutMask >> 16), (ushort)withoutMask); 10143: } 10143: 10143: IndexedString url() const; 10143: 10143: private: 10143: uint m_index; 10143: friend class IndexedTopDUContextEmbeddedTreeHandler; 10143: }; 10143: 10143: 10143: struct IndexedTopDUContextIndexConversion { 10143: inline static uint toIndex(const IndexedTopDUContext& top) { 10143: return top.index(); 10143: } 10143: 10143: inline static IndexedTopDUContext toItem(uint index) { 10143: return IndexedTopDUContext(index); 10143: } 10143: }; 10143: 10143: inline uint qHash(const IndexedTopDUContext& ctx) 10143: { 10143: return ctx.index(); 10143: } 10143: 10143: } 10143: 10143: template <> struct QMetaTypeId< KDevelop::IndexedTopDUContext > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const int newId = qRegisterMetaType< KDevelop::IndexedTopDUContext >("KDevelop::IndexedTopDUContext", reinterpret_cast< KDevelop::IndexedTopDUContext *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 10143: # 25 "/usr/include/kdevplatform/language/duchain/indexeddeclaration.h" 2 3 4 10143: # 1 "/usr/include/kdevplatform/language/util/kdevhash.h" 1 3 4 10143: # 22 "/usr/include/kdevplatform/language/util/kdevhash.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QHash" 1 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qhash.h" 1 3 4 10143: # 62 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qhash.h" 3 4 10143: 10143: 10143: struct __attribute__((visibility("default"))) QHashData 10143: { 10143: struct Node { 10143: Node *next; 10143: uint h; 10143: }; 10143: 10143: Node *fakeNext; 10143: Node **buckets; 10143: QtPrivate::RefCount ref; 10143: int size; 10143: int nodeSize; 10143: short userNumBits; 10143: short numBits; 10143: int numBuckets; 10143: uint seed; 10143: uint sharable : 1; 10143: uint strictAlignment : 1; 10143: uint reserved : 30; 10143: 10143: void *allocateNode(int nodeAlign); 10143: void freeNode(void *node); 10143: QHashData *detach_helper(void (*node_duplicate)(Node *, void *), void (*node_delete)(Node *), 10143: int nodeSize, int nodeAlign); 10143: bool willGrow(); 10143: void hasShrunk(); 10143: void rehash(int hint); 10143: void free_helper(void (*node_delete)(Node *)); 10143: Node *firstNode(); 10143: 10143: 10143: 10143: 10143: static Node *nextNode(Node *node); 10143: static Node *previousNode(Node *node); 10143: 10143: static const QHashData shared_null; 10143: }; 10143: 10143: inline bool QHashData::willGrow() 10143: { 10143: if (size >= numBuckets) { 10143: rehash(numBits + 1); 10143: return true; 10143: } else { 10143: return false; 10143: } 10143: } 10143: 10143: inline void QHashData::hasShrunk() 10143: { 10143: if (size <= (numBuckets >> 3) && numBits > userNumBits) { 10143: if (true) { 10143: rehash(qMax(int(numBits) - 2, int(userNumBits))); 10143: } else { 10143: 10143: } 10143: } 10143: } 10143: 10143: inline QHashData::Node *QHashData::firstNode() 10143: { 10143: Node *e = reinterpret_cast(this); 10143: Node **bucket = buckets; 10143: int n = numBuckets; 10143: while (n--) { 10143: if (*bucket != e) 10143: return *bucket; 10143: ++bucket; 10143: } 10143: return e; 10143: } 10143: 10143: struct QHashDummyValue 10143: { 10143: }; 10143: 10143: inline bool operator==(const QHashDummyValue & , const QHashDummyValue & ) 10143: { 10143: return true; 10143: } 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE | Q_DUMMY_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE | Q_DUMMY_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE | Q_DUMMY_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QHashDummyValue)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QHashDummyValue >::value, isDummy = (((Q_MOVABLE_TYPE | Q_DUMMY_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QHashDummyValue) }; static inline const char *name() { return "QHashDummyValue"; } }; 10143: 10143: template 10143: struct QHashNode 10143: { 10143: QHashNode *next; 10143: const uint h; 10143: const Key key; 10143: T value; 10143: 10143: inline QHashNode(const Key &key0, const T &value0, uint hash, QHashNode *n) 10143: : next(n), h(hash), key(key0), value(value0) {} 10143: inline bool same_key(uint h0, const Key &key0) const { return h0 == h && key0 == key; } 10143: 10143: private: 10143: QHashNode(const QHashNode &) = delete; QHashNode &operator=(const QHashNode &) = delete; 10143: }; 10143: 10143: 10143: template 10143: struct QHashNode 10143: { 10143: union { 10143: QHashNode *next; 10143: QHashDummyValue value; 10143: }; 10143: const uint h; 10143: const Key key; 10143: 10143: inline QHashNode(const Key &key0, const QHashDummyValue &, uint hash, QHashNode *n) 10143: : next(n), h(hash), key(key0) {} 10143: inline bool same_key(uint h0, const Key &key0) const { return h0 == h && key0 == key; } 10143: 10143: private: 10143: QHashNode(const QHashNode &) = delete; QHashNode &operator=(const QHashNode &) = delete; 10143: }; 10143: # 226 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qhash.h" 3 4 10143: template 10143: class QHash 10143: { 10143: typedef QHashNode Node; 10143: 10143: union { 10143: QHashData *d; 10143: QHashNode *e; 10143: }; 10143: 10143: static inline Node *concrete(QHashData::Node *node) { 10143: return reinterpret_cast(node); 10143: } 10143: 10143: static inline int alignOfNode() { return qMax(sizeof(void*), alignof(Node)); } 10143: 10143: public: 10143: inline QHash() noexcept : d(const_cast(&QHashData::shared_null)) { } 10143: 10143: inline QHash(std::initializer_list > list) 10143: : d(const_cast(&QHashData::shared_null)) 10143: { 10143: reserve(int(list.size())); 10143: for (typename std::initializer_list >::const_iterator it = list.begin(); it != list.end(); ++it) 10143: insert(it->first, it->second); 10143: } 10143: 10143: QHash(const QHash &other) : d(other.d) { d->ref.ref(); if (!d->sharable) detach(); } 10143: ~QHash() { if (!d->ref.deref()) freeData(d); } 10143: 10143: QHash &operator=(const QHash &other); 10143: 10143: QHash(QHash &&other) noexcept : d(other.d) { other.d = const_cast(&QHashData::shared_null); } 10143: QHash &operator=(QHash &&other) noexcept 10143: { QHash moved(std::move(other)); swap(moved); return *this; } 10143: 10143: void swap(QHash &other) noexcept { qSwap(d, other.d); } 10143: 10143: bool operator==(const QHash &other) const; 10143: bool operator!=(const QHash &other) const { return !(*this == other); } 10143: 10143: inline int size() const { return d->size; } 10143: 10143: inline bool isEmpty() const { return d->size == 0; } 10143: 10143: inline int capacity() const { return d->numBuckets; } 10143: void reserve(int size); 10143: inline void squeeze() { reserve(1); } 10143: 10143: inline void detach() { if (d->ref.isShared()) detach_helper(); } 10143: inline bool isDetached() const { return !d->ref.isShared(); } 10143: 10143: inline void setSharable(bool sharable) { if (!sharable) detach(); if (d != &QHashData::shared_null) d->sharable = sharable; } 10143: 10143: bool isSharedWith(const QHash &other) const { return d == other.d; } 10143: 10143: void clear(); 10143: 10143: int remove(const Key &key); 10143: T take(const Key &key); 10143: 10143: bool contains(const Key &key) const; 10143: const Key key(const T &value) const; 10143: const Key key(const T &value, const Key &defaultKey) const; 10143: const T value(const Key &key) const; 10143: const T value(const Key &key, const T &defaultValue) const; 10143: T &operator[](const Key &key); 10143: const T operator[](const Key &key) const; 10143: 10143: QList uniqueKeys() const; 10143: QList keys() const; 10143: QList keys(const T &value) const; 10143: QList values() const; 10143: QList values(const Key &key) const; 10143: int count(const Key &key) const; 10143: 10143: class const_iterator; 10143: 10143: class iterator 10143: { 10143: friend class const_iterator; 10143: friend class QHash; 10143: friend class QSet; 10143: QHashData::Node *i; 10143: 10143: public: 10143: typedef std::bidirectional_iterator_tag iterator_category; 10143: typedef qptrdiff difference_type; 10143: typedef T value_type; 10143: typedef T *pointer; 10143: typedef T &reference; 10143: 10143: inline iterator() : i(nullptr) { } 10143: explicit inline iterator(void *node) : i(reinterpret_cast(node)) { } 10143: 10143: inline const Key &key() const { return concrete(i)->key; } 10143: inline T &value() const { return concrete(i)->value; } 10143: inline T &operator*() const { return concrete(i)->value; } 10143: inline T *operator->() const { return &concrete(i)->value; } 10143: inline bool operator==(const iterator &o) const { return i == o.i; } 10143: inline bool operator!=(const iterator &o) const { return i != o.i; } 10143: 10143: inline iterator &operator++() { 10143: i = QHashData::nextNode(i); 10143: return *this; 10143: } 10143: inline iterator operator++(int) { 10143: iterator r = *this; 10143: i = QHashData::nextNode(i); 10143: return r; 10143: } 10143: inline iterator &operator--() { 10143: i = QHashData::previousNode(i); 10143: return *this; 10143: } 10143: inline iterator operator--(int) { 10143: iterator r = *this; 10143: i = QHashData::previousNode(i); 10143: return r; 10143: } 10143: inline iterator operator+(int j) const 10143: { iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } 10143: inline iterator operator-(int j) const { return operator+(-j); } 10143: inline iterator &operator+=(int j) { return *this = *this + j; } 10143: inline iterator &operator-=(int j) { return *this = *this - j; } 10143: 10143: 10143: public: 10143: inline bool operator==(const const_iterator &o) const 10143: { return i == o.i; } 10143: inline bool operator!=(const const_iterator &o) const 10143: { return i != o.i; } 10143: 10143: }; 10143: friend class iterator; 10143: 10143: class const_iterator 10143: { 10143: friend class iterator; 10143: friend class QHash; 10143: friend class QSet; 10143: QHashData::Node *i; 10143: 10143: public: 10143: typedef std::bidirectional_iterator_tag iterator_category; 10143: typedef qptrdiff difference_type; 10143: typedef T value_type; 10143: typedef const T *pointer; 10143: typedef const T &reference; 10143: 10143: constexpr inline const_iterator() : i(nullptr) { } 10143: explicit inline const_iterator(void *node) 10143: : i(reinterpret_cast(node)) { } 10143: 10143: 10143: 10143: inline const_iterator(const iterator &o) 10143: 10143: { i = o.i; } 10143: 10143: inline const Key &key() const { return concrete(i)->key; } 10143: inline const T &value() const { return concrete(i)->value; } 10143: inline const T &operator*() const { return concrete(i)->value; } 10143: inline const T *operator->() const { return &concrete(i)->value; } 10143: constexpr inline bool operator==(const const_iterator &o) const { return i == o.i; } 10143: constexpr inline bool operator!=(const const_iterator &o) const { return i != o.i; } 10143: 10143: inline const_iterator &operator++() { 10143: i = QHashData::nextNode(i); 10143: return *this; 10143: } 10143: inline const_iterator operator++(int) { 10143: const_iterator r = *this; 10143: i = QHashData::nextNode(i); 10143: return r; 10143: } 10143: inline const_iterator &operator--() { 10143: i = QHashData::previousNode(i); 10143: return *this; 10143: } 10143: inline const_iterator operator--(int) { 10143: const_iterator r = *this; 10143: i = QHashData::previousNode(i); 10143: return r; 10143: } 10143: inline const_iterator operator+(int j) const 10143: { const_iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } 10143: inline const_iterator operator-(int j) const { return operator+(-j); } 10143: inline const_iterator &operator+=(int j) { return *this = *this + j; } 10143: inline const_iterator &operator-=(int j) { return *this = *this - j; } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: }; 10143: friend class const_iterator; 10143: 10143: class key_iterator 10143: { 10143: const_iterator i; 10143: 10143: public: 10143: typedef typename const_iterator::iterator_category iterator_category; 10143: typedef typename const_iterator::difference_type difference_type; 10143: typedef Key value_type; 10143: typedef const Key *pointer; 10143: typedef const Key &reference; 10143: 10143: key_iterator() = default; 10143: explicit key_iterator(const_iterator o) : i(o) { } 10143: 10143: const Key &operator*() const { return i.key(); } 10143: const Key *operator->() const { return &i.key(); } 10143: bool operator==(key_iterator o) const { return i == o.i; } 10143: bool operator!=(key_iterator o) const { return i != o.i; } 10143: 10143: inline key_iterator &operator++() { ++i; return *this; } 10143: inline key_iterator operator++(int) { return key_iterator(i++);} 10143: inline key_iterator &operator--() { --i; return *this; } 10143: inline key_iterator operator--(int) { return key_iterator(i--); } 10143: const_iterator base() const { return i; } 10143: }; 10143: 10143: 10143: inline iterator begin() { detach(); return iterator(d->firstNode()); } 10143: inline const_iterator begin() const { return const_iterator(d->firstNode()); } 10143: inline const_iterator cbegin() const { return const_iterator(d->firstNode()); } 10143: inline const_iterator constBegin() const { return const_iterator(d->firstNode()); } 10143: inline iterator end() { detach(); return iterator(e); } 10143: inline const_iterator end() const { return const_iterator(e); } 10143: inline const_iterator cend() const { return const_iterator(e); } 10143: inline const_iterator constEnd() const { return const_iterator(e); } 10143: inline key_iterator keyBegin() const { return key_iterator(begin()); } 10143: inline key_iterator keyEnd() const { return key_iterator(end()); } 10143: 10143: QPair equal_range(const Key &key); 10143: QPair equal_range(const Key &key) const noexcept; 10143: iterator erase(iterator it) { return erase(const_iterator(it.i)); } 10143: iterator erase(const_iterator it); 10143: 10143: 10143: typedef iterator Iterator; 10143: typedef const_iterator ConstIterator; 10143: inline int count() const { return d->size; } 10143: iterator find(const Key &key); 10143: const_iterator find(const Key &key) const; 10143: const_iterator constFind(const Key &key) const; 10143: iterator insert(const Key &key, const T &value); 10143: iterator insertMulti(const Key &key, const T &value); 10143: QHash &unite(const QHash &other); 10143: 10143: 10143: typedef T mapped_type; 10143: typedef Key key_type; 10143: typedef qptrdiff difference_type; 10143: typedef int size_type; 10143: 10143: inline bool empty() const { return isEmpty(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: private: 10143: void detach_helper(); 10143: void freeData(QHashData *d); 10143: Node **findNode(const Key &key, uint *hp = nullptr) const; 10143: Node **findNode(const Key &key, uint h) const; 10143: Node *createNode(uint h, const Key &key, const T &value, Node **nextNode); 10143: void deleteNode(Node *node); 10143: static void deleteNode2(QHashData::Node *node); 10143: 10143: static void duplicateNode(QHashData::Node *originalNode, void *newNode); 10143: 10143: bool isValidIterator(const iterator &it) const noexcept 10143: { return isValidNode(it.i); } 10143: bool isValidIterator(const const_iterator &it) const noexcept 10143: { return isValidNode(it.i); } 10143: bool isValidNode(QHashData::Node *node) const noexcept 10143: { 10143: 10143: 10143: 10143: 10143: 10143: (void)node;; 10143: return true; 10143: 10143: } 10143: friend class QSet; 10143: }; 10143: 10143: 10143: template 10143: inline void QHash::deleteNode(Node *node) 10143: { 10143: deleteNode2(reinterpret_cast(node)); 10143: d->freeNode(node); 10143: } 10143: 10143: template 10143: inline void QHash::deleteNode2(QHashData::Node *node) 10143: { 10143: 10143: 10143: 10143: concrete(node)->~Node(); 10143: 10143: } 10143: 10143: template 10143: inline void QHash::duplicateNode(QHashData::Node *node, void *newNode) 10143: { 10143: Node *concreteNode = concrete(node); 10143: new (newNode) Node(concreteNode->key, concreteNode->value, concreteNode->h, nullptr); 10143: } 10143: 10143: template 10143: inline typename QHash::Node * 10143: QHash::createNode(uint ah, const Key &akey, const T &avalue, Node **anextNode) 10143: { 10143: Node *node = new (d->allocateNode(alignOfNode())) Node(akey, avalue, ah, *anextNode); 10143: *anextNode = node; 10143: ++d->size; 10143: return node; 10143: } 10143: 10143: template 10143: inline QHash &QHash::unite(const QHash &other) 10143: { 10143: if (d == &QHashData::shared_null) { 10143: *this = other; 10143: } else { 10143: QHash copy(other); 10143: const_iterator it = copy.constEnd(); 10143: while (it != copy.constBegin()) { 10143: --it; 10143: insertMulti(it.key(), it.value()); 10143: } 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: void QHash::freeData(QHashData *x) 10143: { 10143: x->free_helper(deleteNode2); 10143: } 10143: 10143: template 10143: inline void QHash::clear() 10143: { 10143: *this = QHash(); 10143: } 10143: 10143: template 10143: void QHash::detach_helper() 10143: { 10143: QHashData *x = d->detach_helper(duplicateNode, deleteNode2, sizeof(Node), alignOfNode()); 10143: if (!d->ref.deref()) 10143: freeData(d); 10143: d = x; 10143: } 10143: 10143: template 10143: inline QHash &QHash::operator=(const QHash &other) 10143: { 10143: if (d != other.d) { 10143: QHashData *o = other.d; 10143: o->ref.ref(); 10143: if (!d->ref.deref()) 10143: freeData(d); 10143: d = o; 10143: if (!d->sharable) 10143: detach_helper(); 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: inline const T QHash::value(const Key &akey) const 10143: { 10143: Node *node; 10143: if (d->size == 0 || (node = *findNode(akey)) == e) { 10143: return T(); 10143: } else { 10143: return node->value; 10143: } 10143: } 10143: 10143: template 10143: inline const T QHash::value(const Key &akey, const T &adefaultValue) const 10143: { 10143: Node *node; 10143: if (d->size == 0 || (node = *findNode(akey)) == e) { 10143: return adefaultValue; 10143: } else { 10143: return node->value; 10143: } 10143: } 10143: 10143: template 10143: QList QHash::uniqueKeys() const 10143: { 10143: QList res; 10143: res.reserve(size()); 10143: const_iterator i = begin(); 10143: if (i != end()) { 10143: for (;;) { 10143: const Key &aKey = i.key(); 10143: res.append(aKey); 10143: do { 10143: if (++i == end()) 10143: goto break_out_of_outer_loop; 10143: } while (aKey == i.key()); 10143: } 10143: } 10143: break_out_of_outer_loop: 10143: return res; 10143: } 10143: 10143: template 10143: QList QHash::keys() const 10143: { 10143: QList res; 10143: res.reserve(size()); 10143: const_iterator i = begin(); 10143: while (i != end()) { 10143: res.append(i.key()); 10143: ++i; 10143: } 10143: return res; 10143: } 10143: 10143: template 10143: QList QHash::keys(const T &avalue) const 10143: { 10143: QList res; 10143: const_iterator i = begin(); 10143: while (i != end()) { 10143: if (i.value() == avalue) 10143: res.append(i.key()); 10143: ++i; 10143: } 10143: return res; 10143: } 10143: 10143: template 10143: const Key QHash::key(const T &avalue) const 10143: { 10143: return key(avalue, Key()); 10143: } 10143: 10143: template 10143: const Key QHash::key(const T &avalue, const Key &defaultValue) const 10143: { 10143: const_iterator i = begin(); 10143: while (i != end()) { 10143: if (i.value() == avalue) 10143: return i.key(); 10143: ++i; 10143: } 10143: 10143: return defaultValue; 10143: } 10143: 10143: template 10143: QList QHash::values() const 10143: { 10143: QList res; 10143: res.reserve(size()); 10143: const_iterator i = begin(); 10143: while (i != end()) { 10143: res.append(i.value()); 10143: ++i; 10143: } 10143: return res; 10143: } 10143: 10143: template 10143: QList QHash::values(const Key &akey) const 10143: { 10143: QList res; 10143: Node *node = *findNode(akey); 10143: if (node != e) { 10143: do { 10143: res.append(node->value); 10143: } while ((node = node->next) != e && node->key == akey); 10143: } 10143: return res; 10143: } 10143: 10143: template 10143: int QHash::count(const Key &akey) const 10143: { 10143: int cnt = 0; 10143: Node *node = *findNode(akey); 10143: if (node != e) { 10143: do { 10143: ++cnt; 10143: } while ((node = node->next) != e && node->key == akey); 10143: } 10143: return cnt; 10143: } 10143: 10143: template 10143: inline const T QHash::operator[](const Key &akey) const 10143: { 10143: return value(akey); 10143: } 10143: 10143: template 10143: inline T &QHash::operator[](const Key &akey) 10143: { 10143: detach(); 10143: 10143: uint h; 10143: Node **node = findNode(akey, &h); 10143: if (*node == e) { 10143: if (d->willGrow()) 10143: node = findNode(akey, h); 10143: return createNode(h, akey, T(), node)->value; 10143: } 10143: return (*node)->value; 10143: } 10143: 10143: template 10143: inline typename QHash::iterator QHash::insert(const Key &akey, 10143: const T &avalue) 10143: { 10143: detach(); 10143: 10143: uint h; 10143: Node **node = findNode(akey, &h); 10143: if (*node == e) { 10143: if (d->willGrow()) 10143: node = findNode(akey, h); 10143: return iterator(createNode(h, akey, avalue, node)); 10143: } 10143: 10143: if (!std::is_same::value) 10143: (*node)->value = avalue; 10143: return iterator(*node); 10143: } 10143: 10143: template 10143: inline typename QHash::iterator QHash::insertMulti(const Key &akey, 10143: const T &avalue) 10143: { 10143: detach(); 10143: d->willGrow(); 10143: 10143: uint h; 10143: Node **nextNode = findNode(akey, &h); 10143: return iterator(createNode(h, akey, avalue, nextNode)); 10143: } 10143: 10143: template 10143: int QHash::remove(const Key &akey) 10143: { 10143: if (isEmpty()) 10143: return 0; 10143: detach(); 10143: 10143: int oldSize = d->size; 10143: Node **node = findNode(akey); 10143: if (*node != e) { 10143: bool deleteNext = true; 10143: do { 10143: Node *next = (*node)->next; 10143: deleteNext = (next != e && next->key == (*node)->key); 10143: deleteNode(*node); 10143: *node = next; 10143: --d->size; 10143: } while (deleteNext); 10143: d->hasShrunk(); 10143: } 10143: return oldSize - d->size; 10143: } 10143: 10143: template 10143: T QHash::take(const Key &akey) 10143: { 10143: if (isEmpty()) 10143: return T(); 10143: detach(); 10143: 10143: Node **node = findNode(akey); 10143: if (*node != e) { 10143: T t = (*node)->value; 10143: Node *next = (*node)->next; 10143: deleteNode(*node); 10143: *node = next; 10143: --d->size; 10143: d->hasShrunk(); 10143: return t; 10143: } 10143: return T(); 10143: } 10143: 10143: template 10143: typename QHash::iterator QHash::erase(const_iterator it) 10143: { 10143: do { } while ((false) && (isValidIterator(it))); 10143: 10143: if (it == const_iterator(e)) 10143: return iterator(it.i); 10143: 10143: if (d->ref.isShared()) { 10143: 10143: int bucketNum = (it.i->h % d->numBuckets); 10143: const_iterator bucketIterator(*(d->buckets + bucketNum)); 10143: int stepsFromBucketStartToIte = 0; 10143: while (bucketIterator != it) { 10143: ++stepsFromBucketStartToIte; 10143: ++bucketIterator; 10143: } 10143: detach(); 10143: it = const_iterator(*(d->buckets + bucketNum)); 10143: while (stepsFromBucketStartToIte > 0) { 10143: --stepsFromBucketStartToIte; 10143: ++it; 10143: } 10143: } 10143: 10143: iterator ret(it.i); 10143: ++ret; 10143: 10143: Node *node = concrete(it.i); 10143: Node **node_ptr = reinterpret_cast(&d->buckets[node->h % d->numBuckets]); 10143: while (*node_ptr != node) 10143: node_ptr = &(*node_ptr)->next; 10143: *node_ptr = node->next; 10143: deleteNode(node); 10143: --d->size; 10143: return ret; 10143: } 10143: 10143: template 10143: inline void QHash::reserve(int asize) 10143: { 10143: detach(); 10143: d->rehash(-qMax(asize, 1)); 10143: } 10143: 10143: template 10143: inline typename QHash::const_iterator QHash::find(const Key &akey) const 10143: { 10143: return const_iterator(*findNode(akey)); 10143: } 10143: 10143: template 10143: inline typename QHash::const_iterator QHash::constFind(const Key &akey) const 10143: { 10143: return const_iterator(*findNode(akey)); 10143: } 10143: 10143: template 10143: inline typename QHash::iterator QHash::find(const Key &akey) 10143: { 10143: detach(); 10143: return iterator(*findNode(akey)); 10143: } 10143: 10143: template 10143: inline bool QHash::contains(const Key &akey) const 10143: { 10143: return *findNode(akey) != e; 10143: } 10143: 10143: template 10143: typename QHash::Node **QHash::findNode(const Key &akey, uint h) const 10143: { 10143: Node **node; 10143: 10143: if (d->numBuckets) { 10143: node = reinterpret_cast(&d->buckets[h % d->numBuckets]); 10143: do { } while ((false) && (*node == e || (*node)->next)); 10143: while (*node != e && !(*node)->same_key(h, akey)) 10143: node = &(*node)->next; 10143: } else { 10143: node = const_cast(reinterpret_cast(&e)); 10143: } 10143: return node; 10143: } 10143: 10143: template 10143: typename QHash::Node **QHash::findNode(const Key &akey, 10143: uint *ahp) const 10143: { 10143: uint h = 0; 10143: 10143: if (d->numBuckets || ahp) { 10143: h = qHash(akey, d->seed); 10143: if (ahp) 10143: *ahp = h; 10143: } 10143: return findNode(akey, h); 10143: } 10143: 10143: template 10143: bool QHash::operator==(const QHash &other) const 10143: { 10143: if (size() != other.size()) 10143: return false; 10143: if (d == other.d) 10143: return true; 10143: 10143: const_iterator it = begin(); 10143: 10143: while (it != end()) { 10143: 10143: 10143: auto thisEqualRangeEnd = it; 10143: while (thisEqualRangeEnd != end() && it.key() == thisEqualRangeEnd.key()) 10143: ++thisEqualRangeEnd; 10143: 10143: const auto otherEqualRange = other.equal_range(it.key()); 10143: 10143: if (std::distance(it, thisEqualRangeEnd) != std::distance(otherEqualRange.first, otherEqualRange.second)) 10143: return false; 10143: # 962 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qhash.h" 3 4 10143: if (!std::is_permutation(it, thisEqualRangeEnd, otherEqualRange.first 10143: 10143: 10143: 10143: )) { 10143: return false; 10143: } 10143: 10143: it = thisEqualRangeEnd; 10143: } 10143: 10143: return true; 10143: } 10143: 10143: template 10143: QPair::iterator, typename QHash::iterator> QHash::equal_range(const Key &akey) 10143: { 10143: detach(); 10143: auto pair = qAsConst(*this).equal_range(akey); 10143: return qMakePair(iterator(pair.first.i), iterator(pair.second.i)); 10143: } 10143: 10143: template 10143: QPair::const_iterator, typename QHash::const_iterator> QHash::equal_range(const Key &akey) const noexcept 10143: { 10143: Node *node = *findNode(akey); 10143: const_iterator firstIt = const_iterator(node); 10143: 10143: if (node != e) { 10143: 10143: 10143: 10143: 10143: while (node->next != e && node->next->key == akey) 10143: node = node->next; 10143: 10143: 10143: 10143: 10143: 10143: node = concrete(QHashData::nextNode(reinterpret_cast(node))); 10143: } 10143: 10143: return qMakePair(firstIt, const_iterator(node)); 10143: } 10143: 10143: template 10143: class QMultiHash : public QHash 10143: { 10143: public: 10143: QMultiHash() noexcept {} 10143: 10143: inline QMultiHash(std::initializer_list > list) 10143: { 10143: this->reserve(int(list.size())); 10143: for (typename std::initializer_list >::const_iterator it = list.begin(); it != list.end(); ++it) 10143: insert(it->first, it->second); 10143: } 10143: 10143: 10143: 10143: 10143: QMultiHash(const QHash &other) : QHash(other) {} 10143: 10143: QMultiHash(QHash &&other) noexcept : QHash(std::move(other)) {} 10143: 10143: void swap(QMultiHash &other) noexcept { QHash::swap(other); } 10143: 10143: inline typename QHash::iterator replace(const Key &key, const T &value) 10143: { return QHash::insert(key, value); } 10143: 10143: inline typename QHash::iterator insert(const Key &key, const T &value) 10143: { return QHash::insertMulti(key, value); } 10143: 10143: inline QMultiHash &operator+=(const QMultiHash &other) 10143: { this->unite(other); return *this; } 10143: inline QMultiHash operator+(const QMultiHash &other) const 10143: { QMultiHash result = *this; result += other; return result; } 10143: 10143: using QHash::contains; 10143: using QHash::remove; 10143: using QHash::count; 10143: using QHash::find; 10143: using QHash::constFind; 10143: 10143: bool contains(const Key &key, const T &value) const; 10143: 10143: int remove(const Key &key, const T &value); 10143: 10143: int count(const Key &key, const T &value) const; 10143: 10143: typename QHash::iterator find(const Key &key, const T &value) { 10143: typename QHash::iterator i(find(key)); 10143: typename QHash::iterator end(this->end()); 10143: while (i != end && i.key() == key) { 10143: if (i.value() == value) 10143: return i; 10143: ++i; 10143: } 10143: return end; 10143: } 10143: typename QHash::const_iterator find(const Key &key, const T &value) const { 10143: typename QHash::const_iterator i(constFind(key)); 10143: typename QHash::const_iterator end(QHash::constEnd()); 10143: while (i != end && i.key() == key) { 10143: if (i.value() == value) 10143: return i; 10143: ++i; 10143: } 10143: return end; 10143: } 10143: typename QHash::const_iterator constFind(const Key &key, const T &value) const 10143: { return find(key, value); } 10143: private: 10143: T &operator[](const Key &key); 10143: const T operator[](const Key &key) const; 10143: }; 10143: 10143: template 10143: inline bool QMultiHash::contains(const Key &key, const T &value) const 10143: { 10143: return constFind(key, value) != QHash::constEnd(); 10143: } 10143: 10143: template 10143: inline int QMultiHash::remove(const Key &key, const T &value) 10143: { 10143: int n = 0; 10143: typename QHash::iterator i(find(key)); 10143: typename QHash::iterator end(QHash::end()); 10143: while (i != end && i.key() == key) { 10143: if (i.value() == value) { 10143: i = this->erase(i); 10143: ++n; 10143: } else { 10143: ++i; 10143: } 10143: } 10143: return n; 10143: } 10143: 10143: template 10143: inline int QMultiHash::count(const Key &key, const T &value) const 10143: { 10143: int n = 0; 10143: typename QHash::const_iterator i(constFind(key)); 10143: typename QHash::const_iterator end(QHash::constEnd()); 10143: while (i != end && i.key() == key) { 10143: if (i.value() == value) 10143: ++n; 10143: ++i; 10143: } 10143: return n; 10143: } 10143: 10143: template class QHashIterator { typedef typename QHash::const_iterator const_iterator; typedef const_iterator Item; QHash c; const_iterator i, n; inline bool item_exists() const { return n != c.constEnd(); } public: inline QHashIterator(const QHash &container) : c(container), i(c.constBegin()), n(c.constEnd()) {} inline QHashIterator &operator=(const QHash &container) { c = container; i = c.constBegin(); n = c.constEnd(); return *this; } inline void toFront() { i = c.constBegin(); n = c.constEnd(); } inline void toBack() { i = c.constEnd(); n = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline Item next() { n = i++; return n; } inline Item peekNext() const { return i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline Item previous() { n = --i; return n; } inline Item peekPrevious() const { const_iterator p = i; return --p; } inline const T &value() const { do { } while ((false) && (item_exists())); return *n; } inline const Key &key() const { do { } while ((false) && (item_exists())); return n.key(); } inline bool findNext(const T &t) { while ((n = i) != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(n = --i) == t) return true; n = c.constEnd(); return false; } }; 10143: template class QMutableHashIterator { typedef typename QHash::iterator iterator; typedef typename QHash::const_iterator const_iterator; typedef iterator Item; QHash *c; iterator i, n; inline bool item_exists() const { return const_iterator(n) != c->constEnd(); } public: inline QMutableHashIterator(QHash &container) : c(&container) { i = c->begin(); n = c->end(); } inline QMutableHashIterator &operator=(QHash &container) { c = &container; i = c->begin(); n = c->end(); return *this; } inline void toFront() { i = c->begin(); n = c->end(); } inline void toBack() { i = c->end(); n = c->end(); } inline bool hasNext() const { return const_iterator(i) != c->constEnd(); } inline Item next() { n = i++; return n; } inline Item peekNext() const { return i; } inline bool hasPrevious() const { return const_iterator(i) != c->constBegin(); } inline Item previous() { n = --i; return n; } inline Item peekPrevious() const { iterator p = i; return --p; } inline void remove() { if (const_iterator(n) != c->constEnd()) { i = c->erase(n); n = c->end(); } } inline void setValue(const T &t) { if (const_iterator(n) != c->constEnd()) *n = t; } inline T &value() { do { } while ((false) && (item_exists())); return *n; } inline const T &value() const { do { } while ((false) && (item_exists())); return *n; } inline const Key &key() const { do { } while ((false) && (item_exists())); return n.key(); } inline bool findNext(const T &t) { while (const_iterator(n = i) != c->constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (const_iterator(i) != c->constBegin()) if (*(n = --i) == t) return true; n = c->end(); return false; } }; 10143: 10143: template 10143: uint qHash(const QHash &key, uint seed = 0) 10143: noexcept(noexcept(qHash(std::declval())) && noexcept(qHash(std::declval()))) 10143: { 10143: QtPrivate::QHashCombineCommutative hash; 10143: for (auto it = key.begin(), end = key.end(); it != end; ++it) { 10143: const Key &k = it.key(); 10143: const T &v = it.value(); 10143: seed = hash(seed, std::pair(k, v)); 10143: } 10143: return seed; 10143: } 10143: 10143: template 10143: inline uint qHash(const QMultiHash &key, uint seed = 0) 10143: noexcept(noexcept(qHash(std::declval())) && noexcept(qHash(std::declval()))) 10143: { 10143: const QHash &key2 = key; 10143: return qHash(key2, seed); 10143: } 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QHash" 2 3 4 10143: # 23 "/usr/include/kdevplatform/language/util/kdevhash.h" 2 3 4 10143: # 38 "/usr/include/kdevplatform/language/util/kdevhash.h" 3 4 10143: class KDevHash 10143: { 10143: public: 10143: enum { 10143: DEFAULT_SEED = 2166136261u 10143: }; 10143: 10143: explicit KDevHash(uint hash = DEFAULT_SEED) 10143: : m_hash(hash) 10143: {} 10143: 10143: KDevHash(const KDevHash&) = delete; 10143: KDevHash& operator=(const KDevHash&) = delete; 10143: 10143: inline operator uint() const 10143: { 10143: return m_hash; 10143: } 10143: 10143: template 10143: inline KDevHash& operator<<(T value) 10143: { 10143: m_hash = hash_combine(m_hash, qHash(value)); 10143: return *this; 10143: } 10143: 10143: static inline uint hash_combine(uint seed, uint hash) 10143: { 10143: 10143: return seed ^ (hash + 0x9e3779b9 + (seed << 6) + (seed >> 2)); 10143: } 10143: 10143: private: 10143: uint m_hash; 10143: }; 10143: # 26 "/usr/include/kdevplatform/language/duchain/indexeddeclaration.h" 2 3 4 10143: 10143: namespace KDevelop { 10143: 10143: class Declaration; 10143: 10143: 10143: 10143: 10143: class __attribute__((visibility("default"))) IndexedDeclaration { 10143: public: 10143: IndexedDeclaration(const Declaration* decl = nullptr); 10143: IndexedDeclaration(uint topContext, uint declarationIndex); 10143: 10143: 10143: 10143: 10143: Declaration* declaration() const; 10143: 10143: 10143: 10143: 10143: Declaration* data() const { 10143: return declaration(); 10143: } 10143: 10143: inline bool operator==(const IndexedDeclaration& rhs) const { 10143: return m_topContext == rhs.m_topContext && m_declarationIndex == rhs.m_declarationIndex; 10143: } 10143: 10143: inline uint hash() const { 10143: if(isDummy()) 10143: return 0; 10143: return KDevHash() << m_topContext << m_declarationIndex; 10143: } 10143: 10143: 10143: inline bool isValid() const { 10143: return !isDummy() && declaration() != nullptr; 10143: } 10143: 10143: inline bool operator<(const IndexedDeclaration& rhs) const { 10143: do { } while ((false) && (!isDummy())); 10143: return m_topContext < rhs.m_topContext || (m_topContext == rhs.m_topContext && m_declarationIndex < rhs.m_declarationIndex); 10143: } 10143: 10143: 10143: 10143: 10143: inline uint localIndex() const { 10143: if(isDummy()) 10143: return 0; 10143: else 10143: return m_declarationIndex; 10143: } 10143: 10143: inline uint topContextIndex() const { 10143: if(isDummy()) 10143: return 0; 10143: else 10143: return m_topContext; 10143: } 10143: 10143: inline IndexedTopDUContext indexedTopContext() const { 10143: if(isDummy()) 10143: return IndexedTopDUContext(); 10143: else 10143: return IndexedTopDUContext(m_topContext); 10143: } 10143: # 102 "/usr/include/kdevplatform/language/duchain/indexeddeclaration.h" 3 4 10143: void setIsDummy(bool dummy) { 10143: if(isDummy() == dummy) 10143: return; 10143: if(dummy) 10143: m_topContext = 1u << 31u; 10143: else 10143: m_topContext = 0; 10143: m_declarationIndex = 0; 10143: } 10143: 10143: inline bool isDummy() const { 10143: 10143: 10143: return (bool)(m_topContext & static_cast(1u << 31u)); 10143: } 10143: 10143: inline QPair dummyData() const { 10143: do { } while ((false) && (isDummy())); 10143: return qMakePair(m_topContext & (~(1u<<31u)), m_declarationIndex); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: void setDummyData(QPair data) { 10143: do { } while ((false) && (isDummy())); 10143: 10143: m_topContext = data.first; 10143: m_declarationIndex = data.second; 10143: do { } while ((false) && (!isDummy())); 10143: m_topContext |= (1u << 31u); 10143: do { } while ((false) && (isDummy())); 10143: do { } while ((false) && (dummyData() == data)); 10143: } 10143: 10143: private: 10143: uint m_topContext; 10143: uint m_declarationIndex; 10143: }; 10143: 10143: inline uint qHash(const IndexedDeclaration& decl) 10143: { 10143: return decl.hash(); 10143: } 10143: 10143: } 10143: 10143: template <> struct QMetaTypeId< KDevelop::IndexedDeclaration > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const int newId = qRegisterMetaType< KDevelop::IndexedDeclaration >("KDevelop::IndexedDeclaration", reinterpret_cast< KDevelop::IndexedDeclaration *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(KDevelop::IndexedDeclaration)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< KDevelop::IndexedDeclaration >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(KDevelop::IndexedDeclaration) }; static inline const char *name() { return "KDevelop::IndexedDeclaration"; } }; 10143: # 27 "/<>/testprovider/phpunitprovider.h" 2 10143: # 1 "/usr/include/kdevplatform/language/duchain/topducontext.h" 1 3 4 10143: # 23 "/usr/include/kdevplatform/language/duchain/topducontext.h" 3 4 10143: # 1 "/usr/include/kdevplatform/language/duchain/ducontext.h" 1 3 4 10143: # 23 "/usr/include/kdevplatform/language/duchain/ducontext.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QHash" 1 3 4 10143: # 24 "/usr/include/kdevplatform/language/duchain/ducontext.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QList" 1 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qlist.h" 1 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QList" 2 3 4 10143: # 25 "/usr/include/kdevplatform/language/duchain/ducontext.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QSet" 1 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qset.h" 1 3 4 10143: # 43 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qset.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qhash.h" 1 3 4 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qset.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: class QSet 10143: { 10143: typedef QHash Hash; 10143: 10143: public: 10143: inline QSet() noexcept {} 10143: 10143: inline QSet(std::initializer_list list) 10143: { 10143: reserve(int(list.size())); 10143: for (typename std::initializer_list::const_iterator it = list.begin(); it != list.end(); ++it) 10143: insert(*it); 10143: } 10143: 10143: 10143: 10143: 10143: inline void swap(QSet &other) noexcept { q_hash.swap(other.q_hash); } 10143: 10143: inline bool operator==(const QSet &other) const 10143: { return q_hash == other.q_hash; } 10143: inline bool operator!=(const QSet &other) const 10143: { return q_hash != other.q_hash; } 10143: 10143: inline int size() const { return q_hash.size(); } 10143: 10143: inline bool isEmpty() const { return q_hash.isEmpty(); } 10143: 10143: inline int capacity() const { return q_hash.capacity(); } 10143: inline void reserve(int size); 10143: inline void squeeze() { q_hash.squeeze(); } 10143: 10143: inline void detach() { q_hash.detach(); } 10143: inline bool isDetached() const { return q_hash.isDetached(); } 10143: 10143: inline void setSharable(bool sharable) { q_hash.setSharable(sharable); } 10143: 10143: 10143: inline void clear() { q_hash.clear(); } 10143: 10143: inline bool remove(const T &value) { return q_hash.remove(value) != 0; } 10143: 10143: inline bool contains(const T &value) const { return q_hash.contains(value); } 10143: 10143: bool contains(const QSet &set) const; 10143: 10143: class const_iterator; 10143: 10143: class iterator 10143: { 10143: typedef QHash Hash; 10143: typename Hash::iterator i; 10143: friend class const_iterator; 10143: friend class QSet; 10143: 10143: public: 10143: typedef std::bidirectional_iterator_tag iterator_category; 10143: typedef qptrdiff difference_type; 10143: typedef T value_type; 10143: typedef const T *pointer; 10143: typedef const T &reference; 10143: 10143: inline iterator() {} 10143: inline iterator(typename Hash::iterator o) : i(o) {} 10143: inline iterator(const iterator &o) : i(o.i) {} 10143: inline iterator &operator=(const iterator &o) { i = o.i; return *this; } 10143: inline const T &operator*() const { return i.key(); } 10143: inline const T *operator->() const { return &i.key(); } 10143: inline bool operator==(const iterator &o) const { return i == o.i; } 10143: inline bool operator!=(const iterator &o) const { return i != o.i; } 10143: inline bool operator==(const const_iterator &o) const 10143: { return i == o.i; } 10143: inline bool operator!=(const const_iterator &o) const 10143: { return i != o.i; } 10143: inline iterator &operator++() { ++i; return *this; } 10143: inline iterator operator++(int) { iterator r = *this; ++i; return r; } 10143: inline iterator &operator--() { --i; return *this; } 10143: inline iterator operator--(int) { iterator r = *this; --i; return r; } 10143: inline iterator operator+(int j) const { return i + j; } 10143: inline iterator operator-(int j) const { return i - j; } 10143: inline iterator &operator+=(int j) { i += j; return *this; } 10143: inline iterator &operator-=(int j) { i -= j; return *this; } 10143: }; 10143: 10143: class const_iterator 10143: { 10143: typedef QHash Hash; 10143: typename Hash::const_iterator i; 10143: friend class iterator; 10143: friend class QSet; 10143: 10143: public: 10143: typedef std::bidirectional_iterator_tag iterator_category; 10143: typedef qptrdiff difference_type; 10143: typedef T value_type; 10143: typedef const T *pointer; 10143: typedef const T &reference; 10143: 10143: inline const_iterator() {} 10143: inline const_iterator(typename Hash::const_iterator o) : i(o) {} 10143: inline const_iterator(const const_iterator &o) : i(o.i) {} 10143: inline const_iterator(const iterator &o) 10143: : i(o.i) {} 10143: inline const_iterator &operator=(const const_iterator &o) { i = o.i; return *this; } 10143: inline const T &operator*() const { return i.key(); } 10143: inline const T *operator->() const { return &i.key(); } 10143: inline bool operator==(const const_iterator &o) const { return i == o.i; } 10143: inline bool operator!=(const const_iterator &o) const { return i != o.i; } 10143: inline const_iterator &operator++() { ++i; return *this; } 10143: inline const_iterator operator++(int) { const_iterator r = *this; ++i; return r; } 10143: inline const_iterator &operator--() { --i; return *this; } 10143: inline const_iterator operator--(int) { const_iterator r = *this; --i; return r; } 10143: inline const_iterator operator+(int j) const { return i + j; } 10143: inline const_iterator operator-(int j) const { return i - j; } 10143: inline const_iterator &operator+=(int j) { i += j; return *this; } 10143: inline const_iterator &operator-=(int j) { i -= j; return *this; } 10143: }; 10143: 10143: 10143: typedef std::reverse_iterator reverse_iterator; 10143: typedef std::reverse_iterator const_reverse_iterator; 10143: 10143: inline iterator begin() { return q_hash.begin(); } 10143: inline const_iterator begin() const noexcept { return q_hash.begin(); } 10143: inline const_iterator cbegin() const noexcept { return q_hash.begin(); } 10143: inline const_iterator constBegin() const noexcept { return q_hash.constBegin(); } 10143: inline iterator end() { return q_hash.end(); } 10143: inline const_iterator end() const noexcept { return q_hash.end(); } 10143: inline const_iterator cend() const noexcept { return q_hash.end(); } 10143: inline const_iterator constEnd() const noexcept { return q_hash.constEnd(); } 10143: 10143: reverse_iterator rbegin() { return reverse_iterator(end()); } 10143: reverse_iterator rend() { return reverse_iterator(begin()); } 10143: const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(end()); } 10143: const_reverse_iterator rend() const noexcept { return const_reverse_iterator(begin()); } 10143: const_reverse_iterator crbegin() const noexcept { return const_reverse_iterator(end()); } 10143: const_reverse_iterator crend() const noexcept { return const_reverse_iterator(begin()); } 10143: 10143: iterator erase(iterator i) 10143: { return erase(m2c(i)); } 10143: iterator erase(const_iterator i) 10143: { 10143: do { } while ((false) && (isValidIterator(i))); 10143: return q_hash.erase(reinterpret_cast(i)); 10143: } 10143: 10143: 10143: typedef iterator Iterator; 10143: typedef const_iterator ConstIterator; 10143: inline int count() const { return q_hash.count(); } 10143: inline iterator insert(const T &value) 10143: { return static_cast(q_hash.insert(value, QHashDummyValue())); } 10143: iterator find(const T &value) { return q_hash.find(value); } 10143: const_iterator find(const T &value) const { return q_hash.find(value); } 10143: inline const_iterator constFind(const T &value) const { return find(value); } 10143: QSet &unite(const QSet &other); 10143: QSet &intersect(const QSet &other); 10143: bool intersects(const QSet &other) const; 10143: QSet &subtract(const QSet &other); 10143: 10143: 10143: typedef T key_type; 10143: typedef T value_type; 10143: typedef value_type *pointer; 10143: typedef const value_type *const_pointer; 10143: typedef value_type &reference; 10143: typedef const value_type &const_reference; 10143: typedef qptrdiff difference_type; 10143: typedef int size_type; 10143: 10143: inline bool empty() const { return isEmpty(); } 10143: 10143: inline QSet &operator<<(const T &value) { insert(value); return *this; } 10143: inline QSet &operator|=(const QSet &other) { unite(other); return *this; } 10143: inline QSet &operator|=(const T &value) { insert(value); return *this; } 10143: inline QSet &operator&=(const QSet &other) { intersect(other); return *this; } 10143: inline QSet &operator&=(const T &value) 10143: { QSet result; if (contains(value)) result.insert(value); return (*this = result); } 10143: inline QSet &operator+=(const QSet &other) { unite(other); return *this; } 10143: inline QSet &operator+=(const T &value) { insert(value); return *this; } 10143: inline QSet &operator-=(const QSet &other) { subtract(other); return *this; } 10143: inline QSet &operator-=(const T &value) { remove(value); return *this; } 10143: inline QSet operator|(const QSet &other) const 10143: { QSet result = *this; result |= other; return result; } 10143: inline QSet operator&(const QSet &other) const 10143: { QSet result = *this; result &= other; return result; } 10143: inline QSet operator+(const QSet &other) const 10143: { QSet result = *this; result += other; return result; } 10143: inline QSet operator-(const QSet &other) const 10143: { QSet result = *this; result -= other; return result; } 10143: 10143: QList toList() const; 10143: inline QList values() const { return toList(); } 10143: 10143: static QSet fromList(const QList &list); 10143: 10143: private: 10143: Hash q_hash; 10143: 10143: static const_iterator m2c(iterator it) noexcept 10143: { return const_iterator(typename Hash::const_iterator(it.i.i)); } 10143: 10143: bool isValidIterator(const iterator &i) const 10143: { 10143: return q_hash.isValidIterator(reinterpret_cast(i)); 10143: } 10143: bool isValidIterator(const const_iterator &i) const noexcept 10143: { 10143: return q_hash.isValidIterator(reinterpret_cast(i)); 10143: } 10143: }; 10143: 10143: template 10143: uint qHash(const QSet &key, uint seed = 0) 10143: noexcept(noexcept(qHashRangeCommutative(key.begin(), key.end(), seed))) 10143: { 10143: return qHashRangeCommutative(key.begin(), key.end(), seed); 10143: } 10143: 10143: 10143: 10143: template 10143: inline void QSet::reserve(int asize) { q_hash.reserve(asize); } 10143: 10143: template 10143: inline QSet &QSet::unite(const QSet &other) 10143: { 10143: QSet copy(other); 10143: typename QSet::const_iterator i = copy.constEnd(); 10143: while (i != copy.constBegin()) { 10143: --i; 10143: insert(*i); 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: inline QSet &QSet::intersect(const QSet &other) 10143: { 10143: QSet copy1; 10143: QSet copy2; 10143: if (size() <= other.size()) { 10143: copy1 = *this; 10143: copy2 = other; 10143: } else { 10143: copy1 = other; 10143: copy2 = *this; 10143: *this = copy1; 10143: } 10143: typename QSet::const_iterator i = copy1.constEnd(); 10143: while (i != copy1.constBegin()) { 10143: --i; 10143: if (!copy2.contains(*i)) 10143: remove(*i); 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: inline bool QSet::intersects(const QSet &other) const 10143: { 10143: const bool otherIsBigger = other.size() > size(); 10143: const QSet &smallestSet = otherIsBigger ? *this : other; 10143: const QSet &biggestSet = otherIsBigger ? other : *this; 10143: const bool equalSeeds = q_hash.d->seed == other.q_hash.d->seed; 10143: typename QSet::const_iterator i = smallestSet.cbegin(); 10143: typename QSet::const_iterator e = smallestSet.cend(); 10143: 10143: if (__builtin_expect(!!(equalSeeds), true)) { 10143: 10143: while (i != e) { 10143: if (*biggestSet.q_hash.findNode(*i, i.i.i->h) != biggestSet.q_hash.e) 10143: return true; 10143: ++i; 10143: } 10143: } else { 10143: while (i != e) { 10143: if (biggestSet.contains(*i)) 10143: return true; 10143: ++i; 10143: } 10143: } 10143: 10143: return false; 10143: } 10143: 10143: template 10143: inline QSet &QSet::subtract(const QSet &other) 10143: { 10143: if (&other == this) { 10143: clear(); 10143: } else { 10143: auto i = other.constEnd(); 10143: while (i != other.constBegin()) { 10143: --i; 10143: remove(*i); 10143: } 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: inline bool QSet::contains(const QSet &other) const 10143: { 10143: typename QSet::const_iterator i = other.constBegin(); 10143: while (i != other.constEnd()) { 10143: if (!contains(*i)) 10143: return false; 10143: ++i; 10143: } 10143: return true; 10143: } 10143: 10143: template 10143: QList QSet::toList() const 10143: { 10143: QList result; 10143: result.reserve(size()); 10143: typename QSet::const_iterator i = constBegin(); 10143: while (i != constEnd()) { 10143: result.append(*i); 10143: ++i; 10143: } 10143: return result; 10143: } 10143: 10143: template 10143: QSet QList::toSet() const 10143: { 10143: QSet result; 10143: result.reserve(size()); 10143: for (int i = 0; i < size(); ++i) 10143: result.insert(at(i)); 10143: return result; 10143: } 10143: 10143: template 10143: QSet QSet::fromList(const QList &list) 10143: { 10143: return list.toSet(); 10143: } 10143: 10143: template 10143: QList QList::fromSet(const QSet &set) 10143: { 10143: return set.toList(); 10143: } 10143: 10143: template class QSetIterator { typedef typename QSet::const_iterator const_iterator; QSet c; const_iterator i; public: inline QSetIterator(const QSet &container) : c(container), i(c.constBegin()) {} inline QSetIterator &operator=(const QSet &container) { c = container; i = c.constBegin(); return *this; } inline void toFront() { i = c.constBegin(); } inline void toBack() { i = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline const T &next() { return *i++; } inline const T &peekNext() const { return *i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline const T &previous() { return *--i; } inline const T &peekPrevious() const { const_iterator p = i; return *--p; } inline bool findNext(const T &t) { while (i != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(--i) == t) return true; return false; } }; 10143: 10143: template 10143: class QMutableSetIterator 10143: { 10143: typedef typename QSet::iterator iterator; 10143: QSet *c; 10143: iterator i, n; 10143: inline bool item_exists() const { return c->constEnd() != n; } 10143: 10143: public: 10143: inline QMutableSetIterator(QSet &container) 10143: : c(&container) 10143: { i = c->begin(); n = c->end(); } 10143: inline QMutableSetIterator &operator=(QSet &container) 10143: { c = &container; i = c->begin(); n = c->end(); return *this; } 10143: inline void toFront() { i = c->begin(); n = c->end(); } 10143: inline void toBack() { i = c->end(); n = i; } 10143: inline bool hasNext() const { return c->constEnd() != i; } 10143: inline const T &next() { n = i++; return *n; } 10143: inline const T &peekNext() const { return *i; } 10143: inline bool hasPrevious() const { return c->constBegin() != i; } 10143: inline const T &previous() { n = --i; return *n; } 10143: inline const T &peekPrevious() const { iterator p = i; return *--p; } 10143: inline void remove() 10143: { if (c->constEnd() != n) { i = c->erase(n); n = c->end(); } } 10143: inline const T &value() const { do { } while ((false) && (item_exists())); return *n; } 10143: inline bool findNext(const T &t) 10143: { while (c->constEnd() != (n = i)) if (*i++ == t) return true; return false; } 10143: inline bool findPrevious(const T &t) 10143: { while (c->constBegin() != i) if (*(n = --i) == t) return true; 10143: n = c->end(); return false; } 10143: }; 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QSet" 2 3 4 10143: # 26 "/usr/include/kdevplatform/language/duchain/ducontext.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QVector" 1 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qvector.h" 1 3 4 10143: # 52 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qvector.h" 3 4 10143: # 1 "/usr/include/c++/8/stdlib.h" 1 3 4 10143: # 53 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qvector.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: class QRegion; 10143: 10143: template 10143: class QVector 10143: { 10143: typedef QTypedArrayData Data; 10143: Data *d; 10143: 10143: public: 10143: inline QVector() noexcept : d(Data::sharedNull()) { } 10143: explicit QVector(int size); 10143: QVector(int size, const T &t); 10143: inline QVector(const QVector &v); 10143: inline ~QVector() { if (!d->ref.deref()) freeData(d); } 10143: QVector &operator=(const QVector &v); 10143: 10143: QVector(QVector &&other) noexcept : d(other.d) { other.d = Data::sharedNull(); } 10143: QVector &operator=(QVector &&other) noexcept 10143: { QVector moved(std::move(other)); swap(moved); return *this; } 10143: 10143: void swap(QVector &other) noexcept { qSwap(d, other.d); } 10143: 10143: inline QVector(std::initializer_list args); 10143: 10143: bool operator==(const QVector &v) const; 10143: inline bool operator!=(const QVector &v) const { return !(*this == v); } 10143: 10143: inline int size() const { return d->size; } 10143: 10143: inline bool isEmpty() const { return d->size == 0; } 10143: 10143: void resize(int size); 10143: 10143: inline int capacity() const { return int(d->alloc); } 10143: void reserve(int size); 10143: inline void squeeze() 10143: { 10143: reallocData(d->size, d->size); 10143: if (d->capacityReserved) { 10143: 10143: 10143: d->capacityReserved = 0; 10143: } 10143: } 10143: 10143: inline void detach(); 10143: inline bool isDetached() const { return !d->ref.isShared(); } 10143: 10143: inline void setSharable(bool sharable) 10143: { 10143: if (sharable == d->ref.isSharable()) 10143: return; 10143: if (!sharable) 10143: detach(); 10143: 10143: if (d == Data::unsharableEmpty()) { 10143: if (sharable) 10143: d = Data::sharedNull(); 10143: } else { 10143: d->ref.setSharable(sharable); 10143: } 10143: do { } while ((false) && (d->ref.isSharable() == sharable)); 10143: } 10143: 10143: 10143: inline bool isSharedWith(const QVector &other) const { return d == other.d; } 10143: 10143: inline T *data() { detach(); return d->begin(); } 10143: inline const T *data() const { return d->begin(); } 10143: inline const T *constData() const { return d->begin(); } 10143: void clear(); 10143: 10143: const T &at(int i) const; 10143: T &operator[](int i); 10143: const T &operator[](int i) const; 10143: void append(const T &t); 10143: 10143: void append(T &&t); 10143: 10143: inline void append(const QVector &l) { *this += l; } 10143: void prepend(const T &t); 10143: void insert(int i, const T &t); 10143: void insert(int i, int n, const T &t); 10143: void replace(int i, const T &t); 10143: void remove(int i); 10143: void remove(int i, int n); 10143: inline void removeFirst() { do { } while ((false) && (!isEmpty())); erase(d->begin()); } 10143: inline void removeLast(); 10143: inline T takeFirst() { do { } while ((false) && (!isEmpty())); T r = first(); removeFirst(); return r; } 10143: inline T takeLast() { do { } while ((false) && (!isEmpty())); T r = last(); removeLast(); return r; } 10143: 10143: QVector &fill(const T &t, int size = -1); 10143: 10143: int indexOf(const T &t, int from = 0) const; 10143: int lastIndexOf(const T &t, int from = -1) const; 10143: bool contains(const T &t) const; 10143: int count(const T &t) const; 10143: 10143: 10143: void removeAt(int i) { remove(i); } 10143: int removeAll(const T &t) 10143: { 10143: const const_iterator ce = this->cend(), cit = std::find(this->cbegin(), ce, t); 10143: if (cit == ce) 10143: return 0; 10143: 10143: const int firstFoundIdx = std::distance(this->cbegin(), cit); 10143: const iterator e = end(), it = std::remove(begin() + firstFoundIdx, e, t); 10143: const int result = std::distance(it, e); 10143: erase(it, e); 10143: return result; 10143: } 10143: bool removeOne(const T &t) 10143: { 10143: const int i = indexOf(t); 10143: if (i < 0) 10143: return false; 10143: remove(i); 10143: return true; 10143: } 10143: int length() const { return size(); } 10143: T takeAt(int i) { T t = at(i); remove(i); return t; } 10143: void move(int from, int to) 10143: { 10143: do { } while ((false) && (from >= 0 && from < size())); 10143: do { } while ((false) && (to >= 0 && to < size())); 10143: if (from == to) 10143: return; 10143: detach(); 10143: T * const b = d->begin(); 10143: if (from < to) 10143: std::rotate(b + from, b + from + 1, b + to + 1); 10143: else 10143: std::rotate(b + to, b + from, b + from + 1); 10143: } 10143: 10143: 10143: typedef typename Data::iterator iterator; 10143: typedef typename Data::const_iterator const_iterator; 10143: typedef std::reverse_iterator reverse_iterator; 10143: typedef std::reverse_iterator const_reverse_iterator; 10143: 10143: inline iterator begin() { detach(); return d->begin(); } 10143: inline const_iterator begin() const noexcept { return d->constBegin(); } 10143: inline const_iterator cbegin() const noexcept { return d->constBegin(); } 10143: inline const_iterator constBegin() const noexcept { return d->constBegin(); } 10143: inline iterator end() { detach(); return d->end(); } 10143: inline const_iterator end() const noexcept { return d->constEnd(); } 10143: inline const_iterator cend() const noexcept { return d->constEnd(); } 10143: inline const_iterator constEnd() const noexcept { return d->constEnd(); } 10143: # 222 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qvector.h" 3 4 10143: reverse_iterator rbegin() { return reverse_iterator(end()); } 10143: reverse_iterator rend() { return reverse_iterator(begin()); } 10143: const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(end()); } 10143: const_reverse_iterator rend() const noexcept { return const_reverse_iterator(begin()); } 10143: const_reverse_iterator crbegin() const noexcept { return const_reverse_iterator(end()); } 10143: const_reverse_iterator crend() const noexcept { return const_reverse_iterator(begin()); } 10143: iterator insert(iterator before, int n, const T &x); 10143: inline iterator insert(iterator before, const T &x) { return insert(before, 1, x); } 10143: iterator erase(iterator begin, iterator end); 10143: inline iterator erase(iterator pos) { return erase(pos, pos+1); } 10143: 10143: 10143: inline int count() const { return d->size; } 10143: inline T& first() { do { } while ((false) && (!isEmpty())); return *begin(); } 10143: inline const T &first() const { do { } while ((false) && (!isEmpty())); return *begin(); } 10143: inline const T &constFirst() const { do { } while ((false) && (!isEmpty())); return *begin(); } 10143: inline T& last() { do { } while ((false) && (!isEmpty())); return *(end()-1); } 10143: inline const T &last() const { do { } while ((false) && (!isEmpty())); return *(end()-1); } 10143: inline const T &constLast() const { do { } while ((false) && (!isEmpty())); return *(end()-1); } 10143: inline bool startsWith(const T &t) const { return !isEmpty() && first() == t; } 10143: inline bool endsWith(const T &t) const { return !isEmpty() && last() == t; } 10143: QVector mid(int pos, int len = -1) const; 10143: 10143: T value(int i) const; 10143: T value(int i, const T &defaultValue) const; 10143: 10143: 10143: typedef T value_type; 10143: typedef value_type* pointer; 10143: typedef const value_type* const_pointer; 10143: typedef value_type& reference; 10143: typedef const value_type& const_reference; 10143: typedef qptrdiff difference_type; 10143: typedef iterator Iterator; 10143: typedef const_iterator ConstIterator; 10143: typedef int size_type; 10143: inline void push_back(const T &t) { append(t); } 10143: 10143: void push_back(T &&t) { append(std::move(t)); } 10143: 10143: inline void push_front(const T &t) { prepend(t); } 10143: void pop_back() { removeLast(); } 10143: void pop_front() { removeFirst(); } 10143: inline bool empty() const 10143: { return d->size == 0; } 10143: inline T& front() { return first(); } 10143: inline const_reference front() const { return first(); } 10143: inline reference back() { return last(); } 10143: inline const_reference back() const { return last(); } 10143: 10143: 10143: QVector &operator+=(const QVector &l); 10143: inline QVector operator+(const QVector &l) const 10143: { QVector n = *this; n += l; return n; } 10143: inline QVector &operator+=(const T &t) 10143: { append(t); return *this; } 10143: inline QVector &operator<< (const T &t) 10143: { append(t); return *this; } 10143: inline QVector &operator<<(const QVector &l) 10143: { *this += l; return *this; } 10143: 10143: QList toList() const; 10143: 10143: static QVector fromList(const QList &list); 10143: 10143: static inline QVector fromStdVector(const std::vector &vector) 10143: { QVector tmp; tmp.reserve(int(vector.size())); std::copy(vector.begin(), vector.end(), std::back_inserter(tmp)); return tmp; } 10143: inline std::vector toStdVector() const 10143: { return std::vector(d->begin(), d->end()); } 10143: private: 10143: friend class QRegion; 10143: 10143: 10143: void reallocData(const int size, const int alloc, QArrayData::AllocationOptions options = QArrayData::Default); 10143: void reallocData(const int sz) { reallocData(sz, d->alloc); } 10143: void freeData(Data *d); 10143: void defaultConstruct(T *from, T *to); 10143: void copyConstruct(const T *srcFrom, const T *srcTo, T *dstFrom); 10143: void destruct(T *from, T *to); 10143: bool isValidIterator(const iterator &i) const 10143: { 10143: return (i <= d->end()) && (d->begin() <= i); 10143: } 10143: class AlignmentDummy { Data header; T array[1]; }; 10143: }; 10143: # 316 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qvector.h" 3 4 10143: template 10143: void QVector::defaultConstruct(T *from, T *to) 10143: { 10143: if (QTypeInfo::isComplex) { 10143: while (from != to) { 10143: new (from++) T(); 10143: } 10143: } else { 10143: ::memset(static_cast(from), 0, (to - from) * sizeof(T)); 10143: } 10143: } 10143: 10143: template 10143: void QVector::copyConstruct(const T *srcFrom, const T *srcTo, T *dstFrom) 10143: { 10143: if (QTypeInfo::isComplex) { 10143: while (srcFrom != srcTo) 10143: new (dstFrom++) T(*srcFrom++); 10143: } else { 10143: ::memcpy(static_cast(dstFrom), static_cast(srcFrom), (srcTo - srcFrom) * sizeof(T)); 10143: } 10143: } 10143: 10143: template 10143: void QVector::destruct(T *from, T *to) 10143: { 10143: if (QTypeInfo::isComplex) { 10143: while (from != to) { 10143: from++->~T(); 10143: } 10143: } 10143: } 10143: 10143: template 10143: inline QVector::QVector(const QVector &v) 10143: { 10143: if (v.d->ref.ref()) { 10143: d = v.d; 10143: } else { 10143: if (v.d->capacityReserved) { 10143: d = Data::allocate(v.d->alloc); 10143: qt_noop(); 10143: d->capacityReserved = true; 10143: } else { 10143: d = Data::allocate(v.d->size); 10143: qt_noop(); 10143: } 10143: if (d->alloc) { 10143: copyConstruct(v.d->begin(), v.d->end(), d->begin()); 10143: d->size = v.d->size; 10143: } 10143: } 10143: } 10143: 10143: 10143: 10143: 10143: 10143: template 10143: void QVector::detach() 10143: { 10143: if (!isDetached()) { 10143: 10143: if (!d->alloc) 10143: d = Data::unsharableEmpty(); 10143: else 10143: 10143: reallocData(d->size, int(d->alloc)); 10143: } 10143: do { } while ((false) && (isDetached())); 10143: } 10143: 10143: template 10143: void QVector::reserve(int asize) 10143: { 10143: if (asize > int(d->alloc)) 10143: reallocData(d->size, asize); 10143: if (isDetached() 10143: 10143: && d != Data::unsharableEmpty() 10143: 10143: ) 10143: d->capacityReserved = 1; 10143: do { } while ((false) && (capacity() >= asize)); 10143: } 10143: 10143: template 10143: void QVector::resize(int asize) 10143: { 10143: int newAlloc; 10143: const int oldAlloc = int(d->alloc); 10143: QArrayData::AllocationOptions opt; 10143: 10143: if (asize > oldAlloc) { 10143: newAlloc = asize; 10143: opt = QArrayData::Grow; 10143: } else { 10143: newAlloc = oldAlloc; 10143: } 10143: reallocData(asize, newAlloc, opt); 10143: } 10143: template 10143: inline void QVector::clear() 10143: { resize(0); } 10143: template 10143: inline const T &QVector::at(int i) const 10143: { do { } while ((false) && (i >= 0 && i < d->size)); 10143: return d->begin()[i]; } 10143: template 10143: inline const T &QVector::operator[](int i) const 10143: { do { } while ((false) && (i >= 0 && i < d->size)); 10143: return d->begin()[i]; } 10143: template 10143: inline T &QVector::operator[](int i) 10143: { do { } while ((false) && (i >= 0 && i < d->size)); 10143: return data()[i]; } 10143: template 10143: inline void QVector::insert(int i, const T &t) 10143: { do { } while ((false) && (i >= 0 && i <= d->size)); 10143: insert(begin() + i, 1, t); } 10143: template 10143: inline void QVector::insert(int i, int n, const T &t) 10143: { do { } while ((false) && (i >= 0 && i <= d->size)); 10143: insert(begin() + i, n, t); } 10143: template 10143: inline void QVector::remove(int i, int n) 10143: { do { } while ((false) && (i >= 0 && n >= 0 && i + n <= d->size)); 10143: erase(d->begin() + i, d->begin() + i + n); } 10143: template 10143: inline void QVector::remove(int i) 10143: { do { } while ((false) && (i >= 0 && i < d->size)); 10143: erase(d->begin() + i, d->begin() + i + 1); } 10143: template 10143: inline void QVector::prepend(const T &t) 10143: { insert(begin(), 1, t); } 10143: 10143: template 10143: inline void QVector::replace(int i, const T &t) 10143: { 10143: do { } while ((false) && (i >= 0 && i < d->size)); 10143: const T copy(t); 10143: data()[i] = copy; 10143: } 10143: 10143: template 10143: QVector &QVector::operator=(const QVector &v) 10143: { 10143: if (v.d != d) { 10143: QVector tmp(v); 10143: tmp.swap(*this); 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: QVector::QVector(int asize) 10143: { 10143: do { } while ((false) && (asize >= 0)); 10143: if (__builtin_expect(!!(asize > 0), true)) { 10143: d = Data::allocate(asize); 10143: qt_noop(); 10143: d->size = asize; 10143: defaultConstruct(d->begin(), d->end()); 10143: } else { 10143: d = Data::sharedNull(); 10143: } 10143: } 10143: 10143: template 10143: QVector::QVector(int asize, const T &t) 10143: { 10143: do { } while ((false) && (asize >= 0)); 10143: if (asize > 0) { 10143: d = Data::allocate(asize); 10143: qt_noop(); 10143: d->size = asize; 10143: T* i = d->end(); 10143: while (i != d->begin()) 10143: new (--i) T(t); 10143: } else { 10143: d = Data::sharedNull(); 10143: } 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: QVector::QVector(std::initializer_list args) 10143: { 10143: if (args.size() > 0) { 10143: d = Data::allocate(args.size()); 10143: qt_noop(); 10143: 10143: 10143: copyConstruct(args.begin(), args.end(), d->begin()); 10143: d->size = int(args.size()); 10143: } else { 10143: d = Data::sharedNull(); 10143: } 10143: } 10143: 10143: 10143: 10143: 10143: 10143: template 10143: void QVector::freeData(Data *x) 10143: { 10143: destruct(x->begin(), x->end()); 10143: Data::deallocate(x); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: void QVector::reallocData(const int asize, const int aalloc, QArrayData::AllocationOptions options) 10143: { 10143: do { } while ((false) && (asize >= 0 && asize <= aalloc)); 10143: Data *x = d; 10143: 10143: const bool isShared = d->ref.isShared(); 10143: 10143: if (aalloc != 0) { 10143: if (aalloc != int(d->alloc) || isShared) { 10143: if (true) { 10143: 10143: x = Data::allocate(aalloc, options); 10143: qt_noop(); 10143: 10143: 10143: do { } while ((false) && (x->ref.isSharable() || options.testFlag(QArrayData::Unsharable))); 10143: 10143: do { } while ((false) && (!x->ref.isStatic())); 10143: x->size = asize; 10143: 10143: T *srcBegin = d->begin(); 10143: T *srcEnd = asize > d->size ? d->end() : d->begin() + asize; 10143: T *dst = x->begin(); 10143: 10143: if (!QTypeInfoQuery::isRelocatable || (isShared && QTypeInfo::isComplex)) { 10143: 10143: while (srcBegin != srcEnd) { 10143: new (dst++) T(*srcBegin++); 10143: } 10143: } else { 10143: ::memcpy(static_cast(dst), static_cast(srcBegin), (srcEnd - srcBegin) * sizeof(T)); 10143: dst += srcEnd - srcBegin; 10143: 10143: 10143: if (asize < d->size) 10143: destruct(d->begin() + asize, d->end()); 10143: } 10143: 10143: if (asize > d->size) { 10143: 10143: if (true) { 10143: defaultConstruct(dst, x->end()); 10143: } else { 10143: 10143: destruct(x->begin(), dst); 10143: qt_noop(); 10143: } 10143: } 10143: } else { 10143: Data::deallocate(x); 10143: qt_noop(); 10143: } 10143: x->capacityReserved = d->capacityReserved; 10143: } else { 10143: do { } while ((false) && (int(d->alloc) == aalloc)); 10143: do { } while ((false) && (isDetached())); 10143: do { } while ((false) && (x == d)); 10143: if (asize <= d->size) { 10143: destruct(x->begin() + asize, x->end()); 10143: } else { 10143: defaultConstruct(x->end(), x->begin() + asize); 10143: } 10143: x->size = asize; 10143: } 10143: } else { 10143: x = Data::sharedNull(); 10143: } 10143: if (d != x) { 10143: if (!d->ref.deref()) { 10143: if (!QTypeInfoQuery::isRelocatable || !aalloc || (isShared && QTypeInfo::isComplex)) { 10143: 10143: 10143: freeData(d); 10143: } else { 10143: Data::deallocate(d); 10143: } 10143: } 10143: d = x; 10143: } 10143: 10143: do { } while ((false) && (d->data())); 10143: do { } while ((false) && (uint(d->size) <= d->alloc)); 10143: 10143: do { } while ((false) && (d != Data::unsharableEmpty())); 10143: 10143: do { } while ((false) && (aalloc ? d != Data::sharedNull() : d == Data::sharedNull())); 10143: do { } while ((false) && (d->alloc >= uint(aalloc))); 10143: do { } while ((false) && (d->size == asize)); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: template 10143: T QVector::value(int i) const 10143: { 10143: if (uint(i) >= uint(d->size)) { 10143: return T(); 10143: } 10143: return d->begin()[i]; 10143: } 10143: template 10143: T QVector::value(int i, const T &defaultValue) const 10143: { 10143: return uint(i) >= uint(d->size) ? defaultValue : d->begin()[i]; 10143: } 10143: 10143: template 10143: void QVector::append(const T &t) 10143: { 10143: const bool isTooSmall = uint(d->size + 1) > d->alloc; 10143: if (!isDetached() || isTooSmall) { 10143: T copy(t); 10143: QArrayData::AllocationOptions opt(isTooSmall ? QArrayData::Grow : QArrayData::Default); 10143: reallocData(d->size, isTooSmall ? d->size + 1 : d->alloc, opt); 10143: 10143: if (QTypeInfo::isComplex) 10143: new (d->end()) T(std::move(copy)); 10143: else 10143: *d->end() = std::move(copy); 10143: 10143: } else { 10143: if (QTypeInfo::isComplex) 10143: new (d->end()) T(t); 10143: else 10143: *d->end() = t; 10143: } 10143: ++d->size; 10143: } 10143: 10143: 10143: template 10143: void QVector::append(T &&t) 10143: { 10143: const bool isTooSmall = uint(d->size + 1) > d->alloc; 10143: if (!isDetached() || isTooSmall) { 10143: QArrayData::AllocationOptions opt(isTooSmall ? QArrayData::Grow : QArrayData::Default); 10143: reallocData(d->size, isTooSmall ? d->size + 1 : d->alloc, opt); 10143: } 10143: 10143: new (d->end()) T(std::move(t)); 10143: 10143: ++d->size; 10143: } 10143: 10143: 10143: template 10143: void QVector::removeLast() 10143: { 10143: do { } while ((false) && (!isEmpty())); 10143: do { } while ((false) && (d->alloc)); 10143: 10143: if (!d->ref.isShared()) { 10143: --d->size; 10143: if (QTypeInfo::isComplex) 10143: (d->data() + d->size)->~T(); 10143: } else { 10143: reallocData(d->size - 1); 10143: } 10143: } 10143: 10143: template 10143: typename QVector::iterator QVector::insert(iterator before, size_type n, const T &t) 10143: { 10143: do { } while ((false) && (isValidIterator(before))); 10143: 10143: const auto offset = std::distance(d->begin(), before); 10143: if (n != 0) { 10143: const T copy(t); 10143: if (!isDetached() || d->size + n > int(d->alloc)) 10143: reallocData(d->size, d->size + n, QArrayData::Grow); 10143: if (!QTypeInfoQuery::isRelocatable) { 10143: T *b = d->end(); 10143: T *i = d->end() + n; 10143: while (i != b) 10143: new (--i) T; 10143: i = d->end(); 10143: T *j = i + n; 10143: b = d->begin() + offset; 10143: while (i != b) 10143: *--j = *--i; 10143: i = b+n; 10143: while (i != b) 10143: *--i = copy; 10143: } else { 10143: T *b = d->begin() + offset; 10143: T *i = b + n; 10143: memmove(i, b, (d->size - offset) * sizeof(T)); 10143: while (i != b) 10143: new (--i) T(copy); 10143: } 10143: d->size += n; 10143: } 10143: return d->begin() + offset; 10143: } 10143: 10143: template 10143: typename QVector::iterator QVector::erase(iterator abegin, iterator aend) 10143: { 10143: do { } while ((false) && (isValidIterator(abegin))); 10143: do { } while ((false) && (isValidIterator(aend))); 10143: 10143: const auto itemsToErase = aend - abegin; 10143: 10143: if (!itemsToErase) 10143: return abegin; 10143: 10143: do { } while ((false) && (abegin >= d->begin())); 10143: do { } while ((false) && (aend <= d->end())); 10143: do { } while ((false) && (abegin <= aend)); 10143: 10143: const auto itemsUntouched = abegin - d->begin(); 10143: 10143: 10143: 10143: 10143: if (d->alloc) { 10143: detach(); 10143: abegin = d->begin() + itemsUntouched; 10143: aend = abegin + itemsToErase; 10143: if (!QTypeInfoQuery::isRelocatable) { 10143: iterator moveBegin = abegin + itemsToErase; 10143: iterator moveEnd = d->end(); 10143: while (moveBegin != moveEnd) { 10143: if (QTypeInfo::isComplex) 10143: static_cast(abegin)->~T(); 10143: new (abegin++) T(*moveBegin++); 10143: } 10143: if (abegin < d->end()) { 10143: 10143: destruct(abegin, d->end()); 10143: } 10143: } else { 10143: destruct(abegin, aend); 10143: 10143: 10143: 10143: memmove(static_cast(abegin), static_cast(aend), 10143: (d->size - itemsToErase - itemsUntouched) * sizeof(T)); 10143: } 10143: d->size -= int(itemsToErase); 10143: } 10143: return d->begin() + itemsUntouched; 10143: } 10143: 10143: template 10143: bool QVector::operator==(const QVector &v) const 10143: { 10143: if (d == v.d) 10143: return true; 10143: if (d->size != v.d->size) 10143: return false; 10143: const T *vb = v.d->begin(); 10143: const T *b = d->begin(); 10143: const T *e = d->end(); 10143: return std::equal(b, e, (vb)); 10143: } 10143: 10143: template 10143: QVector &QVector::fill(const T &from, int asize) 10143: { 10143: const T copy(from); 10143: resize(asize < 0 ? d->size : asize); 10143: if (d->size) { 10143: T *i = d->end(); 10143: T *b = d->begin(); 10143: while (i != b) 10143: *--i = copy; 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: QVector &QVector::operator+=(const QVector &l) 10143: { 10143: if (d == Data::sharedNull()) { 10143: *this = l; 10143: } else { 10143: uint newSize = d->size + l.d->size; 10143: const bool isTooSmall = newSize > d->alloc; 10143: if (!isDetached() || isTooSmall) { 10143: QArrayData::AllocationOptions opt(isTooSmall ? QArrayData::Grow : QArrayData::Default); 10143: reallocData(d->size, isTooSmall ? newSize : d->alloc, opt); 10143: } 10143: 10143: if (d->alloc) { 10143: T *w = d->begin() + newSize; 10143: T *i = l.d->end(); 10143: T *b = l.d->begin(); 10143: while (i != b) { 10143: if (QTypeInfo::isComplex) 10143: new (--w) T(*--i); 10143: else 10143: *--w = *--i; 10143: } 10143: d->size = newSize; 10143: } 10143: } 10143: return *this; 10143: } 10143: 10143: template 10143: int QVector::indexOf(const T &t, int from) const 10143: { 10143: if (from < 0) 10143: from = qMax(from + d->size, 0); 10143: if (from < d->size) { 10143: T* n = d->begin() + from - 1; 10143: T* e = d->end(); 10143: while (++n != e) 10143: if (*n == t) 10143: return n - d->begin(); 10143: } 10143: return -1; 10143: } 10143: 10143: template 10143: int QVector::lastIndexOf(const T &t, int from) const 10143: { 10143: if (from < 0) 10143: from += d->size; 10143: else if (from >= d->size) 10143: from = d->size-1; 10143: if (from >= 0) { 10143: T* b = d->begin(); 10143: T* n = d->begin() + from + 1; 10143: while (n != b) { 10143: if (*--n == t) 10143: return n - b; 10143: } 10143: } 10143: return -1; 10143: } 10143: 10143: template 10143: bool QVector::contains(const T &t) const 10143: { 10143: const T *b = d->begin(); 10143: const T *e = d->end(); 10143: return std::find(b, e, t) != e; 10143: } 10143: 10143: template 10143: int QVector::count(const T &t) const 10143: { 10143: const T *b = d->begin(); 10143: const T *e = d->end(); 10143: return int(std::count(b, e, t)); 10143: } 10143: 10143: template 10143: QVector QVector::mid(int pos, int len) const 10143: { 10143: using namespace QtPrivate; 10143: switch (QContainerImplHelper::mid(d->size, &pos, &len)) { 10143: case QContainerImplHelper::Null: 10143: case QContainerImplHelper::Empty: 10143: return QVector(); 10143: case QContainerImplHelper::Full: 10143: return *this; 10143: case QContainerImplHelper::Subset: 10143: break; 10143: } 10143: 10143: QVector midResult; 10143: midResult.reallocData(0, len); 10143: T *srcFrom = d->begin() + pos; 10143: T *srcTo = d->begin() + pos + len; 10143: midResult.copyConstruct(srcFrom, srcTo, midResult.data()); 10143: midResult.d->size = len; 10143: return midResult; 10143: } 10143: 10143: template 10143: QList QVector::toList() const 10143: { 10143: QList result; 10143: result.reserve(size()); 10143: for (int i = 0; i < size(); ++i) 10143: result.append(at(i)); 10143: return result; 10143: } 10143: 10143: template 10143: QVector QList::toVector() const 10143: { 10143: QVector result(size()); 10143: for (int i = 0; i < size(); ++i) 10143: result[i] = at(i); 10143: return result; 10143: } 10143: 10143: template 10143: QVector QVector::fromList(const QList &list) 10143: { 10143: return list.toVector(); 10143: } 10143: 10143: template 10143: QList QList::fromVector(const QVector &vector) 10143: { 10143: return vector.toList(); 10143: } 10143: 10143: template class QVectorIterator { typedef typename QVector::const_iterator const_iterator; QVector c; const_iterator i; public: inline QVectorIterator(const QVector &container) : c(container), i(c.constBegin()) {} inline QVectorIterator &operator=(const QVector &container) { c = container; i = c.constBegin(); return *this; } inline void toFront() { i = c.constBegin(); } inline void toBack() { i = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline const T &next() { return *i++; } inline const T &peekNext() const { return *i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline const T &previous() { return *--i; } inline const T &peekPrevious() const { const_iterator p = i; return *--p; } inline bool findNext(const T &t) { while (i != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(--i) == t) return true; return false; } }; 10143: template class QMutableVectorIterator { typedef typename QVector::iterator iterator; typedef typename QVector::const_iterator const_iterator; QVector *c; iterator i, n; inline bool item_exists() const { return const_iterator(n) != c->constEnd(); } public: inline QMutableVectorIterator(QVector &container) : c(&container) { i = c->begin(); n = c->end(); } inline QMutableVectorIterator &operator=(QVector &container) { c = &container; i = c->begin(); n = c->end(); return *this; } inline void toFront() { i = c->begin(); n = c->end(); } inline void toBack() { i = c->end(); n = i; } inline bool hasNext() const { return c->constEnd() != const_iterator(i); } inline T &next() { n = i++; return *n; } inline T &peekNext() const { return *i; } inline bool hasPrevious() const { return c->constBegin() != const_iterator(i); } inline T &previous() { n = --i; return *n; } inline T &peekPrevious() const { iterator p = i; return *--p; } inline void remove() { if (c->constEnd() != const_iterator(n)) { i = c->erase(n); n = c->end(); } } inline void setValue(const T &t) const { if (c->constEnd() != const_iterator(n)) *n = t; } inline T &value() { do { } while ((false) && (item_exists())); return *n; } inline const T &value() const { do { } while ((false) && (item_exists())); return *n; } inline void insert(const T &t) { n = i = c->insert(i, t); ++i; } inline bool findNext(const T &t) { while (c->constEnd() != const_iterator(n = i)) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (c->constBegin() != const_iterator(i)) if (*(n = --i) == t) return true; n = c->end(); return false; } }; 10143: 10143: template 10143: uint qHash(const QVector &key, uint seed = 0) 10143: noexcept(noexcept(qHashRange(key.cbegin(), key.cend(), seed))) 10143: { 10143: return qHashRange(key.cbegin(), key.cend(), seed); 10143: } 10143: 10143: template 10143: bool operator<(const QVector &lhs, const QVector &rhs) 10143: noexcept(noexcept(std::lexicographical_compare(lhs.begin(), lhs.end(), rhs.begin(), rhs.end()))) 10143: 10143: { 10143: return std::lexicographical_compare(lhs.begin(), lhs.end(), 10143: rhs.begin(), rhs.end()); 10143: } 10143: 10143: template 10143: inline bool operator>(const QVector &lhs, const QVector &rhs) 10143: noexcept(noexcept(lhs < rhs)) 10143: { 10143: return rhs < lhs; 10143: } 10143: 10143: template 10143: inline bool operator<=(const QVector &lhs, const QVector &rhs) 10143: noexcept(noexcept(lhs < rhs)) 10143: { 10143: return !(lhs > rhs); 10143: } 10143: 10143: template 10143: inline bool operator>=(const QVector &lhs, const QVector &rhs) 10143: noexcept(noexcept(lhs < rhs)) 10143: { 10143: return !(lhs < rhs); 10143: } 10143: # 1006 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qvector.h" 3 4 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QVector" 2 3 4 10143: # 27 "/usr/include/kdevplatform/language/duchain/ducontext.h" 2 3 4 10143: 10143: # 1 "/usr/include/kdevplatform/util/kdevvarlengtharray.h" 1 3 4 10143: # 24 "/usr/include/kdevplatform/util/kdevvarlengtharray.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QVarLengthArray" 1 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qvarlengtharray.h" 1 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QVarLengthArray" 2 3 4 10143: # 25 "/usr/include/kdevplatform/util/kdevvarlengtharray.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QVector" 1 3 4 10143: # 26 "/usr/include/kdevplatform/util/kdevvarlengtharray.h" 2 3 4 10143: 10143: 10143: 10143: 10143: template 10143: class KDevVarLengthArray : public QVarLengthArray 10143: { 10143: using Base = QVarLengthArray; 10143: 10143: public: 10143: using Base::QVarLengthArray; 10143: 10143: 10143: inline bool removeOne(const T& value); 10143: 10143: 10143: QList toList() const; 10143: 10143: 10143: QVector toVector() const; 10143: }; 10143: 10143: template 10143: inline bool KDevVarLengthArray::removeOne(const T& value) 10143: { 10143: const int idx = Base::indexOf(value); 10143: if (idx == -1) { 10143: return false; 10143: } 10143: Base::remove(idx); 10143: return true; 10143: } 10143: 10143: template 10143: QList< T > KDevVarLengthArray::toList() const 10143: { 10143: QList ret; 10143: ret.reserve(Base::size()); 10143: const T* const end = Base::constEnd(); 10143: for(const T* it = Base::constBegin(); it != end; ++it) { 10143: ret << *it; 10143: } 10143: 10143: return ret; 10143: } 10143: 10143: template 10143: QVector< T > KDevVarLengthArray::toVector() const 10143: { 10143: QVector ret; 10143: ret.reserve(Base::size()); 10143: const T* const end = Base::constEnd(); 10143: for(const T* it = Base::constBegin(); it != end; ++it) { 10143: ret << *it; 10143: } 10143: 10143: return ret; 10143: } 10143: # 29 "/usr/include/kdevplatform/language/duchain/ducontext.h" 2 3 4 10143: 10143: # 1 "/usr/include/kdevplatform/language/duchain/identifier.h" 1 3 4 10143: # 23 "/usr/include/kdevplatform/language/duchain/identifier.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QList" 1 3 4 10143: # 24 "/usr/include/kdevplatform/language/duchain/identifier.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QMetaType" 1 3 4 10143: # 25 "/usr/include/kdevplatform/language/duchain/identifier.h" 2 3 4 10143: 10143: 10143: 10143: # 1 "/usr/include/kdevplatform/serialization/referencecounting.h" 1 3 4 10143: # 24 "/usr/include/kdevplatform/serialization/referencecounting.h" 3 4 10143: # 1 "/usr/include/kdevplatform/serialization/serializationexport.h" 1 3 4 10143: # 25 "/usr/include/kdevplatform/serialization/referencecounting.h" 2 3 4 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QMap" 1 3 4 10143: # 27 "/usr/include/kdevplatform/serialization/referencecounting.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QPair" 1 3 4 10143: # 28 "/usr/include/kdevplatform/serialization/referencecounting.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QMutexLocker" 1 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmutex.h" 1 3 4 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmutex.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmutex.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: class tst_QMutex; 10143: 10143: 10143: # 65 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmutex.h" 3 4 10143: class QMutexData; 10143: 10143: class __attribute__((visibility("default"))) QBasicMutex 10143: { 10143: public: 10143: 10143: inline void lock() noexcept { 10143: if (!fastTryLock()) 10143: lockInternal(); 10143: } 10143: 10143: 10143: inline void unlock() noexcept { 10143: do { } while ((false) && (d_ptr.load())); 10143: if (!fastTryUnlock()) 10143: unlockInternal(); 10143: } 10143: 10143: bool tryLock() noexcept { 10143: return fastTryLock(); 10143: } 10143: 10143: 10143: bool try_lock() noexcept { return tryLock(); } 10143: 10143: bool isRecursive() noexcept; 10143: bool isRecursive() const noexcept; 10143: 10143: private: 10143: inline bool fastTryLock() noexcept { 10143: return d_ptr.testAndSetAcquire(nullptr, dummyLocked()); 10143: } 10143: inline bool fastTryUnlock() noexcept { 10143: return d_ptr.testAndSetRelease(dummyLocked(), nullptr); 10143: } 10143: inline bool fastTryLock(QMutexData *¤t) noexcept { 10143: return d_ptr.testAndSetAcquire(nullptr, dummyLocked(), current); 10143: } 10143: inline bool fastTryUnlock(QMutexData *¤t) noexcept { 10143: return d_ptr.testAndSetRelease(dummyLocked(), nullptr, current); 10143: } 10143: 10143: void lockInternal() noexcept; 10143: bool lockInternal(int timeout) noexcept; 10143: void unlockInternal() noexcept; 10143: 10143: QBasicAtomicPointer d_ptr; 10143: static inline QMutexData *dummyLocked() { 10143: return reinterpret_cast(quintptr(1)); 10143: } 10143: 10143: friend class QMutex; 10143: friend class QMutexData; 10143: }; 10143: 10143: class __attribute__((visibility("default"))) QMutex : public QBasicMutex 10143: { 10143: public: 10143: enum RecursionMode { NonRecursive, Recursive }; 10143: explicit QMutex(RecursionMode mode = NonRecursive); 10143: ~QMutex(); 10143: 10143: 10143: void lock() noexcept; 10143: bool tryLock(int timeout = 0) noexcept; 10143: 10143: void unlock() noexcept; 10143: 10143: 10143: bool try_lock() noexcept { return tryLock(); } 10143: 10143: 10143: 10143: template 10143: bool try_lock_for(std::chrono::duration duration) 10143: { 10143: return tryLock(convertToMilliseconds(duration)); 10143: } 10143: 10143: 10143: template 10143: bool try_lock_until(std::chrono::time_point timePoint) 10143: { 10143: 10143: 10143: 10143: return try_lock_for(timePoint - Clock::now()); 10143: } 10143: 10143: 10143: bool isRecursive() const noexcept 10143: { return QBasicMutex::isRecursive(); } 10143: 10143: private: 10143: QMutex(const QMutex &) = delete; QMutex &operator=(const QMutex &) = delete; 10143: friend class QMutexLocker; 10143: friend class ::tst_QMutex; 10143: 10143: 10143: template 10143: static int convertToMilliseconds(std::chrono::duration duration) 10143: { 10143: 10143: 10143: 10143: 10143: 10143: if (duration <= duration.zero()) 10143: return 0; 10143: 10143: 10143: 10143: std::chrono::milliseconds wait = std::chrono::duration_cast(duration); 10143: if (wait < duration) 10143: wait += std::chrono::milliseconds(1); 10143: do { } while ((false) && (wait >= duration)); 10143: const auto ms = wait.count(); 10143: const auto maxInt = (std::numeric_limits::max)(); 10143: 10143: return ms < maxInt ? int(ms) : maxInt; 10143: } 10143: 10143: }; 10143: 10143: class __attribute__((visibility("default"))) QMutexLocker 10143: { 10143: public: 10143: 10143: inline explicit QMutexLocker(QBasicMutex *m) noexcept 10143: { 10143: do { } while ((false) && ((reinterpret_cast(m) & quintptr(1u)) == quintptr(0))) 10143: ; 10143: val = quintptr(m); 10143: if (__builtin_expect(!!(m), true)) { 10143: 10143: static_cast(m)->lock(); 10143: val |= 1; 10143: } 10143: } 10143: 10143: 10143: 10143: inline ~QMutexLocker() { unlock(); } 10143: 10143: inline void unlock() noexcept 10143: { 10143: if ((val & quintptr(1u)) == quintptr(1u)) { 10143: val &= ~quintptr(1u); 10143: mutex()->unlock(); 10143: } 10143: } 10143: 10143: inline void relock() noexcept 10143: { 10143: if (val) { 10143: if ((val & quintptr(1u)) == quintptr(0u)) { 10143: mutex()->lock(); 10143: val |= quintptr(1u); 10143: } 10143: } 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: inline QMutex *mutex() const 10143: { 10143: return reinterpret_cast(val & ~quintptr(1u)); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: private: 10143: QMutexLocker(const QMutexLocker &) = delete; QMutexLocker &operator=(const QMutexLocker &) = delete; 10143: 10143: quintptr val; 10143: }; 10143: # 300 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmutex.h" 3 4 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QMutexLocker" 2 3 4 10143: # 29 "/usr/include/kdevplatform/serialization/referencecounting.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: namespace KDevelop { 10143: 10143: template 10143: const T* make_const(const T* argument) { 10143: return argument; 10143: } 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) extern bool doReferenceCounting; 10143: __attribute__((visibility("default"))) extern QMutex refCountingLock; 10143: __attribute__((visibility("default"))) extern QMap >* refCountingRanges; 10143: __attribute__((visibility("default"))) extern bool refCountingHasAdditionalRanges; 10143: __attribute__((visibility("default"))) extern void* refCountingFirstRangeStart; 10143: __attribute__((visibility("default"))) extern QPair refCountingFirstRangeExtent; 10143: 10143: __attribute__((visibility("default"))) void initReferenceCounting(); 10143: 10143: 10143: inline bool shouldDoDUChainReferenceCountingInternal(void* item) 10143: { 10143: auto it = make_const(refCountingRanges)->upperBound(item); 10143: if (it != refCountingRanges->constBegin()) { 10143: --it; 10143: return ((char*)it.key()) <= (char*)item && (char*)item < ((char*)it.key()) + it.value().first; 10143: } 10143: 10143: return false; 10143: } 10143: 10143: 10143: inline bool shouldDoDUChainReferenceCounting(void* item) 10143: { 10143: if(!doReferenceCounting) 10143: return false; 10143: 10143: QMutexLocker lock(&refCountingLock); 10143: 10143: if(refCountingFirstRangeStart && 10143: (((char*)refCountingFirstRangeStart) <= (char*)item) && 10143: ((char*)item < ((char*)refCountingFirstRangeStart) + refCountingFirstRangeExtent.first)) 10143: return true; 10143: 10143: if(refCountingHasAdditionalRanges) 10143: return shouldDoDUChainReferenceCountingInternal(item); 10143: else 10143: return false; 10143: } 10143: # 92 "/usr/include/kdevplatform/serialization/referencecounting.h" 3 4 10143: __attribute__((visibility("default"))) void enableDUChainReferenceCounting(void* start, unsigned int size); 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) void disableDUChainReferenceCounting(void* start); 10143: 10143: 10143: 10143: struct ReferenceCountManager { 10143: 10143: inline void increase(uint& ref, uint ) { 10143: ++ref; 10143: } 10143: inline void decrease(uint& ref, uint ) { 10143: do { } while ((false) && (ref)); 10143: --ref; 10143: } 10143: # 125 "/usr/include/kdevplatform/serialization/referencecounting.h" 3 4 10143: }; 10143: } 10143: # 29 "/usr/include/kdevplatform/language/duchain/identifier.h" 2 3 4 10143: 10143: 10143: 10143: 10143: class QStringList; 10143: 10143: namespace KDevelop 10143: { 10143: 10143: class IndexedTypeIdentifier; 10143: class Identifier; 10143: class QualifiedIdentifier; 10143: template 10143: class QualifiedIdentifierPrivate; 10143: template 10143: class IdentifierPrivate; 10143: class IndexedString; 10143: # 57 "/usr/include/kdevplatform/language/duchain/identifier.h" 3 4 10143: class __attribute__((visibility("default"))) IndexedIdentifier : public ReferenceCountManager 10143: { 10143: public: 10143: IndexedIdentifier(); 10143: explicit IndexedIdentifier(const Identifier& id); 10143: IndexedIdentifier(const IndexedIdentifier& rhs); 10143: IndexedIdentifier(IndexedIdentifier&& rhs) noexcept; 10143: IndexedIdentifier& operator=(const Identifier& id); 10143: IndexedIdentifier& operator=(const IndexedIdentifier& rhs); 10143: IndexedIdentifier& operator=(IndexedIdentifier&& rhs) noexcept; 10143: ~IndexedIdentifier(); 10143: bool operator==(const IndexedIdentifier& rhs) const; 10143: bool operator!=(const IndexedIdentifier& rhs) const; 10143: bool operator==(const Identifier& id) const; 10143: 10143: bool isEmpty() const; 10143: 10143: Identifier identifier() const; 10143: operator Identifier() const; 10143: 10143: uint getIndex() const 10143: { 10143: return index; 10143: } 10143: 10143: private: 10143: unsigned int index; 10143: }; 10143: # 96 "/usr/include/kdevplatform/language/duchain/identifier.h" 3 4 10143: class __attribute__((visibility("default"))) IndexedQualifiedIdentifier : public ReferenceCountManager 10143: { 10143: public: 10143: IndexedQualifiedIdentifier(); 10143: IndexedQualifiedIdentifier(const QualifiedIdentifier& id); 10143: IndexedQualifiedIdentifier(const IndexedQualifiedIdentifier& rhs); 10143: IndexedQualifiedIdentifier(IndexedQualifiedIdentifier&& rhs) noexcept; 10143: IndexedQualifiedIdentifier& operator=(const QualifiedIdentifier& id); 10143: IndexedQualifiedIdentifier& operator=(const IndexedQualifiedIdentifier& id); 10143: IndexedQualifiedIdentifier& operator=(IndexedQualifiedIdentifier&& rhs) noexcept; 10143: ~IndexedQualifiedIdentifier(); 10143: bool operator==(const IndexedQualifiedIdentifier& rhs) const; 10143: bool operator==(const QualifiedIdentifier& id) const; 10143: 10143: bool operator<(const IndexedQualifiedIdentifier& rhs) const 10143: { 10143: return index < rhs.index; 10143: } 10143: 10143: bool isValid() const; 10143: bool isEmpty() const; 10143: 10143: QualifiedIdentifier identifier() const; 10143: operator QualifiedIdentifier() const; 10143: 10143: uint getIndex() const 10143: { 10143: return index; 10143: } 10143: 10143: private: 10143: uint index; 10143: }; 10143: 10143: 10143: 10143: 10143: enum IdentifierStringFormattingOption { 10143: NoOptions = 0x0, 10143: 10143: 10143: 10143: 10143: RemoveExplicitlyGlobalPrefix = 0x1, 10143: 10143: 10143: 10143: RemoveTemplateInformation = 0x2 10143: }; 10143: typedef QFlags IdentifierStringFormattingOptions; 10143: 10143: 10143: 10143: 10143: class __attribute__((visibility("default"))) Identifier 10143: { 10143: friend class QualifiedIdentifier; 10143: 10143: public: 10143: # 163 "/usr/include/kdevplatform/language/duchain/identifier.h" 3 4 10143: explicit Identifier(const QString& str, uint start = 0, uint* takenRange = nullptr); 10143: 10143: 10143: 10143: explicit Identifier(const IndexedString& str); 10143: Identifier(const Identifier& rhs); 10143: explicit Identifier(uint index); 10143: Identifier(); 10143: Identifier(Identifier&& rhs) noexcept; 10143: ~Identifier(); 10143: Identifier& operator=(const Identifier& rhs); 10143: Identifier& operator=(Identifier&& rhs) noexcept; 10143: 10143: static Identifier unique(int token); 10143: 10143: bool isUnique() const; 10143: int uniqueToken() const; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: void setUnique(int token); 10143: 10143: const IndexedString identifier() const; 10143: void setIdentifier(const QString& identifier); 10143: 10143: 10143: 10143: void setIdentifier(const IndexedString& identifier); 10143: 10143: uint hash() const; 10143: 10143: 10143: 10143: 10143: bool nameEquals(const Identifier& rhs) const; 10143: 10143: 10143: 10143: 10143: IndexedTypeIdentifier templateIdentifier(int num) const; 10143: uint templateIdentifiersCount() const; 10143: void appendTemplateIdentifier(const IndexedTypeIdentifier& identifier); 10143: void clearTemplateIdentifiers(); 10143: void setTemplateIdentifiers(const QList& templateIdentifiers); 10143: 10143: QString toString(IdentifierStringFormattingOptions options = NoOptions) const; 10143: 10143: bool operator==(const Identifier& rhs) const; 10143: bool operator!=(const Identifier& rhs) const; 10143: 10143: bool isEmpty() const; 10143: 10143: 10143: 10143: 10143: 10143: 10143: uint index() const; 10143: 10143: bool inRepository() const; 10143: private: 10143: void makeConstant() const; 10143: void prepareWrite(); 10143: 10143: 10143: mutable uint m_index; 10143: union { 10143: mutable IdentifierPrivate* dd; 10143: mutable const IdentifierPrivate* cd; 10143: }; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: class __attribute__((visibility("default"))) QualifiedIdentifier 10143: { 10143: public: 10143: explicit QualifiedIdentifier(const QString& id, bool isExpression = false); 10143: explicit QualifiedIdentifier(const Identifier& id); 10143: QualifiedIdentifier(const QualifiedIdentifier& id); 10143: explicit QualifiedIdentifier(uint index); 10143: QualifiedIdentifier(); 10143: QualifiedIdentifier(QualifiedIdentifier&& rhs) noexcept; 10143: ~QualifiedIdentifier(); 10143: QualifiedIdentifier& operator=(const QualifiedIdentifier& rhs); 10143: QualifiedIdentifier& operator=(QualifiedIdentifier&& rhs) noexcept; 10143: 10143: 10143: 10143: 10143: void push(const IndexedIdentifier& id); 10143: 10143: 10143: 10143: 10143: 10143: void push(const Identifier& id); 10143: 10143: 10143: 10143: void push(const QualifiedIdentifier& id); 10143: 10143: 10143: 10143: 10143: void pop(); 10143: void clear(); 10143: bool isEmpty() const; 10143: int count() const; 10143: Identifier first() const; 10143: IndexedIdentifier indexedFirst() const; 10143: Identifier last() const; 10143: IndexedIdentifier indexedLast() const; 10143: Identifier top() const; 10143: Identifier at(int i) const; 10143: IndexedIdentifier indexedAt(int i) const; 10143: 10143: 10143: 10143: 10143: QualifiedIdentifier mid(int pos, int len = -1) const; 10143: 10143: 10143: 10143: 10143: 10143: 10143: inline QualifiedIdentifier left(int len) const 10143: { 10143: return mid(0, len > 0 ? len : count() + len); 10143: } 10143: 10143: 10143: bool explicitlyGlobal() const; 10143: void setExplicitlyGlobal(bool eg); 10143: bool isQualified() const; 10143: 10143: 10143: 10143: 10143: bool isExpression() const; 10143: 10143: 10143: 10143: 10143: 10143: void setIsExpression(bool); 10143: 10143: QString toString(IdentifierStringFormattingOptions options = NoOptions) const; 10143: QStringList toStringList(IdentifierStringFormattingOptions options = NoOptions) const; 10143: 10143: QualifiedIdentifier operator+(const QualifiedIdentifier& rhs) const; 10143: QualifiedIdentifier& operator+=(const QualifiedIdentifier& rhs); 10143: 10143: 10143: 10143: 10143: QualifiedIdentifier operator+(const Identifier& rhs) const; 10143: QualifiedIdentifier& operator+=(const Identifier& rhs); 10143: 10143: QualifiedIdentifier operator+(const IndexedIdentifier& rhs) const; 10143: QualifiedIdentifier& operator+=(const IndexedIdentifier& rhs); 10143: 10143: 10143: 10143: 10143: 10143: 10143: QualifiedIdentifier merge(const QualifiedIdentifier& base) const; 10143: 10143: 10143: 10143: 10143: 10143: bool operator==(const QualifiedIdentifier& rhs) const; 10143: bool operator!=(const QualifiedIdentifier& rhs) const; 10143: 10143: bool beginsWith(const QualifiedIdentifier& other) const; 10143: 10143: uint index() const; 10143: 10143: 10143: 10143: 10143: bool inRepository() const; 10143: 10143: 10143: 10143: 10143: uint hash() const; 10143: 10143: protected: 10143: bool sameIdentifiers(const QualifiedIdentifier& rhs) const; 10143: 10143: void makeConstant() const; 10143: void prepareWrite(); 10143: 10143: mutable uint m_index; 10143: union { 10143: mutable QualifiedIdentifierPrivate* dd; 10143: mutable const QualifiedIdentifierPrivate* cd; 10143: }; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: class __attribute__((visibility("default"))) IndexedTypeIdentifier 10143: { 10143: public: 10143: 10143: 10143: 10143: explicit IndexedTypeIdentifier(const IndexedQualifiedIdentifier& identifier = IndexedQualifiedIdentifier()); 10143: explicit IndexedTypeIdentifier(const QString& identifer, bool isExpression = false); 10143: 10143: bool isReference() const; 10143: void setIsReference(bool); 10143: 10143: bool isRValue() const; 10143: void setIsRValue(bool); 10143: 10143: bool isConstant() const; 10143: void setIsConstant(bool); 10143: 10143: bool isVolatile() const; 10143: void setIsVolatile(bool); 10143: 10143: IndexedQualifiedIdentifier identifier() const ; 10143: 10143: void setIdentifier(const IndexedQualifiedIdentifier& id); 10143: 10143: 10143: 10143: 10143: int pointerDepth() const; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: void setPointerDepth(int); 10143: 10143: 10143: 10143: 10143: bool isConstPointer(int depthNumber) const; 10143: void setIsConstPointer(int depthNumber, bool constant); 10143: 10143: QString toString(IdentifierStringFormattingOptions options = NoOptions) const; 10143: 10143: uint hash() const; 10143: 10143: 10143: 10143: 10143: 10143: bool operator==(const IndexedTypeIdentifier& rhs) const; 10143: bool operator!=(const IndexedTypeIdentifier& rhs) const; 10143: 10143: private: 10143: IndexedQualifiedIdentifier m_identifier; 10143: 10143: 10143: bool m_isConstant : 1; 10143: bool m_isReference : 1; 10143: bool m_isRValue : 1; 10143: bool m_isVolatile : 1; 10143: uint m_pointerDepth : 5; 10143: uint m_pointerConstMask : 23; 10143: }; 10143: 10143: __attribute__((visibility("default"))) uint qHash(const IndexedTypeIdentifier& id); 10143: __attribute__((visibility("default"))) uint qHash(const QualifiedIdentifier& id); 10143: __attribute__((visibility("default"))) uint qHash(const Identifier& id); 10143: 10143: inline uint qHash(const IndexedIdentifier& id) 10143: { 10143: return id.getIndex(); 10143: } 10143: 10143: inline uint qHash(const IndexedQualifiedIdentifier& id) 10143: { 10143: return id.getIndex(); 10143: } 10143: 10143: } 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(KDevelop::IndexedQualifiedIdentifier)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< KDevelop::IndexedQualifiedIdentifier >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(KDevelop::IndexedQualifiedIdentifier) }; static inline const char *name() { return "KDevelop::IndexedQualifiedIdentifier"; } }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(KDevelop::IndexedIdentifier)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< KDevelop::IndexedIdentifier >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(KDevelop::IndexedIdentifier) }; static inline const char *name() { return "KDevelop::IndexedIdentifier"; } }; 10143: template <> struct QMetaTypeId< KDevelop::IndexedQualifiedIdentifier > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const int newId = qRegisterMetaType< KDevelop::IndexedQualifiedIdentifier >("KDevelop::IndexedQualifiedIdentifier", reinterpret_cast< KDevelop::IndexedQualifiedIdentifier *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 10143: template <> struct QMetaTypeId< KDevelop::IndexedIdentifier > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const int newId = qRegisterMetaType< KDevelop::IndexedIdentifier >("KDevelop::IndexedIdentifier", reinterpret_cast< KDevelop::IndexedIdentifier *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(KDevelop::QualifiedIdentifier)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< KDevelop::QualifiedIdentifier >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(KDevelop::QualifiedIdentifier) }; static inline const char *name() { return "KDevelop::QualifiedIdentifier"; } }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(KDevelop::Identifier)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< KDevelop::Identifier >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(KDevelop::Identifier) }; static inline const char *name() { return "KDevelop::Identifier"; } }; 10143: template <> struct QMetaTypeId< KDevelop::QualifiedIdentifier > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const int newId = qRegisterMetaType< KDevelop::QualifiedIdentifier >("KDevelop::QualifiedIdentifier", reinterpret_cast< KDevelop::QualifiedIdentifier *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 10143: template <> struct QMetaTypeId< KDevelop::Identifier > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const int newId = qRegisterMetaType< KDevelop::Identifier >("KDevelop::Identifier", reinterpret_cast< KDevelop::Identifier *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug s, const KDevelop::Identifier& identifier); 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug s, const KDevelop::QualifiedIdentifier& identifier); 10143: # 31 "/usr/include/kdevplatform/language/duchain/ducontext.h" 2 3 4 10143: # 1 "/usr/include/kdevplatform/language/duchain/duchainbase.h" 1 3 4 10143: # 24 "/usr/include/kdevplatform/language/duchain/duchainbase.h" 3 4 10143: # 1 "/usr/include/kdevplatform/language/duchain/appendedlist.h" 1 3 4 10143: # 22 "/usr/include/kdevplatform/language/duchain/appendedlist.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QMutex" 1 3 4 10143: # 23 "/usr/include/kdevplatform/language/duchain/appendedlist.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QVector" 1 3 4 10143: # 24 "/usr/include/kdevplatform/language/duchain/appendedlist.h" 2 3 4 10143: 10143: 10143: # 1 "/usr/include/kdevplatform/util/stack.h" 1 3 4 10143: # 25 "/usr/include/kdevplatform/util/stack.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QVarLengthArray" 1 3 4 10143: # 26 "/usr/include/kdevplatform/util/stack.h" 2 3 4 10143: 10143: namespace KDevelop { 10143: # 45 "/usr/include/kdevplatform/util/stack.h" 3 4 10143: template 10143: class Stack : public QVarLengthArray 10143: { 10143: using Base = QVarLengthArray; 10143: 10143: public: 10143: using Base::QVarLengthArray; 10143: 10143: inline void swap(Stack &other) 10143: { 10143: 10143: Base::swap(other); 10143: } 10143: inline void push(const T &t) 10143: { 10143: Base::append(t); 10143: } 10143: 10143: inline T pop() 10143: { 10143: T r = Base::last(); 10143: Base::removeLast(); 10143: return r; 10143: } 10143: inline T& top() { 10143: return Base::last(); 10143: } 10143: inline const T& top() const 10143: { 10143: return Base::last(); 10143: } 10143: }; 10143: 10143: } 10143: # 27 "/usr/include/kdevplatform/language/duchain/appendedlist.h" 2 3 4 10143: 10143: # 1 "/usr/include/c++/8/iostream" 1 3 4 10143: # 36 "/usr/include/c++/8/iostream" 3 4 10143: 10143: # 37 "/usr/include/c++/8/iostream" 3 10143: 10143: 10143: 10143: 10143: 10143: namespace std __attribute__ ((__visibility__ ("default"))) 10143: { 10143: 10143: # 60 "/usr/include/c++/8/iostream" 3 10143: extern istream cin; 10143: extern ostream cout; 10143: extern ostream cerr; 10143: extern ostream clog; 10143: 10143: 10143: extern wistream wcin; 10143: extern wostream wcout; 10143: extern wostream wcerr; 10143: extern wostream wclog; 10143: 10143: 10143: 10143: 10143: static ios_base::Init __ioinit; 10143: 10143: 10143: } 10143: # 29 "/usr/include/kdevplatform/language/duchain/appendedlist.h" 2 3 4 10143: 10143: 10143: namespace KDevelop { 10143: class AbstractItemRepository; 10143: # 58 "/usr/include/kdevplatform/language/duchain/appendedlist.h" 3 4 10143: enum { 10143: DynamicAppendedListMask = 1 << 31 10143: }; 10143: enum { 10143: DynamicAppendedListRevertMask = ~DynamicAppendedListMask 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: class TemporaryDataManager { 10143: public: 10143: explicit TemporaryDataManager(const QByteArray& id = {}) 10143: : m_id(id) 10143: { 10143: int first = alloc(); 10143: do { } while ((false) && (first == (int)DynamicAppendedListMask)); 10143: (void)first;; 10143: } 10143: ~TemporaryDataManager() { 10143: free(DynamicAppendedListMask); 10143: int cnt = usedItemCount(); 10143: if(cnt) 10143: std::cout << m_id.constData() << " There were items left on destruction: " << usedItemCount() << "\n"; 10143: 10143: for (int a = 0; a < m_items.size(); ++a) 10143: delete m_items.at(a); 10143: } 10143: 10143: inline T& getItem(int index) { 10143: 10143: 10143: do { } while ((false) && (index & DynamicAppendedListMask)); 10143: 10143: return *m_items.at(index & KDevelop::DynamicAppendedListRevertMask); 10143: } 10143: 10143: 10143: 10143: int alloc() { 10143: 10143: if(threadSafe) 10143: m_mutex.lock(); 10143: 10143: int ret; 10143: if(!m_freeIndicesWithData.isEmpty()) { 10143: ret = m_freeIndicesWithData.pop(); 10143: }else if(!m_freeIndices.isEmpty()) { 10143: ret = m_freeIndices.pop(); 10143: do { } while ((false) && (!m_items.at(ret))); 10143: m_items[ret] = new T; 10143: }else{ 10143: if(m_items.size() >= m_items.capacity()) { 10143: 10143: const int newItemsSize = m_items.capacity() + 20 + (m_items.capacity()/3); 10143: const QVector oldItems = m_items; 10143: m_items.reserve(newItemsSize); 10143: 10143: 10143: 10143: 10143: m_deleteLater.append(qMakePair(time(nullptr), oldItems)); 10143: 10143: 10143: 10143: if(!m_deleteLater.isEmpty()) { 10143: while(!m_deleteLater.isEmpty()) { 10143: 10143: if(time(nullptr) - m_deleteLater.first().first > 5) { 10143: m_deleteLater.removeFirst(); 10143: }else{ 10143: break; 10143: } 10143: } 10143: } 10143: } 10143: 10143: ret = m_items.size(); 10143: m_items.append(new T); 10143: do { } while ((false) && (m_items.size() <= m_items.capacity())); 10143: } 10143: 10143: if(threadSafe) 10143: m_mutex.unlock(); 10143: 10143: do { } while ((false) && (!(ret & DynamicAppendedListMask))); 10143: 10143: return ret | DynamicAppendedListMask; 10143: } 10143: 10143: void free(int index) { 10143: do { } while ((false) && (index & DynamicAppendedListMask)); 10143: index &= KDevelop::DynamicAppendedListRevertMask; 10143: 10143: if(threadSafe) 10143: m_mutex.lock(); 10143: 10143: freeItem(m_items.at(index)); 10143: 10143: m_freeIndicesWithData.push(index); 10143: 10143: 10143: if(m_freeIndicesWithData.size() > 200) { 10143: for(int a = 0; a < 100; ++a) { 10143: int deleteIndexData = m_freeIndicesWithData.pop(); 10143: delete m_items.at(deleteIndexData); 10143: m_items[deleteIndexData] = nullptr; 10143: m_freeIndices.push(deleteIndexData); 10143: } 10143: } 10143: 10143: if(threadSafe) 10143: m_mutex.unlock(); 10143: } 10143: 10143: int usedItemCount() const { 10143: int ret = 0; 10143: for(int a = 0; a < m_items.size(); ++a) 10143: if(m_items.at(a)) 10143: ++ret; 10143: return ret - m_freeIndicesWithData.size(); 10143: } 10143: 10143: private: 10143: 10143: void freeItem(T* item) { 10143: item->clear(); 10143: } 10143: 10143: QVector m_items; 10143: Stack m_freeIndicesWithData; 10143: Stack m_freeIndices; 10143: QMutex m_mutex; 10143: QByteArray m_id; 10143: QList > > m_deleteLater; 10143: }; 10143: # 350 "/usr/include/kdevplatform/language/duchain/appendedlist.h" 3 4 10143: template 10143: class AppendedListItemRequest { 10143: public: 10143: AppendedListItemRequest(const Type& item) : m_item(item) { 10143: } 10143: 10143: enum { 10143: AverageSize = sizeof(Type) + averageAppendedBytes 10143: }; 10143: 10143: unsigned int hash() const { 10143: return m_item.hash(); 10143: } 10143: 10143: uint itemSize() const { 10143: return m_item.dynamicSize(); 10143: } 10143: 10143: void createItem(Type* item) const { 10143: new (item) Type(m_item, false); 10143: } 10143: 10143: static void destroy(Type* item, KDevelop::AbstractItemRepository&) { 10143: item->~Type(); 10143: } 10143: 10143: static bool persistent(const Type* item) { 10143: return item->persistent(); 10143: } 10143: 10143: bool equals(const Type* item) const { 10143: return m_item == *item; 10143: } 10143: 10143: const Type& m_item; 10143: }; 10143: } 10143: 10143: 10143: 10143: inline bool appendedListDynamicDefault() { 10143: return true; 10143: } 10143: # 25 "/usr/include/kdevplatform/language/duchain/duchainbase.h" 2 3 4 10143: # 1 "/usr/include/kdevplatform/language/duchain/duchainpointer.h" 1 3 4 10143: # 22 "/usr/include/kdevplatform/language/duchain/duchainpointer.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QMetaType" 1 3 4 10143: # 23 "/usr/include/kdevplatform/language/duchain/duchainpointer.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QList" 1 3 4 10143: # 24 "/usr/include/kdevplatform/language/duchain/duchainpointer.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QExplicitlySharedDataPointer" 1 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qshareddata.h" 1 3 4 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qshareddata.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qshareddata.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: template class QSharedDataPointer; 10143: 10143: class __attribute__((visibility("default"))) QSharedData 10143: { 10143: public: 10143: mutable QAtomicInt ref; 10143: 10143: inline QSharedData() : ref(0) { } 10143: inline QSharedData(const QSharedData &) : ref(0) { } 10143: 10143: private: 10143: 10143: QSharedData &operator=(const QSharedData &); 10143: }; 10143: 10143: template class QSharedDataPointer 10143: { 10143: public: 10143: typedef T Type; 10143: typedef T *pointer; 10143: 10143: inline void detach() { if (d && d->ref.load() != 1) detach_helper(); } 10143: inline T &operator*() { detach(); return *d; } 10143: inline const T &operator*() const { return *d; } 10143: inline T *operator->() { detach(); return d; } 10143: inline const T *operator->() const { return d; } 10143: inline operator T *() { detach(); return d; } 10143: inline operator const T *() const { return d; } 10143: inline T *data() { detach(); return d; } 10143: inline const T *data() const { return d; } 10143: inline const T *constData() const { return d; } 10143: 10143: inline bool operator==(const QSharedDataPointer &other) const { return d == other.d; } 10143: inline bool operator!=(const QSharedDataPointer &other) const { return d != other.d; } 10143: 10143: inline QSharedDataPointer() { d = nullptr; } 10143: inline ~QSharedDataPointer() { if (d && !d->ref.deref()) delete d; } 10143: 10143: explicit QSharedDataPointer(T *data) noexcept; 10143: inline QSharedDataPointer(const QSharedDataPointer &o) : d(o.d) { if (d) d->ref.ref(); } 10143: inline QSharedDataPointer & operator=(const QSharedDataPointer &o) { 10143: if (o.d != d) { 10143: if (o.d) 10143: o.d->ref.ref(); 10143: T *old = d; 10143: d = o.d; 10143: if (old && !old->ref.deref()) 10143: delete old; 10143: } 10143: return *this; 10143: } 10143: inline QSharedDataPointer &operator=(T *o) { 10143: if (o != d) { 10143: if (o) 10143: o->ref.ref(); 10143: T *old = d; 10143: d = o; 10143: if (old && !old->ref.deref()) 10143: delete old; 10143: } 10143: return *this; 10143: } 10143: 10143: QSharedDataPointer(QSharedDataPointer &&o) noexcept : d(o.d) { o.d = nullptr; } 10143: inline QSharedDataPointer &operator=(QSharedDataPointer &&other) noexcept 10143: { qSwap(d, other.d); return *this; } 10143: 10143: 10143: inline bool operator!() const { return !d; } 10143: 10143: inline void swap(QSharedDataPointer &other) noexcept 10143: { qSwap(d, other.d); } 10143: 10143: protected: 10143: T *clone(); 10143: 10143: private: 10143: void detach_helper(); 10143: 10143: T *d; 10143: }; 10143: 10143: template class QExplicitlySharedDataPointer 10143: { 10143: public: 10143: typedef T Type; 10143: typedef T *pointer; 10143: 10143: inline T &operator*() const { return *d; } 10143: inline T *operator->() { return d; } 10143: inline T *operator->() const { return d; } 10143: inline T *data() const { return d; } 10143: inline const T *constData() const { return d; } 10143: 10143: inline void detach() { if (d && d->ref.load() != 1) detach_helper(); } 10143: 10143: inline void reset() 10143: { 10143: if(d && !d->ref.deref()) 10143: delete d; 10143: 10143: d = nullptr; 10143: } 10143: 10143: inline operator bool () const { return d != nullptr; } 10143: 10143: inline bool operator==(const QExplicitlySharedDataPointer &other) const { return d == other.d; } 10143: inline bool operator!=(const QExplicitlySharedDataPointer &other) const { return d != other.d; } 10143: inline bool operator==(const T *ptr) const { return d == ptr; } 10143: inline bool operator!=(const T *ptr) const { return d != ptr; } 10143: 10143: inline QExplicitlySharedDataPointer() { d = nullptr; } 10143: inline ~QExplicitlySharedDataPointer() { if (d && !d->ref.deref()) delete d; } 10143: 10143: explicit QExplicitlySharedDataPointer(T *data) noexcept; 10143: inline QExplicitlySharedDataPointer(const QExplicitlySharedDataPointer &o) : d(o.d) { if (d) d->ref.ref(); } 10143: 10143: template 10143: inline QExplicitlySharedDataPointer(const QExplicitlySharedDataPointer &o) 10143: 10143: 10143: 10143: : d(o.data()) 10143: 10143: { 10143: if(d) 10143: d->ref.ref(); 10143: } 10143: 10143: inline QExplicitlySharedDataPointer & operator=(const QExplicitlySharedDataPointer &o) { 10143: if (o.d != d) { 10143: if (o.d) 10143: o.d->ref.ref(); 10143: T *old = d; 10143: d = o.d; 10143: if (old && !old->ref.deref()) 10143: delete old; 10143: } 10143: return *this; 10143: } 10143: inline QExplicitlySharedDataPointer &operator=(T *o) { 10143: if (o != d) { 10143: if (o) 10143: o->ref.ref(); 10143: T *old = d; 10143: d = o; 10143: if (old && !old->ref.deref()) 10143: delete old; 10143: } 10143: return *this; 10143: } 10143: 10143: inline QExplicitlySharedDataPointer(QExplicitlySharedDataPointer &&o) noexcept : d(o.d) { o.d = nullptr; } 10143: inline QExplicitlySharedDataPointer &operator=(QExplicitlySharedDataPointer &&other) noexcept 10143: { qSwap(d, other.d); return *this; } 10143: 10143: 10143: inline bool operator!() const { return !d; } 10143: 10143: inline void swap(QExplicitlySharedDataPointer &other) noexcept 10143: { qSwap(d, other.d); } 10143: 10143: protected: 10143: T *clone(); 10143: 10143: private: 10143: void detach_helper(); 10143: 10143: T *d; 10143: }; 10143: 10143: template 10143: inline QSharedDataPointer::QSharedDataPointer(T *adata) noexcept 10143: : d(adata) 10143: { if (d) d->ref.ref(); } 10143: 10143: template 10143: inline T *QSharedDataPointer::clone() 10143: { 10143: return new T(*d); 10143: } 10143: 10143: template 10143: void QSharedDataPointer::detach_helper() 10143: { 10143: T *x = clone(); 10143: x->ref.ref(); 10143: if (!d->ref.deref()) 10143: delete d; 10143: d = x; 10143: } 10143: 10143: template 10143: inline T *QExplicitlySharedDataPointer::clone() 10143: { 10143: return new T(*d); 10143: } 10143: 10143: template 10143: void QExplicitlySharedDataPointer::detach_helper() 10143: { 10143: T *x = clone(); 10143: x->ref.ref(); 10143: if (!d->ref.deref()) 10143: delete d; 10143: d = x; 10143: } 10143: 10143: template 10143: inline QExplicitlySharedDataPointer::QExplicitlySharedDataPointer(T *adata) noexcept 10143: : d(adata) 10143: { if (d) d->ref.ref(); } 10143: 10143: template 10143: inline void qSwap(QSharedDataPointer &p1, QSharedDataPointer &p2) 10143: { p1.swap(p2); } 10143: 10143: template 10143: inline void qSwap(QExplicitlySharedDataPointer &p1, QExplicitlySharedDataPointer &p2) 10143: { p1.swap(p2); } 10143: 10143: 10143: namespace std { 10143: template 10143: inline void swap(::QSharedDataPointer &p1, ::QSharedDataPointer &p2) 10143: { p1.swap(p2); } 10143: 10143: template 10143: inline void swap(::QExplicitlySharedDataPointer &p1, ::QExplicitlySharedDataPointer &p2) 10143: { p1.swap(p2); } 10143: } 10143: 10143: 10143: template 10143: inline uint qHash(const QSharedDataPointer &ptr, uint seed = 0) noexcept 10143: { 10143: return qHash(ptr.data(), seed); 10143: } 10143: template 10143: inline uint qHash(const QExplicitlySharedDataPointer &ptr, uint seed = 0) noexcept 10143: { 10143: return qHash(ptr.data(), seed); 10143: } 10143: 10143: template class QTypeInfo > { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QSharedDataPointer)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QSharedDataPointer >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QSharedDataPointer) }; static inline const char *name() { return "QSharedDataPointer"; } }; 10143: template class QTypeInfo > { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QExplicitlySharedDataPointer)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QExplicitlySharedDataPointer >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QExplicitlySharedDataPointer) }; static inline const char *name() { return "QExplicitlySharedDataPointer"; } }; 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/QExplicitlySharedDataPointer" 2 3 4 10143: # 25 "/usr/include/kdevplatform/language/duchain/duchainpointer.h" 2 3 4 10143: 10143: 10143: 10143: 10143: namespace KDevelop { 10143: 10143: class DUContext; 10143: class TopDUContext; 10143: class DUChainBase; 10143: class Declaration; 10143: class AbstractFunctionDeclaration; 10143: # 51 "/usr/include/kdevplatform/language/duchain/duchainpointer.h" 3 4 10143: class __attribute__((visibility("default"))) DUChainPointerData : public QSharedData { 10143: public: 10143: 10143: 10143: 10143: DUChainBase* base(); 10143: 10143: 10143: 10143: 10143: DUChainBase* base() const; 10143: 10143: 10143: DUChainPointerData(); 10143: 10143: ~DUChainPointerData(); 10143: 10143: private: 10143: 10143: explicit DUChainPointerData( DUChainBase* base ); 10143: 10143: friend class DUChainBase; 10143: DUChainBase * m_base; 10143: DUChainPointerData(const DUChainPointerData &) = delete; DUChainPointerData &operator=(const DUChainPointerData &) = delete; 10143: }; 10143: # 88 "/usr/include/kdevplatform/language/duchain/duchainpointer.h" 3 4 10143: template 10143: class DUChainPointer { 10143: template 10143: friend class DUChainPointer; 10143: 10143: public: 10143: DUChainPointer() : d(QExplicitlySharedDataPointer(nullptr)) { 10143: } 10143: 10143: DUChainPointer(const DUChainPointer& rhs) 10143: : d(rhs.d) 10143: { 10143: } 10143: 10143: 10143: template 10143: explicit DUChainPointer( OtherType* rhs ) { 10143: if( dynamic_cast(rhs) ) 10143: d = rhs->weakPointer(); 10143: } 10143: 10143: template 10143: explicit DUChainPointer( DUChainPointer rhs ) { 10143: if( dynamic_cast(rhs.data()) ) 10143: d = rhs.d; 10143: } 10143: 10143: explicit DUChainPointer( QExplicitlySharedDataPointer rhs ) { 10143: if( dynamic_cast(rhs->base()) ) 10143: d = rhs; 10143: } 10143: 10143: explicit DUChainPointer( Type* rhs ) { 10143: if( rhs ) 10143: d = rhs->weakPointer(); 10143: } 10143: 10143: bool operator ==( const DUChainPointer& rhs ) const { 10143: return d.data() == rhs.d.data(); 10143: } 10143: 10143: bool operator !=( const DUChainPointer& rhs ) const { 10143: return d.data() != rhs.d.data(); 10143: } 10143: 10143: 10143: operator bool() const { 10143: return d && d->base(); 10143: } 10143: 10143: Type& operator* () const { 10143: do { } while ((false) && (d)); 10143: return *static_cast(d->base()); 10143: } 10143: 10143: Type* operator->() const { 10143: do { } while ((false) && (d)); 10143: return static_cast(d->base()); 10143: } 10143: 10143: bool operator<(const DUChainPointer& rhs) const { 10143: return d.data() < rhs.d.data(); 10143: } 10143: 10143: template 10143: DUChainPointer dynamicCast() const { 10143: if( d && dynamic_cast( d->base() ) ) 10143: return DUChainPointer( static_cast(d->base()) ); 10143: else 10143: return DUChainPointer(); 10143: } 10143: 10143: Type* data() const { 10143: if( !d ) 10143: return nullptr; 10143: return static_cast(d->base()); 10143: } 10143: 10143: DUChainPointer& operator= ( Type* rhs ) { 10143: if( rhs ) 10143: d = rhs->weakPointer(); 10143: else 10143: d = nullptr; 10143: 10143: return *this; 10143: } 10143: 10143: private: 10143: QExplicitlySharedDataPointer d; 10143: }; 10143: 10143: typedef DUChainPointer DUChainBasePointer; 10143: typedef DUChainPointer DUContextPointer; 10143: typedef DUChainPointer TopDUContextPointer; 10143: typedef DUChainPointer DeclarationPointer; 10143: typedef DUChainPointer FunctionDeclarationPointer; 10143: } 10143: 10143: template <> struct QMetaTypeId< KDevelop::DUChainBasePointer > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const int newId = qRegisterMetaType< KDevelop::DUChainBasePointer >("KDevelop::DUChainBasePointer", reinterpret_cast< KDevelop::DUChainBasePointer *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 10143: template <> struct QMetaTypeId< KDevelop::DeclarationPointer > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const int newId = qRegisterMetaType< KDevelop::DeclarationPointer >("KDevelop::DeclarationPointer", reinterpret_cast< KDevelop::DeclarationPointer *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 10143: template <> struct QMetaTypeId< KDevelop::DUContextPointer > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const int newId = qRegisterMetaType< KDevelop::DUContextPointer >("KDevelop::DUContextPointer", reinterpret_cast< KDevelop::DUContextPointer *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 10143: template <> struct QMetaTypeId< KDevelop::TopDUContextPointer > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const int newId = qRegisterMetaType< KDevelop::TopDUContextPointer >("KDevelop::TopDUContextPointer", reinterpret_cast< KDevelop::TopDUContextPointer *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 10143: template <> struct QMetaTypeId< QList > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const int newId = qRegisterMetaType< QList >("QList", reinterpret_cast< QList *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 10143: # 26 "/usr/include/kdevplatform/language/duchain/duchainbase.h" 2 3 4 10143: # 1 "/usr/include/kdevplatform/language/editor/persistentmovingrange.h" 1 3 4 10143: # 26 "/usr/include/kdevplatform/language/editor/persistentmovingrange.h" 3 4 10143: # 1 "/usr/include/KF5/KTextEditor/ktexteditor/attribute.h" 1 3 4 10143: # 23 "/usr/include/KF5/KTextEditor/ktexteditor/attribute.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/QTextFormat" 1 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtextformat.h" 1 3 4 10143: # 43 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtextformat.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtguiglobal.h" 1 3 4 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtguiglobal.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtgui-config.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtguiglobal.h" 2 3 4 10143: 10143: 10143: # 58 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtguiglobal.h" 3 4 10143: 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtextformat.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qcolor.h" 1 3 4 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qcolor.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qrgb.h" 1 3 4 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qrgb.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qprocessordetection.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qrgb.h" 2 3 4 10143: 10143: 10143: 10143: 10143: typedef unsigned int QRgb; 10143: 10143: 10143: const __attribute__((__unused__)) QRgb RGB_MASK = 0x00ffffff; 10143: 10143: inline constexpr int qRed(QRgb rgb) 10143: { return ((rgb >> 16) & 0xff); } 10143: 10143: inline constexpr int qGreen(QRgb rgb) 10143: { return ((rgb >> 8) & 0xff); } 10143: 10143: inline constexpr int qBlue(QRgb rgb) 10143: { return (rgb & 0xff); } 10143: 10143: inline constexpr int qAlpha(QRgb rgb) 10143: { return rgb >> 24; } 10143: 10143: inline constexpr QRgb qRgb(int r, int g, int b) 10143: { return (0xffu << 24) | ((r & 0xffu) << 16) | ((g & 0xffu) << 8) | (b & 0xffu); } 10143: 10143: inline constexpr QRgb qRgba(int r, int g, int b, int a) 10143: { return ((a & 0xffu) << 24) | ((r & 0xffu) << 16) | ((g & 0xffu) << 8) | (b & 0xffu); } 10143: 10143: inline constexpr int qGray(int r, int g, int b) 10143: { return (r*11+g*16+b*5)/32; } 10143: 10143: inline constexpr int qGray(QRgb rgb) 10143: { return qGray(qRed(rgb), qGreen(rgb), qBlue(rgb)); } 10143: 10143: inline constexpr bool qIsGray(QRgb rgb) 10143: { return qRed(rgb) == qGreen(rgb) && qRed(rgb) == qBlue(rgb); } 10143: 10143: inline QRgb qPremultiply(QRgb x) 10143: { 10143: const uint a = qAlpha(x); 10143: uint t = (x & 0xff00ff) * a; 10143: t = (t + ((t >> 8) & 0xff00ff) + 0x800080) >> 8; 10143: t &= 0xff00ff; 10143: 10143: x = ((x >> 8) & 0xff) * a; 10143: x = (x + ((x >> 8) & 0xff) + 0x80); 10143: x &= 0xff00; 10143: return x | t | (a << 24); 10143: } 10143: 10143: __attribute__((visibility("default"))) extern const uint qt_inv_premul_factor[]; 10143: 10143: inline QRgb qUnpremultiply(QRgb p) 10143: { 10143: const uint alpha = qAlpha(p); 10143: 10143: if (alpha == 255) 10143: return p; 10143: if (alpha == 0) 10143: return 0; 10143: 10143: const uint invAlpha = qt_inv_premul_factor[alpha]; 10143: 10143: return qRgba((qRed(p)*invAlpha + 0x8000)>>16, (qGreen(p)*invAlpha + 0x8000)>>16, (qBlue(p)*invAlpha + 0x8000)>>16, alpha); 10143: } 10143: 10143: 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qcolor.h" 2 3 4 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstringlist.h" 1 3 4 10143: # 47 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qcolor.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qrgba64.h" 1 3 4 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qrgba64.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qprocessordetection.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qrgba64.h" 2 3 4 10143: 10143: 10143: 10143: class QRgba64 { 10143: quint64 rgba; 10143: 10143: 10143: 10143: enum Shifts { 10143: 10143: 10143: 10143: 10143: 10143: 10143: RedShift = 0, 10143: GreenShift = 16, 10143: BlueShift = 32, 10143: AlphaShift = 48 10143: 10143: }; 10143: 10143: explicit inline __attribute__((always_inline)) constexpr QRgba64(quint64 c) : rgba(c) { } 10143: public: 10143: QRgba64() = default; 10143: 10143: constexpr static 10143: QRgba64 fromRgba64(quint64 c) 10143: { 10143: return QRgba64(c); 10143: } 10143: constexpr static 10143: QRgba64 fromRgba64(quint16 red, quint16 green, quint16 blue, quint16 alpha) 10143: { 10143: return fromRgba64(quint64(red) << RedShift 10143: | quint64(green) << GreenShift 10143: | quint64(blue) << BlueShift 10143: | quint64(alpha) << AlphaShift); 10143: } 10143: static QRgba64 fromRgba(quint8 red, quint8 green, quint8 blue, quint8 alpha) 10143: { 10143: QRgba64 rgb64 = fromRgba64(red, green, blue, alpha); 10143: 10143: rgb64.rgba |= rgb64.rgba << 8; 10143: return rgb64; 10143: } 10143: static 10143: QRgba64 fromArgb32(uint rgb) 10143: { 10143: return fromRgba(quint8(rgb >> 16), quint8(rgb >> 8), quint8(rgb), quint8(rgb >> 24)); 10143: } 10143: 10143: constexpr bool isOpaque() const 10143: { 10143: return (rgba & alphaMask()) == alphaMask(); 10143: } 10143: constexpr bool isTransparent() const 10143: { 10143: return (rgba & alphaMask()) == 0; 10143: } 10143: 10143: constexpr quint16 red() const { return quint16(rgba >> RedShift); } 10143: constexpr quint16 green() const { return quint16(rgba >> GreenShift); } 10143: constexpr quint16 blue() const { return quint16(rgba >> BlueShift); } 10143: constexpr quint16 alpha() const { return quint16(rgba >> AlphaShift); } 10143: void setRed(quint16 _red) { rgba = (rgba & ~(static_cast(0xffffULL) << RedShift)) | (quint64(_red) << RedShift); } 10143: void setGreen(quint16 _green) { rgba = (rgba & ~(static_cast(0xffffULL) << GreenShift)) | (quint64(_green) << GreenShift); } 10143: void setBlue(quint16 _blue) { rgba = (rgba & ~(static_cast(0xffffULL) << BlueShift)) | (quint64(_blue) << BlueShift); } 10143: void setAlpha(quint16 _alpha) { rgba = (rgba & ~(static_cast(0xffffULL) << AlphaShift)) | (quint64(_alpha) << AlphaShift); } 10143: 10143: constexpr quint8 red8() const { return div_257(red()); } 10143: constexpr quint8 green8() const { return div_257(green()); } 10143: constexpr quint8 blue8() const { return div_257(blue()); } 10143: constexpr quint8 alpha8() const { return div_257(alpha()); } 10143: constexpr uint toArgb32() const 10143: { 10143: return uint((alpha8() << 24) | (red8() << 16) | (green8() << 8) | blue8()); 10143: } 10143: constexpr ushort toRgb16() const 10143: { 10143: return ushort((red() & 0xf800) | ((green() >> 10) << 5) | (blue() >> 11)); 10143: } 10143: 10143: QRgba64 premultiplied() const 10143: { 10143: const quint32 a = alpha(); 10143: const quint16 r = div_65535(red() * a); 10143: const quint16 g = div_65535(green() * a); 10143: const quint16 b = div_65535(blue() * a); 10143: return fromRgba64(r, g, b, quint16(a)); 10143: } 10143: 10143: QRgba64 unpremultiplied() const 10143: { 10143: 10143: 10143: 10143: return unpremultiplied_64bit(); 10143: 10143: } 10143: 10143: constexpr operator quint64() const 10143: { 10143: return rgba; 10143: } 10143: 10143: QRgba64 operator=(quint64 _rgba) 10143: { 10143: rgba = _rgba; 10143: return *this; 10143: } 10143: 10143: private: 10143: static constexpr inline __attribute__((always_inline)) quint64 alphaMask() { return static_cast(0xffffULL) << AlphaShift; } 10143: 10143: static constexpr inline __attribute__((always_inline)) quint8 div_257_floor(uint x) { return quint8((x - (x >> 8)) >> 8); } 10143: static constexpr inline __attribute__((always_inline)) quint8 div_257(quint16 x) { return div_257_floor(x + 128U); } 10143: static constexpr inline __attribute__((always_inline)) quint16 div_65535(uint x) { return quint16((x + (x>>16) + 0x8000U) >> 16); } 10143: inline __attribute__((always_inline)) QRgba64 unpremultiplied_32bit() const 10143: { 10143: if (isOpaque() || isTransparent()) 10143: return *this; 10143: const quint32 a = alpha(); 10143: const quint16 r = quint16((red() * 0xffff + a/2) / a); 10143: const quint16 g = quint16((green() * 0xffff + a/2) / a); 10143: const quint16 b = quint16((blue() * 0xffff + a/2) / a); 10143: return fromRgba64(r, g, b, quint16(a)); 10143: } 10143: inline __attribute__((always_inline)) QRgba64 unpremultiplied_64bit() const 10143: { 10143: if (isOpaque() || isTransparent()) 10143: return *this; 10143: const quint64 a = alpha(); 10143: const quint64 fa = (static_cast(0xffff00008000ULL) + a/2) / a; 10143: const quint16 r = quint16((red() * fa + 0x80000000) >> 32); 10143: const quint16 g = quint16((green() * fa + 0x80000000) >> 32); 10143: const quint16 b = quint16((blue() * fa + 0x80000000) >> 32); 10143: return fromRgba64(r, g, b, quint16(a)); 10143: } 10143: }; 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QRgba64)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QRgba64 >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QRgba64) }; static inline const char *name() { return "QRgba64"; } }; 10143: 10143: constexpr inline QRgba64 qRgba64(quint16 r, quint16 g, quint16 b, quint16 a) 10143: { 10143: return QRgba64::fromRgba64(r, g, b, a); 10143: } 10143: 10143: constexpr inline QRgba64 qRgba64(quint64 c) 10143: { 10143: return QRgba64::fromRgba64(c); 10143: } 10143: 10143: inline QRgba64 qPremultiply(QRgba64 c) 10143: { 10143: return c.premultiplied(); 10143: } 10143: 10143: inline QRgba64 qUnpremultiply(QRgba64 c) 10143: { 10143: return c.unpremultiplied(); 10143: } 10143: 10143: inline constexpr uint qRed(QRgba64 rgb) 10143: { return rgb.red8(); } 10143: 10143: inline constexpr uint qGreen(QRgba64 rgb) 10143: { return rgb.green8(); } 10143: 10143: inline constexpr uint qBlue(QRgba64 rgb) 10143: { return rgb.blue8(); } 10143: 10143: inline constexpr uint qAlpha(QRgba64 rgb) 10143: { return rgb.alpha8(); } 10143: 10143: 10143: # 48 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qcolor.h" 2 3 4 10143: 10143: 10143: 10143: 10143: class QColor; 10143: class QColormap; 10143: class QVariant; 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QColor &); 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QColor &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QColor &); 10143: 10143: 10143: class __attribute__((visibility("default"))) QColor 10143: { 10143: public: 10143: enum Spec { Invalid, Rgb, Hsv, Cmyk, Hsl }; 10143: enum NameFormat { HexRgb, HexArgb }; 10143: 10143: inline QColor() noexcept; 10143: QColor(Qt::GlobalColor color) noexcept; 10143: inline QColor(int r, int g, int b, int a = 255); 10143: QColor(QRgb rgb) noexcept; 10143: QColor(QRgba64 rgba64) noexcept; 10143: inline QColor(const QString& name); 10143: inline QColor(const char *aname) : QColor(QLatin1String(aname)) {} 10143: inline QColor(QLatin1String name); 10143: QColor(Spec spec) noexcept; 10143: 10143: 10143: inline QColor(const QColor &color) noexcept; 10143: 10143: QColor(QColor &&other) noexcept : cspec(other.cspec), ct(other.ct) {} 10143: QColor &operator=(QColor &&other) noexcept 10143: { cspec = other.cspec; ct = other.ct; return *this; } 10143: 10143: QColor &operator=(const QColor &) noexcept; 10143: 10143: 10143: QColor &operator=(Qt::GlobalColor color) noexcept; 10143: 10143: bool isValid() const noexcept; 10143: 10143: 10143: QString name() const; 10143: QString name(NameFormat format) const; 10143: 10143: void setNamedColor(const QString& name); 10143: void setNamedColor(QLatin1String name); 10143: 10143: static QStringList colorNames(); 10143: 10143: inline Spec spec() const noexcept 10143: { return cspec; } 10143: 10143: int alpha() const noexcept; 10143: void setAlpha(int alpha); 10143: 10143: qreal alphaF() const noexcept; 10143: void setAlphaF(qreal alpha); 10143: 10143: int red() const noexcept; 10143: int green() const noexcept; 10143: int blue() const noexcept; 10143: void setRed(int red); 10143: void setGreen(int green); 10143: void setBlue(int blue); 10143: 10143: qreal redF() const noexcept; 10143: qreal greenF() const noexcept; 10143: qreal blueF() const noexcept; 10143: void setRedF(qreal red); 10143: void setGreenF(qreal green); 10143: void setBlueF(qreal blue); 10143: 10143: void getRgb(int *r, int *g, int *b, int *a = nullptr) const; 10143: void setRgb(int r, int g, int b, int a = 255); 10143: 10143: void getRgbF(qreal *r, qreal *g, qreal *b, qreal *a = nullptr) const; 10143: void setRgbF(qreal r, qreal g, qreal b, qreal a = 1.0); 10143: 10143: QRgba64 rgba64() const noexcept; 10143: void setRgba64(QRgba64 rgba) noexcept; 10143: 10143: QRgb rgba() const noexcept; 10143: void setRgba(QRgb rgba) noexcept; 10143: 10143: QRgb rgb() const noexcept; 10143: void setRgb(QRgb rgb) noexcept; 10143: 10143: int hue() const noexcept; 10143: int saturation() const noexcept; 10143: int hsvHue() const noexcept; 10143: int hsvSaturation() const noexcept; 10143: int value() const noexcept; 10143: 10143: qreal hueF() const noexcept; 10143: qreal saturationF() const noexcept; 10143: qreal hsvHueF() const noexcept; 10143: qreal hsvSaturationF() const noexcept; 10143: qreal valueF() const noexcept; 10143: 10143: void getHsv(int *h, int *s, int *v, int *a = nullptr) const; 10143: void setHsv(int h, int s, int v, int a = 255); 10143: 10143: void getHsvF(qreal *h, qreal *s, qreal *v, qreal *a = nullptr) const; 10143: void setHsvF(qreal h, qreal s, qreal v, qreal a = 1.0); 10143: 10143: int cyan() const noexcept; 10143: int magenta() const noexcept; 10143: int yellow() const noexcept; 10143: int black() const noexcept; 10143: 10143: qreal cyanF() const noexcept; 10143: qreal magentaF() const noexcept; 10143: qreal yellowF() const noexcept; 10143: qreal blackF() const noexcept; 10143: 10143: void getCmyk(int *c, int *m, int *y, int *k, int *a = nullptr); 10143: void setCmyk(int c, int m, int y, int k, int a = 255); 10143: 10143: void getCmykF(qreal *c, qreal *m, qreal *y, qreal *k, qreal *a = nullptr); 10143: void setCmykF(qreal c, qreal m, qreal y, qreal k, qreal a = 1.0); 10143: 10143: int hslHue() const noexcept; 10143: int hslSaturation() const noexcept; 10143: int lightness() const noexcept; 10143: 10143: qreal hslHueF() const noexcept; 10143: qreal hslSaturationF() const noexcept; 10143: qreal lightnessF() const noexcept; 10143: 10143: void getHsl(int *h, int *s, int *l, int *a = nullptr) const; 10143: void setHsl(int h, int s, int l, int a = 255); 10143: 10143: void getHslF(qreal *h, qreal *s, qreal *l, qreal *a = nullptr) const; 10143: void setHslF(qreal h, qreal s, qreal l, qreal a = 1.0); 10143: 10143: QColor toRgb() const noexcept; 10143: QColor toHsv() const noexcept; 10143: QColor toCmyk() const noexcept; 10143: QColor toHsl() const noexcept; 10143: 10143: [[nodiscard]] QColor convertTo(Spec colorSpec) const noexcept; 10143: 10143: static QColor fromRgb(QRgb rgb) noexcept; 10143: static QColor fromRgba(QRgb rgba) noexcept; 10143: 10143: static QColor fromRgb(int r, int g, int b, int a = 255); 10143: static QColor fromRgbF(qreal r, qreal g, qreal b, qreal a = 1.0); 10143: 10143: static QColor fromRgba64(ushort r, ushort g, ushort b, ushort a = (0x7fff * 2 + 1)) noexcept; 10143: static QColor fromRgba64(QRgba64 rgba) noexcept; 10143: 10143: static QColor fromHsv(int h, int s, int v, int a = 255); 10143: static QColor fromHsvF(qreal h, qreal s, qreal v, qreal a = 1.0); 10143: 10143: static QColor fromCmyk(int c, int m, int y, int k, int a = 255); 10143: static QColor fromCmykF(qreal c, qreal m, qreal y, qreal k, qreal a = 1.0); 10143: 10143: static QColor fromHsl(int h, int s, int l, int a = 255); 10143: static QColor fromHslF(qreal h, qreal s, qreal l, qreal a = 1.0); 10143: 10143: [[nodiscard]] QColor light(int f = 150) const noexcept; 10143: [[nodiscard]] QColor lighter(int f = 150) const noexcept; 10143: [[nodiscard]] QColor dark(int f = 200) const noexcept; 10143: [[nodiscard]] QColor darker(int f = 200) const noexcept; 10143: 10143: bool operator==(const QColor &c) const noexcept; 10143: bool operator!=(const QColor &c) const noexcept; 10143: 10143: operator QVariant() const; 10143: 10143: static bool isValidColor(const QString &name); 10143: static bool isValidColor(QLatin1String) noexcept; 10143: 10143: private: 10143: 10143: void invalidate() noexcept; 10143: template 10143: bool setColorFromString(const String &name); 10143: 10143: Spec cspec; 10143: union { 10143: struct { 10143: ushort alpha; 10143: ushort red; 10143: ushort green; 10143: ushort blue; 10143: ushort pad; 10143: } argb; 10143: struct { 10143: ushort alpha; 10143: ushort hue; 10143: ushort saturation; 10143: ushort value; 10143: ushort pad; 10143: } ahsv; 10143: struct { 10143: ushort alpha; 10143: ushort cyan; 10143: ushort magenta; 10143: ushort yellow; 10143: ushort black; 10143: } acmyk; 10143: struct { 10143: ushort alpha; 10143: ushort hue; 10143: ushort saturation; 10143: ushort lightness; 10143: ushort pad; 10143: } ahsl; 10143: ushort array[5]; 10143: } ct; 10143: 10143: friend class QColormap; 10143: 10143: friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QColor &); 10143: friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QColor &); 10143: 10143: }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QColor)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QColor >::value, isDummy = (((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QColor) }; static inline const char *name() { return "QColor"; } }; 10143: 10143: inline QColor::QColor() noexcept 10143: { invalidate(); } 10143: 10143: inline QColor::QColor(int r, int g, int b, int a) 10143: { setRgb(r, g, b, a); } 10143: 10143: inline QColor::QColor(QLatin1String aname) 10143: { setNamedColor(aname); } 10143: 10143: inline QColor::QColor(const QString& aname) 10143: { setNamedColor(aname); } 10143: 10143: 10143: inline QColor::QColor(const QColor &acolor) noexcept 10143: : cspec(acolor.cspec) 10143: { ct.argb = acolor.ct.argb; } 10143: 10143: 10143: inline bool QColor::isValid() const noexcept 10143: { return cspec != Invalid; } 10143: 10143: inline QColor QColor::lighter(int f) const noexcept 10143: { return light(f); } 10143: 10143: inline QColor QColor::darker(int f) const noexcept 10143: { return dark(f); } 10143: 10143: 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtextformat.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qfont.h" 1 3 4 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qfont.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qwindowdefs.h" 1 3 4 10143: # 47 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qwindowdefs.h" 3 4 10143: 10143: 10143: 10143: 10143: 10143: class QPaintDevice; 10143: class QWidget; 10143: class QWindow; 10143: class QDialog; 10143: class QColor; 10143: class QPalette; 10143: class QCursor; 10143: class QPoint; 10143: class QSize; 10143: class QRect; 10143: class QPolygon; 10143: class QPainter; 10143: class QRegion; 10143: class QFont; 10143: class QFontMetrics; 10143: class QFontInfo; 10143: class QPen; 10143: class QBrush; 10143: class QMatrix; 10143: class QPixmap; 10143: class QBitmap; 10143: class QMovie; 10143: class QImage; 10143: class QPicture; 10143: class QTimer; 10143: class QTime; 10143: class QClipboard; 10143: class QString; 10143: class QByteArray; 10143: class QApplication; 10143: 10143: template class QList; 10143: typedef QList QWidgetList; 10143: typedef QList QWindowList; 10143: 10143: 10143: # 99 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qwindowdefs.h" 3 4 10143: typedef ::quintptr WId; 10143: 10143: 10143: 10143: 10143: 10143: template class QHash; 10143: typedef QHash QWidgetMapper; 10143: 10143: template class QSet; 10143: typedef QSet QWidgetSet; 10143: 10143: 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qfont.h" 2 3 4 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsharedpointer.h" 1 3 4 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsharedpointer.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsharedpointer.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qshareddata.h" 1 3 4 10143: # 46 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsharedpointer.h" 2 3 4 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsharedpointer_impl.h" 1 3 4 10143: # 63 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsharedpointer_impl.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 10143: # 64 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsharedpointer_impl.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qobject.h" 1 3 4 10143: # 65 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsharedpointer_impl.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: # 90 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsharedpointer_impl.h" 3 4 10143: template class QWeakPointer; 10143: template class QSharedPointer; 10143: template class QEnableSharedFromThis; 10143: 10143: class QVariant; 10143: 10143: template 10143: QSharedPointer qSharedPointerCast(const QSharedPointer &ptr); 10143: template 10143: QSharedPointer qSharedPointerDynamicCast(const QSharedPointer &ptr); 10143: template 10143: QSharedPointer qSharedPointerConstCast(const QSharedPointer &ptr); 10143: 10143: 10143: template 10143: QSharedPointer qSharedPointerObjectCast(const QSharedPointer &ptr); 10143: 10143: 10143: namespace QtSharedPointer { 10143: template class ExternalRefCount; 10143: 10143: template QSharedPointer copyAndSetPointer(X * ptr, const QSharedPointer &src); 10143: 10143: 10143: __attribute__((visibility("default"))) void internalSafetyCheckAdd(const void *, const volatile void *); 10143: __attribute__((visibility("default"))) void internalSafetyCheckRemove(const void *); 10143: 10143: template 10143: inline void executeDeleter(T *t, RetVal (Klass:: *memberDeleter)()) 10143: { (t->*memberDeleter)(); } 10143: template 10143: inline void executeDeleter(T *t, Deleter d) 10143: { d(t); } 10143: struct NormalDeleter {}; 10143: 10143: 10143: template struct RemovePointer; 10143: template struct RemovePointer { typedef T Type; }; 10143: template struct RemovePointer > { typedef T Type; }; 10143: template struct RemovePointer > { typedef T Type; }; 10143: # 141 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsharedpointer_impl.h" 3 4 10143: struct ExternalRefCountData 10143: { 10143: typedef void (*DestroyerFn)(ExternalRefCountData *); 10143: QBasicAtomicInt weakref; 10143: QBasicAtomicInt strongref; 10143: DestroyerFn destroyer; 10143: 10143: inline ExternalRefCountData(DestroyerFn d) 10143: : destroyer(d) 10143: { 10143: strongref.store(1); 10143: weakref.store(1); 10143: } 10143: inline ExternalRefCountData(Qt::Initialization) { } 10143: ~ExternalRefCountData() { do { } while ((false) && (!weakref.load())); do { } while ((false) && (strongref.load() <= 0)); } 10143: 10143: void destroy() { destroyer(this); } 10143: 10143: 10143: __attribute__((visibility("default"))) static ExternalRefCountData *getAndRef(const QObject *); 10143: __attribute__((visibility("default"))) void setQObjectShared(const QObject *, bool enable); 10143: __attribute__((visibility("default"))) void checkQObjectShared(const QObject *); 10143: 10143: inline void checkQObjectShared(...) { } 10143: inline void setQObjectShared(...) { } 10143: 10143: inline void operator delete(void *ptr) { ::operator delete(ptr); } 10143: inline void operator delete(void *, void *) { } 10143: }; 10143: 10143: 10143: template 10143: struct CustomDeleter 10143: { 10143: Deleter deleter; 10143: T *ptr; 10143: 10143: CustomDeleter(T *p, Deleter d) : deleter(d), ptr(p) {} 10143: void execute() { executeDeleter(ptr, deleter); } 10143: }; 10143: # 189 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsharedpointer_impl.h" 3 4 10143: template 10143: struct CustomDeleter 10143: { 10143: T *ptr; 10143: 10143: CustomDeleter(T *p, NormalDeleter) : ptr(p) {} 10143: void execute() { delete ptr; } 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct ExternalRefCountWithCustomDeleter: public ExternalRefCountData 10143: { 10143: typedef ExternalRefCountWithCustomDeleter Self; 10143: typedef ExternalRefCountData BaseClass; 10143: CustomDeleter extra; 10143: 10143: static inline void deleter(ExternalRefCountData *self) 10143: { 10143: Self *realself = static_cast(self); 10143: realself->extra.execute(); 10143: 10143: 10143: realself->extra.~CustomDeleter(); 10143: } 10143: static void safetyCheckDeleter(ExternalRefCountData *self) 10143: { 10143: internalSafetyCheckRemove(self); 10143: deleter(self); 10143: } 10143: 10143: static inline Self *create(T *ptr, Deleter userDeleter, DestroyerFn actualDeleter) 10143: { 10143: Self *d = static_cast(::operator new(sizeof(Self))); 10143: 10143: 10143: new (&d->extra) CustomDeleter(ptr, userDeleter); 10143: new (d) BaseClass(actualDeleter); 10143: 10143: return d; 10143: } 10143: private: 10143: 10143: ExternalRefCountWithCustomDeleter() = delete; 10143: ~ExternalRefCountWithCustomDeleter() = delete; 10143: ExternalRefCountWithCustomDeleter(const ExternalRefCountWithCustomDeleter &) = delete; ExternalRefCountWithCustomDeleter &operator=(const ExternalRefCountWithCustomDeleter &) = delete; 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: template 10143: struct ExternalRefCountWithContiguousData: public ExternalRefCountData 10143: { 10143: typedef ExternalRefCountData Parent; 10143: T data; 10143: 10143: static void deleter(ExternalRefCountData *self) 10143: { 10143: ExternalRefCountWithContiguousData *that = 10143: static_cast(self); 10143: that->data.~T(); 10143: (void)that;; 10143: } 10143: static void safetyCheckDeleter(ExternalRefCountData *self) 10143: { 10143: internalSafetyCheckRemove(self); 10143: deleter(self); 10143: } 10143: static void noDeleter(ExternalRefCountData *) { } 10143: 10143: static inline ExternalRefCountData *create(T **ptr, DestroyerFn destroy) 10143: { 10143: ExternalRefCountWithContiguousData *d = 10143: static_cast(::operator new(sizeof(ExternalRefCountWithContiguousData))); 10143: 10143: 10143: 10143: new (d) Parent(destroy); 10143: 10143: *ptr = &d->data; 10143: return d; 10143: } 10143: 10143: private: 10143: 10143: ExternalRefCountWithContiguousData() = delete; 10143: ~ExternalRefCountWithContiguousData() = delete; 10143: ExternalRefCountWithContiguousData(const ExternalRefCountWithContiguousData &) = delete; ExternalRefCountWithContiguousData &operator=(const ExternalRefCountWithContiguousData &) = delete; 10143: }; 10143: 10143: 10143: __attribute__((visibility("default"))) QWeakPointer weakPointerFromVariant_internal(const QVariant &variant); 10143: __attribute__((visibility("default"))) QSharedPointer sharedPointerFromVariant_internal(const QVariant &variant); 10143: 10143: } 10143: 10143: template class QSharedPointer 10143: { 10143: typedef T *QSharedPointer:: *RestrictedBool; 10143: typedef QtSharedPointer::ExternalRefCountData Data; 10143: public: 10143: typedef T Type; 10143: typedef T element_type; 10143: typedef T value_type; 10143: typedef value_type *pointer; 10143: typedef const value_type *const_pointer; 10143: typedef value_type &reference; 10143: typedef const value_type &const_reference; 10143: typedef qptrdiff difference_type; 10143: 10143: T *data() const noexcept { return value; } 10143: bool isNull() const noexcept { return !data(); } 10143: operator RestrictedBool() const noexcept { return isNull() ? nullptr : &QSharedPointer::value; } 10143: bool operator !() const noexcept { return isNull(); } 10143: T &operator*() const { return *data(); } 10143: T *operator->() const noexcept { return data(); } 10143: 10143: constexpr QSharedPointer() noexcept : value(nullptr), d(nullptr) { } 10143: ~QSharedPointer() { deref(); } 10143: 10143: constexpr QSharedPointer(std::nullptr_t) noexcept : value(nullptr), d(nullptr) { } 10143: 10143: template 10143: inline explicit QSharedPointer(X *ptr) : value(ptr) 10143: { internalConstruct(ptr, QtSharedPointer::NormalDeleter()); } 10143: 10143: template 10143: inline QSharedPointer(X *ptr, Deleter deleter) : value(ptr) 10143: { internalConstruct(ptr, deleter); } 10143: 10143: template 10143: QSharedPointer(std::nullptr_t, Deleter) : value(nullptr), d(nullptr) { } 10143: 10143: QSharedPointer(const QSharedPointer &other) noexcept : value(other.value), d(other.d) 10143: { if (d) ref(); } 10143: QSharedPointer &operator=(const QSharedPointer &other) noexcept 10143: { 10143: QSharedPointer copy(other); 10143: swap(copy); 10143: return *this; 10143: } 10143: 10143: QSharedPointer(QSharedPointer &&other) noexcept 10143: : value(other.value), d(other.d) 10143: { 10143: other.d = nullptr; 10143: other.value = nullptr; 10143: } 10143: QSharedPointer &operator=(QSharedPointer &&other) noexcept 10143: { 10143: QSharedPointer moved(std::move(other)); 10143: swap(moved); 10143: return *this; 10143: } 10143: 10143: template 10143: QSharedPointer(QSharedPointer &&other) noexcept 10143: : value(other.value), d(other.d) 10143: { 10143: other.d = nullptr; 10143: other.value = nullptr; 10143: } 10143: 10143: template 10143: QSharedPointer &operator=(QSharedPointer &&other) noexcept 10143: { 10143: QSharedPointer moved(std::move(other)); 10143: swap(moved); 10143: return *this; 10143: } 10143: 10143: 10143: 10143: template 10143: QSharedPointer(const QSharedPointer &other) noexcept : value(other.value), d(other.d) 10143: { if (d) ref(); } 10143: 10143: template 10143: inline QSharedPointer &operator=(const QSharedPointer &other) 10143: { 10143: QSharedPointer copy(other); 10143: swap(copy); 10143: return *this; 10143: } 10143: 10143: template 10143: inline QSharedPointer(const QWeakPointer &other) : value(nullptr), d(nullptr) 10143: { *this = other; } 10143: 10143: template 10143: inline QSharedPointer &operator=(const QWeakPointer &other) 10143: { internalSet(other.d, other.value); return *this; } 10143: 10143: inline void swap(QSharedPointer &other) 10143: { this->internalSwap(other); } 10143: 10143: inline void reset() { clear(); } 10143: inline void reset(T *t) 10143: { QSharedPointer copy(t); swap(copy); } 10143: template 10143: inline void reset(T *t, Deleter deleter) 10143: { QSharedPointer copy(t, deleter); swap(copy); } 10143: 10143: template 10143: QSharedPointer staticCast() const 10143: { 10143: return qSharedPointerCast(*this); 10143: } 10143: 10143: template 10143: QSharedPointer dynamicCast() const 10143: { 10143: return qSharedPointerDynamicCast(*this); 10143: } 10143: 10143: template 10143: QSharedPointer constCast() const 10143: { 10143: return qSharedPointerConstCast(*this); 10143: } 10143: 10143: 10143: template 10143: QSharedPointer objectCast() const 10143: { 10143: return qSharedPointerObjectCast(*this); 10143: } 10143: 10143: 10143: inline void clear() { QSharedPointer copy; swap(copy); } 10143: 10143: QWeakPointer toWeakRef() const; 10143: 10143: template 10143: static QSharedPointer create(Args && ...arguments) 10143: { 10143: typedef QtSharedPointer::ExternalRefCountWithContiguousData Private; 10143: 10143: 10143: 10143: typename Private::DestroyerFn destroy = &Private::deleter; 10143: 10143: typename Private::DestroyerFn noDestroy = &Private::noDeleter; 10143: QSharedPointer result(Qt::Uninitialized); 10143: result.d = Private::create(&result.value, noDestroy); 10143: 10143: 10143: new (result.data()) T(std::forward(arguments)...); 10143: result.d->destroyer = destroy; 10143: result.d->setQObjectShared(result.value, true); 10143: 10143: 10143: 10143: result.enableSharedFromThis(result.data()); 10143: return result; 10143: } 10143: 10143: private: 10143: explicit QSharedPointer(Qt::Initialization) {} 10143: 10143: void deref() noexcept 10143: { deref(d); } 10143: static void deref(Data *dd) noexcept 10143: { 10143: if (!dd) return; 10143: if (!dd->strongref.deref()) { 10143: dd->destroy(); 10143: } 10143: if (!dd->weakref.deref()) 10143: delete dd; 10143: } 10143: 10143: template 10143: inline void enableSharedFromThis(const QEnableSharedFromThis *ptr) 10143: { 10143: ptr->initializeFromSharedPointer(constCast::type>()); 10143: } 10143: 10143: inline void enableSharedFromThis(...) {} 10143: 10143: template 10143: inline void internalConstruct(X *ptr, Deleter deleter) 10143: { 10143: if (!ptr) { 10143: d = nullptr; 10143: return; 10143: } 10143: 10143: typedef QtSharedPointer::ExternalRefCountWithCustomDeleter Private; 10143: 10143: 10143: 10143: typename Private::DestroyerFn actualDeleter = &Private::deleter; 10143: 10143: d = Private::create(ptr, deleter, actualDeleter); 10143: 10143: 10143: 10143: 10143: d->setQObjectShared(ptr, true); 10143: enableSharedFromThis(ptr); 10143: } 10143: 10143: void internalSwap(QSharedPointer &other) noexcept 10143: { 10143: qSwap(d, other.d); 10143: qSwap(this->value, other.value); 10143: } 10143: 10143: 10143: 10143: 10143: template friend class QSharedPointer; 10143: template friend class QWeakPointer; 10143: template friend QSharedPointer QtSharedPointer::copyAndSetPointer(X * ptr, const QSharedPointer &src); 10143: 10143: void ref() const noexcept { d->weakref.ref(); d->strongref.ref(); } 10143: 10143: inline void internalSet(Data *o, T *actual) 10143: { 10143: if (o) { 10143: 10143: 10143: int tmp = o->strongref.load(); 10143: while (tmp > 0) { 10143: 10143: if (o->strongref.testAndSetRelaxed(tmp, tmp + 1)) 10143: break; 10143: tmp = o->strongref.load(); 10143: } 10143: 10143: if (tmp > 0) { 10143: o->weakref.ref(); 10143: } else { 10143: o->checkQObjectShared(actual); 10143: o = nullptr; 10143: } 10143: } 10143: 10143: qSwap(d, o); 10143: qSwap(this->value, actual); 10143: if (!d || d->strongref.load() == 0) 10143: this->value = nullptr; 10143: 10143: 10143: deref(o); 10143: } 10143: 10143: Type *value; 10143: Data *d; 10143: }; 10143: 10143: template 10143: class QWeakPointer 10143: { 10143: typedef T *QWeakPointer:: *RestrictedBool; 10143: typedef QtSharedPointer::ExternalRefCountData Data; 10143: 10143: public: 10143: typedef T element_type; 10143: typedef T value_type; 10143: typedef value_type *pointer; 10143: typedef const value_type *const_pointer; 10143: typedef value_type &reference; 10143: typedef const value_type &const_reference; 10143: typedef qptrdiff difference_type; 10143: 10143: bool isNull() const noexcept { return d == nullptr || d->strongref.load() == 0 || value == nullptr; } 10143: operator RestrictedBool() const noexcept { return isNull() ? nullptr : &QWeakPointer::value; } 10143: bool operator !() const noexcept { return isNull(); } 10143: T *data() const noexcept { return d == nullptr || d->strongref.load() == 0 ? nullptr : value; } 10143: 10143: inline QWeakPointer() noexcept : d(nullptr), value(nullptr) { } 10143: inline ~QWeakPointer() { if (d && !d->weakref.deref()) delete d; } 10143: # 585 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsharedpointer_impl.h" 3 4 10143: QWeakPointer(const QWeakPointer &other) noexcept : d(other.d), value(other.value) 10143: { if (d) d->weakref.ref(); } 10143: 10143: QWeakPointer(QWeakPointer &&other) noexcept 10143: : d(other.d), value(other.value) 10143: { 10143: other.d = nullptr; 10143: other.value = nullptr; 10143: } 10143: QWeakPointer &operator=(QWeakPointer &&other) noexcept 10143: { QWeakPointer moved(std::move(other)); swap(moved); return *this; } 10143: 10143: QWeakPointer &operator=(const QWeakPointer &other) noexcept 10143: { 10143: QWeakPointer copy(other); 10143: swap(copy); 10143: return *this; 10143: } 10143: 10143: void swap(QWeakPointer &other) noexcept 10143: { 10143: qSwap(this->d, other.d); 10143: qSwap(this->value, other.value); 10143: } 10143: 10143: inline QWeakPointer(const QSharedPointer &o) : d(o.d), value(o.data()) 10143: { if (d) d->weakref.ref();} 10143: inline QWeakPointer &operator=(const QSharedPointer &o) 10143: { 10143: internalSet(o.d, o.value); 10143: return *this; 10143: } 10143: 10143: template 10143: inline QWeakPointer(const QWeakPointer &o) : d(nullptr), value(nullptr) 10143: { *this = o; } 10143: 10143: template 10143: inline QWeakPointer &operator=(const QWeakPointer &o) 10143: { 10143: 10143: 10143: *this = o.toStrongRef(); 10143: return *this; 10143: } 10143: 10143: template 10143: bool operator==(const QWeakPointer &o) const noexcept 10143: { return d == o.d && value == static_cast(o.value); } 10143: 10143: template 10143: bool operator!=(const QWeakPointer &o) const noexcept 10143: { return !(*this == o); } 10143: 10143: template 10143: inline QWeakPointer(const QSharedPointer &o) : d(nullptr), value(nullptr) 10143: { *this = o; } 10143: 10143: template 10143: inline QWeakPointer &operator=(const QSharedPointer &o) 10143: { 10143: qt_noop(); 10143: internalSet(o.d, o.data()); 10143: return *this; 10143: } 10143: 10143: template 10143: bool operator==(const QSharedPointer &o) const noexcept 10143: { return d == o.d; } 10143: 10143: template 10143: bool operator!=(const QSharedPointer &o) const noexcept 10143: { return !(*this == o); } 10143: 10143: inline void clear() { *this = QWeakPointer(); } 10143: 10143: inline QSharedPointer toStrongRef() const { return QSharedPointer(*this); } 10143: 10143: inline QSharedPointer lock() const { return toStrongRef(); } 10143: 10143: 10143: 10143: 10143: 10143: private: 10143: 10143: 10143: 10143: 10143: template friend class QSharedPointer; 10143: template friend class QPointer; 10143: 10143: 10143: template 10143: inline QWeakPointer &assign(X *ptr) 10143: { return *this = QWeakPointer(ptr, true); } 10143: 10143: 10143: template 10143: inline QWeakPointer(X *ptr, bool) : d(ptr ? Data::getAndRef(ptr) : nullptr), value(ptr) 10143: { } 10143: 10143: 10143: inline void internalSet(Data *o, T *actual) 10143: { 10143: if (d == o) return; 10143: if (o) 10143: o->weakref.ref(); 10143: if (d && !d->weakref.deref()) 10143: delete d; 10143: d = o; 10143: value = actual; 10143: } 10143: 10143: Data *d; 10143: T *value; 10143: }; 10143: 10143: template 10143: class QEnableSharedFromThis 10143: { 10143: protected: 10143: 10143: QEnableSharedFromThis() = default; 10143: 10143: 10143: 10143: QEnableSharedFromThis(const QEnableSharedFromThis &) {} 10143: QEnableSharedFromThis &operator=(const QEnableSharedFromThis &) { return *this; } 10143: 10143: public: 10143: inline QSharedPointer sharedFromThis() { return QSharedPointer(weakPointer); } 10143: inline QSharedPointer sharedFromThis() const { return QSharedPointer(weakPointer); } 10143: 10143: 10143: private: 10143: template friend class QSharedPointer; 10143: 10143: 10143: 10143: template 10143: inline void initializeFromSharedPointer(const QSharedPointer &ptr) const 10143: { 10143: weakPointer = ptr; 10143: } 10143: 10143: mutable QWeakPointer weakPointer; 10143: }; 10143: 10143: 10143: 10143: 10143: template 10143: bool operator==(const QSharedPointer &ptr1, const QSharedPointer &ptr2) noexcept 10143: { 10143: return ptr1.data() == ptr2.data(); 10143: } 10143: template 10143: bool operator!=(const QSharedPointer &ptr1, const QSharedPointer &ptr2) noexcept 10143: { 10143: return ptr1.data() != ptr2.data(); 10143: } 10143: 10143: template 10143: bool operator==(const QSharedPointer &ptr1, const X *ptr2) noexcept 10143: { 10143: return ptr1.data() == ptr2; 10143: } 10143: template 10143: bool operator==(const T *ptr1, const QSharedPointer &ptr2) noexcept 10143: { 10143: return ptr1 == ptr2.data(); 10143: } 10143: template 10143: bool operator!=(const QSharedPointer &ptr1, const X *ptr2) noexcept 10143: { 10143: return !(ptr1 == ptr2); 10143: } 10143: template 10143: bool operator!=(const T *ptr1, const QSharedPointer &ptr2) noexcept 10143: { 10143: return !(ptr2 == ptr1); 10143: } 10143: 10143: template 10143: bool operator==(const QSharedPointer &ptr1, const QWeakPointer &ptr2) noexcept 10143: { 10143: return ptr2 == ptr1; 10143: } 10143: template 10143: bool operator!=(const QSharedPointer &ptr1, const QWeakPointer &ptr2) noexcept 10143: { 10143: return ptr2 != ptr1; 10143: } 10143: 10143: template 10143: inline bool operator==(const QSharedPointer &lhs, std::nullptr_t) noexcept 10143: { 10143: return lhs.isNull(); 10143: } 10143: 10143: template 10143: inline bool operator!=(const QSharedPointer &lhs, std::nullptr_t) noexcept 10143: { 10143: return !lhs.isNull(); 10143: } 10143: 10143: template 10143: inline bool operator==(std::nullptr_t, const QSharedPointer &rhs) noexcept 10143: { 10143: return rhs.isNull(); 10143: } 10143: 10143: template 10143: inline bool operator!=(std::nullptr_t, const QSharedPointer &rhs) noexcept 10143: { 10143: return !rhs.isNull(); 10143: } 10143: 10143: template 10143: inline bool operator==(const QWeakPointer &lhs, std::nullptr_t) noexcept 10143: { 10143: return lhs.isNull(); 10143: } 10143: 10143: template 10143: inline bool operator!=(const QWeakPointer &lhs, std::nullptr_t) noexcept 10143: { 10143: return !lhs.isNull(); 10143: } 10143: 10143: template 10143: inline bool operator==(std::nullptr_t, const QWeakPointer &rhs) noexcept 10143: { 10143: return rhs.isNull(); 10143: } 10143: 10143: template 10143: inline bool operator!=(std::nullptr_t, const QWeakPointer &rhs) noexcept 10143: { 10143: return !rhs.isNull(); 10143: } 10143: 10143: 10143: 10143: 10143: template 10143: inline typename QSharedPointer::difference_type operator-(const QSharedPointer &ptr1, const QSharedPointer &ptr2) 10143: { 10143: return ptr1.data() - ptr2.data(); 10143: } 10143: template 10143: inline typename QSharedPointer::difference_type operator-(const QSharedPointer &ptr1, X *ptr2) 10143: { 10143: return ptr1.data() - ptr2; 10143: } 10143: template 10143: inline typename QSharedPointer::difference_type operator-(T *ptr1, const QSharedPointer &ptr2) 10143: { 10143: return ptr1 - ptr2.data(); 10143: } 10143: 10143: 10143: 10143: 10143: template 10143: inline bool operator<(const QSharedPointer &ptr1, const QSharedPointer &ptr2) 10143: { 10143: using CT = typename std::common_type::type; 10143: return std::less()(ptr1.data(), ptr2.data()); 10143: } 10143: template 10143: inline bool operator<(const QSharedPointer &ptr1, X *ptr2) 10143: { 10143: using CT = typename std::common_type::type; 10143: return std::less()(ptr1.data(), ptr2); 10143: } 10143: template 10143: inline bool operator<(T *ptr1, const QSharedPointer &ptr2) 10143: { 10143: using CT = typename std::common_type::type; 10143: return std::less()(ptr1, ptr2.data()); 10143: } 10143: 10143: 10143: 10143: 10143: template 10143: inline uint qHash(const QSharedPointer &ptr, uint seed = 0) 10143: { 10143: return ::qHash(ptr.data(), seed); 10143: } 10143: 10143: 10143: template 10143: inline QWeakPointer QSharedPointer::toWeakRef() const 10143: { 10143: return QWeakPointer(*this); 10143: } 10143: 10143: template 10143: inline void qSwap(QSharedPointer &p1, QSharedPointer &p2) 10143: { 10143: p1.swap(p2); 10143: } 10143: 10143: 10143: namespace std { 10143: template 10143: inline void swap(::QSharedPointer &p1, ::QSharedPointer &p2) 10143: { p1.swap(p2); } 10143: } 10143: 10143: 10143: namespace QtSharedPointer { 10143: 10143: template 10143: inline QSharedPointer copyAndSetPointer(X *ptr, const QSharedPointer &src) 10143: { 10143: QSharedPointer result; 10143: result.internalSet(src.d, ptr); 10143: return result; 10143: } 10143: } 10143: 10143: 10143: template 10143: inline QSharedPointer qSharedPointerCast(const QSharedPointer &src) 10143: { 10143: X *ptr = static_cast(src.data()); 10143: return QtSharedPointer::copyAndSetPointer(ptr, src); 10143: } 10143: template 10143: inline QSharedPointer qSharedPointerCast(const QWeakPointer &src) 10143: { 10143: return qSharedPointerCast(src.toStrongRef()); 10143: } 10143: 10143: template 10143: inline QSharedPointer qSharedPointerDynamicCast(const QSharedPointer &src) 10143: { 10143: X *ptr = dynamic_cast(src.data()); 10143: if (!ptr) 10143: return QSharedPointer(); 10143: return QtSharedPointer::copyAndSetPointer(ptr, src); 10143: } 10143: template 10143: inline QSharedPointer qSharedPointerDynamicCast(const QWeakPointer &src) 10143: { 10143: return qSharedPointerDynamicCast(src.toStrongRef()); 10143: } 10143: 10143: template 10143: inline QSharedPointer qSharedPointerConstCast(const QSharedPointer &src) 10143: { 10143: X *ptr = const_cast(src.data()); 10143: return QtSharedPointer::copyAndSetPointer(ptr, src); 10143: } 10143: template 10143: inline QSharedPointer qSharedPointerConstCast(const QWeakPointer &src) 10143: { 10143: return qSharedPointerConstCast(src.toStrongRef()); 10143: } 10143: 10143: template 10143: inline 10143: QWeakPointer qWeakPointerCast(const QSharedPointer &src) 10143: { 10143: return qSharedPointerCast(src).toWeakRef(); 10143: } 10143: 10143: 10143: template 10143: inline QSharedPointer qSharedPointerObjectCast(const QSharedPointer &src) 10143: { 10143: X *ptr = qobject_cast(src.data()); 10143: return QtSharedPointer::copyAndSetPointer(ptr, src); 10143: } 10143: template 10143: inline QSharedPointer qSharedPointerObjectCast(const QWeakPointer &src) 10143: { 10143: return qSharedPointerObjectCast(src.toStrongRef()); 10143: } 10143: 10143: template 10143: inline QSharedPointer::Type> 10143: qobject_cast(const QSharedPointer &src) 10143: { 10143: return qSharedPointerObjectCast::Type, T>(src); 10143: } 10143: template 10143: inline QSharedPointer::Type> 10143: qobject_cast(const QWeakPointer &src) 10143: { 10143: return qSharedPointerObjectCast::Type, T>(src); 10143: } 10143: 10143: template 10143: QWeakPointer::Value, T>::type> 10143: qWeakPointerFromVariant(const QVariant &variant) 10143: { 10143: return QWeakPointer(qobject_cast(QtSharedPointer::weakPointerFromVariant_internal(variant).data())); 10143: } 10143: template 10143: QSharedPointer::Value, T>::type> 10143: qSharedPointerFromVariant(const QVariant &variant) 10143: { 10143: return qSharedPointerObjectCast(QtSharedPointer::sharedPointerFromVariant_internal(variant)); 10143: } 10143: 10143: 10143: 10143: template class QTypeInfo > { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QWeakPointer)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QWeakPointer >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QWeakPointer) }; static inline const char *name() { return "QWeakPointer"; } }; 10143: template class QTypeInfo > { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QSharedPointer)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QSharedPointer >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QSharedPointer) }; static inline const char *name() { return "QSharedPointer"; } }; 10143: 10143: 10143: 10143: # 49 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsharedpointer.h" 2 3 4 10143: # 47 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qfont.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: class QFontPrivate; 10143: class QStringList; 10143: class QVariant; 10143: 10143: class __attribute__((visibility("default"))) QFont 10143: { 10143: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 10143: # 58 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qfont.h" 3 4 10143: #pragma GCC diagnostic push 10143: # 58 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qfont.h" 3 4 10143: 10143: # 58 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qfont.h" 3 4 10143: #pragma GCC diagnostic ignored "-Wattributes" 10143: # 58 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qfont.h" 3 4 10143: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 10143: # 58 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qfont.h" 3 4 10143: #pragma GCC diagnostic pop 10143: # 58 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qfont.h" 3 4 10143: 10143: public: 10143: enum StyleHint { 10143: Helvetica, SansSerif = Helvetica, 10143: Times, Serif = Times, 10143: Courier, TypeWriter = Courier, 10143: OldEnglish, Decorative = OldEnglish, 10143: System, 10143: AnyStyle, 10143: Cursive, 10143: Monospace, 10143: Fantasy 10143: }; 10143: 10143: enum StyleStrategy { 10143: PreferDefault = 0x0001, 10143: PreferBitmap = 0x0002, 10143: PreferDevice = 0x0004, 10143: PreferOutline = 0x0008, 10143: ForceOutline = 0x0010, 10143: PreferMatch = 0x0020, 10143: PreferQuality = 0x0040, 10143: PreferAntialias = 0x0080, 10143: NoAntialias = 0x0100, 10143: OpenGLCompatible = 0x0200, 10143: ForceIntegerMetrics = 0x0400, 10143: NoSubpixelAntialias = 0x0800, 10143: NoFontMerging = 0x8000 10143: }; 10143: friend constexpr const QMetaObject *qt_getEnumMetaObject(StyleStrategy) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(StyleStrategy) noexcept { return "StyleStrategy"; } 10143: 10143: enum HintingPreference { 10143: PreferDefaultHinting = 0, 10143: PreferNoHinting = 1, 10143: PreferVerticalHinting = 2, 10143: PreferFullHinting = 3 10143: }; 10143: 10143: 10143: enum Weight { 10143: Thin = 0, 10143: ExtraLight = 12, 10143: Light = 25, 10143: Normal = 50, 10143: Medium = 57, 10143: DemiBold = 63, 10143: Bold = 75, 10143: ExtraBold = 81, 10143: Black = 87 10143: }; 10143: 10143: enum Style { 10143: StyleNormal, 10143: StyleItalic, 10143: StyleOblique 10143: }; 10143: 10143: enum Stretch { 10143: AnyStretch = 0, 10143: UltraCondensed = 50, 10143: ExtraCondensed = 62, 10143: Condensed = 75, 10143: SemiCondensed = 87, 10143: Unstretched = 100, 10143: SemiExpanded = 112, 10143: Expanded = 125, 10143: ExtraExpanded = 150, 10143: UltraExpanded = 200 10143: }; 10143: 10143: enum Capitalization { 10143: MixedCase, 10143: AllUppercase, 10143: AllLowercase, 10143: SmallCaps, 10143: Capitalize 10143: }; 10143: 10143: enum SpacingType { 10143: PercentageSpacing, 10143: AbsoluteSpacing 10143: }; 10143: 10143: enum ResolveProperties { 10143: FamilyResolved = 0x0001, 10143: SizeResolved = 0x0002, 10143: StyleHintResolved = 0x0004, 10143: StyleStrategyResolved = 0x0008, 10143: WeightResolved = 0x0010, 10143: StyleResolved = 0x0020, 10143: UnderlineResolved = 0x0040, 10143: OverlineResolved = 0x0080, 10143: StrikeOutResolved = 0x0100, 10143: FixedPitchResolved = 0x0200, 10143: StretchResolved = 0x0400, 10143: KerningResolved = 0x0800, 10143: CapitalizationResolved = 0x1000, 10143: LetterSpacingResolved = 0x2000, 10143: WordSpacingResolved = 0x4000, 10143: HintingPreferenceResolved = 0x8000, 10143: StyleNameResolved = 0x10000, 10143: AllPropertiesResolved = 0x1ffff 10143: }; 10143: 10143: QFont(); 10143: QFont(const QString &family, int pointSize = -1, int weight = -1, bool italic = false); 10143: QFont(const QFont &, QPaintDevice *pd); 10143: QFont(const QFont &); 10143: ~QFont(); 10143: 10143: void swap(QFont &other) 10143: { qSwap(d, other.d); qSwap(resolve_mask, other.resolve_mask); } 10143: 10143: QString family() const; 10143: void setFamily(const QString &); 10143: 10143: QString styleName() const; 10143: void setStyleName(const QString &); 10143: 10143: int pointSize() const; 10143: void setPointSize(int); 10143: qreal pointSizeF() const; 10143: void setPointSizeF(qreal); 10143: 10143: int pixelSize() const; 10143: void setPixelSize(int); 10143: 10143: int weight() const; 10143: void setWeight(int); 10143: 10143: inline bool bold() const; 10143: inline void setBold(bool); 10143: 10143: void setStyle(Style style); 10143: Style style() const; 10143: 10143: inline bool italic() const; 10143: inline void setItalic(bool b); 10143: 10143: bool underline() const; 10143: void setUnderline(bool); 10143: 10143: bool overline() const; 10143: void setOverline(bool); 10143: 10143: bool strikeOut() const; 10143: void setStrikeOut(bool); 10143: 10143: bool fixedPitch() const; 10143: void setFixedPitch(bool); 10143: 10143: bool kerning() const; 10143: void setKerning(bool); 10143: 10143: StyleHint styleHint() const; 10143: StyleStrategy styleStrategy() const; 10143: void setStyleHint(StyleHint, StyleStrategy = PreferDefault); 10143: void setStyleStrategy(StyleStrategy s); 10143: 10143: int stretch() const; 10143: void setStretch(int); 10143: 10143: qreal letterSpacing() const; 10143: SpacingType letterSpacingType() const; 10143: void setLetterSpacing(SpacingType type, qreal spacing); 10143: 10143: qreal wordSpacing() const; 10143: void setWordSpacing(qreal spacing); 10143: 10143: void setCapitalization(Capitalization); 10143: Capitalization capitalization() const; 10143: 10143: void setHintingPreference(HintingPreference hintingPreference); 10143: HintingPreference hintingPreference() const; 10143: 10143: 10143: bool rawMode() const; 10143: void setRawMode(bool); 10143: 10143: 10143: 10143: bool exactMatch() const; 10143: 10143: QFont &operator=(const QFont &); 10143: bool operator==(const QFont &) const; 10143: bool operator!=(const QFont &) const; 10143: bool operator<(const QFont &) const; 10143: operator QVariant() const; 10143: bool isCopyOf(const QFont &) const; 10143: 10143: inline QFont &operator=(QFont &&other) noexcept 10143: { qSwap(d, other.d); qSwap(resolve_mask, other.resolve_mask); return *this; } 10143: 10143: 10143: 10143: 10143: void setRawName(const QString &); 10143: QString rawName() const; 10143: 10143: 10143: QString key() const; 10143: 10143: QString toString() const; 10143: bool fromString(const QString &); 10143: 10143: static QString substitute(const QString &); 10143: static QStringList substitutes(const QString &); 10143: static QStringList substitutions(); 10143: static void insertSubstitution(const QString&, const QString &); 10143: static void insertSubstitutions(const QString&, const QStringList &); 10143: static void removeSubstitutions(const QString &); 10143: 10143: 10143: 10143: static void initialize(); 10143: static void cleanup(); 10143: static void cacheStatistics(); 10143: 10143: QString defaultFamily() const; 10143: QString lastResortFamily() const; 10143: QString lastResortFont() const; 10143: 10143: QFont resolve(const QFont &) const; 10143: inline uint resolve() const { return resolve_mask; } 10143: inline void resolve(uint mask) { resolve_mask = mask; } 10143: 10143: private: 10143: explicit QFont(QFontPrivate *); 10143: 10143: void detach(); 10143: 10143: 10143: friend class QFontPrivate; 10143: friend class QFontDialogPrivate; 10143: friend class QFontMetrics; 10143: friend class QFontMetricsF; 10143: friend class QFontInfo; 10143: friend class QPainter; 10143: friend class QPainterPrivate; 10143: friend class QApplication; 10143: friend class QWidget; 10143: friend class QWidgetPrivate; 10143: friend class QTextLayout; 10143: friend class QTextEngine; 10143: friend class QStackTextEngine; 10143: friend class QTextLine; 10143: friend struct QScriptLine; 10143: friend class QOpenGLContext; 10143: friend class QWin32PaintEngine; 10143: friend class QAlphaPaintEngine; 10143: friend class QPainterPath; 10143: friend class QTextItemInt; 10143: friend class QPicturePaintEngine; 10143: friend class QPainterReplayer; 10143: friend class QPaintBufferEngine; 10143: friend class QCommandLinkButtonPrivate; 10143: friend class QFontEngine; 10143: 10143: 10143: friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QFont &); 10143: friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QFont &); 10143: 10143: 10143: QExplicitlySharedDataPointer d; 10143: uint resolve_mask; 10143: }; 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QFont)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QFont >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QFont) }; static inline const char *name() { return "QFont"; } }; inline void swap(QFont &value1, QFont &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 10143: 10143: __attribute__((visibility("default"))) uint qHash(const QFont &font, uint seed = 0) noexcept; 10143: 10143: inline bool QFont::bold() const 10143: { return weight() > Medium; } 10143: 10143: 10143: inline void QFont::setBold(bool enable) 10143: { setWeight(enable ? Bold : Normal); } 10143: 10143: inline bool QFont::italic() const 10143: { 10143: return (style() != StyleNormal); 10143: } 10143: 10143: inline void QFont::setItalic(bool b) { 10143: setStyle(b ? StyleItalic : StyleNormal); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QFont &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QFont &); 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QFont &); 10143: 10143: 10143: 10143: # 46 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtextformat.h" 2 3 4 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qvector.h" 1 3 4 10143: # 48 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtextformat.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qvariant.h" 1 3 4 10143: # 43 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qvariant.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qvariant.h" 2 3 4 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmap.h" 1 3 4 10143: # 48 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qvariant.h" 2 3 4 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qstringlist.h" 1 3 4 10143: # 51 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qvariant.h" 2 3 4 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qbytearraylist.h" 1 3 4 10143: # 54 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qvariant.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: class QBitArray; 10143: class QDataStream; 10143: class QDate; 10143: class QDateTime; 10143: class QEasingCurve; 10143: class QLine; 10143: class QLineF; 10143: class QLocale; 10143: class QMatrix; 10143: class QTransform; 10143: class QStringList; 10143: class QTime; 10143: class QPoint; 10143: class QPointF; 10143: class QSize; 10143: class QSizeF; 10143: class QRect; 10143: class QRectF; 10143: 10143: class QRegExp; 10143: 10143: 10143: class QRegularExpression; 10143: 10143: class QTextFormat; 10143: class QTextLength; 10143: class QUrl; 10143: class QVariant; 10143: class QVariantComparisonHelper; 10143: 10143: template 10143: inline QVariant qVariantFromValue(const T &); 10143: 10143: template 10143: inline T qvariant_cast(const QVariant &); 10143: 10143: namespace QtPrivate { 10143: 10143: template 10143: struct ObjectInvoker 10143: { 10143: static ReturnType invoke(Argument a) 10143: { 10143: return Derived::object(a); 10143: } 10143: }; 10143: 10143: template 10143: struct MetaTypeInvoker 10143: { 10143: static ReturnType invoke(Argument a) 10143: { 10143: return Derived::metaType(a); 10143: } 10143: }; 10143: 10143: template ::Value> 10143: struct TreatAsQObjectBeforeMetaType : ObjectInvoker 10143: { 10143: }; 10143: 10143: template 10143: struct TreatAsQObjectBeforeMetaType : MetaTypeInvoker 10143: { 10143: }; 10143: 10143: template struct QVariantValueHelper; 10143: } 10143: 10143: class __attribute__((visibility("default"))) QVariant 10143: { 10143: public: 10143: enum Type { 10143: Invalid = QMetaType::UnknownType, 10143: Bool = QMetaType::Bool, 10143: Int = QMetaType::Int, 10143: UInt = QMetaType::UInt, 10143: LongLong = QMetaType::LongLong, 10143: ULongLong = QMetaType::ULongLong, 10143: Double = QMetaType::Double, 10143: Char = QMetaType::QChar, 10143: Map = QMetaType::QVariantMap, 10143: List = QMetaType::QVariantList, 10143: String = QMetaType::QString, 10143: StringList = QMetaType::QStringList, 10143: ByteArray = QMetaType::QByteArray, 10143: BitArray = QMetaType::QBitArray, 10143: Date = QMetaType::QDate, 10143: Time = QMetaType::QTime, 10143: DateTime = QMetaType::QDateTime, 10143: Url = QMetaType::QUrl, 10143: Locale = QMetaType::QLocale, 10143: Rect = QMetaType::QRect, 10143: RectF = QMetaType::QRectF, 10143: Size = QMetaType::QSize, 10143: SizeF = QMetaType::QSizeF, 10143: Line = QMetaType::QLine, 10143: LineF = QMetaType::QLineF, 10143: Point = QMetaType::QPoint, 10143: PointF = QMetaType::QPointF, 10143: RegExp = QMetaType::QRegExp, 10143: RegularExpression = QMetaType::QRegularExpression, 10143: Hash = QMetaType::QVariantHash, 10143: EasingCurve = QMetaType::QEasingCurve, 10143: Uuid = QMetaType::QUuid, 10143: ModelIndex = QMetaType::QModelIndex, 10143: PersistentModelIndex = QMetaType::QPersistentModelIndex, 10143: LastCoreType = QMetaType::LastCoreType, 10143: 10143: Font = QMetaType::QFont, 10143: Pixmap = QMetaType::QPixmap, 10143: Brush = QMetaType::QBrush, 10143: Color = QMetaType::QColor, 10143: Palette = QMetaType::QPalette, 10143: Image = QMetaType::QImage, 10143: Polygon = QMetaType::QPolygon, 10143: Region = QMetaType::QRegion, 10143: Bitmap = QMetaType::QBitmap, 10143: Cursor = QMetaType::QCursor, 10143: KeySequence = QMetaType::QKeySequence, 10143: Pen = QMetaType::QPen, 10143: TextLength = QMetaType::QTextLength, 10143: TextFormat = QMetaType::QTextFormat, 10143: Matrix = QMetaType::QMatrix, 10143: Transform = QMetaType::QTransform, 10143: Matrix4x4 = QMetaType::QMatrix4x4, 10143: Vector2D = QMetaType::QVector2D, 10143: Vector3D = QMetaType::QVector3D, 10143: Vector4D = QMetaType::QVector4D, 10143: Quaternion = QMetaType::QQuaternion, 10143: PolygonF = QMetaType::QPolygonF, 10143: Icon = QMetaType::QIcon, 10143: LastGuiType = QMetaType::LastGuiType, 10143: 10143: SizePolicy = QMetaType::QSizePolicy, 10143: 10143: UserType = QMetaType::User, 10143: LastType = 0xffffffff 10143: }; 10143: 10143: QVariant() noexcept : d() {} 10143: ~QVariant(); 10143: QVariant(Type type); 10143: QVariant(int typeId, const void *copy); 10143: QVariant(int typeId, const void *copy, uint flags); 10143: QVariant(const QVariant &other); 10143: 10143: 10143: QVariant(QDataStream &s); 10143: 10143: 10143: QVariant(int i); 10143: QVariant(uint ui); 10143: QVariant(qlonglong ll); 10143: QVariant(qulonglong ull); 10143: QVariant(bool b); 10143: QVariant(double d); 10143: QVariant(float f); 10143: 10143: QVariant(const char *str); 10143: 10143: 10143: QVariant(const QByteArray &bytearray); 10143: QVariant(const QBitArray &bitarray); 10143: QVariant(const QString &string); 10143: QVariant(QLatin1String string); 10143: QVariant(const QStringList &stringlist); 10143: QVariant(QChar qchar); 10143: QVariant(const QDate &date); 10143: QVariant(const QTime &time); 10143: QVariant(const QDateTime &datetime); 10143: QVariant(const QList &list); 10143: QVariant(const QMap &map); 10143: QVariant(const QHash &hash); 10143: 10143: QVariant(const QSize &size); 10143: QVariant(const QSizeF &size); 10143: QVariant(const QPoint &pt); 10143: QVariant(const QPointF &pt); 10143: QVariant(const QLine &line); 10143: QVariant(const QLineF &line); 10143: QVariant(const QRect &rect); 10143: QVariant(const QRectF &rect); 10143: 10143: QVariant(const QLocale &locale); 10143: 10143: QVariant(const QRegExp ®Exp); 10143: 10143: 10143: 10143: QVariant(const QRegularExpression &re); 10143: 10143: QVariant(const QUrl &url); 10143: QVariant(const QEasingCurve &easing); 10143: QVariant(const QUuid &uuid); 10143: QVariant(const QModelIndex &modelIndex); 10143: QVariant(const QPersistentModelIndex &modelIndex); 10143: QVariant(const QJsonValue &jsonValue); 10143: QVariant(const QJsonObject &jsonObject); 10143: QVariant(const QJsonArray &jsonArray); 10143: QVariant(const QJsonDocument &jsonDocument); 10143: 10143: 10143: QVariant& operator=(const QVariant &other); 10143: 10143: inline QVariant(QVariant &&other) noexcept : d(other.d) 10143: { other.d = Private(); } 10143: inline QVariant &operator=(QVariant &&other) noexcept 10143: { qSwap(d, other.d); return *this; } 10143: 10143: 10143: inline void swap(QVariant &other) noexcept { qSwap(d, other.d); } 10143: 10143: Type type() const; 10143: int userType() const; 10143: const char *typeName() const; 10143: 10143: bool canConvert(int targetTypeId) const; 10143: bool convert(int targetTypeId); 10143: 10143: inline bool isValid() const; 10143: bool isNull() const; 10143: 10143: void clear(); 10143: 10143: void detach(); 10143: inline bool isDetached() const; 10143: 10143: int toInt(bool *ok = nullptr) const; 10143: uint toUInt(bool *ok = nullptr) const; 10143: qlonglong toLongLong(bool *ok = nullptr) const; 10143: qulonglong toULongLong(bool *ok = nullptr) const; 10143: bool toBool() const; 10143: double toDouble(bool *ok = nullptr) const; 10143: float toFloat(bool *ok = nullptr) const; 10143: qreal toReal(bool *ok = nullptr) const; 10143: QByteArray toByteArray() const; 10143: QBitArray toBitArray() const; 10143: QString toString() const; 10143: QStringList toStringList() const; 10143: QChar toChar() const; 10143: QDate toDate() const; 10143: QTime toTime() const; 10143: QDateTime toDateTime() const; 10143: QList toList() const; 10143: QMap toMap() const; 10143: QHash toHash() const; 10143: 10143: 10143: QPoint toPoint() const; 10143: QPointF toPointF() const; 10143: QRect toRect() const; 10143: QSize toSize() const; 10143: QSizeF toSizeF() const; 10143: QLine toLine() const; 10143: QLineF toLineF() const; 10143: QRectF toRectF() const; 10143: 10143: QLocale toLocale() const; 10143: 10143: QRegExp toRegExp() const; 10143: 10143: 10143: 10143: QRegularExpression toRegularExpression() const; 10143: 10143: QUrl toUrl() const; 10143: QEasingCurve toEasingCurve() const; 10143: QUuid toUuid() const; 10143: QModelIndex toModelIndex() const; 10143: QPersistentModelIndex toPersistentModelIndex() const; 10143: QJsonValue toJsonValue() const; 10143: QJsonObject toJsonObject() const; 10143: QJsonArray toJsonArray() const; 10143: QJsonDocument toJsonDocument() const; 10143: 10143: 10143: 10143: void load(QDataStream &ds); 10143: void save(QDataStream &ds) const; 10143: 10143: static const char *typeToName(int typeId); 10143: static Type nameToType(const char *name); 10143: 10143: void *data(); 10143: const void *constData() const; 10143: inline const void *data() const { return constData(); } 10143: 10143: template 10143: inline void setValue(const T &value); 10143: 10143: template 10143: inline T value() const 10143: { return qvariant_cast(*this); } 10143: 10143: template 10143: static inline QVariant fromValue(const T &value) 10143: { return qVariantFromValue(value); } 10143: 10143: template 10143: bool canConvert() const 10143: { return canConvert(qMetaTypeId()); } 10143: 10143: public: 10143: 10143: struct PrivateShared 10143: { 10143: inline PrivateShared(void *v) : ptr(v), ref(1) { } 10143: void *ptr; 10143: QAtomicInt ref; 10143: }; 10143: struct Private 10143: { 10143: inline Private() noexcept : type(Invalid), is_shared(false), is_null(true) 10143: { data.ptr = nullptr; } 10143: 10143: 10143: explicit inline Private(uint variantType) noexcept 10143: : type(variantType), is_shared(false), is_null(false) 10143: {} 10143: 10143: inline Private(const Private &other) noexcept 10143: : data(other.data), type(other.type), 10143: is_shared(other.is_shared), is_null(other.is_null) 10143: {} 10143: union Data 10143: { 10143: char c; 10143: uchar uc; 10143: short s; 10143: signed char sc; 10143: ushort us; 10143: int i; 10143: uint u; 10143: long l; 10143: ulong ul; 10143: bool b; 10143: double d; 10143: float f; 10143: qreal real; 10143: qlonglong ll; 10143: qulonglong ull; 10143: QObject *o; 10143: void *ptr; 10143: PrivateShared *shared; 10143: } data; 10143: uint type : 30; 10143: uint is_shared : 1; 10143: uint is_null : 1; 10143: }; 10143: public: 10143: typedef void (*f_construct)(Private *, const void *); 10143: typedef void (*f_clear)(Private *); 10143: typedef bool (*f_null)(const Private *); 10143: 10143: typedef void (*f_load)(Private *, QDataStream &); 10143: typedef void (*f_save)(const Private *, QDataStream &); 10143: 10143: typedef bool (*f_compare)(const Private *, const Private *); 10143: typedef bool (*f_convert)(const QVariant::Private *d, int t, void *, bool *); 10143: typedef bool (*f_canConvert)(const QVariant::Private *d, int t); 10143: typedef void (*f_debugStream)(QDebug, const QVariant &); 10143: struct Handler { 10143: f_construct construct; 10143: f_clear clear; 10143: f_null isNull; 10143: 10143: f_load load; 10143: f_save save; 10143: 10143: f_compare compare; 10143: f_convert convert; 10143: f_canConvert canConvert; 10143: f_debugStream debugStream; 10143: }; 10143: 10143: 10143: inline bool operator==(const QVariant &v) const 10143: { return cmp(v); } 10143: inline bool operator!=(const QVariant &v) const 10143: { return !cmp(v); } 10143: inline bool operator<(const QVariant &v) const 10143: { return compare(v) < 0; } 10143: inline bool operator<=(const QVariant &v) const 10143: { return compare(v) <= 0; } 10143: inline bool operator>(const QVariant &v) const 10143: { return compare(v) > 0; } 10143: inline bool operator>=(const QVariant &v) const 10143: { return compare(v) >= 0; } 10143: 10143: protected: 10143: friend inline bool operator==(const QVariant &, const QVariantComparisonHelper &); 10143: 10143: friend __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QVariant &); 10143: 10143: 10143: 10143: template 10143: friend inline T qvariant_cast(const QVariant &); 10143: template friend struct QtPrivate::QVariantValueHelper; 10143: protected: 10143: 10143: 10143: 10143: Private d; 10143: void create(int type, const void *copy); 10143: bool cmp(const QVariant &other) const; 10143: int compare(const QVariant &other) const; 10143: bool convert(const int t, void *ptr) const; 10143: 10143: private: 10143: 10143: inline QVariant(void *) = delete; 10143: 10143: 10143: 10143: 10143: 10143: 10143: QVariant(QMetaType::Type) = delete; 10143: 10143: 10143: 10143: 10143: 10143: 10143: QVariant(Qt::GlobalColor) = delete; 10143: QVariant(Qt::BrushStyle) = delete; 10143: QVariant(Qt::PenStyle) = delete; 10143: QVariant(Qt::CursorShape) = delete; 10143: 10143: 10143: 10143: 10143: public: 10143: typedef Private DataPtr; 10143: inline DataPtr &data_ptr() { return d; } 10143: inline const DataPtr &data_ptr() const { return d; } 10143: }; 10143: 10143: template 10143: inline QVariant qVariantFromValue(const T &t) 10143: { 10143: return QVariant(qMetaTypeId(), &t, QTypeInfo::isPointer); 10143: } 10143: 10143: template <> 10143: inline QVariant qVariantFromValue(const QVariant &t) { return t; } 10143: 10143: template 10143: inline void qVariantSetValue(QVariant &v, const T &t) 10143: { 10143: 10143: const uint type = qMetaTypeId(); 10143: QVariant::Private &d = v.data_ptr(); 10143: if (v.isDetached() && (type == d.type || (type <= uint(QVariant::Char) && d.type <= uint(QVariant::Char)))) { 10143: d.type = type; 10143: d.is_null = false; 10143: T *old = reinterpret_cast(d.is_shared ? d.data.shared->ptr : &d.data.ptr); 10143: if (QTypeInfo::isComplex) 10143: old->~T(); 10143: new (old) T(t); 10143: } else { 10143: v = QVariant(type, &t, QTypeInfo::isPointer); 10143: } 10143: } 10143: 10143: template <> 10143: inline void qVariantSetValue(QVariant &v, const QVariant &t) 10143: { 10143: v = t; 10143: } 10143: 10143: inline bool QVariant::isValid() const { return d.type != Invalid; } 10143: 10143: template 10143: inline void QVariant::setValue(const T &avalue) 10143: { qVariantSetValue(*this, avalue); } 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream& operator>> (QDataStream& s, QVariant& p); 10143: __attribute__((visibility("default"))) QDataStream& operator<< (QDataStream& s, const QVariant& p); 10143: __attribute__((visibility("default"))) QDataStream& operator>> (QDataStream& s, QVariant::Type& p); 10143: __attribute__((visibility("default"))) QDataStream& operator<< (QDataStream& s, const QVariant::Type p); 10143: 10143: 10143: inline bool QVariant::isDetached() const 10143: { return !d.is_shared || d.data.shared->ref.load() == 1; } 10143: # 557 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qvariant.h" 3 4 10143: class QVariantComparisonHelper 10143: { 10143: public: 10143: inline QVariantComparisonHelper(const QVariant &var) 10143: : v(&var) {} 10143: private: 10143: friend inline bool operator==(const QVariant &, const QVariantComparisonHelper &); 10143: const QVariant *v; 10143: }; 10143: 10143: inline bool operator==(const QVariant &v1, const QVariantComparisonHelper &v2) 10143: { 10143: return v1.cmp(*v2.v); 10143: } 10143: 10143: inline bool operator!=(const QVariant &v1, const QVariantComparisonHelper &v2) 10143: { 10143: return !operator==(v1, v2); 10143: } 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QVariant)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QVariant >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QVariant) }; static inline const char *name() { return "QVariant"; } }; inline void swap(QVariant &value1, QVariant &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 10143: 10143: class __attribute__((visibility("default"))) QSequentialIterable 10143: { 10143: QtMetaTypePrivate::QSequentialIterableImpl m_impl; 10143: public: 10143: struct __attribute__((visibility("default"))) const_iterator 10143: { 10143: private: 10143: QtMetaTypePrivate::QSequentialIterableImpl m_impl; 10143: QAtomicInt *ref; 10143: friend class QSequentialIterable; 10143: explicit const_iterator(const QSequentialIterable &iter, QAtomicInt *ref_); 10143: 10143: explicit const_iterator(const QtMetaTypePrivate::QSequentialIterableImpl &impl, QAtomicInt *ref_); 10143: 10143: void begin(); 10143: void end(); 10143: public: 10143: ~const_iterator(); 10143: 10143: const_iterator(const const_iterator &other); 10143: 10143: const_iterator& operator=(const const_iterator &other); 10143: 10143: const QVariant operator*() const; 10143: bool operator==(const const_iterator &o) const; 10143: bool operator!=(const const_iterator &o) const; 10143: const_iterator &operator++(); 10143: const_iterator operator++(int); 10143: const_iterator &operator--(); 10143: const_iterator operator--(int); 10143: const_iterator &operator+=(int j); 10143: const_iterator &operator-=(int j); 10143: const_iterator operator+(int j) const; 10143: const_iterator operator-(int j) const; 10143: }; 10143: 10143: friend struct const_iterator; 10143: 10143: 10143: explicit QSequentialIterable(QtMetaTypePrivate::QSequentialIterableImpl impl); 10143: 10143: 10143: 10143: 10143: const_iterator begin() const; 10143: const_iterator end() const; 10143: 10143: QVariant at(int idx) const; 10143: int size() const; 10143: 10143: bool canReverseIterate() const; 10143: }; 10143: 10143: class __attribute__((visibility("default"))) QAssociativeIterable 10143: { 10143: QtMetaTypePrivate::QAssociativeIterableImpl m_impl; 10143: public: 10143: struct __attribute__((visibility("default"))) const_iterator 10143: { 10143: private: 10143: QtMetaTypePrivate::QAssociativeIterableImpl m_impl; 10143: QAtomicInt *ref; 10143: friend class QAssociativeIterable; 10143: explicit const_iterator(const QAssociativeIterable &iter, QAtomicInt *ref_); 10143: 10143: explicit const_iterator(const QtMetaTypePrivate::QAssociativeIterableImpl &impl, QAtomicInt *ref_); 10143: 10143: void begin(); 10143: void end(); 10143: void find(const QVariant &key); 10143: public: 10143: ~const_iterator(); 10143: const_iterator(const const_iterator &other); 10143: 10143: const_iterator& operator=(const const_iterator &other); 10143: 10143: const QVariant key() const; 10143: 10143: const QVariant value() const; 10143: 10143: const QVariant operator*() const; 10143: bool operator==(const const_iterator &o) const; 10143: bool operator!=(const const_iterator &o) const; 10143: const_iterator &operator++(); 10143: const_iterator operator++(int); 10143: const_iterator &operator--(); 10143: const_iterator operator--(int); 10143: const_iterator &operator+=(int j); 10143: const_iterator &operator-=(int j); 10143: const_iterator operator+(int j) const; 10143: const_iterator operator-(int j) const; 10143: }; 10143: 10143: friend struct const_iterator; 10143: 10143: 10143: explicit QAssociativeIterable(QtMetaTypePrivate::QAssociativeIterableImpl impl); 10143: 10143: 10143: 10143: 10143: const_iterator begin() const; 10143: const_iterator end() const; 10143: const_iterator find(const QVariant &key) const; 10143: 10143: QVariant value(const QVariant &key) const; 10143: 10143: int size() const; 10143: }; 10143: 10143: 10143: namespace QtPrivate { 10143: template 10143: struct QVariantValueHelper : TreatAsQObjectBeforeMetaType, T, const QVariant &, T> 10143: { 10143: static T metaType(const QVariant &v) 10143: { 10143: const int vid = qMetaTypeId(); 10143: if (vid == v.userType()) 10143: return *reinterpret_cast(v.constData()); 10143: T t; 10143: if (v.convert(vid, &t)) 10143: return t; 10143: return T(); 10143: } 10143: 10143: static T object(const QVariant &v) 10143: { 10143: return qobject_cast(QMetaType::typeFlags(v.userType()) & QMetaType::PointerToQObject 10143: ? v.d.data.o 10143: : QVariantValueHelper::metaType(v)); 10143: } 10143: 10143: }; 10143: 10143: template 10143: struct QVariantValueHelperInterface : QVariantValueHelper 10143: { 10143: }; 10143: 10143: template<> 10143: struct QVariantValueHelperInterface 10143: { 10143: static QSequentialIterable invoke(const QVariant &v) 10143: { 10143: const int typeId = v.userType(); 10143: if (typeId == qMetaTypeId()) { 10143: return QSequentialIterable(QtMetaTypePrivate::QSequentialIterableImpl(reinterpret_cast(v.constData()))); 10143: } 10143: if (typeId == qMetaTypeId()) { 10143: return QSequentialIterable(QtMetaTypePrivate::QSequentialIterableImpl(reinterpret_cast(v.constData()))); 10143: } 10143: 10143: if (typeId == qMetaTypeId()) { 10143: return QSequentialIterable(QtMetaTypePrivate::QSequentialIterableImpl(reinterpret_cast(v.constData()))); 10143: } 10143: 10143: return QSequentialIterable(v.value()); 10143: } 10143: }; 10143: template<> 10143: struct QVariantValueHelperInterface 10143: { 10143: static QAssociativeIterable invoke(const QVariant &v) 10143: { 10143: const int typeId = v.userType(); 10143: if (typeId == qMetaTypeId()) { 10143: return QAssociativeIterable(QtMetaTypePrivate::QAssociativeIterableImpl(reinterpret_cast(v.constData()))); 10143: } 10143: if (typeId == qMetaTypeId()) { 10143: return QAssociativeIterable(QtMetaTypePrivate::QAssociativeIterableImpl(reinterpret_cast(v.constData()))); 10143: } 10143: return QAssociativeIterable(v.value()); 10143: } 10143: }; 10143: template<> 10143: struct QVariantValueHelperInterface 10143: { 10143: static QVariantList invoke(const QVariant &v) 10143: { 10143: const int typeId = v.userType(); 10143: if (typeId == qMetaTypeId() || typeId == qMetaTypeId() || QMetaType::hasRegisteredConverterFunction(typeId, qMetaTypeId())) { 10143: QSequentialIterable iter = QVariantValueHelperInterface::invoke(v); 10143: QVariantList l; 10143: l.reserve(iter.size()); 10143: for (QSequentialIterable::const_iterator it = iter.begin(), end = iter.end(); it != end; ++it) 10143: l << *it; 10143: return l; 10143: } 10143: return QVariantValueHelper::invoke(v); 10143: } 10143: }; 10143: template<> 10143: struct QVariantValueHelperInterface 10143: { 10143: static QVariantHash invoke(const QVariant &v) 10143: { 10143: const int typeId = v.userType(); 10143: if (typeId == qMetaTypeId() || QMetaType::hasRegisteredConverterFunction(typeId, qMetaTypeId())) { 10143: QAssociativeIterable iter = QVariantValueHelperInterface::invoke(v); 10143: QVariantHash l; 10143: l.reserve(iter.size()); 10143: for (QAssociativeIterable::const_iterator it = iter.begin(), end = iter.end(); it != end; ++it) 10143: l.insertMulti(it.key().toString(), it.value()); 10143: return l; 10143: } 10143: return QVariantValueHelper::invoke(v); 10143: } 10143: }; 10143: template<> 10143: struct QVariantValueHelperInterface 10143: { 10143: static QVariantMap invoke(const QVariant &v) 10143: { 10143: const int typeId = v.userType(); 10143: if (typeId == qMetaTypeId() || QMetaType::hasRegisteredConverterFunction(typeId, qMetaTypeId())) { 10143: QAssociativeIterable iter = QVariantValueHelperInterface::invoke(v); 10143: QVariantMap l; 10143: for (QAssociativeIterable::const_iterator it = iter.begin(), end = iter.end(); it != end; ++it) 10143: l.insertMulti(it.key().toString(), it.value()); 10143: return l; 10143: } 10143: return QVariantValueHelper::invoke(v); 10143: } 10143: }; 10143: template<> 10143: struct QVariantValueHelperInterface > 10143: { 10143: static QPair invoke(const QVariant &v) 10143: { 10143: const int typeId = v.userType(); 10143: if (typeId == qMetaTypeId >()) 10143: return QVariantValueHelper >::invoke(v); 10143: 10143: if (QMetaType::hasRegisteredConverterFunction(typeId, qMetaTypeId())) { 10143: QtMetaTypePrivate::QPairVariantInterfaceImpl pi = v.value(); 10143: 10143: const QtMetaTypePrivate::VariantData d1 = pi.first(); 10143: QVariant v1(d1.metaTypeId, d1.data, d1.flags); 10143: if (d1.metaTypeId == qMetaTypeId()) 10143: v1 = *reinterpret_cast(d1.data); 10143: 10143: const QtMetaTypePrivate::VariantData d2 = pi.second(); 10143: QVariant v2(d2.metaTypeId, d2.data, d2.flags); 10143: if (d2.metaTypeId == qMetaTypeId()) 10143: v2 = *reinterpret_cast(d2.data); 10143: 10143: return QPair(v1, v2); 10143: } 10143: return QVariantValueHelper >::invoke(v); 10143: } 10143: }; 10143: } 10143: 10143: template inline T qvariant_cast(const QVariant &v) 10143: { 10143: return QtPrivate::QVariantValueHelperInterface::invoke(v); 10143: } 10143: 10143: template<> inline QVariant qvariant_cast(const QVariant &v) 10143: { 10143: if (v.userType() == QMetaType::QVariant) 10143: return *reinterpret_cast(v.constData()); 10143: return v; 10143: } 10143: # 858 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qvariant.h" 3 4 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QVariant &); 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QVariant::Type); 10143: 10143: 10143: 10143: # 49 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtextformat.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qpen.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qpen.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qbrush.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qbrush.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qpoint.h" 1 3 4 10143: # 49 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qpoint.h" 3 4 10143: 10143: 10143: 10143: class __attribute__((visibility("default"))) QPoint 10143: { 10143: public: 10143: constexpr QPoint(); 10143: constexpr QPoint(int xpos, int ypos); 10143: 10143: constexpr inline bool isNull() const; 10143: 10143: constexpr inline int x() const; 10143: constexpr inline int y() const; 10143: inline void setX(int x); 10143: inline void setY(int y); 10143: 10143: constexpr inline int manhattanLength() const; 10143: 10143: inline int &rx(); 10143: inline int &ry(); 10143: 10143: inline QPoint &operator+=(const QPoint &p); 10143: inline QPoint &operator-=(const QPoint &p); 10143: 10143: inline QPoint &operator*=(float factor); 10143: inline QPoint &operator*=(double factor); 10143: inline QPoint &operator*=(int factor); 10143: 10143: inline QPoint &operator/=(qreal divisor); 10143: 10143: constexpr static inline int dotProduct(const QPoint &p1, const QPoint &p2) 10143: { return p1.xp * p2.xp + p1.yp * p2.yp; } 10143: 10143: friend constexpr inline bool operator==(const QPoint &, const QPoint &); 10143: friend constexpr inline bool operator!=(const QPoint &, const QPoint &); 10143: friend constexpr inline const QPoint operator+(const QPoint &, const QPoint &); 10143: friend constexpr inline const QPoint operator-(const QPoint &, const QPoint &); 10143: friend constexpr inline const QPoint operator*(const QPoint &, float); 10143: friend constexpr inline const QPoint operator*(float, const QPoint &); 10143: friend constexpr inline const QPoint operator*(const QPoint &, double); 10143: friend constexpr inline const QPoint operator*(double, const QPoint &); 10143: friend constexpr inline const QPoint operator*(const QPoint &, int); 10143: friend constexpr inline const QPoint operator*(int, const QPoint &); 10143: friend constexpr inline const QPoint operator+(const QPoint &); 10143: friend constexpr inline const QPoint operator-(const QPoint &); 10143: friend constexpr inline const QPoint operator/(const QPoint &, qreal); 10143: 10143: 10143: 10143: 10143: 10143: private: 10143: friend class QTransform; 10143: int xp; 10143: int yp; 10143: }; 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QPoint)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QPoint >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QPoint) }; static inline const char *name() { return "QPoint"; } }; 10143: 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPoint &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPoint &); 10143: 10143: 10143: 10143: 10143: 10143: 10143: constexpr inline QPoint::QPoint() : xp(0), yp(0) {} 10143: 10143: constexpr inline QPoint::QPoint(int xpos, int ypos) : xp(xpos), yp(ypos) {} 10143: 10143: constexpr inline bool QPoint::isNull() const 10143: { return xp == 0 && yp == 0; } 10143: 10143: constexpr inline int QPoint::x() const 10143: { return xp; } 10143: 10143: constexpr inline int QPoint::y() const 10143: { return yp; } 10143: 10143: inline void QPoint::setX(int xpos) 10143: { xp = xpos; } 10143: 10143: inline void QPoint::setY(int ypos) 10143: { yp = ypos; } 10143: 10143: inline int constexpr QPoint::manhattanLength() const 10143: { return qAbs(x())+qAbs(y()); } 10143: 10143: inline int &QPoint::rx() 10143: { return xp; } 10143: 10143: inline int &QPoint::ry() 10143: { return yp; } 10143: 10143: inline QPoint &QPoint::operator+=(const QPoint &p) 10143: { xp+=p.xp; yp+=p.yp; return *this; } 10143: 10143: inline QPoint &QPoint::operator-=(const QPoint &p) 10143: { xp-=p.xp; yp-=p.yp; return *this; } 10143: 10143: inline QPoint &QPoint::operator*=(float factor) 10143: { xp = qRound(xp*factor); yp = qRound(yp*factor); return *this; } 10143: 10143: inline QPoint &QPoint::operator*=(double factor) 10143: { xp = qRound(xp*factor); yp = qRound(yp*factor); return *this; } 10143: 10143: inline QPoint &QPoint::operator*=(int factor) 10143: { xp = xp*factor; yp = yp*factor; return *this; } 10143: 10143: constexpr inline bool operator==(const QPoint &p1, const QPoint &p2) 10143: { return p1.xp == p2.xp && p1.yp == p2.yp; } 10143: 10143: constexpr inline bool operator!=(const QPoint &p1, const QPoint &p2) 10143: { return p1.xp != p2.xp || p1.yp != p2.yp; } 10143: 10143: constexpr inline const QPoint operator+(const QPoint &p1, const QPoint &p2) 10143: { return QPoint(p1.xp+p2.xp, p1.yp+p2.yp); } 10143: 10143: constexpr inline const QPoint operator-(const QPoint &p1, const QPoint &p2) 10143: { return QPoint(p1.xp-p2.xp, p1.yp-p2.yp); } 10143: 10143: constexpr inline const QPoint operator*(const QPoint &p, float factor) 10143: { return QPoint(qRound(p.xp*factor), qRound(p.yp*factor)); } 10143: 10143: constexpr inline const QPoint operator*(const QPoint &p, double factor) 10143: { return QPoint(qRound(p.xp*factor), qRound(p.yp*factor)); } 10143: 10143: constexpr inline const QPoint operator*(const QPoint &p, int factor) 10143: { return QPoint(p.xp*factor, p.yp*factor); } 10143: 10143: constexpr inline const QPoint operator*(float factor, const QPoint &p) 10143: { return QPoint(qRound(p.xp*factor), qRound(p.yp*factor)); } 10143: 10143: constexpr inline const QPoint operator*(double factor, const QPoint &p) 10143: { return QPoint(qRound(p.xp*factor), qRound(p.yp*factor)); } 10143: 10143: constexpr inline const QPoint operator*(int factor, const QPoint &p) 10143: { return QPoint(p.xp*factor, p.yp*factor); } 10143: 10143: constexpr inline const QPoint operator+(const QPoint &p) 10143: { return p; } 10143: 10143: constexpr inline const QPoint operator-(const QPoint &p) 10143: { return QPoint(-p.xp, -p.yp); } 10143: 10143: inline QPoint &QPoint::operator/=(qreal c) 10143: { 10143: xp = qRound(xp/c); 10143: yp = qRound(yp/c); 10143: return *this; 10143: } 10143: 10143: constexpr inline const QPoint operator/(const QPoint &p, qreal c) 10143: { 10143: return QPoint(qRound(p.xp/c), qRound(p.yp/c)); 10143: } 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QPoint &); 10143: 10143: 10143: 10143: 10143: 10143: 10143: class __attribute__((visibility("default"))) QPointF 10143: { 10143: public: 10143: constexpr QPointF(); 10143: constexpr QPointF(const QPoint &p); 10143: constexpr QPointF(qreal xpos, qreal ypos); 10143: 10143: constexpr inline qreal manhattanLength() const; 10143: 10143: inline bool isNull() const; 10143: 10143: constexpr inline qreal x() const; 10143: constexpr inline qreal y() const; 10143: inline void setX(qreal x); 10143: inline void setY(qreal y); 10143: 10143: inline qreal &rx(); 10143: inline qreal &ry(); 10143: 10143: inline QPointF &operator+=(const QPointF &p); 10143: inline QPointF &operator-=(const QPointF &p); 10143: inline QPointF &operator*=(qreal c); 10143: inline QPointF &operator/=(qreal c); 10143: 10143: constexpr static inline qreal dotProduct(const QPointF &p1, const QPointF &p2) 10143: { return p1.xp * p2.xp + p1.yp * p2.yp; } 10143: 10143: friend constexpr inline bool operator==(const QPointF &, const QPointF &); 10143: friend constexpr inline bool operator!=(const QPointF &, const QPointF &); 10143: friend constexpr inline const QPointF operator+(const QPointF &, const QPointF &); 10143: friend constexpr inline const QPointF operator-(const QPointF &, const QPointF &); 10143: friend constexpr inline const QPointF operator*(qreal, const QPointF &); 10143: friend constexpr inline const QPointF operator*(const QPointF &, qreal); 10143: friend constexpr inline const QPointF operator+(const QPointF &); 10143: friend constexpr inline const QPointF operator-(const QPointF &); 10143: friend constexpr inline const QPointF operator/(const QPointF &, qreal); 10143: 10143: constexpr QPoint toPoint() const; 10143: 10143: 10143: 10143: 10143: 10143: 10143: private: 10143: friend class QMatrix; 10143: friend class QTransform; 10143: 10143: qreal xp; 10143: qreal yp; 10143: }; 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QPointF)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QPointF >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QPointF) }; static inline const char *name() { return "QPointF"; } }; 10143: 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPointF &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPointF &); 10143: 10143: 10143: 10143: 10143: 10143: 10143: constexpr inline QPointF::QPointF() : xp(0), yp(0) { } 10143: 10143: constexpr inline QPointF::QPointF(qreal xpos, qreal ypos) : xp(xpos), yp(ypos) { } 10143: 10143: constexpr inline QPointF::QPointF(const QPoint &p) : xp(p.x()), yp(p.y()) { } 10143: 10143: constexpr inline qreal QPointF::manhattanLength() const 10143: { 10143: return qAbs(x())+qAbs(y()); 10143: } 10143: 10143: inline bool QPointF::isNull() const 10143: { 10143: return qIsNull(xp) && qIsNull(yp); 10143: } 10143: 10143: constexpr inline qreal QPointF::x() const 10143: { 10143: return xp; 10143: } 10143: 10143: constexpr inline qreal QPointF::y() const 10143: { 10143: return yp; 10143: } 10143: 10143: inline void QPointF::setX(qreal xpos) 10143: { 10143: xp = xpos; 10143: } 10143: 10143: inline void QPointF::setY(qreal ypos) 10143: { 10143: yp = ypos; 10143: } 10143: 10143: inline qreal &QPointF::rx() 10143: { 10143: return xp; 10143: } 10143: 10143: inline qreal &QPointF::ry() 10143: { 10143: return yp; 10143: } 10143: 10143: inline QPointF &QPointF::operator+=(const QPointF &p) 10143: { 10143: xp+=p.xp; 10143: yp+=p.yp; 10143: return *this; 10143: } 10143: 10143: inline QPointF &QPointF::operator-=(const QPointF &p) 10143: { 10143: xp-=p.xp; yp-=p.yp; return *this; 10143: } 10143: 10143: inline QPointF &QPointF::operator*=(qreal c) 10143: { 10143: xp*=c; yp*=c; return *this; 10143: } 10143: 10143: constexpr inline bool operator==(const QPointF &p1, const QPointF &p2) 10143: { 10143: return qFuzzyIsNull(p1.xp - p2.xp) && qFuzzyIsNull(p1.yp - p2.yp); 10143: } 10143: 10143: constexpr inline bool operator!=(const QPointF &p1, const QPointF &p2) 10143: { 10143: return !qFuzzyIsNull(p1.xp - p2.xp) || !qFuzzyIsNull(p1.yp - p2.yp); 10143: } 10143: 10143: constexpr inline const QPointF operator+(const QPointF &p1, const QPointF &p2) 10143: { 10143: return QPointF(p1.xp+p2.xp, p1.yp+p2.yp); 10143: } 10143: 10143: constexpr inline const QPointF operator-(const QPointF &p1, const QPointF &p2) 10143: { 10143: return QPointF(p1.xp-p2.xp, p1.yp-p2.yp); 10143: } 10143: 10143: constexpr inline const QPointF operator*(const QPointF &p, qreal c) 10143: { 10143: return QPointF(p.xp*c, p.yp*c); 10143: } 10143: 10143: constexpr inline const QPointF operator*(qreal c, const QPointF &p) 10143: { 10143: return QPointF(p.xp*c, p.yp*c); 10143: } 10143: 10143: constexpr inline const QPointF operator+(const QPointF &p) 10143: { 10143: return p; 10143: } 10143: 10143: constexpr inline const QPointF operator-(const QPointF &p) 10143: { 10143: return QPointF(-p.xp, -p.yp); 10143: } 10143: 10143: inline QPointF &QPointF::operator/=(qreal divisor) 10143: { 10143: xp/=divisor; 10143: yp/=divisor; 10143: return *this; 10143: } 10143: 10143: constexpr inline const QPointF operator/(const QPointF &p, qreal divisor) 10143: { 10143: return QPointF(p.xp/divisor, p.yp/divisor); 10143: } 10143: 10143: constexpr inline QPoint QPointF::toPoint() const 10143: { 10143: return QPoint(qRound(xp), qRound(yp)); 10143: } 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug d, const QPointF &p); 10143: 10143: 10143: 10143: # 46 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qbrush.h" 2 3 4 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qmatrix.h" 1 3 4 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qmatrix.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qpolygon.h" 1 3 4 10143: # 46 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qpolygon.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qrect.h" 1 3 4 10143: # 43 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qrect.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmargins.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qmargins.h" 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: class QMargins 10143: { 10143: public: 10143: constexpr QMargins() noexcept; 10143: constexpr QMargins(int left, int top, int right, int bottom) noexcept; 10143: 10143: constexpr bool isNull() const noexcept; 10143: 10143: constexpr int left() const noexcept; 10143: constexpr int top() const noexcept; 10143: constexpr int right() const noexcept; 10143: constexpr int bottom() const noexcept; 10143: 10143: void setLeft(int left) noexcept; 10143: void setTop(int top) noexcept; 10143: void setRight(int right) noexcept; 10143: void setBottom(int bottom) noexcept; 10143: 10143: QMargins &operator+=(const QMargins &margins) noexcept; 10143: QMargins &operator-=(const QMargins &margins) noexcept; 10143: QMargins &operator+=(int) noexcept; 10143: QMargins &operator-=(int) noexcept; 10143: QMargins &operator*=(int) noexcept; 10143: QMargins &operator/=(int); 10143: QMargins &operator*=(qreal) noexcept; 10143: QMargins &operator/=(qreal); 10143: 10143: private: 10143: int m_left; 10143: int m_top; 10143: int m_right; 10143: int m_bottom; 10143: 10143: friend constexpr inline bool operator==(const QMargins &, const QMargins &) noexcept; 10143: friend constexpr inline bool operator!=(const QMargins &, const QMargins &) noexcept; 10143: }; 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QMargins)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QMargins >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QMargins) }; static inline const char *name() { return "QMargins"; } }; 10143: 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QMargins &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QMargins &); 10143: 10143: 10143: 10143: 10143: 10143: 10143: constexpr inline QMargins::QMargins() noexcept : m_left(0), m_top(0), m_right(0), m_bottom(0) {} 10143: 10143: constexpr inline QMargins::QMargins(int aleft, int atop, int aright, int abottom) noexcept 10143: : m_left(aleft), m_top(atop), m_right(aright), m_bottom(abottom) {} 10143: 10143: constexpr inline bool QMargins::isNull() const noexcept 10143: { return m_left==0 && m_top==0 && m_right==0 && m_bottom==0; } 10143: 10143: constexpr inline int QMargins::left() const noexcept 10143: { return m_left; } 10143: 10143: constexpr inline int QMargins::top() const noexcept 10143: { return m_top; } 10143: 10143: constexpr inline int QMargins::right() const noexcept 10143: { return m_right; } 10143: 10143: constexpr inline int QMargins::bottom() const noexcept 10143: { return m_bottom; } 10143: 10143: 10143: inline void QMargins::setLeft(int aleft) noexcept 10143: { m_left = aleft; } 10143: 10143: inline void QMargins::setTop(int atop) noexcept 10143: { m_top = atop; } 10143: 10143: inline void QMargins::setRight(int aright) noexcept 10143: { m_right = aright; } 10143: 10143: inline void QMargins::setBottom(int abottom) noexcept 10143: { m_bottom = abottom; } 10143: 10143: constexpr inline bool operator==(const QMargins &m1, const QMargins &m2) noexcept 10143: { 10143: return 10143: m1.m_left == m2.m_left && 10143: m1.m_top == m2.m_top && 10143: m1.m_right == m2.m_right && 10143: m1.m_bottom == m2.m_bottom; 10143: } 10143: 10143: constexpr inline bool operator!=(const QMargins &m1, const QMargins &m2) noexcept 10143: { 10143: return 10143: m1.m_left != m2.m_left || 10143: m1.m_top != m2.m_top || 10143: m1.m_right != m2.m_right || 10143: m1.m_bottom != m2.m_bottom; 10143: } 10143: 10143: constexpr inline QMargins operator+(const QMargins &m1, const QMargins &m2) noexcept 10143: { 10143: return QMargins(m1.left() + m2.left(), m1.top() + m2.top(), 10143: m1.right() + m2.right(), m1.bottom() + m2.bottom()); 10143: } 10143: 10143: constexpr inline QMargins operator-(const QMargins &m1, const QMargins &m2) noexcept 10143: { 10143: return QMargins(m1.left() - m2.left(), m1.top() - m2.top(), 10143: m1.right() - m2.right(), m1.bottom() - m2.bottom()); 10143: } 10143: 10143: constexpr inline QMargins operator+(const QMargins &lhs, int rhs) noexcept 10143: { 10143: return QMargins(lhs.left() + rhs, lhs.top() + rhs, 10143: lhs.right() + rhs, lhs.bottom() + rhs); 10143: } 10143: 10143: constexpr inline QMargins operator+(int lhs, const QMargins &rhs) noexcept 10143: { 10143: return QMargins(rhs.left() + lhs, rhs.top() + lhs, 10143: rhs.right() + lhs, rhs.bottom() + lhs); 10143: } 10143: 10143: constexpr inline QMargins operator-(const QMargins &lhs, int rhs) noexcept 10143: { 10143: return QMargins(lhs.left() - rhs, lhs.top() - rhs, 10143: lhs.right() - rhs, lhs.bottom() - rhs); 10143: } 10143: 10143: constexpr inline QMargins operator*(const QMargins &margins, int factor) noexcept 10143: { 10143: return QMargins(margins.left() * factor, margins.top() * factor, 10143: margins.right() * factor, margins.bottom() * factor); 10143: } 10143: 10143: constexpr inline QMargins operator*(int factor, const QMargins &margins) noexcept 10143: { 10143: return QMargins(margins.left() * factor, margins.top() * factor, 10143: margins.right() * factor, margins.bottom() * factor); 10143: } 10143: 10143: constexpr inline QMargins operator*(const QMargins &margins, qreal factor) noexcept 10143: { 10143: return QMargins(qRound(margins.left() * factor), qRound(margins.top() * factor), 10143: qRound(margins.right() * factor), qRound(margins.bottom() * factor)); 10143: } 10143: 10143: constexpr inline QMargins operator*(qreal factor, const QMargins &margins) noexcept 10143: { 10143: return QMargins(qRound(margins.left() * factor), qRound(margins.top() * factor), 10143: qRound(margins.right() * factor), qRound(margins.bottom() * factor)); 10143: } 10143: 10143: constexpr inline QMargins operator/(const QMargins &margins, int divisor) 10143: { 10143: return QMargins(margins.left() / divisor, margins.top() / divisor, 10143: margins.right() / divisor, margins.bottom() / divisor); 10143: } 10143: 10143: constexpr inline QMargins operator/(const QMargins &margins, qreal divisor) 10143: { 10143: return QMargins(qRound(margins.left() / divisor), qRound(margins.top() / divisor), 10143: qRound(margins.right() / divisor), qRound(margins.bottom() / divisor)); 10143: } 10143: 10143: inline QMargins &QMargins::operator+=(const QMargins &margins) noexcept 10143: { 10143: return *this = *this + margins; 10143: } 10143: 10143: inline QMargins &QMargins::operator-=(const QMargins &margins) noexcept 10143: { 10143: return *this = *this - margins; 10143: } 10143: 10143: inline QMargins &QMargins::operator+=(int margin) noexcept 10143: { 10143: m_left += margin; 10143: m_top += margin; 10143: m_right += margin; 10143: m_bottom += margin; 10143: return *this; 10143: } 10143: 10143: inline QMargins &QMargins::operator-=(int margin) noexcept 10143: { 10143: m_left -= margin; 10143: m_top -= margin; 10143: m_right -= margin; 10143: m_bottom -= margin; 10143: return *this; 10143: } 10143: 10143: inline QMargins &QMargins::operator*=(int factor) noexcept 10143: { 10143: return *this = *this * factor; 10143: } 10143: 10143: inline QMargins &QMargins::operator/=(int divisor) 10143: { 10143: return *this = *this / divisor; 10143: } 10143: 10143: inline QMargins &QMargins::operator*=(qreal factor) noexcept 10143: { 10143: return *this = *this * factor; 10143: } 10143: 10143: inline QMargins &QMargins::operator/=(qreal divisor) 10143: { 10143: return *this = *this / divisor; 10143: } 10143: 10143: constexpr inline QMargins operator+(const QMargins &margins) noexcept 10143: { 10143: return margins; 10143: } 10143: 10143: constexpr inline QMargins operator-(const QMargins &margins) noexcept 10143: { 10143: return QMargins(-margins.left(), -margins.top(), -margins.right(), -margins.bottom()); 10143: } 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QMargins &); 10143: 10143: 10143: 10143: 10143: 10143: 10143: class QMarginsF 10143: { 10143: public: 10143: constexpr QMarginsF() noexcept; 10143: constexpr QMarginsF(qreal left, qreal top, qreal right, qreal bottom) noexcept; 10143: constexpr QMarginsF(const QMargins &margins) noexcept; 10143: 10143: constexpr bool isNull() const noexcept; 10143: 10143: constexpr qreal left() const noexcept; 10143: constexpr qreal top() const noexcept; 10143: constexpr qreal right() const noexcept; 10143: constexpr qreal bottom() const noexcept; 10143: 10143: void setLeft(qreal left) noexcept; 10143: void setTop(qreal top) noexcept; 10143: void setRight(qreal right) noexcept; 10143: void setBottom(qreal bottom) noexcept; 10143: 10143: QMarginsF &operator+=(const QMarginsF &margins) noexcept; 10143: QMarginsF &operator-=(const QMarginsF &margins) noexcept; 10143: QMarginsF &operator+=(qreal addend) noexcept; 10143: QMarginsF &operator-=(qreal subtrahend) noexcept; 10143: QMarginsF &operator*=(qreal factor) noexcept; 10143: QMarginsF &operator/=(qreal divisor); 10143: 10143: constexpr inline QMargins toMargins() const noexcept; 10143: 10143: private: 10143: qreal m_left; 10143: qreal m_top; 10143: qreal m_right; 10143: qreal m_bottom; 10143: }; 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QMarginsF)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QMarginsF >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QMarginsF) }; static inline const char *name() { return "QMarginsF"; } }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QMarginsF &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QMarginsF &); 10143: 10143: 10143: 10143: 10143: 10143: 10143: constexpr inline QMarginsF::QMarginsF() noexcept 10143: : m_left(0), m_top(0), m_right(0), m_bottom(0) {} 10143: 10143: constexpr inline QMarginsF::QMarginsF(qreal aleft, qreal atop, qreal aright, qreal abottom) noexcept 10143: : m_left(aleft), m_top(atop), m_right(aright), m_bottom(abottom) {} 10143: 10143: constexpr inline QMarginsF::QMarginsF(const QMargins &margins) noexcept 10143: : m_left(margins.left()), m_top(margins.top()), m_right(margins.right()), m_bottom(margins.bottom()) {} 10143: 10143: constexpr inline bool QMarginsF::isNull() const noexcept 10143: { return qFuzzyIsNull(m_left) && qFuzzyIsNull(m_top) && qFuzzyIsNull(m_right) && qFuzzyIsNull(m_bottom); } 10143: 10143: constexpr inline qreal QMarginsF::left() const noexcept 10143: { return m_left; } 10143: 10143: constexpr inline qreal QMarginsF::top() const noexcept 10143: { return m_top; } 10143: 10143: constexpr inline qreal QMarginsF::right() const noexcept 10143: { return m_right; } 10143: 10143: constexpr inline qreal QMarginsF::bottom() const noexcept 10143: { return m_bottom; } 10143: 10143: 10143: inline void QMarginsF::setLeft(qreal aleft) noexcept 10143: { m_left = aleft; } 10143: 10143: inline void QMarginsF::setTop(qreal atop) noexcept 10143: { m_top = atop; } 10143: 10143: inline void QMarginsF::setRight(qreal aright) noexcept 10143: { m_right = aright; } 10143: 10143: inline void QMarginsF::setBottom(qreal abottom) noexcept 10143: { m_bottom = abottom; } 10143: 10143: constexpr inline bool operator==(const QMarginsF &lhs, const QMarginsF &rhs) noexcept 10143: { 10143: return qFuzzyCompare(lhs.left(), rhs.left()) 10143: && qFuzzyCompare(lhs.top(), rhs.top()) 10143: && qFuzzyCompare(lhs.right(), rhs.right()) 10143: && qFuzzyCompare(lhs.bottom(), rhs.bottom()); 10143: } 10143: 10143: constexpr inline bool operator!=(const QMarginsF &lhs, const QMarginsF &rhs) noexcept 10143: { 10143: return !operator==(lhs, rhs); 10143: } 10143: 10143: constexpr inline QMarginsF operator+(const QMarginsF &lhs, const QMarginsF &rhs) noexcept 10143: { 10143: return QMarginsF(lhs.left() + rhs.left(), lhs.top() + rhs.top(), 10143: lhs.right() + rhs.right(), lhs.bottom() + rhs.bottom()); 10143: } 10143: 10143: constexpr inline QMarginsF operator-(const QMarginsF &lhs, const QMarginsF &rhs) noexcept 10143: { 10143: return QMarginsF(lhs.left() - rhs.left(), lhs.top() - rhs.top(), 10143: lhs.right() - rhs.right(), lhs.bottom() - rhs.bottom()); 10143: } 10143: 10143: constexpr inline QMarginsF operator+(const QMarginsF &lhs, qreal rhs) noexcept 10143: { 10143: return QMarginsF(lhs.left() + rhs, lhs.top() + rhs, 10143: lhs.right() + rhs, lhs.bottom() + rhs); 10143: } 10143: 10143: constexpr inline QMarginsF operator+(qreal lhs, const QMarginsF &rhs) noexcept 10143: { 10143: return QMarginsF(rhs.left() + lhs, rhs.top() + lhs, 10143: rhs.right() + lhs, rhs.bottom() + lhs); 10143: } 10143: 10143: constexpr inline QMarginsF operator-(const QMarginsF &lhs, qreal rhs) noexcept 10143: { 10143: return QMarginsF(lhs.left() - rhs, lhs.top() - rhs, 10143: lhs.right() - rhs, lhs.bottom() - rhs); 10143: } 10143: 10143: constexpr inline QMarginsF operator*(const QMarginsF &lhs, qreal rhs) noexcept 10143: { 10143: return QMarginsF(lhs.left() * rhs, lhs.top() * rhs, 10143: lhs.right() * rhs, lhs.bottom() * rhs); 10143: } 10143: 10143: constexpr inline QMarginsF operator*(qreal lhs, const QMarginsF &rhs) noexcept 10143: { 10143: return QMarginsF(rhs.left() * lhs, rhs.top() * lhs, 10143: rhs.right() * lhs, rhs.bottom() * lhs); 10143: } 10143: 10143: constexpr inline QMarginsF operator/(const QMarginsF &lhs, qreal divisor) 10143: { 10143: return QMarginsF(lhs.left() / divisor, lhs.top() / divisor, 10143: lhs.right() / divisor, lhs.bottom() / divisor); 10143: } 10143: 10143: inline QMarginsF &QMarginsF::operator+=(const QMarginsF &margins) noexcept 10143: { 10143: return *this = *this + margins; 10143: } 10143: 10143: inline QMarginsF &QMarginsF::operator-=(const QMarginsF &margins) noexcept 10143: { 10143: return *this = *this - margins; 10143: } 10143: 10143: inline QMarginsF &QMarginsF::operator+=(qreal addend) noexcept 10143: { 10143: m_left += addend; 10143: m_top += addend; 10143: m_right += addend; 10143: m_bottom += addend; 10143: return *this; 10143: } 10143: 10143: inline QMarginsF &QMarginsF::operator-=(qreal subtrahend) noexcept 10143: { 10143: m_left -= subtrahend; 10143: m_top -= subtrahend; 10143: m_right -= subtrahend; 10143: m_bottom -= subtrahend; 10143: return *this; 10143: } 10143: 10143: inline QMarginsF &QMarginsF::operator*=(qreal factor) noexcept 10143: { 10143: return *this = *this * factor; 10143: } 10143: 10143: inline QMarginsF &QMarginsF::operator/=(qreal divisor) 10143: { 10143: return *this = *this / divisor; 10143: } 10143: 10143: constexpr inline QMarginsF operator+(const QMarginsF &margins) noexcept 10143: { 10143: return margins; 10143: } 10143: 10143: constexpr inline QMarginsF operator-(const QMarginsF &margins) noexcept 10143: { 10143: return QMarginsF(-margins.left(), -margins.top(), -margins.right(), -margins.bottom()); 10143: } 10143: 10143: constexpr inline QMargins QMarginsF::toMargins() const noexcept 10143: { 10143: return QMargins(qRound(m_left), qRound(m_top), qRound(m_right), qRound(m_bottom)); 10143: } 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QMarginsF &); 10143: 10143: 10143: 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qrect.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsize.h" 1 3 4 10143: # 49 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qsize.h" 3 4 10143: 10143: 10143: 10143: class __attribute__((visibility("default"))) QSize 10143: { 10143: public: 10143: constexpr QSize() noexcept; 10143: constexpr QSize(int w, int h) noexcept; 10143: 10143: constexpr inline bool isNull() const noexcept; 10143: constexpr inline bool isEmpty() const noexcept; 10143: constexpr inline bool isValid() const noexcept; 10143: 10143: constexpr inline int width() const noexcept; 10143: constexpr inline int height() const noexcept; 10143: inline void setWidth(int w) noexcept; 10143: inline void setHeight(int h) noexcept; 10143: void transpose() noexcept; 10143: [[nodiscard]] constexpr inline QSize transposed() const noexcept; 10143: 10143: inline void scale(int w, int h, Qt::AspectRatioMode mode) noexcept; 10143: inline void scale(const QSize &s, Qt::AspectRatioMode mode) noexcept; 10143: [[nodiscard]] QSize scaled(int w, int h, Qt::AspectRatioMode mode) const noexcept; 10143: [[nodiscard]] QSize scaled(const QSize &s, Qt::AspectRatioMode mode) const noexcept; 10143: 10143: [[nodiscard]] constexpr inline QSize expandedTo(const QSize &) const noexcept; 10143: [[nodiscard]] constexpr inline QSize boundedTo(const QSize &) const noexcept; 10143: 10143: inline int &rwidth() noexcept; 10143: inline int &rheight() noexcept; 10143: 10143: inline QSize &operator+=(const QSize &) noexcept; 10143: inline QSize &operator-=(const QSize &) noexcept; 10143: inline QSize &operator*=(qreal c) noexcept; 10143: inline QSize &operator/=(qreal c); 10143: 10143: friend inline constexpr bool operator==(const QSize &, const QSize &) noexcept; 10143: friend inline constexpr bool operator!=(const QSize &, const QSize &) noexcept; 10143: friend inline constexpr const QSize operator+(const QSize &, const QSize &) noexcept; 10143: friend inline constexpr const QSize operator-(const QSize &, const QSize &) noexcept; 10143: friend inline constexpr const QSize operator*(const QSize &, qreal) noexcept; 10143: friend inline constexpr const QSize operator*(qreal, const QSize &) noexcept; 10143: friend inline const QSize operator/(const QSize &, qreal); 10143: 10143: 10143: 10143: 10143: 10143: private: 10143: int wd; 10143: int ht; 10143: }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QSize)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QSize >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QSize) }; static inline const char *name() { return "QSize"; } }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QSize &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QSize &); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: constexpr inline QSize::QSize() noexcept : wd(-1), ht(-1) {} 10143: 10143: constexpr inline QSize::QSize(int w, int h) noexcept : wd(w), ht(h) {} 10143: 10143: constexpr inline bool QSize::isNull() const noexcept 10143: { return wd==0 && ht==0; } 10143: 10143: constexpr inline bool QSize::isEmpty() const noexcept 10143: { return wd<1 || ht<1; } 10143: 10143: constexpr inline bool QSize::isValid() const noexcept 10143: { return wd>=0 && ht>=0; } 10143: 10143: constexpr inline int QSize::width() const noexcept 10143: { return wd; } 10143: 10143: constexpr inline int QSize::height() const noexcept 10143: { return ht; } 10143: 10143: inline void QSize::setWidth(int w) noexcept 10143: { wd = w; } 10143: 10143: inline void QSize::setHeight(int h) noexcept 10143: { ht = h; } 10143: 10143: constexpr inline QSize QSize::transposed() const noexcept 10143: { return QSize(ht, wd); } 10143: 10143: inline void QSize::scale(int w, int h, Qt::AspectRatioMode mode) noexcept 10143: { scale(QSize(w, h), mode); } 10143: 10143: inline void QSize::scale(const QSize &s, Qt::AspectRatioMode mode) noexcept 10143: { *this = scaled(s, mode); } 10143: 10143: inline QSize QSize::scaled(int w, int h, Qt::AspectRatioMode mode) const noexcept 10143: { return scaled(QSize(w, h), mode); } 10143: 10143: inline int &QSize::rwidth() noexcept 10143: { return wd; } 10143: 10143: inline int &QSize::rheight() noexcept 10143: { return ht; } 10143: 10143: inline QSize &QSize::operator+=(const QSize &s) noexcept 10143: { wd+=s.wd; ht+=s.ht; return *this; } 10143: 10143: inline QSize &QSize::operator-=(const QSize &s) noexcept 10143: { wd-=s.wd; ht-=s.ht; return *this; } 10143: 10143: inline QSize &QSize::operator*=(qreal c) noexcept 10143: { wd = qRound(wd*c); ht = qRound(ht*c); return *this; } 10143: 10143: constexpr inline bool operator==(const QSize &s1, const QSize &s2) noexcept 10143: { return s1.wd == s2.wd && s1.ht == s2.ht; } 10143: 10143: constexpr inline bool operator!=(const QSize &s1, const QSize &s2) noexcept 10143: { return s1.wd != s2.wd || s1.ht != s2.ht; } 10143: 10143: constexpr inline const QSize operator+(const QSize & s1, const QSize & s2) noexcept 10143: { return QSize(s1.wd+s2.wd, s1.ht+s2.ht); } 10143: 10143: constexpr inline const QSize operator-(const QSize &s1, const QSize &s2) noexcept 10143: { return QSize(s1.wd-s2.wd, s1.ht-s2.ht); } 10143: 10143: constexpr inline const QSize operator*(const QSize &s, qreal c) noexcept 10143: { return QSize(qRound(s.wd*c), qRound(s.ht*c)); } 10143: 10143: constexpr inline const QSize operator*(qreal c, const QSize &s) noexcept 10143: { return QSize(qRound(s.wd*c), qRound(s.ht*c)); } 10143: 10143: inline QSize &QSize::operator/=(qreal c) 10143: { 10143: do { } while ((false) && (!qFuzzyIsNull(c))); 10143: wd = qRound(wd/c); ht = qRound(ht/c); 10143: return *this; 10143: } 10143: 10143: inline const QSize operator/(const QSize &s, qreal c) 10143: { 10143: do { } while ((false) && (!qFuzzyIsNull(c))); 10143: return QSize(qRound(s.wd/c), qRound(s.ht/c)); 10143: } 10143: 10143: constexpr inline QSize QSize::expandedTo(const QSize & otherSize) const noexcept 10143: { 10143: return QSize(qMax(wd,otherSize.wd), qMax(ht,otherSize.ht)); 10143: } 10143: 10143: constexpr inline QSize QSize::boundedTo(const QSize & otherSize) const noexcept 10143: { 10143: return QSize(qMin(wd,otherSize.wd), qMin(ht,otherSize.ht)); 10143: } 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QSize &); 10143: 10143: 10143: 10143: class __attribute__((visibility("default"))) QSizeF 10143: { 10143: public: 10143: constexpr QSizeF() noexcept; 10143: constexpr QSizeF(const QSize &sz) noexcept; 10143: constexpr QSizeF(qreal w, qreal h) noexcept; 10143: 10143: inline bool isNull() const noexcept; 10143: constexpr inline bool isEmpty() const noexcept; 10143: constexpr inline bool isValid() const noexcept; 10143: 10143: constexpr inline qreal width() const noexcept; 10143: constexpr inline qreal height() const noexcept; 10143: inline void setWidth(qreal w) noexcept; 10143: inline void setHeight(qreal h) noexcept; 10143: void transpose() noexcept; 10143: [[nodiscard]] constexpr inline QSizeF transposed() const noexcept; 10143: 10143: inline void scale(qreal w, qreal h, Qt::AspectRatioMode mode) noexcept; 10143: inline void scale(const QSizeF &s, Qt::AspectRatioMode mode) noexcept; 10143: [[nodiscard]] QSizeF scaled(qreal w, qreal h, Qt::AspectRatioMode mode) const noexcept; 10143: [[nodiscard]] QSizeF scaled(const QSizeF &s, Qt::AspectRatioMode mode) const noexcept; 10143: 10143: [[nodiscard]] constexpr inline QSizeF expandedTo(const QSizeF &) const noexcept; 10143: [[nodiscard]] constexpr inline QSizeF boundedTo(const QSizeF &) const noexcept; 10143: 10143: inline qreal &rwidth() noexcept; 10143: inline qreal &rheight() noexcept; 10143: 10143: inline QSizeF &operator+=(const QSizeF &) noexcept; 10143: inline QSizeF &operator-=(const QSizeF &) noexcept; 10143: inline QSizeF &operator*=(qreal c) noexcept; 10143: inline QSizeF &operator/=(qreal c); 10143: 10143: friend constexpr inline bool operator==(const QSizeF &, const QSizeF &) noexcept; 10143: friend constexpr inline bool operator!=(const QSizeF &, const QSizeF &) noexcept; 10143: friend constexpr inline const QSizeF operator+(const QSizeF &, const QSizeF &) noexcept; 10143: friend constexpr inline const QSizeF operator-(const QSizeF &, const QSizeF &) noexcept; 10143: friend constexpr inline const QSizeF operator*(const QSizeF &, qreal) noexcept; 10143: friend constexpr inline const QSizeF operator*(qreal, const QSizeF &) noexcept; 10143: friend inline const QSizeF operator/(const QSizeF &, qreal); 10143: 10143: constexpr inline QSize toSize() const noexcept; 10143: 10143: 10143: 10143: 10143: 10143: 10143: private: 10143: qreal wd; 10143: qreal ht; 10143: }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QSizeF)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QSizeF >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QSizeF) }; static inline const char *name() { return "QSizeF"; } }; 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QSizeF &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QSizeF &); 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: constexpr inline QSizeF::QSizeF() noexcept : wd(-1.), ht(-1.) {} 10143: 10143: constexpr inline QSizeF::QSizeF(const QSize &sz) noexcept : wd(sz.width()), ht(sz.height()) {} 10143: 10143: constexpr inline QSizeF::QSizeF(qreal w, qreal h) noexcept : wd(w), ht(h) {} 10143: 10143: inline bool QSizeF::isNull() const noexcept 10143: { return qIsNull(wd) && qIsNull(ht); } 10143: 10143: constexpr inline bool QSizeF::isEmpty() const noexcept 10143: { return wd <= 0. || ht <= 0.; } 10143: 10143: constexpr inline bool QSizeF::isValid() const noexcept 10143: { return wd >= 0. && ht >= 0.; } 10143: 10143: constexpr inline qreal QSizeF::width() const noexcept 10143: { return wd; } 10143: 10143: constexpr inline qreal QSizeF::height() const noexcept 10143: { return ht; } 10143: 10143: inline void QSizeF::setWidth(qreal w) noexcept 10143: { wd = w; } 10143: 10143: inline void QSizeF::setHeight(qreal h) noexcept 10143: { ht = h; } 10143: 10143: constexpr inline QSizeF QSizeF::transposed() const noexcept 10143: { return QSizeF(ht, wd); } 10143: 10143: inline void QSizeF::scale(qreal w, qreal h, Qt::AspectRatioMode mode) noexcept 10143: { scale(QSizeF(w, h), mode); } 10143: 10143: inline void QSizeF::scale(const QSizeF &s, Qt::AspectRatioMode mode) noexcept 10143: { *this = scaled(s, mode); } 10143: 10143: inline QSizeF QSizeF::scaled(qreal w, qreal h, Qt::AspectRatioMode mode) const noexcept 10143: { return scaled(QSizeF(w, h), mode); } 10143: 10143: inline qreal &QSizeF::rwidth() noexcept 10143: { return wd; } 10143: 10143: inline qreal &QSizeF::rheight() noexcept 10143: { return ht; } 10143: 10143: inline QSizeF &QSizeF::operator+=(const QSizeF &s) noexcept 10143: { wd += s.wd; ht += s.ht; return *this; } 10143: 10143: inline QSizeF &QSizeF::operator-=(const QSizeF &s) noexcept 10143: { wd -= s.wd; ht -= s.ht; return *this; } 10143: 10143: inline QSizeF &QSizeF::operator*=(qreal c) noexcept 10143: { wd *= c; ht *= c; return *this; } 10143: 10143: constexpr inline bool operator==(const QSizeF &s1, const QSizeF &s2) noexcept 10143: { return qFuzzyCompare(s1.wd, s2.wd) && qFuzzyCompare(s1.ht, s2.ht); } 10143: 10143: constexpr inline bool operator!=(const QSizeF &s1, const QSizeF &s2) noexcept 10143: { return !qFuzzyCompare(s1.wd, s2.wd) || !qFuzzyCompare(s1.ht, s2.ht); } 10143: 10143: constexpr inline const QSizeF operator+(const QSizeF & s1, const QSizeF & s2) noexcept 10143: { return QSizeF(s1.wd+s2.wd, s1.ht+s2.ht); } 10143: 10143: constexpr inline const QSizeF operator-(const QSizeF &s1, const QSizeF &s2) noexcept 10143: { return QSizeF(s1.wd-s2.wd, s1.ht-s2.ht); } 10143: 10143: constexpr inline const QSizeF operator*(const QSizeF &s, qreal c) noexcept 10143: { return QSizeF(s.wd*c, s.ht*c); } 10143: 10143: constexpr inline const QSizeF operator*(qreal c, const QSizeF &s) noexcept 10143: { return QSizeF(s.wd*c, s.ht*c); } 10143: 10143: inline QSizeF &QSizeF::operator/=(qreal c) 10143: { 10143: do { } while ((false) && (!qFuzzyIsNull(c))); 10143: wd = wd/c; ht = ht/c; 10143: return *this; 10143: } 10143: 10143: inline const QSizeF operator/(const QSizeF &s, qreal c) 10143: { 10143: do { } while ((false) && (!qFuzzyIsNull(c))); 10143: return QSizeF(s.wd/c, s.ht/c); 10143: } 10143: 10143: constexpr inline QSizeF QSizeF::expandedTo(const QSizeF & otherSize) const noexcept 10143: { 10143: return QSizeF(qMax(wd,otherSize.wd), qMax(ht,otherSize.ht)); 10143: } 10143: 10143: constexpr inline QSizeF QSizeF::boundedTo(const QSizeF & otherSize) const noexcept 10143: { 10143: return QSizeF(qMin(wd,otherSize.wd), qMin(ht,otherSize.ht)); 10143: } 10143: 10143: constexpr inline QSize QSizeF::toSize() const noexcept 10143: { 10143: return QSize(qRound(wd), qRound(ht)); 10143: } 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QSizeF &); 10143: 10143: 10143: 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qrect.h" 2 3 4 10143: # 55 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qrect.h" 3 4 10143: 10143: 10143: class __attribute__((visibility("default"))) QRect 10143: { 10143: public: 10143: constexpr QRect() noexcept : x1(0), y1(0), x2(-1), y2(-1) {} 10143: constexpr QRect(const QPoint &topleft, const QPoint &bottomright) noexcept; 10143: constexpr QRect(const QPoint &topleft, const QSize &size) noexcept; 10143: constexpr QRect(int left, int top, int width, int height) noexcept; 10143: 10143: constexpr inline bool isNull() const noexcept; 10143: constexpr inline bool isEmpty() const noexcept; 10143: constexpr inline bool isValid() const noexcept; 10143: 10143: constexpr inline int left() const noexcept; 10143: constexpr inline int top() const noexcept; 10143: constexpr inline int right() const noexcept; 10143: constexpr inline int bottom() const noexcept; 10143: [[nodiscard]] QRect normalized() const noexcept; 10143: 10143: constexpr inline int x() const noexcept; 10143: constexpr inline int y() const noexcept; 10143: inline void setLeft(int pos) noexcept; 10143: inline void setTop(int pos) noexcept; 10143: inline void setRight(int pos) noexcept; 10143: inline void setBottom(int pos) noexcept; 10143: inline void setX(int x) noexcept; 10143: inline void setY(int y) noexcept; 10143: 10143: inline void setTopLeft(const QPoint &p) noexcept; 10143: inline void setBottomRight(const QPoint &p) noexcept; 10143: inline void setTopRight(const QPoint &p) noexcept; 10143: inline void setBottomLeft(const QPoint &p) noexcept; 10143: 10143: constexpr inline QPoint topLeft() const noexcept; 10143: constexpr inline QPoint bottomRight() const noexcept; 10143: constexpr inline QPoint topRight() const noexcept; 10143: constexpr inline QPoint bottomLeft() const noexcept; 10143: constexpr inline QPoint center() const noexcept; 10143: 10143: inline void moveLeft(int pos) noexcept; 10143: inline void moveTop(int pos) noexcept; 10143: inline void moveRight(int pos) noexcept; 10143: inline void moveBottom(int pos) noexcept; 10143: inline void moveTopLeft(const QPoint &p) noexcept; 10143: inline void moveBottomRight(const QPoint &p) noexcept; 10143: inline void moveTopRight(const QPoint &p) noexcept; 10143: inline void moveBottomLeft(const QPoint &p) noexcept; 10143: inline void moveCenter(const QPoint &p) noexcept; 10143: 10143: inline void translate(int dx, int dy) noexcept; 10143: inline void translate(const QPoint &p) noexcept; 10143: [[nodiscard]] constexpr inline QRect translated(int dx, int dy) const noexcept; 10143: [[nodiscard]] constexpr inline QRect translated(const QPoint &p) const noexcept; 10143: [[nodiscard]] constexpr inline QRect transposed() const noexcept; 10143: 10143: inline void moveTo(int x, int t) noexcept; 10143: inline void moveTo(const QPoint &p) noexcept; 10143: 10143: inline void setRect(int x, int y, int w, int h) noexcept; 10143: inline void getRect(int *x, int *y, int *w, int *h) const; 10143: 10143: inline void setCoords(int x1, int y1, int x2, int y2) noexcept; 10143: inline void getCoords(int *x1, int *y1, int *x2, int *y2) const; 10143: 10143: inline void adjust(int x1, int y1, int x2, int y2) noexcept; 10143: [[nodiscard]] constexpr inline QRect adjusted(int x1, int y1, int x2, int y2) const noexcept; 10143: 10143: constexpr inline QSize size() const noexcept; 10143: constexpr inline int width() const noexcept; 10143: constexpr inline int height() const noexcept; 10143: inline void setWidth(int w) noexcept; 10143: inline void setHeight(int h) noexcept; 10143: inline void setSize(const QSize &s) noexcept; 10143: 10143: QRect operator|(const QRect &r) const noexcept; 10143: QRect operator&(const QRect &r) const noexcept; 10143: inline QRect& operator|=(const QRect &r) noexcept; 10143: inline QRect& operator&=(const QRect &r) noexcept; 10143: 10143: bool contains(const QRect &r, bool proper = false) const noexcept; 10143: bool contains(const QPoint &p, bool proper=false) const noexcept; 10143: inline bool contains(int x, int y) const noexcept; 10143: inline bool contains(int x, int y, bool proper) const noexcept; 10143: [[nodiscard]] inline QRect united(const QRect &other) const noexcept; 10143: [[nodiscard]] inline QRect intersected(const QRect &other) const noexcept; 10143: bool intersects(const QRect &r) const noexcept; 10143: 10143: constexpr inline QRect marginsAdded(const QMargins &margins) const noexcept; 10143: constexpr inline QRect marginsRemoved(const QMargins &margins) const noexcept; 10143: inline QRect &operator+=(const QMargins &margins) noexcept; 10143: inline QRect &operator-=(const QMargins &margins) noexcept; 10143: 10143: 10143: 10143: 10143: 10143: 10143: friend constexpr inline bool operator==(const QRect &, const QRect &) noexcept; 10143: friend constexpr inline bool operator!=(const QRect &, const QRect &) noexcept; 10143: 10143: 10143: 10143: 10143: 10143: private: 10143: int x1; 10143: int y1; 10143: int x2; 10143: int y2; 10143: }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QRect)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QRect >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QRect) }; static inline const char *name() { return "QRect"; } }; 10143: 10143: constexpr inline bool operator==(const QRect &, const QRect &) noexcept; 10143: constexpr inline bool operator!=(const QRect &, const QRect &) noexcept; 10143: 10143: 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QRect &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QRect &); 10143: 10143: 10143: 10143: 10143: 10143: 10143: constexpr inline QRect::QRect(int aleft, int atop, int awidth, int aheight) noexcept 10143: : x1(aleft), y1(atop), x2(aleft + awidth - 1), y2(atop + aheight - 1) {} 10143: 10143: constexpr inline QRect::QRect(const QPoint &atopLeft, const QPoint &abottomRight) noexcept 10143: : x1(atopLeft.x()), y1(atopLeft.y()), x2(abottomRight.x()), y2(abottomRight.y()) {} 10143: 10143: constexpr inline QRect::QRect(const QPoint &atopLeft, const QSize &asize) noexcept 10143: : x1(atopLeft.x()), y1(atopLeft.y()), x2(atopLeft.x()+asize.width() - 1), y2(atopLeft.y()+asize.height() - 1) {} 10143: 10143: constexpr inline bool QRect::isNull() const noexcept 10143: { return x2 == x1 - 1 && y2 == y1 - 1; } 10143: 10143: constexpr inline bool QRect::isEmpty() const noexcept 10143: { return x1 > x2 || y1 > y2; } 10143: 10143: constexpr inline bool QRect::isValid() const noexcept 10143: { return x1 <= x2 && y1 <= y2; } 10143: 10143: constexpr inline int QRect::left() const noexcept 10143: { return x1; } 10143: 10143: constexpr inline int QRect::top() const noexcept 10143: { return y1; } 10143: 10143: constexpr inline int QRect::right() const noexcept 10143: { return x2; } 10143: 10143: constexpr inline int QRect::bottom() const noexcept 10143: { return y2; } 10143: 10143: constexpr inline int QRect::x() const noexcept 10143: { return x1; } 10143: 10143: constexpr inline int QRect::y() const noexcept 10143: { return y1; } 10143: 10143: inline void QRect::setLeft(int pos) noexcept 10143: { x1 = pos; } 10143: 10143: inline void QRect::setTop(int pos) noexcept 10143: { y1 = pos; } 10143: 10143: inline void QRect::setRight(int pos) noexcept 10143: { x2 = pos; } 10143: 10143: inline void QRect::setBottom(int pos) noexcept 10143: { y2 = pos; } 10143: 10143: inline void QRect::setTopLeft(const QPoint &p) noexcept 10143: { x1 = p.x(); y1 = p.y(); } 10143: 10143: inline void QRect::setBottomRight(const QPoint &p) noexcept 10143: { x2 = p.x(); y2 = p.y(); } 10143: 10143: inline void QRect::setTopRight(const QPoint &p) noexcept 10143: { x2 = p.x(); y1 = p.y(); } 10143: 10143: inline void QRect::setBottomLeft(const QPoint &p) noexcept 10143: { x1 = p.x(); y2 = p.y(); } 10143: 10143: inline void QRect::setX(int ax) noexcept 10143: { x1 = ax; } 10143: 10143: inline void QRect::setY(int ay) noexcept 10143: { y1 = ay; } 10143: 10143: constexpr inline QPoint QRect::topLeft() const noexcept 10143: { return QPoint(x1, y1); } 10143: 10143: constexpr inline QPoint QRect::bottomRight() const noexcept 10143: { return QPoint(x2, y2); } 10143: 10143: constexpr inline QPoint QRect::topRight() const noexcept 10143: { return QPoint(x2, y1); } 10143: 10143: constexpr inline QPoint QRect::bottomLeft() const noexcept 10143: { return QPoint(x1, y2); } 10143: 10143: constexpr inline QPoint QRect::center() const noexcept 10143: { return QPoint(int((qint64(x1)+x2)/2), int((qint64(y1)+y2)/2)); } 10143: 10143: constexpr inline int QRect::width() const noexcept 10143: { return x2 - x1 + 1; } 10143: 10143: constexpr inline int QRect::height() const noexcept 10143: { return y2 - y1 + 1; } 10143: 10143: constexpr inline QSize QRect::size() const noexcept 10143: { return QSize(width(), height()); } 10143: 10143: inline void QRect::translate(int dx, int dy) noexcept 10143: { 10143: x1 += dx; 10143: y1 += dy; 10143: x2 += dx; 10143: y2 += dy; 10143: } 10143: 10143: inline void QRect::translate(const QPoint &p) noexcept 10143: { 10143: x1 += p.x(); 10143: y1 += p.y(); 10143: x2 += p.x(); 10143: y2 += p.y(); 10143: } 10143: 10143: constexpr inline QRect QRect::translated(int dx, int dy) const noexcept 10143: { return QRect(QPoint(x1 + dx, y1 + dy), QPoint(x2 + dx, y2 + dy)); } 10143: 10143: constexpr inline QRect QRect::translated(const QPoint &p) const noexcept 10143: { return QRect(QPoint(x1 + p.x(), y1 + p.y()), QPoint(x2 + p.x(), y2 + p.y())); } 10143: 10143: constexpr inline QRect QRect::transposed() const noexcept 10143: { return QRect(topLeft(), size().transposed()); } 10143: 10143: inline void QRect::moveTo(int ax, int ay) noexcept 10143: { 10143: x2 += ax - x1; 10143: y2 += ay - y1; 10143: x1 = ax; 10143: y1 = ay; 10143: } 10143: 10143: inline void QRect::moveTo(const QPoint &p) noexcept 10143: { 10143: x2 += p.x() - x1; 10143: y2 += p.y() - y1; 10143: x1 = p.x(); 10143: y1 = p.y(); 10143: } 10143: 10143: inline void QRect::moveLeft(int pos) noexcept 10143: { x2 += (pos - x1); x1 = pos; } 10143: 10143: inline void QRect::moveTop(int pos) noexcept 10143: { y2 += (pos - y1); y1 = pos; } 10143: 10143: inline void QRect::moveRight(int pos) noexcept 10143: { 10143: x1 += (pos - x2); 10143: x2 = pos; 10143: } 10143: 10143: inline void QRect::moveBottom(int pos) noexcept 10143: { 10143: y1 += (pos - y2); 10143: y2 = pos; 10143: } 10143: 10143: inline void QRect::moveTopLeft(const QPoint &p) noexcept 10143: { 10143: moveLeft(p.x()); 10143: moveTop(p.y()); 10143: } 10143: 10143: inline void QRect::moveBottomRight(const QPoint &p) noexcept 10143: { 10143: moveRight(p.x()); 10143: moveBottom(p.y()); 10143: } 10143: 10143: inline void QRect::moveTopRight(const QPoint &p) noexcept 10143: { 10143: moveRight(p.x()); 10143: moveTop(p.y()); 10143: } 10143: 10143: inline void QRect::moveBottomLeft(const QPoint &p) noexcept 10143: { 10143: moveLeft(p.x()); 10143: moveBottom(p.y()); 10143: } 10143: 10143: inline void QRect::moveCenter(const QPoint &p) noexcept 10143: { 10143: int w = x2 - x1; 10143: int h = y2 - y1; 10143: x1 = p.x() - w/2; 10143: y1 = p.y() - h/2; 10143: x2 = x1 + w; 10143: y2 = y1 + h; 10143: } 10143: 10143: inline void QRect::getRect(int *ax, int *ay, int *aw, int *ah) const 10143: { 10143: *ax = x1; 10143: *ay = y1; 10143: *aw = x2 - x1 + 1; 10143: *ah = y2 - y1 + 1; 10143: } 10143: 10143: inline void QRect::setRect(int ax, int ay, int aw, int ah) noexcept 10143: { 10143: x1 = ax; 10143: y1 = ay; 10143: x2 = (ax + aw - 1); 10143: y2 = (ay + ah - 1); 10143: } 10143: 10143: inline void QRect::getCoords(int *xp1, int *yp1, int *xp2, int *yp2) const 10143: { 10143: *xp1 = x1; 10143: *yp1 = y1; 10143: *xp2 = x2; 10143: *yp2 = y2; 10143: } 10143: 10143: inline void QRect::setCoords(int xp1, int yp1, int xp2, int yp2) noexcept 10143: { 10143: x1 = xp1; 10143: y1 = yp1; 10143: x2 = xp2; 10143: y2 = yp2; 10143: } 10143: 10143: constexpr inline QRect QRect::adjusted(int xp1, int yp1, int xp2, int yp2) const noexcept 10143: { return QRect(QPoint(x1 + xp1, y1 + yp1), QPoint(x2 + xp2, y2 + yp2)); } 10143: 10143: inline void QRect::adjust(int dx1, int dy1, int dx2, int dy2) noexcept 10143: { 10143: x1 += dx1; 10143: y1 += dy1; 10143: x2 += dx2; 10143: y2 += dy2; 10143: } 10143: 10143: inline void QRect::setWidth(int w) noexcept 10143: { x2 = (x1 + w - 1); } 10143: 10143: inline void QRect::setHeight(int h) noexcept 10143: { y2 = (y1 + h - 1); } 10143: 10143: inline void QRect::setSize(const QSize &s) noexcept 10143: { 10143: x2 = (s.width() + x1 - 1); 10143: y2 = (s.height() + y1 - 1); 10143: } 10143: 10143: inline bool QRect::contains(int ax, int ay, bool aproper) const noexcept 10143: { 10143: return contains(QPoint(ax, ay), aproper); 10143: } 10143: 10143: inline bool QRect::contains(int ax, int ay) const noexcept 10143: { 10143: return contains(QPoint(ax, ay), false); 10143: } 10143: 10143: inline QRect& QRect::operator|=(const QRect &r) noexcept 10143: { 10143: *this = *this | r; 10143: return *this; 10143: } 10143: 10143: inline QRect& QRect::operator&=(const QRect &r) noexcept 10143: { 10143: *this = *this & r; 10143: return *this; 10143: } 10143: 10143: inline QRect QRect::intersected(const QRect &other) const noexcept 10143: { 10143: return *this & other; 10143: } 10143: 10143: inline QRect QRect::united(const QRect &r) const noexcept 10143: { 10143: return *this | r; 10143: } 10143: 10143: constexpr inline bool operator==(const QRect &r1, const QRect &r2) noexcept 10143: { 10143: return r1.x1==r2.x1 && r1.x2==r2.x2 && r1.y1==r2.y1 && r1.y2==r2.y2; 10143: } 10143: 10143: constexpr inline bool operator!=(const QRect &r1, const QRect &r2) noexcept 10143: { 10143: return r1.x1!=r2.x1 || r1.x2!=r2.x2 || r1.y1!=r2.y1 || r1.y2!=r2.y2; 10143: } 10143: 10143: constexpr inline QRect operator+(const QRect &rectangle, const QMargins &margins) noexcept 10143: { 10143: return QRect(QPoint(rectangle.left() - margins.left(), rectangle.top() - margins.top()), 10143: QPoint(rectangle.right() + margins.right(), rectangle.bottom() + margins.bottom())); 10143: } 10143: 10143: constexpr inline QRect operator+(const QMargins &margins, const QRect &rectangle) noexcept 10143: { 10143: return QRect(QPoint(rectangle.left() - margins.left(), rectangle.top() - margins.top()), 10143: QPoint(rectangle.right() + margins.right(), rectangle.bottom() + margins.bottom())); 10143: } 10143: 10143: constexpr inline QRect operator-(const QRect &lhs, const QMargins &rhs) noexcept 10143: { 10143: return QRect(QPoint(lhs.left() + rhs.left(), lhs.top() + rhs.top()), 10143: QPoint(lhs.right() - rhs.right(), lhs.bottom() - rhs.bottom())); 10143: } 10143: 10143: constexpr inline QRect QRect::marginsAdded(const QMargins &margins) const noexcept 10143: { 10143: return QRect(QPoint(x1 - margins.left(), y1 - margins.top()), 10143: QPoint(x2 + margins.right(), y2 + margins.bottom())); 10143: } 10143: 10143: constexpr inline QRect QRect::marginsRemoved(const QMargins &margins) const noexcept 10143: { 10143: return QRect(QPoint(x1 + margins.left(), y1 + margins.top()), 10143: QPoint(x2 - margins.right(), y2 - margins.bottom())); 10143: } 10143: 10143: inline QRect &QRect::operator+=(const QMargins &margins) noexcept 10143: { 10143: *this = marginsAdded(margins); 10143: return *this; 10143: } 10143: 10143: inline QRect &QRect::operator-=(const QMargins &margins) noexcept 10143: { 10143: *this = marginsRemoved(margins); 10143: return *this; 10143: } 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QRect &); 10143: 10143: 10143: 10143: class __attribute__((visibility("default"))) QRectF 10143: { 10143: public: 10143: constexpr QRectF() noexcept : xp(0.), yp(0.), w(0.), h(0.) {} 10143: constexpr QRectF(const QPointF &topleft, const QSizeF &size) noexcept; 10143: constexpr QRectF(const QPointF &topleft, const QPointF &bottomRight) noexcept; 10143: constexpr QRectF(qreal left, qreal top, qreal width, qreal height) noexcept; 10143: constexpr QRectF(const QRect &rect) noexcept; 10143: 10143: constexpr inline bool isNull() const noexcept; 10143: constexpr inline bool isEmpty() const noexcept; 10143: constexpr inline bool isValid() const noexcept; 10143: [[nodiscard]] QRectF normalized() const noexcept; 10143: 10143: constexpr inline qreal left() const noexcept { return xp; } 10143: constexpr inline qreal top() const noexcept { return yp; } 10143: constexpr inline qreal right() const noexcept { return xp + w; } 10143: constexpr inline qreal bottom() const noexcept { return yp + h; } 10143: 10143: constexpr inline qreal x() const noexcept; 10143: constexpr inline qreal y() const noexcept; 10143: inline void setLeft(qreal pos) noexcept; 10143: inline void setTop(qreal pos) noexcept; 10143: inline void setRight(qreal pos) noexcept; 10143: inline void setBottom(qreal pos) noexcept; 10143: inline void setX(qreal pos) noexcept { setLeft(pos); } 10143: inline void setY(qreal pos) noexcept { setTop(pos); } 10143: 10143: constexpr inline QPointF topLeft() const noexcept { return QPointF(xp, yp); } 10143: constexpr inline QPointF bottomRight() const noexcept { return QPointF(xp+w, yp+h); } 10143: constexpr inline QPointF topRight() const noexcept { return QPointF(xp+w, yp); } 10143: constexpr inline QPointF bottomLeft() const noexcept { return QPointF(xp, yp+h); } 10143: constexpr inline QPointF center() const noexcept; 10143: 10143: inline void setTopLeft(const QPointF &p) noexcept; 10143: inline void setBottomRight(const QPointF &p) noexcept; 10143: inline void setTopRight(const QPointF &p) noexcept; 10143: inline void setBottomLeft(const QPointF &p) noexcept; 10143: 10143: inline void moveLeft(qreal pos) noexcept; 10143: inline void moveTop(qreal pos) noexcept; 10143: inline void moveRight(qreal pos) noexcept; 10143: inline void moveBottom(qreal pos) noexcept; 10143: inline void moveTopLeft(const QPointF &p) noexcept; 10143: inline void moveBottomRight(const QPointF &p) noexcept; 10143: inline void moveTopRight(const QPointF &p) noexcept; 10143: inline void moveBottomLeft(const QPointF &p) noexcept; 10143: inline void moveCenter(const QPointF &p) noexcept; 10143: 10143: inline void translate(qreal dx, qreal dy) noexcept; 10143: inline void translate(const QPointF &p) noexcept; 10143: 10143: [[nodiscard]] constexpr inline QRectF translated(qreal dx, qreal dy) const noexcept; 10143: [[nodiscard]] constexpr inline QRectF translated(const QPointF &p) const noexcept; 10143: 10143: [[nodiscard]] constexpr inline QRectF transposed() const noexcept; 10143: 10143: inline void moveTo(qreal x, qreal y) noexcept; 10143: inline void moveTo(const QPointF &p) noexcept; 10143: 10143: inline void setRect(qreal x, qreal y, qreal w, qreal h) noexcept; 10143: inline void getRect(qreal *x, qreal *y, qreal *w, qreal *h) const; 10143: 10143: inline void setCoords(qreal x1, qreal y1, qreal x2, qreal y2) noexcept; 10143: inline void getCoords(qreal *x1, qreal *y1, qreal *x2, qreal *y2) const; 10143: 10143: inline void adjust(qreal x1, qreal y1, qreal x2, qreal y2) noexcept; 10143: [[nodiscard]] constexpr inline QRectF adjusted(qreal x1, qreal y1, qreal x2, qreal y2) const noexcept; 10143: 10143: constexpr inline QSizeF size() const noexcept; 10143: constexpr inline qreal width() const noexcept; 10143: constexpr inline qreal height() const noexcept; 10143: inline void setWidth(qreal w) noexcept; 10143: inline void setHeight(qreal h) noexcept; 10143: inline void setSize(const QSizeF &s) noexcept; 10143: 10143: QRectF operator|(const QRectF &r) const noexcept; 10143: QRectF operator&(const QRectF &r) const noexcept; 10143: inline QRectF& operator|=(const QRectF &r) noexcept; 10143: inline QRectF& operator&=(const QRectF &r) noexcept; 10143: 10143: bool contains(const QRectF &r) const noexcept; 10143: bool contains(const QPointF &p) const noexcept; 10143: inline bool contains(qreal x, qreal y) const noexcept; 10143: [[nodiscard]] inline QRectF united(const QRectF &other) const noexcept; 10143: [[nodiscard]] inline QRectF intersected(const QRectF &other) const noexcept; 10143: bool intersects(const QRectF &r) const noexcept; 10143: 10143: constexpr inline QRectF marginsAdded(const QMarginsF &margins) const noexcept; 10143: constexpr inline QRectF marginsRemoved(const QMarginsF &margins) const noexcept; 10143: inline QRectF &operator+=(const QMarginsF &margins) noexcept; 10143: inline QRectF &operator-=(const QMarginsF &margins) noexcept; 10143: 10143: 10143: 10143: 10143: 10143: 10143: friend constexpr inline bool operator==(const QRectF &, const QRectF &) noexcept; 10143: friend constexpr inline bool operator!=(const QRectF &, const QRectF &) noexcept; 10143: 10143: [[nodiscard]] constexpr inline QRect toRect() const noexcept; 10143: [[nodiscard]] QRect toAlignedRect() const noexcept; 10143: 10143: 10143: 10143: 10143: 10143: 10143: private: 10143: qreal xp; 10143: qreal yp; 10143: qreal w; 10143: qreal h; 10143: }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QRectF)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QRectF >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QRectF) }; static inline const char *name() { return "QRectF"; } }; 10143: 10143: constexpr inline bool operator==(const QRectF &, const QRectF &) noexcept; 10143: constexpr inline bool operator!=(const QRectF &, const QRectF &) noexcept; 10143: 10143: 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QRectF &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QRectF &); 10143: 10143: 10143: 10143: 10143: 10143: 10143: constexpr inline QRectF::QRectF(qreal aleft, qreal atop, qreal awidth, qreal aheight) noexcept 10143: : xp(aleft), yp(atop), w(awidth), h(aheight) 10143: { 10143: } 10143: 10143: constexpr inline QRectF::QRectF(const QPointF &atopLeft, const QSizeF &asize) noexcept 10143: : xp(atopLeft.x()), yp(atopLeft.y()), w(asize.width()), h(asize.height()) 10143: { 10143: } 10143: 10143: 10143: constexpr inline QRectF::QRectF(const QPointF &atopLeft, const QPointF &abottomRight) noexcept 10143: : xp(atopLeft.x()), yp(atopLeft.y()), w(abottomRight.x() - atopLeft.x()), h(abottomRight.y() - atopLeft.y()) 10143: { 10143: } 10143: 10143: constexpr inline QRectF::QRectF(const QRect &r) noexcept 10143: : xp(r.x()), yp(r.y()), w(r.width()), h(r.height()) 10143: { 10143: } 10143: 10143: 10143: # 665 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qrect.h" 3 4 10143: #pragma GCC diagnostic push 10143: # 665 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qrect.h" 3 4 10143: 10143: 10143: 10143: # 667 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qrect.h" 3 4 10143: #pragma GCC diagnostic ignored "-Wfloat-equal" 10143: # 667 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qrect.h" 3 4 10143: 10143: 10143: constexpr inline bool QRectF::isNull() const noexcept 10143: { return w == 0. && h == 0.; } 10143: 10143: constexpr inline bool QRectF::isEmpty() const noexcept 10143: { return w <= 0. || h <= 0.; } 10143: 10143: 10143: # 675 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qrect.h" 3 4 10143: #pragma GCC diagnostic pop 10143: # 675 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qrect.h" 3 4 10143: 10143: 10143: constexpr inline bool QRectF::isValid() const noexcept 10143: { return w > 0. && h > 0.; } 10143: 10143: constexpr inline qreal QRectF::x() const noexcept 10143: { return xp; } 10143: 10143: constexpr inline qreal QRectF::y() const noexcept 10143: { return yp; } 10143: 10143: inline void QRectF::setLeft(qreal pos) noexcept 10143: { qreal diff = pos - xp; xp += diff; w -= diff; } 10143: 10143: inline void QRectF::setRight(qreal pos) noexcept 10143: { w = pos - xp; } 10143: 10143: inline void QRectF::setTop(qreal pos) noexcept 10143: { qreal diff = pos - yp; yp += diff; h -= diff; } 10143: 10143: inline void QRectF::setBottom(qreal pos) noexcept 10143: { h = pos - yp; } 10143: 10143: inline void QRectF::setTopLeft(const QPointF &p) noexcept 10143: { setLeft(p.x()); setTop(p.y()); } 10143: 10143: inline void QRectF::setTopRight(const QPointF &p) noexcept 10143: { setRight(p.x()); setTop(p.y()); } 10143: 10143: inline void QRectF::setBottomLeft(const QPointF &p) noexcept 10143: { setLeft(p.x()); setBottom(p.y()); } 10143: 10143: inline void QRectF::setBottomRight(const QPointF &p) noexcept 10143: { setRight(p.x()); setBottom(p.y()); } 10143: 10143: constexpr inline QPointF QRectF::center() const noexcept 10143: { return QPointF(xp + w/2, yp + h/2); } 10143: 10143: inline void QRectF::moveLeft(qreal pos) noexcept 10143: { xp = pos; } 10143: 10143: inline void QRectF::moveTop(qreal pos) noexcept 10143: { yp = pos; } 10143: 10143: inline void QRectF::moveRight(qreal pos) noexcept 10143: { xp = pos - w; } 10143: 10143: inline void QRectF::moveBottom(qreal pos) noexcept 10143: { yp = pos - h; } 10143: 10143: inline void QRectF::moveTopLeft(const QPointF &p) noexcept 10143: { moveLeft(p.x()); moveTop(p.y()); } 10143: 10143: inline void QRectF::moveTopRight(const QPointF &p) noexcept 10143: { moveRight(p.x()); moveTop(p.y()); } 10143: 10143: inline void QRectF::moveBottomLeft(const QPointF &p) noexcept 10143: { moveLeft(p.x()); moveBottom(p.y()); } 10143: 10143: inline void QRectF::moveBottomRight(const QPointF &p) noexcept 10143: { moveRight(p.x()); moveBottom(p.y()); } 10143: 10143: inline void QRectF::moveCenter(const QPointF &p) noexcept 10143: { xp = p.x() - w/2; yp = p.y() - h/2; } 10143: 10143: constexpr inline qreal QRectF::width() const noexcept 10143: { return w; } 10143: 10143: constexpr inline qreal QRectF::height() const noexcept 10143: { return h; } 10143: 10143: constexpr inline QSizeF QRectF::size() const noexcept 10143: { return QSizeF(w, h); } 10143: 10143: inline void QRectF::translate(qreal dx, qreal dy) noexcept 10143: { 10143: xp += dx; 10143: yp += dy; 10143: } 10143: 10143: inline void QRectF::translate(const QPointF &p) noexcept 10143: { 10143: xp += p.x(); 10143: yp += p.y(); 10143: } 10143: 10143: inline void QRectF::moveTo(qreal ax, qreal ay) noexcept 10143: { 10143: xp = ax; 10143: yp = ay; 10143: } 10143: 10143: inline void QRectF::moveTo(const QPointF &p) noexcept 10143: { 10143: xp = p.x(); 10143: yp = p.y(); 10143: } 10143: 10143: constexpr inline QRectF QRectF::translated(qreal dx, qreal dy) const noexcept 10143: { return QRectF(xp + dx, yp + dy, w, h); } 10143: 10143: constexpr inline QRectF QRectF::translated(const QPointF &p) const noexcept 10143: { return QRectF(xp + p.x(), yp + p.y(), w, h); } 10143: 10143: constexpr inline QRectF QRectF::transposed() const noexcept 10143: { return QRectF(topLeft(), size().transposed()); } 10143: 10143: inline void QRectF::getRect(qreal *ax, qreal *ay, qreal *aaw, qreal *aah) const 10143: { 10143: *ax = this->xp; 10143: *ay = this->yp; 10143: *aaw = this->w; 10143: *aah = this->h; 10143: } 10143: 10143: inline void QRectF::setRect(qreal ax, qreal ay, qreal aaw, qreal aah) noexcept 10143: { 10143: this->xp = ax; 10143: this->yp = ay; 10143: this->w = aaw; 10143: this->h = aah; 10143: } 10143: 10143: inline void QRectF::getCoords(qreal *xp1, qreal *yp1, qreal *xp2, qreal *yp2) const 10143: { 10143: *xp1 = xp; 10143: *yp1 = yp; 10143: *xp2 = xp + w; 10143: *yp2 = yp + h; 10143: } 10143: 10143: inline void QRectF::setCoords(qreal xp1, qreal yp1, qreal xp2, qreal yp2) noexcept 10143: { 10143: xp = xp1; 10143: yp = yp1; 10143: w = xp2 - xp1; 10143: h = yp2 - yp1; 10143: } 10143: 10143: inline void QRectF::adjust(qreal xp1, qreal yp1, qreal xp2, qreal yp2) noexcept 10143: { xp += xp1; yp += yp1; w += xp2 - xp1; h += yp2 - yp1; } 10143: 10143: constexpr inline QRectF QRectF::adjusted(qreal xp1, qreal yp1, qreal xp2, qreal yp2) const noexcept 10143: { return QRectF(xp + xp1, yp + yp1, w + xp2 - xp1, h + yp2 - yp1); } 10143: 10143: inline void QRectF::setWidth(qreal aw) noexcept 10143: { this->w = aw; } 10143: 10143: inline void QRectF::setHeight(qreal ah) noexcept 10143: { this->h = ah; } 10143: 10143: inline void QRectF::setSize(const QSizeF &s) noexcept 10143: { 10143: w = s.width(); 10143: h = s.height(); 10143: } 10143: 10143: inline bool QRectF::contains(qreal ax, qreal ay) const noexcept 10143: { 10143: return contains(QPointF(ax, ay)); 10143: } 10143: 10143: inline QRectF& QRectF::operator|=(const QRectF &r) noexcept 10143: { 10143: *this = *this | r; 10143: return *this; 10143: } 10143: 10143: inline QRectF& QRectF::operator&=(const QRectF &r) noexcept 10143: { 10143: *this = *this & r; 10143: return *this; 10143: } 10143: 10143: inline QRectF QRectF::intersected(const QRectF &r) const noexcept 10143: { 10143: return *this & r; 10143: } 10143: 10143: inline QRectF QRectF::united(const QRectF &r) const noexcept 10143: { 10143: return *this | r; 10143: } 10143: 10143: constexpr inline bool operator==(const QRectF &r1, const QRectF &r2) noexcept 10143: { 10143: return qFuzzyCompare(r1.xp, r2.xp) && qFuzzyCompare(r1.yp, r2.yp) 10143: && qFuzzyCompare(r1.w, r2.w) && qFuzzyCompare(r1.h, r2.h); 10143: } 10143: 10143: constexpr inline bool operator!=(const QRectF &r1, const QRectF &r2) noexcept 10143: { 10143: return !qFuzzyCompare(r1.xp, r2.xp) || !qFuzzyCompare(r1.yp, r2.yp) 10143: || !qFuzzyCompare(r1.w, r2.w) || !qFuzzyCompare(r1.h, r2.h); 10143: } 10143: 10143: constexpr inline QRect QRectF::toRect() const noexcept 10143: { 10143: return QRect(qRound(xp), qRound(yp), qRound(w), qRound(h)); 10143: } 10143: 10143: constexpr inline QRectF operator+(const QRectF &lhs, const QMarginsF &rhs) noexcept 10143: { 10143: return QRectF(QPointF(lhs.left() - rhs.left(), lhs.top() - rhs.top()), 10143: QSizeF(lhs.width() + rhs.left() + rhs.right(), lhs.height() + rhs.top() + rhs.bottom())); 10143: } 10143: 10143: constexpr inline QRectF operator+(const QMarginsF &lhs, const QRectF &rhs) noexcept 10143: { 10143: return QRectF(QPointF(rhs.left() - lhs.left(), rhs.top() - lhs.top()), 10143: QSizeF(rhs.width() + lhs.left() + lhs.right(), rhs.height() + lhs.top() + lhs.bottom())); 10143: } 10143: 10143: constexpr inline QRectF operator-(const QRectF &lhs, const QMarginsF &rhs) noexcept 10143: { 10143: return QRectF(QPointF(lhs.left() + rhs.left(), lhs.top() + rhs.top()), 10143: QSizeF(lhs.width() - rhs.left() - rhs.right(), lhs.height() - rhs.top() - rhs.bottom())); 10143: } 10143: 10143: constexpr inline QRectF QRectF::marginsAdded(const QMarginsF &margins) const noexcept 10143: { 10143: return QRectF(QPointF(xp - margins.left(), yp - margins.top()), 10143: QSizeF(w + margins.left() + margins.right(), h + margins.top() + margins.bottom())); 10143: } 10143: 10143: constexpr inline QRectF QRectF::marginsRemoved(const QMarginsF &margins) const noexcept 10143: { 10143: return QRectF(QPointF(xp + margins.left(), yp + margins.top()), 10143: QSizeF(w - margins.left() - margins.right(), h - margins.top() - margins.bottom())); 10143: } 10143: 10143: inline QRectF &QRectF::operator+=(const QMarginsF &margins) noexcept 10143: { 10143: *this = marginsAdded(margins); 10143: return *this; 10143: } 10143: 10143: inline QRectF &QRectF::operator-=(const QMarginsF &margins) noexcept 10143: { 10143: *this = marginsRemoved(margins); 10143: return *this; 10143: } 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QRectF &); 10143: 10143: 10143: 10143: # 47 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qpolygon.h" 2 3 4 10143: 10143: 10143: 10143: 10143: class QMatrix; 10143: class QTransform; 10143: class QRect; 10143: class QVariant; 10143: 10143: class __attribute__((visibility("default"))) QPolygon : public QVector 10143: { 10143: public: 10143: inline QPolygon() {} 10143: inline ~QPolygon() {} 10143: inline explicit QPolygon(int size); 10143: inline QPolygon(const QVector &v) : QVector(v) {} 10143: 10143: QPolygon(QVector &&v) noexcept : QVector(std::move(v)) {} 10143: 10143: QPolygon(const QRect &r, bool closed=false); 10143: QPolygon(int nPoints, const int *points); 10143: QPolygon(const QPolygon &other) : QVector(other) {} 10143: 10143: QPolygon(QPolygon &&other) noexcept : QVector(std::move(other)) {} 10143: QPolygon &operator=(QPolygon &&other) noexcept { swap(other); return *this; } 10143: 10143: QPolygon &operator=(const QPolygon &other) { QVector::operator=(other); return *this; } 10143: void swap(QPolygon &other) noexcept { QVector::swap(other); } 10143: 10143: operator QVariant() const; 10143: 10143: void translate(int dx, int dy); 10143: void translate(const QPoint &offset); 10143: 10143: [[nodiscard]] QPolygon translated(int dx, int dy) const; 10143: [[nodiscard]] inline QPolygon translated(const QPoint &offset) const; 10143: 10143: QRect boundingRect() const; 10143: 10143: void point(int i, int *x, int *y) const; 10143: QPoint point(int i) const; 10143: void setPoint(int index, int x, int y); 10143: void setPoint(int index, const QPoint &p); 10143: void setPoints(int nPoints, const int *points); 10143: void setPoints(int nPoints, int firstx, int firsty, ...); 10143: void putPoints(int index, int nPoints, const int *points); 10143: void putPoints(int index, int nPoints, int firstx, int firsty, ...); 10143: void putPoints(int index, int nPoints, const QPolygon & from, int fromIndex=0); 10143: 10143: bool containsPoint(const QPoint &pt, Qt::FillRule fillRule) const; 10143: 10143: [[nodiscard]] QPolygon united(const QPolygon &r) const; 10143: [[nodiscard]] QPolygon intersected(const QPolygon &r) const; 10143: [[nodiscard]] QPolygon subtracted(const QPolygon &r) const; 10143: }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QPolygon)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QPolygon >::value, isDummy = (((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QPolygon) }; static inline const char *name() { return "QPolygon"; } }; inline void swap(QPolygon &value1, QPolygon &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 10143: 10143: inline QPolygon::QPolygon(int asize) : QVector(asize) {} 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QPolygon &); 10143: 10143: 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &stream, const QPolygon &polygon); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &stream, QPolygon &polygon); 10143: 10143: 10143: 10143: 10143: 10143: 10143: inline void QPolygon::setPoint(int index, const QPoint &pt) 10143: { (*this)[index] = pt; } 10143: 10143: inline void QPolygon::setPoint(int index, int x, int y) 10143: { (*this)[index] = QPoint(x, y); } 10143: 10143: inline QPoint QPolygon::point(int index) const 10143: { return at(index); } 10143: 10143: inline void QPolygon::translate(const QPoint &offset) 10143: { translate(offset.x(), offset.y()); } 10143: 10143: inline QPolygon QPolygon::translated(const QPoint &offset) const 10143: { return translated(offset.x(), offset.y()); } 10143: 10143: class QRectF; 10143: 10143: class __attribute__((visibility("default"))) QPolygonF : public QVector 10143: { 10143: public: 10143: inline QPolygonF() {} 10143: inline ~QPolygonF() {} 10143: inline explicit QPolygonF(int size); 10143: inline QPolygonF(const QVector &v) : QVector(v) {} 10143: 10143: QPolygonF(QVector &&v) noexcept : QVector(std::move(v)) {} 10143: 10143: QPolygonF(const QRectF &r); 10143: QPolygonF(const QPolygon &a); 10143: inline QPolygonF(const QPolygonF &a) : QVector(a) {} 10143: 10143: QPolygonF(QPolygonF &&other) noexcept : QVector(std::move(other)) {} 10143: QPolygonF &operator=(QPolygonF &&other) noexcept { swap(other); return *this; } 10143: 10143: QPolygonF &operator=(const QPolygonF &other) { QVector::operator=(other); return *this; } 10143: inline void swap(QPolygonF &other) { QVector::swap(other); } 10143: 10143: operator QVariant() const; 10143: 10143: inline void translate(qreal dx, qreal dy); 10143: void translate(const QPointF &offset); 10143: 10143: inline QPolygonF translated(qreal dx, qreal dy) const; 10143: [[nodiscard]] QPolygonF translated(const QPointF &offset) const; 10143: 10143: QPolygon toPolygon() const; 10143: 10143: bool isClosed() const { return !isEmpty() && first() == last(); } 10143: 10143: QRectF boundingRect() const; 10143: 10143: bool containsPoint(const QPointF &pt, Qt::FillRule fillRule) const; 10143: 10143: [[nodiscard]] QPolygonF united(const QPolygonF &r) const; 10143: [[nodiscard]] QPolygonF intersected(const QPolygonF &r) const; 10143: [[nodiscard]] QPolygonF subtracted(const QPolygonF &r) const; 10143: }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QPolygonF)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QPolygonF >::value, isDummy = (((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QPolygonF) }; static inline const char *name() { return "QPolygonF"; } }; inline void swap(QPolygonF &value1, QPolygonF &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 10143: 10143: inline QPolygonF::QPolygonF(int asize) : QVector(asize) {} 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QPolygonF &); 10143: 10143: 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &stream, const QPolygonF &array); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &stream, QPolygonF &array); 10143: 10143: 10143: inline void QPolygonF::translate(qreal dx, qreal dy) 10143: { translate(QPointF(dx, dy)); } 10143: 10143: inline QPolygonF QPolygonF::translated(qreal dx, qreal dy) const 10143: { return translated(QPointF(dx, dy)); } 10143: 10143: 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qmatrix.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qregion.h" 1 3 4 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qregion.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qregion.h" 2 3 4 10143: 10143: 10143: 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qdatastream.h" 1 3 4 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qdatastream.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qiodevice.h" 1 3 4 10143: # 56 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qiodevice.h" 3 4 10143: 10143: 10143: 10143: class QByteArray; 10143: class QIODevicePrivate; 10143: 10143: class __attribute__((visibility("default"))) QIODevice 10143: 10143: : public QObject 10143: 10143: { 10143: 10143: public: 10143: # 68 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qiodevice.h" 3 4 10143: #pragma GCC diagnostic push 10143: # 68 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qiodevice.h" 3 4 10143: 10143: # 68 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qiodevice.h" 3 4 10143: #pragma GCC diagnostic ignored "-Wsuggest-override" 10143: # 68 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qiodevice.h" 3 4 10143: static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); virtual int qt_metacall(QMetaObject::Call, int, void **); static inline QString tr(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 10143: # 68 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qiodevice.h" 3 4 10143: #pragma GCC diagnostic ignored "-Wattributes" 10143: # 68 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qiodevice.h" 3 4 10143: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 10143: # 68 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qiodevice.h" 3 4 10143: #pragma GCC diagnostic pop 10143: # 68 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qiodevice.h" 3 4 10143: struct QPrivateSignal {}; 10143: 10143: public: 10143: enum OpenModeFlag { 10143: NotOpen = 0x0000, 10143: ReadOnly = 0x0001, 10143: WriteOnly = 0x0002, 10143: ReadWrite = ReadOnly | WriteOnly, 10143: Append = 0x0004, 10143: Truncate = 0x0008, 10143: Text = 0x0010, 10143: Unbuffered = 0x0020 10143: }; 10143: typedef QFlags OpenMode; 10143: 10143: QIODevice(); 10143: 10143: explicit QIODevice(QObject *parent); 10143: 10143: virtual ~QIODevice(); 10143: 10143: OpenMode openMode() const; 10143: 10143: void setTextModeEnabled(bool enabled); 10143: bool isTextModeEnabled() const; 10143: 10143: bool isOpen() const; 10143: bool isReadable() const; 10143: bool isWritable() const; 10143: virtual bool isSequential() const; 10143: 10143: int readChannelCount() const; 10143: int writeChannelCount() const; 10143: int currentReadChannel() const; 10143: void setCurrentReadChannel(int channel); 10143: int currentWriteChannel() const; 10143: void setCurrentWriteChannel(int channel); 10143: 10143: virtual bool open(OpenMode mode); 10143: virtual void close(); 10143: 10143: 10143: 10143: virtual qint64 pos() const; 10143: virtual qint64 size() const; 10143: virtual bool seek(qint64 pos); 10143: virtual bool atEnd() const; 10143: virtual bool reset(); 10143: 10143: virtual qint64 bytesAvailable() const; 10143: virtual qint64 bytesToWrite() const; 10143: 10143: qint64 read(char *data, qint64 maxlen); 10143: QByteArray read(qint64 maxlen); 10143: QByteArray readAll(); 10143: qint64 readLine(char *data, qint64 maxlen); 10143: QByteArray readLine(qint64 maxlen = 0); 10143: virtual bool canReadLine() const; 10143: 10143: void startTransaction(); 10143: void commitTransaction(); 10143: void rollbackTransaction(); 10143: bool isTransactionStarted() const; 10143: 10143: qint64 write(const char *data, qint64 len); 10143: qint64 write(const char *data); 10143: inline qint64 write(const QByteArray &data) 10143: { return write(data.constData(), data.size()); } 10143: 10143: qint64 peek(char *data, qint64 maxlen); 10143: QByteArray peek(qint64 maxlen); 10143: 10143: virtual bool waitForReadyRead(int msecs); 10143: virtual bool waitForBytesWritten(int msecs); 10143: 10143: void ungetChar(char c); 10143: bool putChar(char c); 10143: bool getChar(char *c); 10143: 10143: QString errorString() const; 10143: 10143: 10143: public : 10143: void readyRead(); 10143: void channelReadyRead(int channel); 10143: void bytesWritten(qint64 bytes); 10143: void channelBytesWritten(int channel, qint64 bytes); 10143: void aboutToClose(); 10143: void readChannelFinished(); 10143: 10143: 10143: protected: 10143: 10143: 10143: 10143: QIODevice(QIODevicePrivate &dd, QObject *parent = nullptr); 10143: 10143: virtual qint64 readData(char *data, qint64 maxlen) = 0; 10143: virtual qint64 readLineData(char *data, qint64 maxlen); 10143: virtual qint64 writeData(const char *data, qint64 len) = 0; 10143: 10143: void setOpenMode(OpenMode openMode); 10143: 10143: void setErrorString(const QString &errorString); 10143: 10143: 10143: 10143: 10143: 10143: private: 10143: inline QIODevicePrivate* d_func() { return reinterpret_cast(qGetPtrHelper(d_ptr)); } inline const QIODevicePrivate* d_func() const { return reinterpret_cast(qGetPtrHelper(d_ptr)); } friend class QIODevicePrivate; 10143: QIODevice(const QIODevice &) = delete; QIODevice &operator=(const QIODevice &) = delete; 10143: }; 10143: 10143: constexpr inline QFlags operator|(QIODevice::OpenMode::enum_type f1, QIODevice::OpenMode::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(QIODevice::OpenMode::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(QIODevice::OpenMode::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: 10143: 10143: class QDebug; 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug debug, QIODevice::OpenMode modes); 10143: 10143: 10143: 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qdatastream.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: class qfloat16; 10143: class QByteArray; 10143: class QIODevice; 10143: 10143: template class QList; 10143: template class QLinkedList; 10143: template class QVector; 10143: template class QSet; 10143: template class QHash; 10143: template class QMap; 10143: 10143: 10143: class QDataStreamPrivate; 10143: namespace QtPrivate { 10143: class StreamStateSaver; 10143: } 10143: class __attribute__((visibility("default"))) QDataStream 10143: { 10143: public: 10143: enum Version { 10143: Qt_1_0 = 1, 10143: Qt_2_0 = 2, 10143: Qt_2_1 = 3, 10143: Qt_3_0 = 4, 10143: Qt_3_1 = 5, 10143: Qt_3_3 = 6, 10143: Qt_4_0 = 7, 10143: Qt_4_1 = Qt_4_0, 10143: Qt_4_2 = 8, 10143: Qt_4_3 = 9, 10143: Qt_4_4 = 10, 10143: Qt_4_5 = 11, 10143: Qt_4_6 = 12, 10143: Qt_4_7 = Qt_4_6, 10143: Qt_4_8 = Qt_4_7, 10143: Qt_4_9 = Qt_4_8, 10143: Qt_5_0 = 13, 10143: Qt_5_1 = 14, 10143: Qt_5_2 = 15, 10143: Qt_5_3 = Qt_5_2, 10143: Qt_5_4 = 16, 10143: Qt_5_5 = Qt_5_4, 10143: Qt_5_6 = 17, 10143: Qt_5_7 = Qt_5_6, 10143: Qt_5_8 = Qt_5_7, 10143: Qt_5_9 = Qt_5_8, 10143: 10143: 10143: 10143: Qt_DefaultCompiledVersion = Qt_5_9 10143: }; 10143: 10143: enum ByteOrder { 10143: BigEndian = QSysInfo::BigEndian, 10143: LittleEndian = QSysInfo::LittleEndian 10143: }; 10143: 10143: enum Status { 10143: Ok, 10143: ReadPastEnd, 10143: ReadCorruptData, 10143: WriteFailed 10143: }; 10143: 10143: enum FloatingPointPrecision { 10143: SinglePrecision, 10143: DoublePrecision 10143: }; 10143: 10143: QDataStream(); 10143: explicit QDataStream(QIODevice *); 10143: QDataStream(QByteArray *, QIODevice::OpenMode flags); 10143: QDataStream(const QByteArray &); 10143: ~QDataStream(); 10143: 10143: QIODevice *device() const; 10143: void setDevice(QIODevice *); 10143: void unsetDevice(); 10143: 10143: bool atEnd() const; 10143: 10143: Status status() const; 10143: void setStatus(Status status); 10143: void resetStatus(); 10143: 10143: FloatingPointPrecision floatingPointPrecision() const; 10143: void setFloatingPointPrecision(FloatingPointPrecision precision); 10143: 10143: ByteOrder byteOrder() const; 10143: void setByteOrder(ByteOrder); 10143: 10143: int version() const; 10143: void setVersion(int); 10143: 10143: QDataStream &operator>>(qint8 &i); 10143: QDataStream &operator>>(quint8 &i); 10143: QDataStream &operator>>(qint16 &i); 10143: QDataStream &operator>>(quint16 &i); 10143: QDataStream &operator>>(qint32 &i); 10143: QDataStream &operator>>(quint32 &i); 10143: QDataStream &operator>>(qint64 &i); 10143: QDataStream &operator>>(quint64 &i); 10143: QDataStream &operator>>(std::nullptr_t &ptr) { ptr = nullptr; return *this; } 10143: 10143: QDataStream &operator>>(bool &i); 10143: QDataStream &operator>>(qfloat16 &f); 10143: QDataStream &operator>>(float &f); 10143: QDataStream &operator>>(double &f); 10143: QDataStream &operator>>(char *&str); 10143: 10143: QDataStream &operator<<(qint8 i); 10143: QDataStream &operator<<(quint8 i); 10143: QDataStream &operator<<(qint16 i); 10143: QDataStream &operator<<(quint16 i); 10143: QDataStream &operator<<(qint32 i); 10143: QDataStream &operator<<(quint32 i); 10143: QDataStream &operator<<(qint64 i); 10143: QDataStream &operator<<(quint64 i); 10143: QDataStream &operator<<(std::nullptr_t) { return *this; } 10143: QDataStream &operator<<(bool i); 10143: QDataStream &operator<<(qfloat16 f); 10143: QDataStream &operator<<(float f); 10143: QDataStream &operator<<(double f); 10143: QDataStream &operator<<(const char *str); 10143: 10143: QDataStream &readBytes(char *&, uint &len); 10143: int readRawData(char *, int len); 10143: 10143: QDataStream &writeBytes(const char *, uint len); 10143: int writeRawData(const char *, int len); 10143: 10143: int skipRawData(int len); 10143: 10143: void startTransaction(); 10143: bool commitTransaction(); 10143: void rollbackTransaction(); 10143: void abortTransaction(); 10143: 10143: private: 10143: QDataStream(const QDataStream &) = delete; QDataStream &operator=(const QDataStream &) = delete; 10143: 10143: QScopedPointer d; 10143: 10143: QIODevice *dev; 10143: bool owndev; 10143: bool noswap; 10143: ByteOrder byteorder; 10143: int ver; 10143: Status q_status; 10143: 10143: int readBlock(char *data, int len); 10143: friend class QtPrivate::StreamStateSaver; 10143: }; 10143: 10143: namespace QtPrivate { 10143: 10143: class StreamStateSaver 10143: { 10143: public: 10143: inline StreamStateSaver(QDataStream *s) : stream(s), oldStatus(s->status()) 10143: { 10143: if (!stream->dev || !stream->dev->isTransactionStarted()) 10143: stream->resetStatus(); 10143: } 10143: inline ~StreamStateSaver() 10143: { 10143: if (oldStatus != QDataStream::Ok) { 10143: stream->resetStatus(); 10143: stream->setStatus(oldStatus); 10143: } 10143: } 10143: 10143: private: 10143: QDataStream *stream; 10143: QDataStream::Status oldStatus; 10143: }; 10143: 10143: template 10143: QDataStream &readArrayBasedContainer(QDataStream &s, Container &c) 10143: { 10143: StreamStateSaver stateSaver(&s); 10143: 10143: c.clear(); 10143: quint32 n; 10143: s >> n; 10143: c.reserve(n); 10143: for (quint32 i = 0; i < n; ++i) { 10143: typename Container::value_type t; 10143: s >> t; 10143: if (s.status() != QDataStream::Ok) { 10143: c.clear(); 10143: break; 10143: } 10143: c.append(t); 10143: } 10143: 10143: return s; 10143: } 10143: 10143: template 10143: QDataStream &readListBasedContainer(QDataStream &s, Container &c) 10143: { 10143: StreamStateSaver stateSaver(&s); 10143: 10143: c.clear(); 10143: quint32 n; 10143: s >> n; 10143: for (quint32 i = 0; i < n; ++i) { 10143: typename Container::value_type t; 10143: s >> t; 10143: if (s.status() != QDataStream::Ok) { 10143: c.clear(); 10143: break; 10143: } 10143: c << t; 10143: } 10143: 10143: return s; 10143: } 10143: 10143: template 10143: QDataStream &readAssociativeContainer(QDataStream &s, Container &c) 10143: { 10143: StreamStateSaver stateSaver(&s); 10143: 10143: c.clear(); 10143: quint32 n; 10143: s >> n; 10143: for (quint32 i = 0; i < n; ++i) { 10143: typename Container::key_type k; 10143: typename Container::mapped_type t; 10143: s >> k >> t; 10143: if (s.status() != QDataStream::Ok) { 10143: c.clear(); 10143: break; 10143: } 10143: c.insertMulti(k, t); 10143: } 10143: 10143: return s; 10143: } 10143: 10143: template 10143: QDataStream &writeSequentialContainer(QDataStream &s, const Container &c) 10143: { 10143: s << quint32(c.size()); 10143: for (const typename Container::value_type &t : c) 10143: s << t; 10143: 10143: return s; 10143: } 10143: 10143: template 10143: QDataStream &writeAssociativeContainer(QDataStream &s, const Container &c) 10143: { 10143: s << quint32(c.size()); 10143: 10143: 10143: 10143: auto it = c.constEnd(); 10143: auto begin = c.constBegin(); 10143: while (it != begin) { 10143: --it; 10143: s << it.key() << it.value(); 10143: } 10143: 10143: return s; 10143: } 10143: 10143: } 10143: 10143: 10143: 10143: 10143: 10143: inline QIODevice *QDataStream::device() const 10143: { return dev; } 10143: 10143: inline QDataStream::ByteOrder QDataStream::byteOrder() const 10143: { return byteorder; } 10143: 10143: inline int QDataStream::version() const 10143: { return ver; } 10143: 10143: inline void QDataStream::setVersion(int v) 10143: { ver = v; } 10143: 10143: inline QDataStream &QDataStream::operator>>(quint8 &i) 10143: { return *this >> reinterpret_cast(i); } 10143: 10143: inline QDataStream &QDataStream::operator>>(quint16 &i) 10143: { return *this >> reinterpret_cast(i); } 10143: 10143: inline QDataStream &QDataStream::operator>>(quint32 &i) 10143: { return *this >> reinterpret_cast(i); } 10143: 10143: inline QDataStream &QDataStream::operator>>(quint64 &i) 10143: { return *this >> reinterpret_cast(i); } 10143: 10143: inline QDataStream &QDataStream::operator<<(quint8 i) 10143: { return *this << qint8(i); } 10143: 10143: inline QDataStream &QDataStream::operator<<(quint16 i) 10143: { return *this << qint16(i); } 10143: 10143: inline QDataStream &QDataStream::operator<<(quint32 i) 10143: { return *this << qint32(i); } 10143: 10143: inline QDataStream &QDataStream::operator<<(quint64 i) 10143: { return *this << qint64(i); } 10143: 10143: template 10143: inline QDataStream &operator<<(QDataStream &s, QFlags e) 10143: { return s << e.i; } 10143: 10143: template 10143: inline QDataStream &operator>>(QDataStream &s, QFlags &e) 10143: { return s >> e.i; } 10143: 10143: template 10143: inline QDataStream &operator>>(QDataStream &s, QList &l) 10143: { 10143: return QtPrivate::readArrayBasedContainer(s, l); 10143: } 10143: 10143: template 10143: inline QDataStream &operator<<(QDataStream &s, const QList &l) 10143: { 10143: return QtPrivate::writeSequentialContainer(s, l); 10143: } 10143: 10143: template 10143: inline QDataStream &operator>>(QDataStream &s, QLinkedList &l) 10143: { 10143: return QtPrivate::readListBasedContainer(s, l); 10143: } 10143: 10143: template 10143: inline QDataStream &operator<<(QDataStream &s, const QLinkedList &l) 10143: { 10143: return QtPrivate::writeSequentialContainer(s, l); 10143: } 10143: 10143: template 10143: inline QDataStream &operator>>(QDataStream &s, QVector &v) 10143: { 10143: return QtPrivate::readArrayBasedContainer(s, v); 10143: } 10143: 10143: template 10143: inline QDataStream &operator<<(QDataStream &s, const QVector &v) 10143: { 10143: return QtPrivate::writeSequentialContainer(s, v); 10143: } 10143: 10143: template 10143: inline QDataStream &operator>>(QDataStream &s, QSet &set) 10143: { 10143: return QtPrivate::readListBasedContainer(s, set); 10143: } 10143: 10143: template 10143: inline QDataStream &operator<<(QDataStream &s, const QSet &set) 10143: { 10143: return QtPrivate::writeSequentialContainer(s, set); 10143: } 10143: 10143: template 10143: inline QDataStream &operator>>(QDataStream &s, QHash &hash) 10143: { 10143: return QtPrivate::readAssociativeContainer(s, hash); 10143: } 10143: 10143: template 10143: inline QDataStream &operator<<(QDataStream &s, const QHash &hash) 10143: { 10143: return QtPrivate::writeAssociativeContainer(s, hash); 10143: } 10143: 10143: template 10143: inline QDataStream &operator>>(QDataStream &s, QMap &map) 10143: { 10143: return QtPrivate::readAssociativeContainer(s, map); 10143: } 10143: 10143: template 10143: inline QDataStream &operator<<(QDataStream &s, const QMap &map) 10143: { 10143: return QtPrivate::writeAssociativeContainer(s, map); 10143: } 10143: 10143: 10143: template 10143: inline QDataStream& operator>>(QDataStream& s, QPair& p) 10143: { 10143: s >> p.first >> p.second; 10143: return s; 10143: } 10143: 10143: template 10143: inline QDataStream& operator<<(QDataStream& s, const QPair& p) 10143: { 10143: s << p.first << p.second; 10143: return s; 10143: } 10143: 10143: 10143: 10143: 10143: 10143: # 50 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qregion.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: template class QVector; 10143: class QVariant; 10143: 10143: struct QRegionPrivate; 10143: 10143: class QBitmap; 10143: 10143: class __attribute__((visibility("default"))) QRegion 10143: { 10143: public: 10143: enum RegionType { Rectangle, Ellipse }; 10143: 10143: QRegion(); 10143: QRegion(int x, int y, int w, int h, RegionType t = Rectangle); 10143: QRegion(const QRect &r, RegionType t = Rectangle); 10143: QRegion(const QPolygon &pa, Qt::FillRule fillRule = Qt::OddEvenFill); 10143: QRegion(const QRegion ®ion); 10143: QRegion(QRegion &&other) noexcept 10143: : d(other.d) { other.d = const_cast(&shared_empty); } 10143: QRegion(const QBitmap &bitmap); 10143: ~QRegion(); 10143: QRegion &operator=(const QRegion &); 10143: 10143: inline QRegion &operator=(QRegion &&other) noexcept 10143: { qSwap(d, other.d); return *this; } 10143: 10143: inline void swap(QRegion &other) noexcept { qSwap(d, other.d); } 10143: bool isEmpty() const; 10143: bool isNull() const; 10143: 10143: typedef const QRect *const_iterator; 10143: typedef std::reverse_iterator const_reverse_iterator; 10143: 10143: const_iterator begin() const noexcept; 10143: const_iterator cbegin() const noexcept { return begin(); } 10143: const_iterator end() const noexcept; 10143: const_iterator cend() const noexcept { return end(); } 10143: const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(end()); } 10143: const_reverse_iterator crbegin() const noexcept { return rbegin(); } 10143: const_reverse_iterator rend() const noexcept { return const_reverse_iterator(begin()); } 10143: const_reverse_iterator crend() const noexcept { return rend(); } 10143: 10143: bool contains(const QPoint &p) const; 10143: bool contains(const QRect &r) const; 10143: 10143: void translate(int dx, int dy); 10143: inline void translate(const QPoint &p) { translate(p.x(), p.y()); } 10143: [[nodiscard]] QRegion translated(int dx, int dy) const; 10143: [[nodiscard]] inline QRegion translated(const QPoint &p) const { return translated(p.x(), p.y()); } 10143: 10143: [[nodiscard]] QRegion united(const QRegion &r) const; 10143: [[nodiscard]] QRegion united(const QRect &r) const; 10143: [[nodiscard]] QRegion intersected(const QRegion &r) const; 10143: [[nodiscard]] QRegion intersected(const QRect &r) const; 10143: [[nodiscard]] QRegion subtracted(const QRegion &r) const; 10143: [[nodiscard]] QRegion xored(const QRegion &r) const; 10143: # 121 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qregion.h" 3 4 10143: bool intersects(const QRegion &r) const; 10143: bool intersects(const QRect &r) const; 10143: 10143: QRect boundingRect() const noexcept; 10143: QVector rects() const; 10143: void setRects(const QRect *rect, int num); 10143: int rectCount() const noexcept; 10143: # 138 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qregion.h" 3 4 10143: QRegion operator|(const QRegion &r) const; 10143: QRegion operator+(const QRegion &r) const; 10143: QRegion operator+(const QRect &r) const; 10143: QRegion operator&(const QRegion &r) const; 10143: QRegion operator&(const QRect &r) const; 10143: QRegion operator-(const QRegion &r) const; 10143: QRegion operator^(const QRegion &r) const; 10143: 10143: QRegion& operator|=(const QRegion &r); 10143: QRegion& operator+=(const QRegion &r); 10143: QRegion& operator+=(const QRect &r); 10143: QRegion& operator&=(const QRegion &r); 10143: QRegion& operator&=(const QRect &r); 10143: QRegion& operator-=(const QRegion &r); 10143: QRegion& operator^=(const QRegion &r); 10143: 10143: bool operator==(const QRegion &r) const; 10143: inline bool operator!=(const QRegion &r) const { return !(operator==(r)); } 10143: operator QVariant() const; 10143: 10143: 10143: friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QRegion &); 10143: friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QRegion &); 10143: 10143: private: 10143: QRegion copy() const; 10143: void detach(); 10143: __attribute__((visibility("default"))) 10143: friend bool qt_region_strictContains(const QRegion ®ion, 10143: const QRect &rect); 10143: friend struct QRegionPrivate; 10143: 10143: 10143: void exec(const QByteArray &ba, int ver = 0, QDataStream::ByteOrder byteOrder = QDataStream::BigEndian); 10143: 10143: struct QRegionData { 10143: QtPrivate::RefCount ref; 10143: QRegionPrivate *qt_rgn; 10143: }; 10143: struct QRegionData *d; 10143: static const struct QRegionData shared_empty; 10143: static void cleanUp(QRegionData *x); 10143: }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QRegion)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QRegion >::value, isDummy = (((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QRegion) }; static inline const char *name() { return "QRegion"; } }; inline void swap(QRegion &value1, QRegion &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QRegion &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QRegion &); 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QRegion &); 10143: 10143: 10143: 10143: # 46 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qmatrix.h" 2 3 4 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qline.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtCore/qline.h" 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: class __attribute__((visibility("default"))) QLine 10143: { 10143: public: 10143: constexpr inline QLine(); 10143: constexpr inline QLine(const QPoint &pt1, const QPoint &pt2); 10143: constexpr inline QLine(int x1, int y1, int x2, int y2); 10143: 10143: constexpr inline bool isNull() const; 10143: 10143: constexpr inline QPoint p1() const; 10143: constexpr inline QPoint p2() const; 10143: 10143: constexpr inline int x1() const; 10143: constexpr inline int y1() const; 10143: 10143: constexpr inline int x2() const; 10143: constexpr inline int y2() const; 10143: 10143: constexpr inline int dx() const; 10143: constexpr inline int dy() const; 10143: 10143: inline void translate(const QPoint &p); 10143: inline void translate(int dx, int dy); 10143: 10143: [[nodiscard]] constexpr inline QLine translated(const QPoint &p) const; 10143: [[nodiscard]] constexpr inline QLine translated(int dx, int dy) const; 10143: 10143: [[nodiscard]] constexpr inline QPoint center() const; 10143: 10143: inline void setP1(const QPoint &p1); 10143: inline void setP2(const QPoint &p2); 10143: inline void setPoints(const QPoint &p1, const QPoint &p2); 10143: inline void setLine(int x1, int y1, int x2, int y2); 10143: 10143: constexpr inline bool operator==(const QLine &d) const; 10143: constexpr inline bool operator!=(const QLine &d) const { return !(*this == d); } 10143: 10143: private: 10143: QPoint pt1, pt2; 10143: }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QLine)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QLine >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QLine) }; static inline const char *name() { return "QLine"; } }; 10143: 10143: 10143: 10143: 10143: 10143: constexpr inline QLine::QLine() { } 10143: 10143: constexpr inline QLine::QLine(const QPoint &pt1_, const QPoint &pt2_) : pt1(pt1_), pt2(pt2_) { } 10143: 10143: constexpr inline QLine::QLine(int x1pos, int y1pos, int x2pos, int y2pos) : pt1(QPoint(x1pos, y1pos)), pt2(QPoint(x2pos, y2pos)) { } 10143: 10143: constexpr inline bool QLine::isNull() const 10143: { 10143: return pt1 == pt2; 10143: } 10143: 10143: constexpr inline int QLine::x1() const 10143: { 10143: return pt1.x(); 10143: } 10143: 10143: constexpr inline int QLine::y1() const 10143: { 10143: return pt1.y(); 10143: } 10143: 10143: constexpr inline int QLine::x2() const 10143: { 10143: return pt2.x(); 10143: } 10143: 10143: constexpr inline int QLine::y2() const 10143: { 10143: return pt2.y(); 10143: } 10143: 10143: constexpr inline QPoint QLine::p1() const 10143: { 10143: return pt1; 10143: } 10143: 10143: constexpr inline QPoint QLine::p2() const 10143: { 10143: return pt2; 10143: } 10143: 10143: constexpr inline int QLine::dx() const 10143: { 10143: return pt2.x() - pt1.x(); 10143: } 10143: 10143: constexpr inline int QLine::dy() const 10143: { 10143: return pt2.y() - pt1.y(); 10143: } 10143: 10143: inline void QLine::translate(const QPoint &point) 10143: { 10143: pt1 += point; 10143: pt2 += point; 10143: } 10143: 10143: inline void QLine::translate(int adx, int ady) 10143: { 10143: this->translate(QPoint(adx, ady)); 10143: } 10143: 10143: constexpr inline QLine QLine::translated(const QPoint &p) const 10143: { 10143: return QLine(pt1 + p, pt2 + p); 10143: } 10143: 10143: constexpr inline QLine QLine::translated(int adx, int ady) const 10143: { 10143: return translated(QPoint(adx, ady)); 10143: } 10143: 10143: constexpr inline QPoint QLine::center() const 10143: { 10143: return QPoint(int((qint64(pt1.x()) + pt2.x()) / 2), int((qint64(pt1.y()) + pt2.y()) / 2)); 10143: } 10143: 10143: inline void QLine::setP1(const QPoint &aP1) 10143: { 10143: pt1 = aP1; 10143: } 10143: 10143: inline void QLine::setP2(const QPoint &aP2) 10143: { 10143: pt2 = aP2; 10143: } 10143: 10143: inline void QLine::setPoints(const QPoint &aP1, const QPoint &aP2) 10143: { 10143: pt1 = aP1; 10143: pt2 = aP2; 10143: } 10143: 10143: inline void QLine::setLine(int aX1, int aY1, int aX2, int aY2) 10143: { 10143: pt1 = QPoint(aX1, aY1); 10143: pt2 = QPoint(aX2, aY2); 10143: } 10143: 10143: constexpr inline bool QLine::operator==(const QLine &d) const 10143: { 10143: return pt1 == d.pt1 && pt2 == d.pt2; 10143: } 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug d, const QLine &p); 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QLine &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QLine &); 10143: 10143: 10143: 10143: 10143: 10143: class __attribute__((visibility("default"))) QLineF { 10143: public: 10143: 10143: enum IntersectType { NoIntersection, BoundedIntersection, UnboundedIntersection }; 10143: 10143: constexpr inline QLineF(); 10143: constexpr inline QLineF(const QPointF &pt1, const QPointF &pt2); 10143: constexpr inline QLineF(qreal x1, qreal y1, qreal x2, qreal y2); 10143: constexpr inline QLineF(const QLine &line) : pt1(line.p1()), pt2(line.p2()) { } 10143: 10143: [[nodiscard]] static QLineF fromPolar(qreal length, qreal angle); 10143: 10143: constexpr bool isNull() const; 10143: 10143: constexpr inline QPointF p1() const; 10143: constexpr inline QPointF p2() const; 10143: 10143: constexpr inline qreal x1() const; 10143: constexpr inline qreal y1() const; 10143: 10143: constexpr inline qreal x2() const; 10143: constexpr inline qreal y2() const; 10143: 10143: constexpr inline qreal dx() const; 10143: constexpr inline qreal dy() const; 10143: 10143: qreal length() const; 10143: void setLength(qreal len); 10143: 10143: qreal angle() const; 10143: void setAngle(qreal angle); 10143: 10143: qreal angleTo(const QLineF &l) const; 10143: 10143: [[nodiscard]] QLineF unitVector() const; 10143: [[nodiscard]] constexpr inline QLineF normalVector() const; 10143: 10143: 10143: IntersectType intersect(const QLineF &l, QPointF *intersectionPoint) const; 10143: 10143: qreal angle(const QLineF &l) const; 10143: 10143: constexpr inline QPointF pointAt(qreal t) const; 10143: inline void translate(const QPointF &p); 10143: inline void translate(qreal dx, qreal dy); 10143: 10143: [[nodiscard]] constexpr inline QLineF translated(const QPointF &p) const; 10143: [[nodiscard]] constexpr inline QLineF translated(qreal dx, qreal dy) const; 10143: 10143: [[nodiscard]] constexpr inline QPointF center() const; 10143: 10143: inline void setP1(const QPointF &p1); 10143: inline void setP2(const QPointF &p2); 10143: inline void setPoints(const QPointF &p1, const QPointF &p2); 10143: inline void setLine(qreal x1, qreal y1, qreal x2, qreal y2); 10143: 10143: constexpr inline bool operator==(const QLineF &d) const; 10143: constexpr inline bool operator!=(const QLineF &d) const { return !(*this == d); } 10143: 10143: constexpr QLine toLine() const; 10143: 10143: private: 10143: QPointF pt1, pt2; 10143: }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QLineF)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QLineF >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QLineF) }; static inline const char *name() { return "QLineF"; } }; 10143: 10143: 10143: 10143: 10143: 10143: constexpr inline QLineF::QLineF() 10143: { 10143: } 10143: 10143: constexpr inline QLineF::QLineF(const QPointF &apt1, const QPointF &apt2) 10143: : pt1(apt1), pt2(apt2) 10143: { 10143: } 10143: 10143: constexpr inline QLineF::QLineF(qreal x1pos, qreal y1pos, qreal x2pos, qreal y2pos) 10143: : pt1(x1pos, y1pos), pt2(x2pos, y2pos) 10143: { 10143: } 10143: 10143: constexpr inline qreal QLineF::x1() const 10143: { 10143: return pt1.x(); 10143: } 10143: 10143: constexpr inline qreal QLineF::y1() const 10143: { 10143: return pt1.y(); 10143: } 10143: 10143: constexpr inline qreal QLineF::x2() const 10143: { 10143: return pt2.x(); 10143: } 10143: 10143: constexpr inline qreal QLineF::y2() const 10143: { 10143: return pt2.y(); 10143: } 10143: 10143: constexpr inline bool QLineF::isNull() const 10143: { 10143: return qFuzzyCompare(pt1.x(), pt2.x()) && qFuzzyCompare(pt1.y(), pt2.y()); 10143: } 10143: 10143: constexpr inline QPointF QLineF::p1() const 10143: { 10143: return pt1; 10143: } 10143: 10143: constexpr inline QPointF QLineF::p2() const 10143: { 10143: return pt2; 10143: } 10143: 10143: constexpr inline qreal QLineF::dx() const 10143: { 10143: return pt2.x() - pt1.x(); 10143: } 10143: 10143: constexpr inline qreal QLineF::dy() const 10143: { 10143: return pt2.y() - pt1.y(); 10143: } 10143: 10143: constexpr inline QLineF QLineF::normalVector() const 10143: { 10143: return QLineF(p1(), p1() + QPointF(dy(), -dx())); 10143: } 10143: 10143: inline void QLineF::translate(const QPointF &point) 10143: { 10143: pt1 += point; 10143: pt2 += point; 10143: } 10143: 10143: inline void QLineF::translate(qreal adx, qreal ady) 10143: { 10143: this->translate(QPointF(adx, ady)); 10143: } 10143: 10143: constexpr inline QLineF QLineF::translated(const QPointF &p) const 10143: { 10143: return QLineF(pt1 + p, pt2 + p); 10143: } 10143: 10143: constexpr inline QLineF QLineF::translated(qreal adx, qreal ady) const 10143: { 10143: return translated(QPointF(adx, ady)); 10143: } 10143: 10143: constexpr inline QPointF QLineF::center() const 10143: { 10143: return QPointF(0.5 * pt1.x() + 0.5 * pt2.x(), 0.5 * pt1.y() + 0.5 * pt2.y()); 10143: } 10143: 10143: inline void QLineF::setLength(qreal len) 10143: { 10143: if (isNull()) 10143: return; 10143: QLineF v = unitVector(); 10143: pt2 = QPointF(pt1.x() + v.dx() * len, pt1.y() + v.dy() * len); 10143: } 10143: 10143: constexpr inline QPointF QLineF::pointAt(qreal t) const 10143: { 10143: return QPointF(pt1.x() + (pt2.x() - pt1.x()) * t, pt1.y() + (pt2.y() - pt1.y()) * t); 10143: } 10143: 10143: constexpr inline QLine QLineF::toLine() const 10143: { 10143: return QLine(pt1.toPoint(), pt2.toPoint()); 10143: } 10143: 10143: 10143: inline void QLineF::setP1(const QPointF &aP1) 10143: { 10143: pt1 = aP1; 10143: } 10143: 10143: inline void QLineF::setP2(const QPointF &aP2) 10143: { 10143: pt2 = aP2; 10143: } 10143: 10143: inline void QLineF::setPoints(const QPointF &aP1, const QPointF &aP2) 10143: { 10143: pt1 = aP1; 10143: pt2 = aP2; 10143: } 10143: 10143: inline void QLineF::setLine(qreal aX1, qreal aY1, qreal aX2, qreal aY2) 10143: { 10143: pt1 = QPointF(aX1, aY1); 10143: pt2 = QPointF(aX2, aY2); 10143: } 10143: 10143: 10143: constexpr inline bool QLineF::operator==(const QLineF &d) const 10143: { 10143: return pt1 == d.pt1 && pt2 == d.pt2; 10143: } 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug d, const QLineF &p); 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QLineF &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QLineF &); 10143: 10143: 10143: 10143: # 48 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qmatrix.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: class QPainterPath; 10143: class QVariant; 10143: 10143: class __attribute__((visibility("default"))) QMatrix 10143: { 10143: public: 10143: inline explicit QMatrix(Qt::Initialization) {} 10143: QMatrix(); 10143: QMatrix(qreal m11, qreal m12, qreal m21, qreal m22, 10143: qreal dx, qreal dy); 10143: 10143: 10143: 10143: QMatrix &operator=(QMatrix &&other) noexcept 10143: { memcpy(this, &other, sizeof(QMatrix)); return *this; } 10143: QMatrix &operator=(const QMatrix &) noexcept; 10143: QMatrix(QMatrix &&other) noexcept 10143: { memcpy(this, &other, sizeof(QMatrix)); } 10143: QMatrix(const QMatrix &other) noexcept; 10143: 10143: 10143: void setMatrix(qreal m11, qreal m12, qreal m21, qreal m22, 10143: qreal dx, qreal dy); 10143: 10143: qreal m11() const { return _m11; } 10143: qreal m12() const { return _m12; } 10143: qreal m21() const { return _m21; } 10143: qreal m22() const { return _m22; } 10143: qreal dx() const { return _dx; } 10143: qreal dy() const { return _dy; } 10143: 10143: void map(int x, int y, int *tx, int *ty) const; 10143: void map(qreal x, qreal y, qreal *tx, qreal *ty) const; 10143: QRect mapRect(const QRect &) const; 10143: QRectF mapRect(const QRectF &) const; 10143: 10143: QPoint map(const QPoint &p) const; 10143: QPointF map(const QPointF&p) const; 10143: QLine map(const QLine &l) const; 10143: QLineF map(const QLineF &l) const; 10143: QPolygonF map(const QPolygonF &a) const; 10143: QPolygon map(const QPolygon &a) const; 10143: QRegion map(const QRegion &r) const; 10143: QPainterPath map(const QPainterPath &p) const; 10143: QPolygon mapToPolygon(const QRect &r) const; 10143: 10143: void reset(); 10143: inline bool isIdentity() const; 10143: 10143: QMatrix &translate(qreal dx, qreal dy); 10143: QMatrix &scale(qreal sx, qreal sy); 10143: QMatrix &shear(qreal sh, qreal sv); 10143: QMatrix &rotate(qreal a); 10143: 10143: bool isInvertible() const { return !qFuzzyIsNull(_m11*_m22 - _m12*_m21); } 10143: qreal determinant() const { return _m11*_m22 - _m12*_m21; } 10143: 10143: [[nodiscard]] QMatrix inverted(bool *invertible = nullptr) const; 10143: 10143: bool operator==(const QMatrix &) const; 10143: bool operator!=(const QMatrix &) const; 10143: 10143: QMatrix &operator*=(const QMatrix &); 10143: QMatrix operator*(const QMatrix &o) const; 10143: 10143: operator QVariant() const; 10143: 10143: private: 10143: inline QMatrix(bool) 10143: : _m11(1.) 10143: , _m12(0.) 10143: , _m21(0.) 10143: , _m22(1.) 10143: , _dx(0.) 10143: , _dy(0.) {} 10143: inline QMatrix(qreal am11, qreal am12, qreal am21, qreal am22, qreal adx, qreal ady, bool) 10143: : _m11(am11) 10143: , _m12(am12) 10143: , _m21(am21) 10143: , _m22(am22) 10143: , _dx(adx) 10143: , _dy(ady) {} 10143: friend class QTransform; 10143: qreal _m11, _m12; 10143: qreal _m21, _m22; 10143: qreal _dx, _dy; 10143: }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QMatrix)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QMatrix >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QMatrix) }; static inline const char *name() { return "QMatrix"; } }; 10143: 10143: __attribute__((visibility("default"))) __attribute__((const)) uint qHash(const QMatrix &key, uint seed = 0) noexcept; 10143: 10143: 10143: inline QPoint operator*(const QPoint &p, const QMatrix &m) 10143: { return m.map(p); } 10143: inline QPointF operator*(const QPointF &p, const QMatrix &m) 10143: { return m.map(p); } 10143: inline QLineF operator*(const QLineF &l, const QMatrix &m) 10143: { return m.map(l); } 10143: inline QLine operator*(const QLine &l, const QMatrix &m) 10143: { return m.map(l); } 10143: inline QPolygon operator *(const QPolygon &a, const QMatrix &m) 10143: { return m.map(a); } 10143: inline QPolygonF operator *(const QPolygonF &a, const QMatrix &m) 10143: { return m.map(a); } 10143: inline QRegion operator *(const QRegion &r, const QMatrix &m) 10143: { return m.map(r); } 10143: __attribute__((visibility("default"))) QPainterPath operator *(const QPainterPath &p, const QMatrix &m); 10143: 10143: inline bool QMatrix::isIdentity() const 10143: { 10143: return qFuzzyIsNull(_m11 - 1) && qFuzzyIsNull(_m22 - 1) && qFuzzyIsNull(_m12) 10143: && qFuzzyIsNull(_m21) && qFuzzyIsNull(_dx) && qFuzzyIsNull(_dy); 10143: } 10143: 10143: inline bool qFuzzyCompare(const QMatrix& m1, const QMatrix& m2) 10143: { 10143: return qFuzzyCompare(m1.m11(), m2.m11()) 10143: && qFuzzyCompare(m1.m12(), m2.m12()) 10143: && qFuzzyCompare(m1.m21(), m2.m21()) 10143: && qFuzzyCompare(m1.m22(), m2.m22()) 10143: && qFuzzyCompare(m1.dx(), m2.dx()) 10143: && qFuzzyCompare(m1.dy(), m2.dy()); 10143: } 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QMatrix &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QMatrix &); 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QMatrix &); 10143: 10143: 10143: 10143: # 50 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qbrush.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtransform.h" 1 3 4 10143: # 44 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtransform.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qpainterpath.h" 1 3 4 10143: # 51 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qpainterpath.h" 3 4 10143: 10143: 10143: 10143: class QFont; 10143: class QPainterPathPrivate; 10143: struct QPainterPathPrivateDeleter; 10143: class QPainterPathData; 10143: class QPainterPathStrokerPrivate; 10143: class QPen; 10143: class QPolygonF; 10143: class QRegion; 10143: class QVectorPath; 10143: 10143: class __attribute__((visibility("default"))) QPainterPath 10143: { 10143: public: 10143: enum ElementType { 10143: MoveToElement, 10143: LineToElement, 10143: CurveToElement, 10143: CurveToDataElement 10143: }; 10143: 10143: class Element { 10143: public: 10143: qreal x; 10143: qreal y; 10143: ElementType type; 10143: 10143: bool isMoveTo() const { return type == MoveToElement; } 10143: bool isLineTo() const { return type == LineToElement; } 10143: bool isCurveTo() const { return type == CurveToElement; } 10143: 10143: operator QPointF () const { return QPointF(x, y); } 10143: 10143: bool operator==(const Element &e) const { return qFuzzyCompare(x, e.x) 10143: && qFuzzyCompare(y, e.y) && type == e.type; } 10143: inline bool operator!=(const Element &e) const { return !operator==(e); } 10143: }; 10143: 10143: QPainterPath() noexcept; 10143: explicit QPainterPath(const QPointF &startPoint); 10143: QPainterPath(const QPainterPath &other); 10143: QPainterPath &operator=(const QPainterPath &other); 10143: 10143: inline QPainterPath &operator=(QPainterPath &&other) noexcept 10143: { qSwap(d_ptr, other.d_ptr); return *this; } 10143: 10143: ~QPainterPath(); 10143: inline void swap(QPainterPath &other) noexcept { d_ptr.swap(other.d_ptr); } 10143: 10143: void closeSubpath(); 10143: 10143: void moveTo(const QPointF &p); 10143: inline void moveTo(qreal x, qreal y); 10143: 10143: void lineTo(const QPointF &p); 10143: inline void lineTo(qreal x, qreal y); 10143: 10143: void arcMoveTo(const QRectF &rect, qreal angle); 10143: inline void arcMoveTo(qreal x, qreal y, qreal w, qreal h, qreal angle); 10143: 10143: void arcTo(const QRectF &rect, qreal startAngle, qreal arcLength); 10143: inline void arcTo(qreal x, qreal y, qreal w, qreal h, qreal startAngle, qreal arcLength); 10143: 10143: void cubicTo(const QPointF &ctrlPt1, const QPointF &ctrlPt2, const QPointF &endPt); 10143: inline void cubicTo(qreal ctrlPt1x, qreal ctrlPt1y, qreal ctrlPt2x, qreal ctrlPt2y, 10143: qreal endPtx, qreal endPty); 10143: void quadTo(const QPointF &ctrlPt, const QPointF &endPt); 10143: inline void quadTo(qreal ctrlPtx, qreal ctrlPty, qreal endPtx, qreal endPty); 10143: 10143: QPointF currentPosition() const; 10143: 10143: void addRect(const QRectF &rect); 10143: inline void addRect(qreal x, qreal y, qreal w, qreal h); 10143: void addEllipse(const QRectF &rect); 10143: inline void addEllipse(qreal x, qreal y, qreal w, qreal h); 10143: inline void addEllipse(const QPointF ¢er, qreal rx, qreal ry); 10143: void addPolygon(const QPolygonF &polygon); 10143: void addText(const QPointF &point, const QFont &f, const QString &text); 10143: inline void addText(qreal x, qreal y, const QFont &f, const QString &text); 10143: void addPath(const QPainterPath &path); 10143: void addRegion(const QRegion ®ion); 10143: 10143: void addRoundedRect(const QRectF &rect, qreal xRadius, qreal yRadius, 10143: Qt::SizeMode mode = Qt::AbsoluteSize); 10143: inline void addRoundedRect(qreal x, qreal y, qreal w, qreal h, 10143: qreal xRadius, qreal yRadius, 10143: Qt::SizeMode mode = Qt::AbsoluteSize); 10143: 10143: void addRoundRect(const QRectF &rect, int xRnd, int yRnd); 10143: inline void addRoundRect(qreal x, qreal y, qreal w, qreal h, 10143: int xRnd, int yRnd); 10143: inline void addRoundRect(const QRectF &rect, int roundness); 10143: inline void addRoundRect(qreal x, qreal y, qreal w, qreal h, 10143: int roundness); 10143: 10143: void connectPath(const QPainterPath &path); 10143: 10143: bool contains(const QPointF &pt) const; 10143: bool contains(const QRectF &rect) const; 10143: bool intersects(const QRectF &rect) const; 10143: 10143: void translate(qreal dx, qreal dy); 10143: inline void translate(const QPointF &offset); 10143: 10143: [[nodiscard]] QPainterPath translated(qreal dx, qreal dy) const; 10143: [[nodiscard]] inline QPainterPath translated(const QPointF &offset) const; 10143: 10143: QRectF boundingRect() const; 10143: QRectF controlPointRect() const; 10143: 10143: Qt::FillRule fillRule() const; 10143: void setFillRule(Qt::FillRule fillRule); 10143: 10143: bool isEmpty() const; 10143: 10143: [[nodiscard]] QPainterPath toReversed() const; 10143: QList toSubpathPolygons(const QMatrix &matrix = QMatrix()) const; 10143: QList toFillPolygons(const QMatrix &matrix = QMatrix()) const; 10143: QPolygonF toFillPolygon(const QMatrix &matrix = QMatrix()) const; 10143: QList toSubpathPolygons(const QTransform &matrix) const; 10143: QList toFillPolygons(const QTransform &matrix) const; 10143: QPolygonF toFillPolygon(const QTransform &matrix) const; 10143: 10143: int elementCount() const; 10143: QPainterPath::Element elementAt(int i) const; 10143: void setElementPositionAt(int i, qreal x, qreal y); 10143: 10143: qreal length() const; 10143: qreal percentAtLength(qreal t) const; 10143: QPointF pointAtPercent(qreal t) const; 10143: qreal angleAtPercent(qreal t) const; 10143: qreal slopeAtPercent(qreal t) const; 10143: 10143: bool intersects(const QPainterPath &p) const; 10143: bool contains(const QPainterPath &p) const; 10143: [[nodiscard]] QPainterPath united(const QPainterPath &r) const; 10143: [[nodiscard]] QPainterPath intersected(const QPainterPath &r) const; 10143: [[nodiscard]] QPainterPath subtracted(const QPainterPath &r) const; 10143: [[nodiscard]] QPainterPath subtractedInverted(const QPainterPath &r) const; 10143: 10143: [[nodiscard]] QPainterPath simplified() const; 10143: 10143: bool operator==(const QPainterPath &other) const; 10143: bool operator!=(const QPainterPath &other) const; 10143: 10143: QPainterPath operator&(const QPainterPath &other) const; 10143: QPainterPath operator|(const QPainterPath &other) const; 10143: QPainterPath operator+(const QPainterPath &other) const; 10143: QPainterPath operator-(const QPainterPath &other) const; 10143: QPainterPath &operator&=(const QPainterPath &other); 10143: QPainterPath &operator|=(const QPainterPath &other); 10143: QPainterPath &operator+=(const QPainterPath &other); 10143: QPainterPath &operator-=(const QPainterPath &other); 10143: 10143: private: 10143: QScopedPointer d_ptr; 10143: 10143: inline void ensureData() { if (!d_ptr) ensureData_helper(); } 10143: void ensureData_helper(); 10143: void detach(); 10143: void detach_helper(); 10143: void setDirty(bool); 10143: void computeBoundingRect() const; 10143: void computeControlPointRect() const; 10143: 10143: QPainterPathData *d_func() const { return reinterpret_cast(d_ptr.data()); } 10143: 10143: friend class QPainterPathData; 10143: friend class QPainterPathStroker; 10143: friend class QPainterPathStrokerPrivate; 10143: friend class QMatrix; 10143: friend class QTransform; 10143: friend class QVectorPath; 10143: friend __attribute__((visibility("default"))) const QVectorPath &qtVectorPathForPath(const QPainterPath &); 10143: 10143: 10143: friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPainterPath &); 10143: friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPainterPath &); 10143: 10143: }; 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QPainterPath)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QPainterPath >::value, isDummy = (((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_MOVABLE_TYPE : Q_RELOCATABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QPainterPath) }; static inline const char *name() { return "QPainterPath"; } }; inline void swap(QPainterPath &value1, QPainterPath &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QPainterPath::Element)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QPainterPath::Element >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QPainterPath::Element) }; static inline const char *name() { return "QPainterPath::Element"; } }; 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPainterPath &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPainterPath &); 10143: 10143: 10143: class __attribute__((visibility("default"))) QPainterPathStroker 10143: { 10143: inline QPainterPathStrokerPrivate* d_func() { return reinterpret_cast(qGetPtrHelper(d_ptr)); } inline const QPainterPathStrokerPrivate* d_func() const { return reinterpret_cast(qGetPtrHelper(d_ptr)); } friend class QPainterPathStrokerPrivate; 10143: public: 10143: QPainterPathStroker(); 10143: explicit QPainterPathStroker(const QPen &pen); 10143: ~QPainterPathStroker(); 10143: 10143: void setWidth(qreal width); 10143: qreal width() const; 10143: 10143: void setCapStyle(Qt::PenCapStyle style); 10143: Qt::PenCapStyle capStyle() const; 10143: 10143: void setJoinStyle(Qt::PenJoinStyle style); 10143: Qt::PenJoinStyle joinStyle() const; 10143: 10143: void setMiterLimit(qreal length); 10143: qreal miterLimit() const; 10143: 10143: void setCurveThreshold(qreal threshold); 10143: qreal curveThreshold() const; 10143: 10143: void setDashPattern(Qt::PenStyle); 10143: void setDashPattern(const QVector &dashPattern); 10143: QVector dashPattern() const; 10143: 10143: void setDashOffset(qreal offset); 10143: qreal dashOffset() const; 10143: 10143: QPainterPath createStroke(const QPainterPath &path) const; 10143: 10143: private: 10143: QPainterPathStroker(const QPainterPathStroker &) = delete; QPainterPathStroker &operator=(const QPainterPathStroker &) = delete; 10143: 10143: friend class QX11PaintEngine; 10143: 10143: QScopedPointer d_ptr; 10143: }; 10143: 10143: inline void QPainterPath::moveTo(qreal x, qreal y) 10143: { 10143: moveTo(QPointF(x, y)); 10143: } 10143: 10143: inline void QPainterPath::lineTo(qreal x, qreal y) 10143: { 10143: lineTo(QPointF(x, y)); 10143: } 10143: 10143: inline void QPainterPath::arcTo(qreal x, qreal y, qreal w, qreal h, qreal startAngle, qreal arcLength) 10143: { 10143: arcTo(QRectF(x, y, w, h), startAngle, arcLength); 10143: } 10143: 10143: inline void QPainterPath::arcMoveTo(qreal x, qreal y, qreal w, qreal h, qreal angle) 10143: { 10143: arcMoveTo(QRectF(x, y, w, h), angle); 10143: } 10143: 10143: inline void QPainterPath::cubicTo(qreal ctrlPt1x, qreal ctrlPt1y, qreal ctrlPt2x, qreal ctrlPt2y, 10143: qreal endPtx, qreal endPty) 10143: { 10143: cubicTo(QPointF(ctrlPt1x, ctrlPt1y), QPointF(ctrlPt2x, ctrlPt2y), 10143: QPointF(endPtx, endPty)); 10143: } 10143: 10143: inline void QPainterPath::quadTo(qreal ctrlPtx, qreal ctrlPty, qreal endPtx, qreal endPty) 10143: { 10143: quadTo(QPointF(ctrlPtx, ctrlPty), QPointF(endPtx, endPty)); 10143: } 10143: 10143: inline void QPainterPath::addEllipse(qreal x, qreal y, qreal w, qreal h) 10143: { 10143: addEllipse(QRectF(x, y, w, h)); 10143: } 10143: 10143: inline void QPainterPath::addEllipse(const QPointF ¢er, qreal rx, qreal ry) 10143: { 10143: addEllipse(QRectF(center.x() - rx, center.y() - ry, 2 * rx, 2 * ry)); 10143: } 10143: 10143: inline void QPainterPath::addRect(qreal x, qreal y, qreal w, qreal h) 10143: { 10143: addRect(QRectF(x, y, w, h)); 10143: } 10143: 10143: inline void QPainterPath::addRoundedRect(qreal x, qreal y, qreal w, qreal h, 10143: qreal xRadius, qreal yRadius, 10143: Qt::SizeMode mode) 10143: { 10143: addRoundedRect(QRectF(x, y, w, h), xRadius, yRadius, mode); 10143: } 10143: 10143: inline void QPainterPath::addRoundRect(qreal x, qreal y, qreal w, qreal h, 10143: int xRnd, int yRnd) 10143: { 10143: addRoundRect(QRectF(x, y, w, h), xRnd, yRnd); 10143: } 10143: 10143: inline void QPainterPath::addRoundRect(const QRectF &rect, 10143: int roundness) 10143: { 10143: int xRnd = roundness; 10143: int yRnd = roundness; 10143: if (rect.width() > rect.height()) 10143: xRnd = int(roundness * rect.height()/rect.width()); 10143: else 10143: yRnd = int(roundness * rect.width()/rect.height()); 10143: addRoundRect(rect, xRnd, yRnd); 10143: } 10143: 10143: inline void QPainterPath::addRoundRect(qreal x, qreal y, qreal w, qreal h, 10143: int roundness) 10143: { 10143: addRoundRect(QRectF(x, y, w, h), roundness); 10143: } 10143: 10143: inline void QPainterPath::addText(qreal x, qreal y, const QFont &f, const QString &text) 10143: { 10143: addText(QPointF(x, y), f, text); 10143: } 10143: 10143: inline void QPainterPath::translate(const QPointF &offset) 10143: { translate(offset.x(), offset.y()); } 10143: 10143: inline QPainterPath QPainterPath::translated(const QPointF &offset) const 10143: { return translated(offset.x(), offset.y()); } 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QPainterPath &); 10143: 10143: 10143: 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtransform.h" 2 3 4 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: 10143: class QVariant; 10143: 10143: class __attribute__((visibility("default"))) QTransform 10143: { 10143: public: 10143: enum TransformationType { 10143: TxNone = 0x00, 10143: TxTranslate = 0x01, 10143: TxScale = 0x02, 10143: TxRotate = 0x04, 10143: TxShear = 0x08, 10143: TxProject = 0x10 10143: }; 10143: 10143: inline explicit QTransform(Qt::Initialization) : affine(Qt::Uninitialized) {} 10143: QTransform(); 10143: QTransform(qreal h11, qreal h12, qreal h13, 10143: qreal h21, qreal h22, qreal h23, 10143: qreal h31, qreal h32, qreal h33 = 1.0); 10143: QTransform(qreal h11, qreal h12, qreal h21, 10143: qreal h22, qreal dx, qreal dy); 10143: explicit QTransform(const QMatrix &mtx); 10143: 10143: 10143: 10143: QTransform &operator=(QTransform &&other) noexcept 10143: { memcpy(this, &other, sizeof(QTransform)); return *this; } 10143: QTransform &operator=(const QTransform &) noexcept; 10143: QTransform(QTransform &&other) noexcept 10143: : affine(Qt::Uninitialized) 10143: { memcpy(this, &other, sizeof(QTransform)); } 10143: QTransform(const QTransform &other) noexcept 10143: : affine(Qt::Uninitialized) 10143: { memcpy(this, &other, sizeof(QTransform)); } 10143: 10143: 10143: bool isAffine() const; 10143: bool isIdentity() const; 10143: bool isInvertible() const; 10143: bool isScaling() const; 10143: bool isRotating() const; 10143: bool isTranslating() const; 10143: 10143: TransformationType type() const; 10143: 10143: inline qreal determinant() const; 10143: qreal det() const; 10143: 10143: qreal m11() const; 10143: qreal m12() const; 10143: qreal m13() const; 10143: qreal m21() const; 10143: qreal m22() const; 10143: qreal m23() const; 10143: qreal m31() const; 10143: qreal m32() const; 10143: qreal m33() const; 10143: qreal dx() const; 10143: qreal dy() const; 10143: 10143: void setMatrix(qreal m11, qreal m12, qreal m13, 10143: qreal m21, qreal m22, qreal m23, 10143: qreal m31, qreal m32, qreal m33); 10143: 10143: [[nodiscard]] QTransform inverted(bool *invertible = nullptr) const; 10143: [[nodiscard]] QTransform adjoint() const; 10143: [[nodiscard]] QTransform transposed() const; 10143: 10143: QTransform &translate(qreal dx, qreal dy); 10143: QTransform &scale(qreal sx, qreal sy); 10143: QTransform &shear(qreal sh, qreal sv); 10143: QTransform &rotate(qreal a, Qt::Axis axis = Qt::ZAxis); 10143: QTransform &rotateRadians(qreal a, Qt::Axis axis = Qt::ZAxis); 10143: 10143: static bool squareToQuad(const QPolygonF &square, QTransform &result); 10143: static bool quadToSquare(const QPolygonF &quad, QTransform &result); 10143: static bool quadToQuad(const QPolygonF &one, 10143: const QPolygonF &two, 10143: QTransform &result); 10143: 10143: bool operator==(const QTransform &) const; 10143: bool operator!=(const QTransform &) const; 10143: 10143: QTransform &operator*=(const QTransform &); 10143: QTransform operator*(const QTransform &o) const; 10143: 10143: operator QVariant() const; 10143: 10143: void reset(); 10143: QPoint map(const QPoint &p) const; 10143: QPointF map(const QPointF &p) const; 10143: QLine map(const QLine &l) const; 10143: QLineF map(const QLineF &l) const; 10143: QPolygonF map(const QPolygonF &a) const; 10143: QPolygon map(const QPolygon &a) const; 10143: QRegion map(const QRegion &r) const; 10143: QPainterPath map(const QPainterPath &p) const; 10143: QPolygon mapToPolygon(const QRect &r) const; 10143: QRect mapRect(const QRect &) const; 10143: QRectF mapRect(const QRectF &) const; 10143: void map(int x, int y, int *tx, int *ty) const; 10143: void map(qreal x, qreal y, qreal *tx, qreal *ty) const; 10143: 10143: const QMatrix &toAffine() const; 10143: 10143: QTransform &operator*=(qreal div); 10143: QTransform &operator/=(qreal div); 10143: QTransform &operator+=(qreal div); 10143: QTransform &operator-=(qreal div); 10143: 10143: static QTransform fromTranslate(qreal dx, qreal dy); 10143: static QTransform fromScale(qreal dx, qreal dy); 10143: 10143: private: 10143: inline QTransform(qreal h11, qreal h12, qreal h13, 10143: qreal h21, qreal h22, qreal h23, 10143: qreal h31, qreal h32, qreal h33, bool) 10143: : affine(h11, h12, h21, h22, h31, h32, true) 10143: , m_13(h13), m_23(h23), m_33(h33) 10143: , m_type(TxNone) 10143: , m_dirty(TxProject) 10143: , d(nullptr) 10143: { 10143: } 10143: inline QTransform(bool) 10143: : affine(true) 10143: , m_13(0), m_23(0), m_33(1) 10143: , m_type(TxNone) 10143: , m_dirty(TxNone) 10143: , d(nullptr) 10143: { 10143: } 10143: inline TransformationType inline_type() const; 10143: QMatrix affine; 10143: qreal m_13; 10143: qreal m_23; 10143: qreal m_33; 10143: 10143: mutable uint m_type : 5; 10143: mutable uint m_dirty : 5; 10143: 10143: class Private; 10143: Private *d; 10143: 10143: }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QTransform)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QTransform >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QTransform) }; static inline const char *name() { return "QTransform"; } }; 10143: 10143: __attribute__((visibility("default"))) __attribute__((const)) uint qHash(const QTransform &key, uint seed = 0) noexcept; 10143: 10143: 10143: inline QTransform::TransformationType QTransform::inline_type() const 10143: { 10143: if (m_dirty == TxNone) 10143: return static_cast(m_type); 10143: return type(); 10143: } 10143: 10143: inline bool QTransform::isAffine() const 10143: { 10143: return inline_type() < TxProject; 10143: } 10143: inline bool QTransform::isIdentity() const 10143: { 10143: return inline_type() == TxNone; 10143: } 10143: 10143: inline bool QTransform::isInvertible() const 10143: { 10143: return !qFuzzyIsNull(determinant()); 10143: } 10143: 10143: inline bool QTransform::isScaling() const 10143: { 10143: return type() >= TxScale; 10143: } 10143: inline bool QTransform::isRotating() const 10143: { 10143: return inline_type() >= TxRotate; 10143: } 10143: 10143: inline bool QTransform::isTranslating() const 10143: { 10143: return inline_type() >= TxTranslate; 10143: } 10143: 10143: inline qreal QTransform::determinant() const 10143: { 10143: return affine._m11*(m_33*affine._m22-affine._dy*m_23) - 10143: affine._m21*(m_33*affine._m12-affine._dy*m_13)+affine._dx*(m_23*affine._m12-affine._m22*m_13); 10143: } 10143: inline qreal QTransform::det() const 10143: { 10143: return determinant(); 10143: } 10143: inline qreal QTransform::m11() const 10143: { 10143: return affine._m11; 10143: } 10143: inline qreal QTransform::m12() const 10143: { 10143: return affine._m12; 10143: } 10143: inline qreal QTransform::m13() const 10143: { 10143: return m_13; 10143: } 10143: inline qreal QTransform::m21() const 10143: { 10143: return affine._m21; 10143: } 10143: inline qreal QTransform::m22() const 10143: { 10143: return affine._m22; 10143: } 10143: inline qreal QTransform::m23() const 10143: { 10143: return m_23; 10143: } 10143: inline qreal QTransform::m31() const 10143: { 10143: return affine._dx; 10143: } 10143: inline qreal QTransform::m32() const 10143: { 10143: return affine._dy; 10143: } 10143: inline qreal QTransform::m33() const 10143: { 10143: return m_33; 10143: } 10143: inline qreal QTransform::dx() const 10143: { 10143: return affine._dx; 10143: } 10143: inline qreal QTransform::dy() const 10143: { 10143: return affine._dy; 10143: } 10143: 10143: 10143: # 294 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtransform.h" 3 4 10143: #pragma GCC diagnostic push 10143: # 294 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtransform.h" 3 4 10143: 10143: 10143: 10143: # 296 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtransform.h" 3 4 10143: #pragma GCC diagnostic ignored "-Wfloat-equal" 10143: # 296 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtransform.h" 3 4 10143: 10143: 10143: inline QTransform &QTransform::operator*=(qreal num) 10143: { 10143: if (num == 1.) 10143: return *this; 10143: affine._m11 *= num; 10143: affine._m12 *= num; 10143: m_13 *= num; 10143: affine._m21 *= num; 10143: affine._m22 *= num; 10143: m_23 *= num; 10143: affine._dx *= num; 10143: affine._dy *= num; 10143: m_33 *= num; 10143: if (m_dirty < TxScale) 10143: m_dirty = TxScale; 10143: return *this; 10143: } 10143: inline QTransform &QTransform::operator/=(qreal div) 10143: { 10143: if (div == 0) 10143: return *this; 10143: div = 1/div; 10143: return operator*=(div); 10143: } 10143: inline QTransform &QTransform::operator+=(qreal num) 10143: { 10143: if (num == 0) 10143: return *this; 10143: affine._m11 += num; 10143: affine._m12 += num; 10143: m_13 += num; 10143: affine._m21 += num; 10143: affine._m22 += num; 10143: m_23 += num; 10143: affine._dx += num; 10143: affine._dy += num; 10143: m_33 += num; 10143: m_dirty = TxProject; 10143: return *this; 10143: } 10143: inline QTransform &QTransform::operator-=(qreal num) 10143: { 10143: if (num == 0) 10143: return *this; 10143: affine._m11 -= num; 10143: affine._m12 -= num; 10143: m_13 -= num; 10143: affine._m21 -= num; 10143: affine._m22 -= num; 10143: m_23 -= num; 10143: affine._dx -= num; 10143: affine._dy -= num; 10143: m_33 -= num; 10143: m_dirty = TxProject; 10143: return *this; 10143: } 10143: 10143: 10143: # 355 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtransform.h" 3 4 10143: #pragma GCC diagnostic pop 10143: # 355 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtransform.h" 3 4 10143: 10143: 10143: inline bool qFuzzyCompare(const QTransform& t1, const QTransform& t2) 10143: { 10143: return qFuzzyCompare(t1.m11(), t2.m11()) 10143: && qFuzzyCompare(t1.m12(), t2.m12()) 10143: && qFuzzyCompare(t1.m13(), t2.m13()) 10143: && qFuzzyCompare(t1.m21(), t2.m21()) 10143: && qFuzzyCompare(t1.m22(), t2.m22()) 10143: && qFuzzyCompare(t1.m23(), t2.m23()) 10143: && qFuzzyCompare(t1.m31(), t2.m31()) 10143: && qFuzzyCompare(t1.m32(), t2.m32()) 10143: && qFuzzyCompare(t1.m33(), t2.m33()); 10143: } 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QTransform &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QTransform &); 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QTransform &); 10143: 10143: 10143: 10143: 10143: inline QPoint operator*(const QPoint &p, const QTransform &m) 10143: { return m.map(p); } 10143: inline QPointF operator*(const QPointF &p, const QTransform &m) 10143: { return m.map(p); } 10143: inline QLineF operator*(const QLineF &l, const QTransform &m) 10143: { return m.map(l); } 10143: inline QLine operator*(const QLine &l, const QTransform &m) 10143: { return m.map(l); } 10143: inline QPolygon operator *(const QPolygon &a, const QTransform &m) 10143: { return m.map(a); } 10143: inline QPolygonF operator *(const QPolygonF &a, const QTransform &m) 10143: { return m.map(a); } 10143: inline QRegion operator *(const QRegion &r, const QTransform &m) 10143: { return m.map(r); } 10143: inline QPainterPath operator *(const QPainterPath &p, const QTransform &m) 10143: { return m.map(p); } 10143: 10143: inline QTransform operator *(const QTransform &a, qreal n) 10143: { QTransform t(a); t *= n; return t; } 10143: inline QTransform operator /(const QTransform &a, qreal n) 10143: { QTransform t(a); t /= n; return t; } 10143: inline QTransform operator +(const QTransform &a, qreal n) 10143: { QTransform t(a); t += n; return t; } 10143: inline QTransform operator -(const QTransform &a, qreal n) 10143: { QTransform t(a); t -= n; return t; } 10143: 10143: 10143: # 51 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qbrush.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qimage.h" 1 3 4 10143: # 46 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qimage.h" 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qpaintdevice.h" 1 3 4 10143: # 47 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qpaintdevice.h" 3 4 10143: 10143: 10143: 10143: 10143: class QPaintEngine; 10143: class QPaintDevicePrivate; 10143: 10143: class __attribute__((visibility("default"))) QPaintDevice 10143: { 10143: public: 10143: enum PaintDeviceMetric { 10143: PdmWidth = 1, 10143: PdmHeight, 10143: PdmWidthMM, 10143: PdmHeightMM, 10143: PdmNumColors, 10143: PdmDepth, 10143: PdmDpiX, 10143: PdmDpiY, 10143: PdmPhysicalDpiX, 10143: PdmPhysicalDpiY, 10143: PdmDevicePixelRatio, 10143: PdmDevicePixelRatioScaled 10143: }; 10143: 10143: virtual ~QPaintDevice(); 10143: 10143: virtual int devType() const; 10143: bool paintingActive() const; 10143: virtual QPaintEngine *paintEngine() const = 0; 10143: 10143: int width() const { return metric(PdmWidth); } 10143: int height() const { return metric(PdmHeight); } 10143: int widthMM() const { return metric(PdmWidthMM); } 10143: int heightMM() const { return metric(PdmHeightMM); } 10143: int logicalDpiX() const { return metric(PdmDpiX); } 10143: int logicalDpiY() const { return metric(PdmDpiY); } 10143: int physicalDpiX() const { return metric(PdmPhysicalDpiX); } 10143: int physicalDpiY() const { return metric(PdmPhysicalDpiY); } 10143: int devicePixelRatio() const { return metric(PdmDevicePixelRatio); } 10143: qreal devicePixelRatioF() const { return metric(PdmDevicePixelRatioScaled) / devicePixelRatioFScale(); } 10143: int colorCount() const { return metric(PdmNumColors); } 10143: int depth() const { return metric(PdmDepth); } 10143: 10143: static inline qreal devicePixelRatioFScale() { return 0x10000; } 10143: protected: 10143: QPaintDevice() noexcept; 10143: virtual int metric(PaintDeviceMetric metric) const; 10143: virtual void initPainter(QPainter *painter) const; 10143: virtual QPaintDevice *redirected(QPoint *offset) const; 10143: virtual QPainter *sharedPainter() const; 10143: 10143: ushort painters; 10143: private: 10143: QPaintDevice(const QPaintDevice &) = delete; QPaintDevice &operator=(const QPaintDevice &) = delete; 10143: 10143: QPaintDevicePrivate *reserved; 10143: 10143: friend class QPainter; 10143: friend class QPainterPrivate; 10143: friend class QFontEngineMac; 10143: friend class QX11PaintEngine; 10143: friend __attribute__((visibility("default"))) int qt_paint_device_metric(const QPaintDevice *device, PaintDeviceMetric metric); 10143: }; 10143: 10143: 10143: 10143: 10143: 10143: inline int QPaintDevice::devType() const 10143: { return QInternal::UnknownDevice; } 10143: 10143: inline bool QPaintDevice::paintingActive() const 10143: { return painters != 0; } 10143: 10143: 10143: # 47 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qimage.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qpixelformat.h" 1 3 4 10143: # 45 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qpixelformat.h" 3 4 10143: 10143: 10143: class QPixelFormat 10143: { 10143: 10143: 10143: 10143: enum FieldWidth { 10143: ModelFieldWidth = 4, 10143: FirstFieldWidth = 6, 10143: SecondFieldWidth = FirstFieldWidth, 10143: ThirdFieldWidth = FirstFieldWidth, 10143: FourthFieldWidth = FirstFieldWidth, 10143: FifthFieldWidth = FirstFieldWidth, 10143: AlphaFieldWidth = FirstFieldWidth, 10143: AlphaUsageFieldWidth = 1, 10143: AlphaPositionFieldWidth = 1, 10143: PremulFieldWidth = 1, 10143: TypeInterpretationFieldWidth = 4, 10143: ByteOrderFieldWidth = 2, 10143: SubEnumFieldWidth = 6, 10143: UnusedFieldWidth = 9, 10143: 10143: TotalFieldWidthByWidths = ModelFieldWidth + FirstFieldWidth + SecondFieldWidth + ThirdFieldWidth + 10143: FourthFieldWidth + FifthFieldWidth + AlphaFieldWidth + AlphaUsageFieldWidth + 10143: AlphaPositionFieldWidth + PremulFieldWidth + TypeInterpretationFieldWidth + 10143: ByteOrderFieldWidth + SubEnumFieldWidth + UnusedFieldWidth 10143: }; 10143: 10143: enum Field { 10143: ModelField = 0, 10143: 10143: 10143: FirstField = ModelField + int(ModelFieldWidth), 10143: SecondField = FirstField + FirstFieldWidth, 10143: ThirdField = SecondField + SecondFieldWidth, 10143: FourthField = ThirdField + ThirdFieldWidth, 10143: FifthField = FourthField + FourthFieldWidth, 10143: AlphaField = FifthField + FifthFieldWidth, 10143: AlphaUsageField = AlphaField + AlphaFieldWidth, 10143: AlphaPositionField = AlphaUsageField + AlphaUsageFieldWidth, 10143: PremulField = AlphaPositionField + AlphaPositionFieldWidth, 10143: TypeInterpretationField = PremulField + PremulFieldWidth, 10143: ByteOrderField = TypeInterpretationField + TypeInterpretationFieldWidth, 10143: SubEnumField = ByteOrderField + ByteOrderFieldWidth, 10143: UnusedField = SubEnumField + SubEnumFieldWidth, 10143: 10143: TotalFieldWidthByOffsets = UnusedField + UnusedFieldWidth 10143: }; 10143: 10143: static_assert(bool(uint(TotalFieldWidthByWidths) == uint(TotalFieldWidthByOffsets)), "uint(TotalFieldWidthByWidths) == uint(TotalFieldWidthByOffsets)"); 10143: static_assert(bool(uint(TotalFieldWidthByWidths) == 8 * sizeof(quint64)), "uint(TotalFieldWidthByWidths) == 8 * sizeof(quint64)"); 10143: 10143: constexpr inline uchar get(Field offset, FieldWidth width) const noexcept 10143: { return uchar((data >> uint(offset)) & ((static_cast(1ULL) << uint(width)) - static_cast(1ULL))); } 10143: constexpr static inline quint64 set(Field offset, FieldWidth width, uchar value) 10143: { return (quint64(value) & ((static_cast(1ULL) << uint(width)) - static_cast(1ULL))) << uint(offset); } 10143: 10143: public: 10143: enum ColorModel { 10143: RGB, 10143: BGR, 10143: Indexed, 10143: Grayscale, 10143: CMYK, 10143: HSL, 10143: HSV, 10143: YUV, 10143: Alpha 10143: }; 10143: 10143: enum AlphaUsage { 10143: UsesAlpha, 10143: IgnoresAlpha 10143: }; 10143: 10143: enum AlphaPosition { 10143: AtBeginning, 10143: AtEnd 10143: }; 10143: 10143: enum AlphaPremultiplied { 10143: NotPremultiplied, 10143: Premultiplied 10143: }; 10143: 10143: enum TypeInterpretation { 10143: UnsignedInteger, 10143: UnsignedShort, 10143: UnsignedByte, 10143: FloatingPoint 10143: }; 10143: 10143: enum YUVLayout { 10143: YUV444, 10143: YUV422, 10143: YUV411, 10143: YUV420P, 10143: YUV420SP, 10143: YV12, 10143: UYVY, 10143: YUYV, 10143: NV12, 10143: NV21, 10143: IMC1, 10143: IMC2, 10143: IMC3, 10143: IMC4, 10143: Y8, 10143: Y16 10143: }; 10143: 10143: enum ByteOrder { 10143: LittleEndian, 10143: BigEndian, 10143: CurrentSystemEndian 10143: }; 10143: 10143: constexpr inline QPixelFormat() noexcept : data(0) {} 10143: constexpr inline QPixelFormat(ColorModel colorModel, 10143: uchar firstSize, 10143: uchar secondSize, 10143: uchar thirdSize, 10143: uchar fourthSize, 10143: uchar fifthSize, 10143: uchar alphaSize, 10143: AlphaUsage alphaUsage, 10143: AlphaPosition alphaPosition, 10143: AlphaPremultiplied premultiplied, 10143: TypeInterpretation typeInterpretation, 10143: ByteOrder byteOrder = CurrentSystemEndian, 10143: uchar subEnum = 0) noexcept; 10143: 10143: constexpr inline ColorModel colorModel() const noexcept { return ColorModel(get(ModelField, ModelFieldWidth)); } 10143: constexpr inline uchar channelCount() const noexcept { return (get(FirstField, FirstFieldWidth) > 0) + 10143: (get(SecondField, SecondFieldWidth) > 0) + 10143: (get(ThirdField, ThirdFieldWidth) > 0) + 10143: (get(FourthField, FourthFieldWidth) > 0) + 10143: (get(FifthField, FifthFieldWidth) > 0) + 10143: (get(AlphaField, AlphaFieldWidth) > 0); } 10143: 10143: constexpr inline uchar redSize() const noexcept { return get(FirstField, FirstFieldWidth); } 10143: constexpr inline uchar greenSize() const noexcept { return get(SecondField, SecondFieldWidth); } 10143: constexpr inline uchar blueSize() const noexcept { return get(ThirdField, ThirdFieldWidth); } 10143: 10143: constexpr inline uchar cyanSize() const noexcept { return get(FirstField, FirstFieldWidth); } 10143: constexpr inline uchar magentaSize() const noexcept { return get(SecondField, SecondFieldWidth); } 10143: constexpr inline uchar yellowSize() const noexcept { return get(ThirdField, ThirdFieldWidth); } 10143: constexpr inline uchar blackSize() const noexcept { return get(FourthField, FourthFieldWidth); } 10143: 10143: constexpr inline uchar hueSize() const noexcept { return get(FirstField, FirstFieldWidth); } 10143: constexpr inline uchar saturationSize() const noexcept { return get(SecondField, SecondFieldWidth); } 10143: constexpr inline uchar lightnessSize() const noexcept { return get(ThirdField, ThirdFieldWidth); } 10143: constexpr inline uchar brightnessSize() const noexcept { return get(ThirdField, ThirdFieldWidth); } 10143: 10143: constexpr inline uchar alphaSize() const noexcept { return get(AlphaField, AlphaFieldWidth); } 10143: 10143: constexpr inline uchar bitsPerPixel() const noexcept { return get(FirstField, FirstFieldWidth) + 10143: get(SecondField, SecondFieldWidth) + 10143: get(ThirdField, ThirdFieldWidth) + 10143: get(FourthField, FourthFieldWidth) + 10143: get(FifthField, FifthFieldWidth) + 10143: get(AlphaField, AlphaFieldWidth); } 10143: 10143: constexpr inline AlphaUsage alphaUsage() const noexcept { return AlphaUsage(get(AlphaUsageField, AlphaUsageFieldWidth)); } 10143: constexpr inline AlphaPosition alphaPosition() const noexcept { return AlphaPosition(get(AlphaPositionField, AlphaPositionFieldWidth)); } 10143: constexpr inline AlphaPremultiplied premultiplied() const noexcept { return AlphaPremultiplied(get(PremulField, PremulFieldWidth)); } 10143: constexpr inline TypeInterpretation typeInterpretation() const noexcept { return TypeInterpretation(get(TypeInterpretationField, TypeInterpretationFieldWidth)); } 10143: constexpr inline ByteOrder byteOrder() const noexcept { return ByteOrder(get(ByteOrderField, ByteOrderFieldWidth)); } 10143: 10143: constexpr inline YUVLayout yuvLayout() const noexcept { return YUVLayout(get(SubEnumField, SubEnumFieldWidth)); } 10143: constexpr inline uchar subEnum() const noexcept { return get(SubEnumField, SubEnumFieldWidth); } 10143: 10143: private: 10143: constexpr static inline ByteOrder resolveByteOrder(ByteOrder bo) 10143: { return bo == CurrentSystemEndian ? 1234 == 1234 ? LittleEndian : BigEndian : bo ; } 10143: 10143: private: 10143: quint64 data; 10143: 10143: friend __attribute__((const)) constexpr inline bool operator==(QPixelFormat fmt1, QPixelFormat fmt2) 10143: { return fmt1.data == fmt2.data; } 10143: 10143: friend __attribute__((const)) constexpr inline bool operator!=(QPixelFormat fmt1, QPixelFormat fmt2) 10143: { return !(fmt1 == fmt2); } 10143: }; 10143: static_assert(bool(sizeof(QPixelFormat) == sizeof(quint64)), "sizeof(QPixelFormat) == sizeof(quint64)"); 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_PRIMITIVE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QPixelFormat)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QPixelFormat >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QPixelFormat) }; static inline const char *name() { return "QPixelFormat"; } }; 10143: 10143: 10143: namespace QtPrivate { 10143: QPixelFormat __attribute__((visibility("default"))) QPixelFormat_createYUV(QPixelFormat::YUVLayout yuvLayout, 10143: uchar alphaSize, 10143: QPixelFormat::AlphaUsage alphaUsage, 10143: QPixelFormat::AlphaPosition alphaPosition, 10143: QPixelFormat::AlphaPremultiplied premultiplied, 10143: QPixelFormat::TypeInterpretation typeInterpretation, 10143: QPixelFormat::ByteOrder byteOrder); 10143: } 10143: 10143: constexpr 10143: QPixelFormat::QPixelFormat(ColorModel mdl, 10143: uchar firstSize, 10143: uchar secondSize, 10143: uchar thirdSize, 10143: uchar fourthSize, 10143: uchar fifthSize, 10143: uchar alfa, 10143: AlphaUsage usage, 10143: AlphaPosition position, 10143: AlphaPremultiplied premult, 10143: TypeInterpretation typeInterp, 10143: ByteOrder b_order, 10143: uchar s_enum) noexcept 10143: : data(set(ModelField, ModelFieldWidth, uchar(mdl)) | 10143: set(FirstField, FirstFieldWidth, firstSize) | 10143: set(SecondField, SecondFieldWidth, secondSize) | 10143: set(ThirdField, ThirdFieldWidth, thirdSize) | 10143: set(FourthField, FourthFieldWidth, fourthSize) | 10143: set(FifthField, FifthFieldWidth, fifthSize) | 10143: set(AlphaField, AlphaFieldWidth, alfa) | 10143: set(AlphaUsageField, AlphaUsageFieldWidth, uchar(usage)) | 10143: set(AlphaPositionField, AlphaPositionFieldWidth, uchar(position)) | 10143: set(PremulField, PremulFieldWidth, uchar(premult)) | 10143: set(TypeInterpretationField, TypeInterpretationFieldWidth, uchar(typeInterp)) | 10143: set(ByteOrderField, ByteOrderFieldWidth, uchar(resolveByteOrder(b_order))) | 10143: set(SubEnumField, SubEnumFieldWidth, s_enum) | 10143: set(UnusedField, UnusedFieldWidth, 0)) 10143: { 10143: } 10143: 10143: constexpr inline QPixelFormat qPixelFormatRgba(uchar red, 10143: uchar green, 10143: uchar blue, 10143: uchar alfa, 10143: QPixelFormat::AlphaUsage usage, 10143: QPixelFormat::AlphaPosition position, 10143: QPixelFormat::AlphaPremultiplied pmul=QPixelFormat::NotPremultiplied, 10143: QPixelFormat::TypeInterpretation typeInt=QPixelFormat::UnsignedInteger) noexcept 10143: { 10143: return QPixelFormat(QPixelFormat::RGB, 10143: red, 10143: green, 10143: blue, 10143: 0, 10143: 0, 10143: alfa, 10143: usage, 10143: position, 10143: pmul, 10143: typeInt); 10143: } 10143: 10143: constexpr inline QPixelFormat qPixelFormatGrayscale(uchar channelSize, 10143: QPixelFormat::TypeInterpretation typeInt=QPixelFormat::UnsignedInteger) noexcept 10143: { 10143: return QPixelFormat(QPixelFormat::Grayscale, 10143: channelSize, 10143: 0, 10143: 0, 10143: 0, 10143: 0, 10143: 0, 10143: QPixelFormat::IgnoresAlpha, 10143: QPixelFormat::AtBeginning, 10143: QPixelFormat::NotPremultiplied, 10143: typeInt); 10143: } 10143: 10143: constexpr inline QPixelFormat qPixelFormatAlpha(uchar channelSize, 10143: QPixelFormat::TypeInterpretation typeInt=QPixelFormat::UnsignedInteger) noexcept 10143: { 10143: return QPixelFormat(QPixelFormat::Alpha, 10143: 0, 10143: 0, 10143: 0, 10143: 0, 10143: 0, 10143: channelSize, 10143: QPixelFormat::UsesAlpha, 10143: QPixelFormat::AtBeginning, 10143: QPixelFormat::NotPremultiplied, 10143: typeInt); 10143: } 10143: 10143: constexpr inline QPixelFormat qPixelFormatCmyk(uchar channelSize, 10143: uchar alfa=0, 10143: QPixelFormat::AlphaUsage usage=QPixelFormat::IgnoresAlpha, 10143: QPixelFormat::AlphaPosition position=QPixelFormat::AtBeginning, 10143: QPixelFormat::TypeInterpretation typeInt=QPixelFormat::UnsignedInteger) noexcept 10143: { 10143: return QPixelFormat(QPixelFormat::CMYK, 10143: channelSize, 10143: channelSize, 10143: channelSize, 10143: channelSize, 10143: 0, 10143: alfa, 10143: usage, 10143: position, 10143: QPixelFormat::NotPremultiplied, 10143: typeInt); 10143: } 10143: 10143: constexpr inline QPixelFormat qPixelFormatHsl(uchar channelSize, 10143: uchar alfa=0, 10143: QPixelFormat::AlphaUsage usage=QPixelFormat::IgnoresAlpha, 10143: QPixelFormat::AlphaPosition position=QPixelFormat::AtBeginning, 10143: QPixelFormat::TypeInterpretation typeInt=QPixelFormat::FloatingPoint) noexcept 10143: { 10143: return QPixelFormat(QPixelFormat::HSL, 10143: channelSize, 10143: channelSize, 10143: channelSize, 10143: 0, 10143: 0, 10143: alfa, 10143: usage, 10143: position, 10143: QPixelFormat::NotPremultiplied, 10143: typeInt); 10143: } 10143: 10143: constexpr inline QPixelFormat qPixelFormatHsv(uchar channelSize, 10143: uchar alfa=0, 10143: QPixelFormat::AlphaUsage usage=QPixelFormat::IgnoresAlpha, 10143: QPixelFormat::AlphaPosition position=QPixelFormat::AtBeginning, 10143: QPixelFormat::TypeInterpretation typeInt=QPixelFormat::FloatingPoint) noexcept 10143: { 10143: return QPixelFormat(QPixelFormat::HSV, 10143: channelSize, 10143: channelSize, 10143: channelSize, 10143: 0, 10143: 0, 10143: alfa, 10143: usage, 10143: position, 10143: QPixelFormat::NotPremultiplied, 10143: typeInt); 10143: } 10143: 10143: inline QPixelFormat qPixelFormatYuv(QPixelFormat::YUVLayout layout, 10143: uchar alfa=0, 10143: QPixelFormat::AlphaUsage usage=QPixelFormat::IgnoresAlpha, 10143: QPixelFormat::AlphaPosition position=QPixelFormat::AtBeginning, 10143: QPixelFormat::AlphaPremultiplied p_mul=QPixelFormat::NotPremultiplied, 10143: QPixelFormat::TypeInterpretation typeInt=QPixelFormat::UnsignedByte, 10143: QPixelFormat::ByteOrder b_order=QPixelFormat::LittleEndian) 10143: { 10143: return QtPrivate::QPixelFormat_createYUV(layout, 10143: alfa, 10143: usage, 10143: position, 10143: p_mul, 10143: typeInt, 10143: b_order); 10143: } 10143: 10143: 10143: # 48 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qimage.h" 2 3 4 10143: # 61 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qimage.h" 3 4 10143: 10143: 10143: 10143: class QIODevice; 10143: class QStringList; 10143: class QMatrix; 10143: class QTransform; 10143: class QVariant; 10143: template class QList; 10143: template class QVector; 10143: 10143: struct QImageData; 10143: class QImageDataMisc; 10143: # 95 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qimage.h" 3 4 10143: typedef void (*QImageCleanupFunction)(void*); 10143: 10143: class __attribute__((visibility("default"))) QImage : public QPaintDevice 10143: { 10143: public: 10143: enum InvertMode { InvertRgb, InvertRgba }; 10143: enum Format { 10143: Format_Invalid, 10143: Format_Mono, 10143: Format_MonoLSB, 10143: Format_Indexed8, 10143: Format_RGB32, 10143: Format_ARGB32, 10143: Format_ARGB32_Premultiplied, 10143: Format_RGB16, 10143: Format_ARGB8565_Premultiplied, 10143: Format_RGB666, 10143: Format_ARGB6666_Premultiplied, 10143: Format_RGB555, 10143: Format_ARGB8555_Premultiplied, 10143: Format_RGB888, 10143: Format_RGB444, 10143: Format_ARGB4444_Premultiplied, 10143: Format_RGBX8888, 10143: Format_RGBA8888, 10143: Format_RGBA8888_Premultiplied, 10143: Format_BGR30, 10143: Format_A2BGR30_Premultiplied, 10143: Format_RGB30, 10143: Format_A2RGB30_Premultiplied, 10143: Format_Alpha8, 10143: Format_Grayscale8, 10143: 10143: 10143: 10143: 10143: 10143: NImageFormats 10143: 10143: }; 10143: 10143: QImage() noexcept; 10143: QImage(const QSize &size, Format format); 10143: QImage(int width, int height, Format format); 10143: QImage(uchar *data, int width, int height, Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr); 10143: QImage(const uchar *data, int width, int height, Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr); 10143: QImage(uchar *data, int width, int height, int bytesPerLine, Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr); 10143: QImage(const uchar *data, int width, int height, int bytesPerLine, Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr); 10143: 10143: 10143: explicit QImage(const char * const xpm[]); 10143: 10143: explicit QImage(const QString &fileName, const char *format = nullptr); 10143: 10143: QImage(const QImage &); 10143: 10143: inline QImage(QImage &&other) noexcept 10143: : QPaintDevice(), d(nullptr) 10143: { qSwap(d, other.d); } 10143: 10143: ~QImage(); 10143: 10143: QImage &operator=(const QImage &); 10143: 10143: inline QImage &operator=(QImage &&other) noexcept 10143: { qSwap(d, other.d); return *this; } 10143: 10143: inline void swap(QImage &other) noexcept 10143: { qSwap(d, other.d); } 10143: 10143: bool isNull() const; 10143: 10143: int devType() const override; 10143: 10143: bool operator==(const QImage &) const; 10143: bool operator!=(const QImage &) const; 10143: operator QVariant() const; 10143: void detach(); 10143: bool isDetached() const; 10143: 10143: QImage copy(const QRect &rect = QRect()) const; 10143: inline QImage copy(int x, int y, int w, int h) const 10143: { return copy(QRect(x, y, w, h)); } 10143: 10143: Format format() const; 10143: 10143: 10143: [[nodiscard]] inline __attribute__((always_inline)) QImage convertToFormat(Format f, Qt::ImageConversionFlags flags = Qt::AutoColor) const & 10143: { return convertToFormat_helper(f, flags); } 10143: [[nodiscard]] inline __attribute__((always_inline)) QImage convertToFormat(Format f, Qt::ImageConversionFlags flags = Qt::AutoColor) && 10143: { 10143: if (convertToFormat_inplace(f, flags)) 10143: return std::move(*this); 10143: else 10143: return convertToFormat_helper(f, flags); 10143: } 10143: 10143: 10143: 10143: [[nodiscard]] QImage convertToFormat(Format f, const QVector &colorTable, Qt::ImageConversionFlags flags = Qt::AutoColor) const; 10143: bool reinterpretAsFormat(Format f); 10143: 10143: int width() const; 10143: int height() const; 10143: QSize size() const; 10143: QRect rect() const; 10143: 10143: int depth() const; 10143: int colorCount() const; 10143: int bitPlaneCount() const; 10143: 10143: QRgb color(int i) const; 10143: void setColor(int i, QRgb c); 10143: void setColorCount(int); 10143: 10143: bool allGray() const; 10143: bool isGrayscale() const; 10143: 10143: uchar *bits(); 10143: const uchar *bits() const; 10143: const uchar *constBits() const; 10143: 10143: int byteCount() const; 10143: 10143: uchar *scanLine(int); 10143: const uchar *scanLine(int) const; 10143: const uchar *constScanLine(int) const; 10143: int bytesPerLine() const; 10143: 10143: bool valid(int x, int y) const; 10143: bool valid(const QPoint &pt) const; 10143: 10143: int pixelIndex(int x, int y) const; 10143: int pixelIndex(const QPoint &pt) const; 10143: 10143: QRgb pixel(int x, int y) const; 10143: QRgb pixel(const QPoint &pt) const; 10143: 10143: void setPixel(int x, int y, uint index_or_rgb); 10143: void setPixel(const QPoint &pt, uint index_or_rgb); 10143: 10143: QColor pixelColor(int x, int y) const; 10143: QColor pixelColor(const QPoint &pt) const; 10143: 10143: void setPixelColor(int x, int y, const QColor &c); 10143: void setPixelColor(const QPoint &pt, const QColor &c); 10143: 10143: QVector colorTable() const; 10143: 10143: 10143: 10143: void setColorTable(const QVector colors); 10143: 10143: 10143: qreal devicePixelRatio() const; 10143: void setDevicePixelRatio(qreal scaleFactor); 10143: 10143: void fill(uint pixel); 10143: void fill(const QColor &color); 10143: void fill(Qt::GlobalColor color); 10143: 10143: 10143: bool hasAlphaChannel() const; 10143: void setAlphaChannel(const QImage &alphaChannel); 10143: QImage alphaChannel() const; 10143: QImage createAlphaMask(Qt::ImageConversionFlags flags = Qt::AutoColor) const; 10143: 10143: QImage createHeuristicMask(bool clipTight = true) const; 10143: 10143: QImage createMaskFromColor(QRgb color, Qt::MaskMode mode = Qt::MaskInColor) const; 10143: 10143: inline QImage scaled(int w, int h, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio, 10143: Qt::TransformationMode mode = Qt::FastTransformation) const 10143: { return scaled(QSize(w, h), aspectMode, mode); } 10143: QImage scaled(const QSize &s, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio, 10143: Qt::TransformationMode mode = Qt::FastTransformation) const; 10143: QImage scaledToWidth(int w, Qt::TransformationMode mode = Qt::FastTransformation) const; 10143: QImage scaledToHeight(int h, Qt::TransformationMode mode = Qt::FastTransformation) const; 10143: QImage transformed(const QMatrix &matrix, Qt::TransformationMode mode = Qt::FastTransformation) const; 10143: static QMatrix trueMatrix(const QMatrix &, int w, int h); 10143: QImage transformed(const QTransform &matrix, Qt::TransformationMode mode = Qt::FastTransformation) const; 10143: static QTransform trueMatrix(const QTransform &, int w, int h); 10143: 10143: QImage mirrored(bool horizontally = false, bool vertically = true) const & 10143: { return mirrored_helper(horizontally, vertically); } 10143: QImage &&mirrored(bool horizontally = false, bool vertically = true) && 10143: { mirrored_inplace(horizontally, vertically); return std::move(*this); } 10143: QImage rgbSwapped() const & 10143: { return rgbSwapped_helper(); } 10143: QImage &&rgbSwapped() && 10143: { rgbSwapped_inplace(); return std::move(*this); } 10143: 10143: 10143: 10143: 10143: void invertPixels(InvertMode = InvertRgb); 10143: 10143: 10143: bool load(QIODevice *device, const char* format); 10143: bool load(const QString &fileName, const char *format = nullptr); 10143: bool loadFromData(const uchar *buf, int len, const char *format = nullptr); 10143: inline bool loadFromData(const QByteArray &data, const char *aformat = nullptr) 10143: { return loadFromData(reinterpret_cast(data.constData()), data.size(), aformat); } 10143: 10143: bool save(const QString &fileName, const char *format = nullptr, int quality = -1) const; 10143: bool save(QIODevice *device, const char *format = nullptr, int quality = -1) const; 10143: 10143: static QImage fromData(const uchar *data, int size, const char *format = nullptr); 10143: inline static QImage fromData(const QByteArray &data, const char *format = nullptr) 10143: { return fromData(reinterpret_cast(data.constData()), data.size(), format); } 10143: 10143: 10143: 10143: 10143: qint64 cacheKey() const; 10143: 10143: QPaintEngine *paintEngine() const override; 10143: 10143: 10143: int dotsPerMeterX() const; 10143: int dotsPerMeterY() const; 10143: void setDotsPerMeterX(int); 10143: void setDotsPerMeterY(int); 10143: QPoint offset() const; 10143: void setOffset(const QPoint&); 10143: 10143: QStringList textKeys() const; 10143: QString text(const QString &key = QString()) const; 10143: void setText(const QString &key, const QString &value); 10143: 10143: QPixelFormat pixelFormat() const noexcept; 10143: static QPixelFormat toPixelFormat(QImage::Format format) noexcept; 10143: static QImage::Format toImageFormat(QPixelFormat format) noexcept; 10143: # 348 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qimage.h" 3 4 10143: protected: 10143: virtual int metric(PaintDeviceMetric metric) const override; 10143: QImage mirrored_helper(bool horizontal, bool vertical) const; 10143: QImage rgbSwapped_helper() const; 10143: void mirrored_inplace(bool horizontal, bool vertical); 10143: void rgbSwapped_inplace(); 10143: QImage convertToFormat_helper(Format format, Qt::ImageConversionFlags flags) const; 10143: bool convertToFormat_inplace(Format format, Qt::ImageConversionFlags flags); 10143: QImage smoothScaled(int w, int h) const; 10143: 10143: private: 10143: friend class QWSOnScreenSurface; 10143: QImageData *d; 10143: 10143: friend class QRasterPlatformPixmap; 10143: friend class QBlittablePlatformPixmap; 10143: friend class QPixmapCacheEntry; 10143: 10143: public: 10143: typedef QImageData * DataPtr; 10143: inline DataPtr &data_ptr() { return d; } 10143: }; 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QImage)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QImage >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QImage) }; static inline const char *name() { return "QImage"; } }; inline void swap(QImage &value1, QImage &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 10143: 10143: 10143: 10143: inline bool QImage::valid(const QPoint &pt) const { return valid(pt.x(), pt.y()); } 10143: inline int QImage::pixelIndex(const QPoint &pt) const { return pixelIndex(pt.x(), pt.y());} 10143: inline QRgb QImage::pixel(const QPoint &pt) const { return pixel(pt.x(), pt.y()); } 10143: inline void QImage::setPixel(const QPoint &pt, uint index_or_rgb) { setPixel(pt.x(), pt.y(), index_or_rgb); } 10143: inline QColor QImage::pixelColor(const QPoint &pt) const { return pixelColor(pt.x(), pt.y()); } 10143: inline void QImage::setPixelColor(const QPoint &pt, const QColor &c) { setPixelColor(pt.x(), pt.y(), c); } 10143: # 478 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qimage.h" 3 4 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QImage &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QImage &); 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QImage &); 10143: 10143: 10143: 10143: 10143: # 52 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qbrush.h" 2 3 4 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qpixmap.h" 1 3 4 10143: # 52 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qpixmap.h" 3 4 10143: 10143: 10143: 10143: class QImageWriter; 10143: class QImageReader; 10143: class QColor; 10143: class QVariant; 10143: class QPlatformPixmap; 10143: 10143: class __attribute__((visibility("default"))) QPixmap : public QPaintDevice 10143: { 10143: public: 10143: QPixmap(); 10143: explicit QPixmap(QPlatformPixmap *data); 10143: QPixmap(int w, int h); 10143: explicit QPixmap(const QSize &); 10143: QPixmap(const QString& fileName, const char *format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor); 10143: 10143: explicit QPixmap(const char * const xpm[]); 10143: 10143: QPixmap(const QPixmap &); 10143: ~QPixmap(); 10143: 10143: QPixmap &operator=(const QPixmap &); 10143: 10143: inline QPixmap &operator=(QPixmap &&other) noexcept 10143: { qSwap(data, other.data); return *this; } 10143: 10143: inline void swap(QPixmap &other) noexcept 10143: { qSwap(data, other.data); } 10143: 10143: operator QVariant() const; 10143: 10143: bool isNull() const; 10143: int devType() const override; 10143: 10143: int width() const; 10143: int height() const; 10143: QSize size() const; 10143: QRect rect() const; 10143: int depth() const; 10143: 10143: static int defaultDepth(); 10143: 10143: void fill(const QColor &fillColor = Qt::white); 10143: void fill(const QPaintDevice *device, const QPoint &ofs); 10143: inline void fill(const QPaintDevice *device, int xofs, int yofs) { fill(device, QPoint(xofs, yofs)); } 10143: 10143: QBitmap mask() const; 10143: void setMask(const QBitmap &); 10143: 10143: qreal devicePixelRatio() const; 10143: void setDevicePixelRatio(qreal scaleFactor); 10143: 10143: bool hasAlpha() const; 10143: bool hasAlphaChannel() const; 10143: 10143: 10143: QBitmap createHeuristicMask(bool clipTight = true) const; 10143: 10143: QBitmap createMaskFromColor(const QColor &maskColor, Qt::MaskMode mode = Qt::MaskInColor) const; 10143: 10143: static QPixmap grabWindow(WId, int x=0, int y=0, int w=-1, int h=-1); 10143: static QPixmap grabWidget(QObject *widget, const QRect &rect); 10143: static inline QPixmap grabWidget(QObject *widget, int x=0, int y=0, int w=-1, int h=-1) 10143: { return grabWidget(widget, QRect(x, y, w, h)); } 10143: 10143: inline QPixmap scaled(int w, int h, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio, 10143: Qt::TransformationMode mode = Qt::FastTransformation) const 10143: { return scaled(QSize(w, h), aspectMode, mode); } 10143: QPixmap scaled(const QSize &s, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio, 10143: Qt::TransformationMode mode = Qt::FastTransformation) const; 10143: QPixmap scaledToWidth(int w, Qt::TransformationMode mode = Qt::FastTransformation) const; 10143: QPixmap scaledToHeight(int h, Qt::TransformationMode mode = Qt::FastTransformation) const; 10143: QPixmap transformed(const QMatrix &, Qt::TransformationMode mode = Qt::FastTransformation) const; 10143: static QMatrix trueMatrix(const QMatrix &m, int w, int h); 10143: QPixmap transformed(const QTransform &, Qt::TransformationMode mode = Qt::FastTransformation) const; 10143: static QTransform trueMatrix(const QTransform &m, int w, int h); 10143: 10143: QImage toImage() const; 10143: static QPixmap fromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor); 10143: static QPixmap fromImageReader(QImageReader *imageReader, Qt::ImageConversionFlags flags = Qt::AutoColor); 10143: 10143: static QPixmap fromImage(QImage &&image, Qt::ImageConversionFlags flags = Qt::AutoColor) 10143: { 10143: return fromImageInPlace(image, flags); 10143: } 10143: 10143: 10143: bool load(const QString& fileName, const char *format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor); 10143: bool loadFromData(const uchar *buf, uint len, const char* format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor); 10143: inline bool loadFromData(const QByteArray &data, const char* format = nullptr, Qt::ImageConversionFlags flags = Qt::AutoColor); 10143: bool save(const QString& fileName, const char* format = nullptr, int quality = -1) const; 10143: bool save(QIODevice* device, const char* format = nullptr, int quality = -1) const; 10143: 10143: bool convertFromImage(const QImage &img, Qt::ImageConversionFlags flags = Qt::AutoColor); 10143: 10143: inline QPixmap copy(int x, int y, int width, int height) const; 10143: QPixmap copy(const QRect &rect = QRect()) const; 10143: 10143: inline void scroll(int dx, int dy, int x, int y, int width, int height, QRegion *exposed = nullptr); 10143: void scroll(int dx, int dy, const QRect &rect, QRegion *exposed = nullptr); 10143: 10143: 10143: 10143: 10143: qint64 cacheKey() const; 10143: 10143: bool isDetached() const; 10143: void detach(); 10143: 10143: bool isQBitmap() const; 10143: 10143: QPaintEngine *paintEngine() const override; 10143: 10143: inline bool operator!() const { return isNull(); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: protected: 10143: int metric(PaintDeviceMetric) const override; 10143: static QPixmap fromImageInPlace(QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor); 10143: 10143: private: 10143: QExplicitlySharedDataPointer data; 10143: 10143: bool doImageIO(QImageWriter *io, int quality) const; 10143: 10143: QPixmap(const QSize &s, int type); 10143: void doInit(int, int, int); 10143: 10143: friend class QPlatformPixmap; 10143: friend class QBitmap; 10143: friend class QPaintDevice; 10143: friend class QPainter; 10143: friend class QOpenGLWidget; 10143: friend class QWidgetPrivate; 10143: friend class QRasterBuffer; 10143: 10143: friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPixmap &); 10143: 10143: 10143: public: 10143: QPlatformPixmap* handle() const; 10143: 10143: public: 10143: typedef QExplicitlySharedDataPointer DataPtr; 10143: inline DataPtr &data_ptr() { return data; } 10143: }; 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QPixmap)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QPixmap >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QPixmap) }; static inline const char *name() { return "QPixmap"; } }; inline void swap(QPixmap &value1, QPixmap &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 10143: 10143: inline QPixmap QPixmap::copy(int ax, int ay, int awidth, int aheight) const 10143: { 10143: return copy(QRect(ax, ay, awidth, aheight)); 10143: } 10143: 10143: inline void QPixmap::scroll(int dx, int dy, int ax, int ay, int awidth, int aheight, QRegion *exposed) 10143: { 10143: scroll(dx, dy, QRect(ax, ay, awidth, aheight), exposed); 10143: } 10143: 10143: inline bool QPixmap::loadFromData(const QByteArray &buf, const char *format, 10143: Qt::ImageConversionFlags flags) 10143: { 10143: return loadFromData(reinterpret_cast(buf.constData()), buf.size(), format, flags); 10143: } 10143: # 243 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qpixmap.h" 3 4 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPixmap &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPixmap &); 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QPixmap &); 10143: 10143: 10143: 10143: # 53 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qbrush.h" 2 3 4 10143: 10143: 10143: 10143: 10143: struct QBrushData; 10143: class QPixmap; 10143: class QGradient; 10143: class QVariant; 10143: struct QBrushDataPointerDeleter; 10143: 10143: class __attribute__((visibility("default"))) QBrush 10143: { 10143: public: 10143: QBrush(); 10143: QBrush(Qt::BrushStyle bs); 10143: QBrush(const QColor &color, Qt::BrushStyle bs=Qt::SolidPattern); 10143: QBrush(Qt::GlobalColor color, Qt::BrushStyle bs=Qt::SolidPattern); 10143: 10143: QBrush(const QColor &color, const QPixmap &pixmap); 10143: QBrush(Qt::GlobalColor color, const QPixmap &pixmap); 10143: QBrush(const QPixmap &pixmap); 10143: QBrush(const QImage &image); 10143: 10143: QBrush(const QBrush &brush); 10143: 10143: QBrush(const QGradient &gradient); 10143: 10143: ~QBrush(); 10143: QBrush &operator=(const QBrush &brush); 10143: 10143: inline QBrush &operator=(QBrush &&other) noexcept 10143: { qSwap(d, other.d); return *this; } 10143: 10143: inline void swap(QBrush &other) noexcept 10143: { qSwap(d, other.d); } 10143: 10143: operator QVariant() const; 10143: 10143: inline Qt::BrushStyle style() const; 10143: void setStyle(Qt::BrushStyle); 10143: 10143: inline const QMatrix &matrix() const; 10143: void setMatrix(const QMatrix &mat); 10143: 10143: inline QTransform transform() const; 10143: void setTransform(const QTransform &); 10143: 10143: QPixmap texture() const; 10143: void setTexture(const QPixmap &pixmap); 10143: 10143: QImage textureImage() const; 10143: void setTextureImage(const QImage &image); 10143: 10143: inline const QColor &color() const; 10143: void setColor(const QColor &color); 10143: inline void setColor(Qt::GlobalColor color); 10143: 10143: const QGradient *gradient() const; 10143: 10143: bool isOpaque() const; 10143: 10143: bool operator==(const QBrush &b) const; 10143: inline bool operator!=(const QBrush &b) const { return !(operator==(b)); } 10143: 10143: private: 10143: friend class QRasterPaintEngine; 10143: friend class QRasterPaintEnginePrivate; 10143: friend struct QSpanData; 10143: friend class QPainter; 10143: friend bool __attribute__((visibility("default"))) qHasPixmapTexture(const QBrush& brush); 10143: void detach(Qt::BrushStyle newStyle); 10143: void init(const QColor &color, Qt::BrushStyle bs); 10143: QScopedPointer d; 10143: void cleanUp(QBrushData *x); 10143: 10143: public: 10143: inline bool isDetached() const; 10143: typedef QScopedPointer DataPtr; 10143: inline DataPtr &data_ptr() { return d; } 10143: }; 10143: 10143: inline void QBrush::setColor(Qt::GlobalColor acolor) 10143: { setColor(QColor(acolor)); } 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QBrush)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QBrush >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QBrush) }; static inline const char *name() { return "QBrush"; } }; inline void swap(QBrush &value1, QBrush &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 10143: 10143: 10143: 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QBrush &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QBrush &); 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QBrush &); 10143: 10143: 10143: struct QBrushData 10143: { 10143: QAtomicInt ref; 10143: Qt::BrushStyle style; 10143: QColor color; 10143: QTransform transform; 10143: }; 10143: 10143: inline Qt::BrushStyle QBrush::style() const { return d->style; } 10143: inline const QColor &QBrush::color() const { return d->color; } 10143: inline const QMatrix &QBrush::matrix() const { return d->transform.toAffine(); } 10143: inline QTransform QBrush::transform() const { return d->transform; } 10143: inline bool QBrush::isDetached() const { return d->ref.load() == 1; } 10143: 10143: 10143: 10143: 10143: 10143: class QGradientPrivate; 10143: 10143: typedef QPair QGradientStop; 10143: typedef QVector QGradientStops; 10143: 10143: class __attribute__((visibility("default"))) QGradient 10143: { 10143: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 10143: # 177 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qbrush.h" 3 4 10143: #pragma GCC diagnostic push 10143: # 177 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qbrush.h" 3 4 10143: 10143: # 177 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qbrush.h" 3 4 10143: #pragma GCC diagnostic ignored "-Wattributes" 10143: # 177 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qbrush.h" 3 4 10143: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 10143: # 177 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qbrush.h" 3 4 10143: #pragma GCC diagnostic pop 10143: # 177 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qbrush.h" 3 4 10143: 10143: public: 10143: enum Type { 10143: LinearGradient, 10143: RadialGradient, 10143: ConicalGradient, 10143: NoGradient 10143: }; 10143: friend constexpr const QMetaObject *qt_getEnumMetaObject(Type) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(Type) noexcept { return "Type"; } 10143: 10143: enum Spread { 10143: PadSpread, 10143: ReflectSpread, 10143: RepeatSpread 10143: }; 10143: friend constexpr const QMetaObject *qt_getEnumMetaObject(Spread) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(Spread) noexcept { return "Spread"; } 10143: 10143: enum CoordinateMode { 10143: LogicalMode, 10143: StretchToDeviceMode, 10143: ObjectBoundingMode 10143: }; 10143: friend constexpr const QMetaObject *qt_getEnumMetaObject(CoordinateMode) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(CoordinateMode) noexcept { return "CoordinateMode"; } 10143: 10143: enum InterpolationMode { 10143: ColorInterpolation, 10143: ComponentInterpolation 10143: }; 10143: 10143: QGradient(); 10143: 10143: Type type() const { return m_type; } 10143: 10143: inline void setSpread(Spread spread); 10143: Spread spread() const { return m_spread; } 10143: 10143: void setColorAt(qreal pos, const QColor &color); 10143: 10143: void setStops(const QGradientStops &stops); 10143: QGradientStops stops() const; 10143: 10143: CoordinateMode coordinateMode() const; 10143: void setCoordinateMode(CoordinateMode mode); 10143: 10143: InterpolationMode interpolationMode() const; 10143: void setInterpolationMode(InterpolationMode mode); 10143: 10143: bool operator==(const QGradient &gradient) const; 10143: inline bool operator!=(const QGradient &other) const 10143: { return !operator==(other); } 10143: 10143: private: 10143: friend class QLinearGradient; 10143: friend class QRadialGradient; 10143: friend class QConicalGradient; 10143: friend class QBrush; 10143: 10143: Type m_type; 10143: Spread m_spread; 10143: QGradientStops m_stops; 10143: union { 10143: struct { 10143: qreal x1, y1, x2, y2; 10143: } linear; 10143: struct { 10143: qreal cx, cy, fx, fy, cradius; 10143: } radial; 10143: struct { 10143: qreal cx, cy, angle; 10143: } conical; 10143: } m_data; 10143: void *dummy; 10143: }; 10143: 10143: inline void QGradient::setSpread(Spread aspread) 10143: { m_spread = aspread; } 10143: 10143: class __attribute__((visibility("default"))) QLinearGradient : public QGradient 10143: { 10143: public: 10143: QLinearGradient(); 10143: QLinearGradient(const QPointF &start, const QPointF &finalStop); 10143: QLinearGradient(qreal xStart, qreal yStart, qreal xFinalStop, qreal yFinalStop); 10143: 10143: QPointF start() const; 10143: void setStart(const QPointF &start); 10143: inline void setStart(qreal x, qreal y) { setStart(QPointF(x, y)); } 10143: 10143: QPointF finalStop() const; 10143: void setFinalStop(const QPointF &stop); 10143: inline void setFinalStop(qreal x, qreal y) { setFinalStop(QPointF(x, y)); } 10143: }; 10143: 10143: 10143: class __attribute__((visibility("default"))) QRadialGradient : public QGradient 10143: { 10143: public: 10143: QRadialGradient(); 10143: QRadialGradient(const QPointF ¢er, qreal radius, const QPointF &focalPoint); 10143: QRadialGradient(qreal cx, qreal cy, qreal radius, qreal fx, qreal fy); 10143: 10143: QRadialGradient(const QPointF ¢er, qreal radius); 10143: QRadialGradient(qreal cx, qreal cy, qreal radius); 10143: 10143: QRadialGradient(const QPointF ¢er, qreal centerRadius, const QPointF &focalPoint, qreal focalRadius); 10143: QRadialGradient(qreal cx, qreal cy, qreal centerRadius, qreal fx, qreal fy, qreal focalRadius); 10143: 10143: QPointF center() const; 10143: void setCenter(const QPointF ¢er); 10143: inline void setCenter(qreal x, qreal y) { setCenter(QPointF(x, y)); } 10143: 10143: QPointF focalPoint() const; 10143: void setFocalPoint(const QPointF &focalPoint); 10143: inline void setFocalPoint(qreal x, qreal y) { setFocalPoint(QPointF(x, y)); } 10143: 10143: qreal radius() const; 10143: void setRadius(qreal radius); 10143: 10143: qreal centerRadius() const; 10143: void setCenterRadius(qreal radius); 10143: 10143: qreal focalRadius() const; 10143: void setFocalRadius(qreal radius); 10143: }; 10143: 10143: 10143: class __attribute__((visibility("default"))) QConicalGradient : public QGradient 10143: { 10143: public: 10143: QConicalGradient(); 10143: QConicalGradient(const QPointF ¢er, qreal startAngle); 10143: QConicalGradient(qreal cx, qreal cy, qreal startAngle); 10143: 10143: QPointF center() const; 10143: void setCenter(const QPointF ¢er); 10143: inline void setCenter(qreal x, qreal y) { setCenter(QPointF(x, y)); } 10143: 10143: qreal angle() const; 10143: void setAngle(qreal angle); 10143: }; 10143: 10143: 10143: # 46 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qpen.h" 2 3 4 10143: 10143: 10143: 10143: 10143: class QVariant; 10143: class QPenPrivate; 10143: class QBrush; 10143: class QPen; 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPen &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPen &); 10143: 10143: 10143: class __attribute__((visibility("default"))) QPen 10143: { 10143: public: 10143: QPen(); 10143: QPen(Qt::PenStyle); 10143: QPen(const QColor &color); 10143: QPen(const QBrush &brush, qreal width, Qt::PenStyle s = Qt::SolidLine, 10143: Qt::PenCapStyle c = Qt::SquareCap, Qt::PenJoinStyle j = Qt::BevelJoin); 10143: QPen(const QPen &pen) noexcept; 10143: 10143: ~QPen(); 10143: 10143: QPen &operator=(const QPen &pen) noexcept; 10143: 10143: QPen(QPen &&other) noexcept 10143: : d(other.d) { other.d = nullptr; } 10143: QPen &operator=(QPen &&other) noexcept 10143: { qSwap(d, other.d); return *this; } 10143: 10143: void swap(QPen &other) noexcept { qSwap(d, other.d); } 10143: 10143: Qt::PenStyle style() const; 10143: void setStyle(Qt::PenStyle); 10143: 10143: QVector dashPattern() const; 10143: void setDashPattern(const QVector &pattern); 10143: 10143: qreal dashOffset() const; 10143: void setDashOffset(qreal doffset); 10143: 10143: qreal miterLimit() const; 10143: void setMiterLimit(qreal limit); 10143: 10143: qreal widthF() const; 10143: void setWidthF(qreal width); 10143: 10143: int width() const; 10143: void setWidth(int width); 10143: 10143: QColor color() const; 10143: void setColor(const QColor &color); 10143: 10143: QBrush brush() const; 10143: void setBrush(const QBrush &brush); 10143: 10143: bool isSolid() const; 10143: 10143: Qt::PenCapStyle capStyle() const; 10143: void setCapStyle(Qt::PenCapStyle pcs); 10143: 10143: Qt::PenJoinStyle joinStyle() const; 10143: void setJoinStyle(Qt::PenJoinStyle pcs); 10143: 10143: bool isCosmetic() const; 10143: void setCosmetic(bool cosmetic); 10143: 10143: bool operator==(const QPen &p) const; 10143: inline bool operator!=(const QPen &p) const { return !(operator==(p)); } 10143: operator QVariant() const; 10143: 10143: bool isDetached(); 10143: private: 10143: friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPen &); 10143: friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPen &); 10143: 10143: void detach(); 10143: class QPenPrivate *d; 10143: 10143: public: 10143: typedef QPenPrivate * DataPtr; 10143: inline DataPtr &data_ptr() { return d; } 10143: }; 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QPen)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QPen >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QPen) }; static inline const char *name() { return "QPen"; } }; inline void swap(QPen &value1, QPen &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QPen &); 10143: 10143: 10143: 10143: # 50 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtextformat.h" 2 3 4 10143: 10143: # 1 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtextoption.h" 1 3 4 10143: # 49 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtextoption.h" 3 4 10143: 10143: 10143: 10143: template class QList; 10143: struct QTextOptionPrivate; 10143: 10143: class __attribute__((visibility("default"))) QTextOption 10143: { 10143: public: 10143: enum TabType { 10143: LeftTab, 10143: RightTab, 10143: CenterTab, 10143: DelimiterTab 10143: }; 10143: 10143: struct __attribute__((visibility("default"))) Tab { 10143: inline Tab() : position(80), type(QTextOption::LeftTab) { } 10143: inline Tab(qreal pos, TabType tabType, QChar delim = QChar()) 10143: : position(pos), type(tabType), delimiter(delim) {} 10143: 10143: inline bool operator==(const Tab &other) const { 10143: return type == other.type 10143: && qFuzzyCompare(position, other.position) 10143: && delimiter == other.delimiter; 10143: } 10143: 10143: inline bool operator!=(const Tab &other) const { 10143: return !operator==(other); 10143: } 10143: 10143: qreal position; 10143: TabType type; 10143: QChar delimiter; 10143: }; 10143: 10143: QTextOption(); 10143: QTextOption(Qt::Alignment alignment); 10143: ~QTextOption(); 10143: 10143: QTextOption(const QTextOption &o); 10143: QTextOption &operator=(const QTextOption &o); 10143: 10143: inline void setAlignment(Qt::Alignment alignment); 10143: inline Qt::Alignment alignment() const { return Qt::Alignment(align); } 10143: 10143: inline void setTextDirection(Qt::LayoutDirection aDirection) { this->direction = aDirection; } 10143: inline Qt::LayoutDirection textDirection() const { return Qt::LayoutDirection(direction); } 10143: 10143: enum WrapMode { 10143: NoWrap, 10143: WordWrap, 10143: ManualWrap, 10143: WrapAnywhere, 10143: WrapAtWordBoundaryOrAnywhere 10143: }; 10143: inline void setWrapMode(WrapMode wrap) { wordWrap = wrap; } 10143: inline WrapMode wrapMode() const { return static_cast(wordWrap); } 10143: 10143: enum Flag { 10143: ShowTabsAndSpaces = 0x1, 10143: ShowLineAndParagraphSeparators = 0x2, 10143: AddSpaceForLineAndParagraphSeparators = 0x4, 10143: SuppressColors = 0x8, 10143: ShowDocumentTerminator = 0x10, 10143: IncludeTrailingSpaces = 0x80000000 10143: }; 10143: typedef QFlags Flags; 10143: inline void setFlags(Flags flags); 10143: inline Flags flags() const { return Flags(f); } 10143: 10143: inline void setTabStop(qreal tabStop); 10143: inline qreal tabStop() const { return tab; } 10143: 10143: void setTabArray(const QList &tabStops); 10143: QList tabArray() const; 10143: 10143: void setTabs(const QList &tabStops); 10143: QList tabs() const; 10143: 10143: void setUseDesignMetrics(bool b) { design = b; } 10143: bool useDesignMetrics() const { return design; } 10143: 10143: private: 10143: uint align : 8; 10143: uint wordWrap : 4; 10143: uint design : 1; 10143: uint direction : 2; 10143: uint unused : 17; 10143: uint unused2; 10143: uint f; 10143: qreal tab; 10143: QTextOptionPrivate *d; 10143: }; 10143: 10143: constexpr inline QFlags operator|(QTextOption::Flags::enum_type f1, QTextOption::Flags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(QTextOption::Flags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(QTextOption::Flags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: 10143: inline void QTextOption::setAlignment(Qt::Alignment aalignment) 10143: { align = aalignment; } 10143: 10143: inline void QTextOption::setFlags(Flags aflags) 10143: { f = aflags; } 10143: 10143: inline void QTextOption::setTabStop(qreal atabStop) 10143: { tab = atabStop; } 10143: 10143: 10143: 10143: template <> struct QMetaTypeId< QTextOption::Tab > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const int newId = qRegisterMetaType< QTextOption::Tab >("QTextOption::Tab", reinterpret_cast< QTextOption::Tab *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 10143: # 52 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtextformat.h" 2 3 4 10143: 10143: 10143: 10143: 10143: class QString; 10143: class QVariant; 10143: class QFont; 10143: 10143: class QTextFormatCollection; 10143: class QTextFormatPrivate; 10143: class QTextBlockFormat; 10143: class QTextCharFormat; 10143: class QTextListFormat; 10143: class QTextTableFormat; 10143: class QTextFrameFormat; 10143: class QTextImageFormat; 10143: class QTextTableCellFormat; 10143: class QTextFormat; 10143: class QTextObject; 10143: class QTextCursor; 10143: class QTextDocument; 10143: class QTextLength; 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QTextLength &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QTextLength &); 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QTextLength &); 10143: 10143: 10143: class __attribute__((visibility("default"))) QTextLength 10143: { 10143: public: 10143: enum Type { VariableLength = 0, FixedLength, PercentageLength }; 10143: 10143: inline QTextLength() : lengthType(VariableLength), fixedValueOrPercentage(0) {} 10143: 10143: inline explicit QTextLength(Type type, qreal value); 10143: 10143: inline Type type() const { return lengthType; } 10143: inline qreal value(qreal maximumLength) const 10143: { 10143: switch (lengthType) { 10143: case FixedLength: return fixedValueOrPercentage; 10143: case VariableLength: return maximumLength; 10143: case PercentageLength: return fixedValueOrPercentage * maximumLength / qreal(100); 10143: } 10143: return -1; 10143: } 10143: 10143: inline qreal rawValue() const { return fixedValueOrPercentage; } 10143: 10143: inline bool operator==(const QTextLength &other) const 10143: { return lengthType == other.lengthType 10143: && qFuzzyCompare(fixedValueOrPercentage, other.fixedValueOrPercentage); } 10143: inline bool operator!=(const QTextLength &other) const 10143: { return lengthType != other.lengthType 10143: || !qFuzzyCompare(fixedValueOrPercentage, other.fixedValueOrPercentage); } 10143: operator QVariant() const; 10143: 10143: private: 10143: Type lengthType; 10143: qreal fixedValueOrPercentage; 10143: friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QTextLength &); 10143: friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QTextLength &); 10143: }; 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_PRIMITIVE_TYPE : Q_RELOCATABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_PRIMITIVE_TYPE : Q_RELOCATABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_PRIMITIVE_TYPE : Q_RELOCATABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QTextLength)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QTextLength >::value, isDummy = (((((5<<16)|(9<<8)|(3)) >= ((6<<16)|(0<<8)|(0)) ? Q_PRIMITIVE_TYPE : Q_RELOCATABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QTextLength) }; static inline const char *name() { return "QTextLength"; } }; 10143: 10143: inline QTextLength::QTextLength(Type atype, qreal avalue) 10143: : lengthType(atype), fixedValueOrPercentage(avalue) {} 10143: 10143: 10143: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QTextFormat &); 10143: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QTextFormat &); 10143: 10143: 10143: 10143: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QTextFormat &); 10143: 10143: 10143: class __attribute__((visibility("default"))) QTextFormat 10143: { 10143: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 10143: # 136 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtextformat.h" 3 4 10143: #pragma GCC diagnostic push 10143: # 136 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtextformat.h" 3 4 10143: 10143: # 136 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtextformat.h" 3 4 10143: #pragma GCC diagnostic ignored "-Wattributes" 10143: # 136 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtextformat.h" 3 4 10143: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 10143: # 136 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtextformat.h" 3 4 10143: #pragma GCC diagnostic pop 10143: # 136 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtextformat.h" 3 4 10143: 10143: public: 10143: enum FormatType { 10143: InvalidFormat = -1, 10143: BlockFormat = 1, 10143: CharFormat = 2, 10143: ListFormat = 3, 10143: 10143: TableFormat = 4, 10143: 10143: FrameFormat = 5, 10143: 10143: UserFormat = 100 10143: }; 10143: friend constexpr const QMetaObject *qt_getEnumMetaObject(FormatType) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(FormatType) noexcept { return "FormatType"; } 10143: 10143: enum Property { 10143: ObjectIndex = 0x0, 10143: 10143: 10143: CssFloat = 0x0800, 10143: LayoutDirection = 0x0801, 10143: 10143: OutlinePen = 0x810, 10143: BackgroundBrush = 0x820, 10143: ForegroundBrush = 0x821, 10143: 10143: BackgroundImageUrl = 0x823, 10143: 10143: 10143: BlockAlignment = 0x1010, 10143: BlockTopMargin = 0x1030, 10143: BlockBottomMargin = 0x1031, 10143: BlockLeftMargin = 0x1032, 10143: BlockRightMargin = 0x1033, 10143: TextIndent = 0x1034, 10143: TabPositions = 0x1035, 10143: BlockIndent = 0x1040, 10143: LineHeight = 0x1048, 10143: LineHeightType = 0x1049, 10143: BlockNonBreakableLines = 0x1050, 10143: BlockTrailingHorizontalRulerWidth = 0x1060, 10143: 10143: 10143: FirstFontProperty = 0x1FE0, 10143: FontCapitalization = FirstFontProperty, 10143: FontLetterSpacingType = 0x2033, 10143: FontLetterSpacing = 0x1FE1, 10143: FontWordSpacing = 0x1FE2, 10143: FontStretch = 0x2034, 10143: FontStyleHint = 0x1FE3, 10143: FontStyleStrategy = 0x1FE4, 10143: FontKerning = 0x1FE5, 10143: FontHintingPreference = 0x1FE6, 10143: FontFamily = 0x2000, 10143: FontPointSize = 0x2001, 10143: FontSizeAdjustment = 0x2002, 10143: FontSizeIncrement = FontSizeAdjustment, 10143: FontWeight = 0x2003, 10143: FontItalic = 0x2004, 10143: FontUnderline = 0x2005, 10143: FontOverline = 0x2006, 10143: FontStrikeOut = 0x2007, 10143: FontFixedPitch = 0x2008, 10143: FontPixelSize = 0x2009, 10143: LastFontProperty = FontPixelSize, 10143: 10143: TextUnderlineColor = 0x2010, 10143: TextVerticalAlignment = 0x2021, 10143: TextOutline = 0x2022, 10143: TextUnderlineStyle = 0x2023, 10143: TextToolTip = 0x2024, 10143: 10143: IsAnchor = 0x2030, 10143: AnchorHref = 0x2031, 10143: AnchorName = 0x2032, 10143: ObjectType = 0x2f00, 10143: 10143: 10143: ListStyle = 0x3000, 10143: ListIndent = 0x3001, 10143: ListNumberPrefix = 0x3002, 10143: ListNumberSuffix = 0x3003, 10143: 10143: 10143: FrameBorder = 0x4000, 10143: FrameMargin = 0x4001, 10143: FramePadding = 0x4002, 10143: FrameWidth = 0x4003, 10143: FrameHeight = 0x4004, 10143: FrameTopMargin = 0x4005, 10143: FrameBottomMargin = 0x4006, 10143: FrameLeftMargin = 0x4007, 10143: FrameRightMargin = 0x4008, 10143: FrameBorderBrush = 0x4009, 10143: FrameBorderStyle = 0x4010, 10143: 10143: TableColumns = 0x4100, 10143: TableColumnWidthConstraints = 0x4101, 10143: TableCellSpacing = 0x4102, 10143: TableCellPadding = 0x4103, 10143: TableHeaderRowCount = 0x4104, 10143: 10143: 10143: TableCellRowSpan = 0x4810, 10143: TableCellColumnSpan = 0x4811, 10143: 10143: TableCellTopPadding = 0x4812, 10143: TableCellBottomPadding = 0x4813, 10143: TableCellLeftPadding = 0x4814, 10143: TableCellRightPadding = 0x4815, 10143: 10143: 10143: ImageName = 0x5000, 10143: ImageWidth = 0x5010, 10143: ImageHeight = 0x5011, 10143: # 260 "/usr/include/powerpc64le-linux-gnu/qt5/QtGui/qtextformat.h" 3 4 10143: FullWidthSelection = 0x06000, 10143: 10143: 10143: PageBreakPolicy = 0x7000, 10143: 10143: 10143: UserProperty = 0x100000 10143: }; 10143: friend constexpr const QMetaObject *qt_getEnumMetaObject(Property) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(Property) noexcept { return "Property"; } 10143: 10143: enum ObjectTypes { 10143: NoObject, 10143: ImageObject, 10143: TableObject, 10143: TableCellObject, 10143: 10143: UserObject = 0x1000 10143: }; 10143: friend constexpr const QMetaObject *qt_getEnumMetaObject(ObjectTypes) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(ObjectTypes) noexcept { return "ObjectTypes"; } 10143: 10143: enum PageBreakFlag { 10143: PageBreak_Auto = 0, 10143: PageBreak_AlwaysBefore = 0x001, 10143: PageBreak_AlwaysAfter = 0x010 10143: 10143: }; 10143: typedef QFlags PageBreakFlags; 10143: 10143: QTextFormat(); 10143: 10143: explicit QTextFormat(int type); 10143: 10143: QTextFormat(const QTextFormat &rhs); 10143: QTextFormat &operator=(const QTextFormat &rhs); 10143: ~QTextFormat(); 10143: 10143: void swap(QTextFormat &other) 10143: { qSwap(d, other.d); qSwap(format_type, other.format_type); } 10143: 10143: void merge(const QTextFormat &other); 10143: 10143: inline bool isValid() const { return type() != InvalidFormat; } 10143: inline bool isEmpty() const { return propertyCount() == 0; } 10143: 10143: int type() const; 10143: 10143: int objectIndex() const; 10143: void setObjectIndex(int object); 10143: 10143: QVariant property(int propertyId) const; 10143: void setProperty(int propertyId, const QVariant &value); 10143: void clearProperty(int propertyId); 10143: bool hasProperty(int propertyId) const; 10143: 10143: bool boolProperty(int propertyId) const; 10143: int intProperty(int propertyId) const; 10143: qreal doubleProperty(int propertyId) const; 10143: QString stringProperty(int propertyId) const; 10143: QColor colorProperty(int propertyId) const; 10143: QPen penProperty(int propertyId) const; 10143: QBrush brushProperty(int propertyId) const; 10143: QTextLength lengthProperty(int propertyId) const; 10143: QVector lengthVectorProperty(int propertyId) const; 10143: 10143: void setProperty(int propertyId, const QVector &lengths); 10143: 10143: QMap properties() const; 10143: int propertyCount() const; 10143: 10143: inline void setObjectType(int type); 10143: inline int objectType() const 10143: { return intProperty(ObjectType); } 10143: 10143: inline bool isCharFormat() const { return type() == CharFormat; } 10143: inline bool isBlockFormat() const { return type() == BlockFormat; } 10143: inline bool isListFormat() const { return type() == ListFormat; } 10143: inline bool isFrameFormat() const { return type() == FrameFormat; } 10143: inline bool isImageFormat() const { return type() == CharFormat && objectType() == ImageObject; } 10143: inline bool isTableFormat() const { return type() == FrameFormat && objectType() == TableObject; } 10143: inline bool isTableCellFormat() const { return type() == CharFormat && objectType() == TableCellObject; } 10143: 10143: QTextBlockFormat toBlockFormat() const; 10143: QTextCharFormat toCharFormat() const; 10143: QTextListFormat toListFormat() const; 10143: QTextTableFormat toTableFormat() const; 10143: QTextFrameFormat toFrameFormat() const; 10143: QTextImageFormat toImageFormat() const; 10143: QTextTableCellFormat toTableCellFormat() const; 10143: 10143: bool operator==(const QTextFormat &rhs) const; 10143: inline bool operator!=(const QTextFormat &rhs) const { return !operator==(rhs); } 10143: operator QVariant() const; 10143: 10143: inline void setLayoutDirection(Qt::LayoutDirection direction) 10143: { setProperty(QTextFormat::LayoutDirection, direction); } 10143: inline Qt::LayoutDirection layoutDirection() const 10143: { return Qt::LayoutDirection(intProperty(QTextFormat::LayoutDirection)); } 10143: 10143: inline void setBackground(const QBrush &brush) 10143: { setProperty(BackgroundBrush, brush); } 10143: inline QBrush background() const 10143: { return brushProperty(BackgroundBrush); } 10143: inline void clearBackground() 10143: { clearProperty(BackgroundBrush); } 10143: 10143: inline void setForeground(const QBrush &brush) 10143: { setProperty(ForegroundBrush, brush); } 10143: inline QBrush foreground() const 10143: { return brushProperty(ForegroundBrush); } 10143: inline void clearForeground() 10143: { clearProperty(ForegroundBrush); } 10143: 10143: private: 10143: QSharedDataPointer d; 10143: qint32 format_type; 10143: 10143: friend class QTextFormatCollection; 10143: friend class QTextCharFormat; 10143: friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QTextFormat &); 10143: friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QTextFormat &); 10143: }; 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QTextFormat)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QTextFormat >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QTextFormat) }; static inline const char *name() { return "QTextFormat"; } }; inline void swap(QTextFormat &value1, QTextFormat &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 10143: 10143: inline void QTextFormat::setObjectType(int atype) 10143: { setProperty(ObjectType, atype); } 10143: 10143: constexpr inline QFlags operator|(QTextFormat::PageBreakFlags::enum_type f1, QTextFormat::PageBreakFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(QTextFormat::PageBreakFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(QTextFormat::PageBreakFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 10143: 10143: class __attribute__((visibility("default"))) QTextCharFormat : public QTextFormat 10143: { 10143: public: 10143: enum VerticalAlignment { 10143: AlignNormal = 0, 10143: AlignSuperScript, 10143: AlignSubScript, 10143: AlignMiddle, 10143: AlignTop, 10143: AlignBottom, 10143: AlignBaseline 10143: }; 10143: enum UnderlineStyle { 10143: NoUnderline, 10143: SingleUnderline, 10143: DashUnderline, 10143: DotLine, 10143: DashDotLine, 10143: DashDotDotLine, 10143: WaveUnderline, 10143: SpellCheckUnderline 10143: }; 10143: 10143: QTextCharFormat(); 10143: 10143: bool isValid() const { return isCharFormat(); } 10143: 10143: enum FontPropertiesInheritanceBehavior { 10143: FontPropertiesSpecifiedOnly, 10143: FontPropertiesAll 10143: }; 10143: void setFont(const QFont &font, FontPropertiesInheritanceBehavior behavior); 10143: void setFont(const QFont &font); 10143: QFont font() const; 10143: 10143: inline void setFontFamily(const QString &family) 10143: { setProperty(FontFamily, family); } 10143: inline QString fontFamily() const 10143: { return stringProperty(FontFamily); } 10143: 10143: inline void setFontPointSize(qreal size) 10143: { setProperty(FontPointSize, size); } 10143: inline qreal fontPointSize() const 10143: { return doubleProperty(FontPointSize); } 10143: 10143: inline void setFontWeight(int weight) 10143: { setProperty(FontWeight, weight); } 10143: inline int fontWeight() const 10143: { return hasProperty(FontWeight) ? intProperty(FontWeight) : QFont::Normal; } 10143: inline void setFontItalic(bool italic) 10143: { setProperty(FontItalic, italic); } 10143: inline bool fontItalic() const 10143: { return boolProperty(FontItalic); } 10143: inline void setFontCapitalization(QFont::Capitalization capitalization) 10143: { setProperty(FontCapitalization, capitalization); } 10143: inline QFont::Capitalization fontCapitalization() const 10143: { return static_cast(intProperty(FontCapitalization)); } 10143: inline void setFontLetterSpacingType(QFont::SpacingType letterSpacingType) 10143: { setProperty(FontLetterSpacingType, letterSpacingType); } 10143: inline QFont::SpacingType fontLetterSpacingType() const 10143: { return static_cast(intProperty(FontLetterSpacingType)); } 10143: inline void setFontLetterSpacing(qreal spacing) 10143: { setProperty(FontLetterSpacing, spacing); } 10143: inline qreal fontLetterSpacing() const 10143: { return doubleProperty(FontLetterSpacing); } 10143: inline void setFontWordSpacing(qreal spacing) 10143: { setProperty(FontWordSpacing, spacing); } 10143: inline qreal fontWordSpacing() const 10143: { return doubleProperty(FontWordSpacing); } 10143: 10143: inline void setFontUnderline(bool underline) 10143: { setProperty(TextUnderlineStyle, underline ? SingleUnderline : NoUnderline); } 10143: bool fontUnderline() const; 10143: 10143: inline void setFontOverline(bool overline) 10143: { setProperty(FontOverline, overline); } 10143: inline bool fontOverline() const 10143: { return boolProperty(FontOverline); } 10143: 10143: inline void setFontStrikeOut(bool strikeOut) 10143: { setProperty(FontStrikeOut, strikeOut); } 10143: inline bool fontStrikeOut() const 10143: { return boolProperty(FontStrikeOut); } 10143: 10143: inline void setUnderlineColor(const QColor &color) 10143: { setProperty(TextUnderlineColor, color); } 10143: inline QColor underlineColor() const 10143: { return colorProperty(TextUnderlineColor); } 10143: 10143: inline void setFontFixedPitch(bool fixedPitch) 10143: { setProperty(FontFixedPitch, fixedPitch); } 10143: inline bool fontFixedPitch() const 10143: { return boolProperty(FontFixedPitch); } 10143: 10143: inline void setFontStretch(int factor) 10143: { setProperty(FontStretch, factor); } 10143: inline int fontStretch() const 10143: { return intProperty(FontStretch); } 10143: 10143: inline void setFontStyleHint(QFont::StyleHint hint, QFont::StyleStrategy strategy = QFont::PreferDefault) 10143: { setProperty(FontStyleHint, hint); setProperty(FontStyleStrategy, strategy); } 10143: inline void setFontStyleStrategy(QFont::StyleStrategy strategy) 10143: { setProperty(FontStyleStrategy, strategy); } 10143: QFont::StyleHint fontStyleHint() const 10143: { return static_cast(intProperty(FontStyleHint)); } 10143: QFont::StyleStrategy fontStyleStrategy() const 10143: { return static_cast(intProperty(FontStyleStrategy)); } 10143: 10143: inline void setFontHintingPreference(QFont::HintingPreference hintingPreference) 10143: { 10143: setProperty(FontHintingPreference, hintingPreference); 10143: } 10143: 10143: inline QFont::HintingPreference fontHintingPreference() const 10143: { 10143: return static_cast(intProperty(FontHintingPreference)); 10143: } 10143: 10143: inline void setFontKerning(bool enable) 10143: { setProperty(FontKerning, enable); } 10143: inline bool fontKerning() const 10143: { return boolProperty(FontKerning); } 10143: 10143: void setUnderlineStyle(UnderlineStyle style); 10143: inline UnderlineStyle underlineStyle() const 10143: { return static_cast(intProperty(TextUnderlineStyle)); } 10143: 10143: inline void setVerticalAlignment(VerticalAlignment alignment) 10143: { setProperty(TextVerticalAlignment, alignment); } 10143: inline VerticalAlignment verticalAlignment() const 10143: { return static_cast(intProperty(TextVerticalAlignment)); } 10143: 10143: inline void setTextOutline(const QPen &pen) 10143: { setProperty(TextOutline, pen); } 10143: inline QPen textOutline() const 10143: { return penProperty(TextOutline); } 10143: 10143: inline void setToolTip(const QString &tip) 10143: { setProperty(TextToolTip, tip); } 10143: inline QString toolTip() const 10143: { return stringProperty(TextToolTip); } 10143: 10143: inline void setAnchor(bool anchor) 10143: { setProperty(IsAnchor, anchor); } 10143: inline bool isAnchor() const 10143: { return boolProperty(IsAnchor); } 10143: 10143: inline void setAnchorHref(const QString &value) 10143: { setProperty(AnchorHref, value); } 10143: inline QString anchorHref() const 10143: { return stringProperty(AnchorHref); } 10143: 10143: inline void setAnchorName(const QString &name) 10143: { setAnchorNames(QStringList(name)); } 10143: QString anchorName() const; 10143: 10143: inline void setAnchorNames(const QStringList &names) 10143: { setProperty(AnchorName, names); } 10143: QStringList anchorNames() const; 10143: 10143: inline void setTableCellRowSpan(int tableCellRowSpan); 10143: inline int tableCellRowSpan() const 10143: { int s = intProperty(TableCellRowSpan); if (s == 0) s = 1; return s; } 10143: inline void setTableCellColumnSpan(int tableCellColumnSpan); 10143: inline int tableCellColumnSpan() const 10143: { int s = intProperty(TableCellColumnSpan); if (s == 0) s = 1; return s; } 10143: 10143: protected: 10143: explicit QTextCharFormat(const QTextFormat &fmt); 10143: friend class QTextFormat; 10143: }; 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QTextCharFormat)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QTextCharFormat >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QTextCharFormat) }; static inline const char *name() { return "QTextCharFormat"; } }; inline void swap(QTextCharFormat &value1, QTextCharFormat &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 10143: 10143: inline void QTextCharFormat::setTableCellRowSpan(int _tableCellRowSpan) 10143: { 10143: if (_tableCellRowSpan <= 1) 10143: clearProperty(TableCellRowSpan); 10143: else 10143: setProperty(TableCellRowSpan, _tableCellRowSpan); 10143: } 10143: 10143: inline void QTextCharFormat::setTableCellColumnSpan(int _tableCellColumnSpan) 10143: { 10143: if (_tableCellColumnSpan <= 1) 10143: clearProperty(TableCellColumnSpan); 10143: else 10143: setProperty(TableCellColumnSpan, _tableCellColumnSpan); 10143: } 10143: 10143: class __attribute__((visibility("default"))) QTextBlockFormat : public QTextFormat 10143: { 10143: public: 10143: enum LineHeightTypes { 10143: SingleHeight = 0, 10143: ProportionalHeight = 1, 10143: FixedHeight = 2, 10143: MinimumHeight = 3, 10143: LineDistanceHeight = 4 10143: }; 10143: 10143: QTextBlockFormat(); 10143: 10143: bool isValid() const { return isBlockFormat(); } 10143: 10143: inline void setAlignment(Qt::Alignment alignment); 10143: inline Qt::Alignment alignment() const 10143: { int a = intProperty(BlockAlignment); if (a == 0) a = Qt::AlignLeft; return QFlag(a); } 10143: 10143: inline void setTopMargin(qreal margin) 10143: { setProperty(BlockTopMargin, margin); } 10143: inline qreal topMargin() const 10143: { return doubleProperty(BlockTopMargin); } 10143: 10143: inline void setBottomMargin(qreal margin) 10143: { setProperty(BlockBottomMargin, margin); } 10143: inline qreal bottomMargin() const 10143: { return doubleProperty(BlockBottomMargin); } 10143: 10143: inline void setLeftMargin(qreal margin) 10143: { setProperty(BlockLeftMargin, margin); } 10143: inline qreal leftMargin() const 10143: { return doubleProperty(BlockLeftMargin); } 10143: 10143: inline void setRightMargin(qreal margin) 10143: { setProperty(BlockRightMargin, margin); } 10143: inline qreal rightMargin() const 10143: { return doubleProperty(BlockRightMargin); } 10143: 10143: inline void setTextIndent(qreal aindent) 10143: { setProperty(TextIndent, aindent); } 10143: inline qreal textIndent() const 10143: { return doubleProperty(TextIndent); } 10143: 10143: inline void setIndent(int indent); 10143: inline int indent() const 10143: { return intProperty(BlockIndent); } 10143: 10143: inline void setLineHeight(qreal height, int heightType) 10143: { setProperty(LineHeight, height); setProperty(LineHeightType, heightType); } 10143: inline qreal lineHeight(qreal scriptLineHeight, qreal scaling) const; 10143: inline qreal lineHeight() const 10143: { return doubleProperty(LineHeight); } 10143: inline int lineHeightType() const 10143: { return intProperty(LineHeightType); } 10143: 10143: inline void setNonBreakableLines(bool b) 10143: { setProperty(BlockNonBreakableLines, b); } 10143: inline bool nonBreakableLines() const 10143: { return boolProperty(BlockNonBreakableLines); } 10143: 10143: inline void setPageBreakPolicy(PageBreakFlags flags) 10143: { setProperty(PageBreakPolicy, int(flags)); } 10143: inline PageBreakFlags pageBreakPolicy() const 10143: { return PageBreakFlags(intProperty(PageBreakPolicy)); } 10143: 10143: void setTabPositions(const QList &tabs); 10143: QList tabPositions() const; 10143: 10143: protected: 10143: explicit QTextBlockFormat(const QTextFormat &fmt); 10143: friend class QTextFormat; 10143: }; 10143: 10143: template<> class QTypeInfo { public: enum { isSpecialized = true, isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || ((Q_MOVABLE_TYPE) & Q_RELOCATABLE_TYPE), isLarge = (sizeof(QTextBlockFormat)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QTextBlockFormat >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QTextBlockFormat) }; static inline const char *name() { return "QTextBlockFormat"; } }; inline void swap(QTextBlockFormat &value1, QTextBlockFormat &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 10143: 10143: inline void QTextBlockFormat::setAlignment(Qt::Alignment aalignment) 10143: { setProperty(BlockAlignment, int(aalignment)); } 10143: 10143: inline void QTextBlockFormat::setIndent(int aindent) 10143: { setProperty(BlockIndent, aindent); } 10143: 10143: inline qreal QTextBlockFormat::lineHeight(qreal scriptLineHeight, qreal scaling = 1.0) const 10143: { 10143: switch(intProperty(LineHeightType)) { 10143: case SingleHeight: 10143: return(scriptLineHeight); 10143: case ProportionalHeight: 10143: return(scriptLineHeight * doubleProperty(LineHeight) / 100.0); 10143: case FixedHeight: 10143: return(doubleProperty(LineHeight) * scaling); 10143: case MinimumHeight: 10143: return(qMax(scriptLineHeight, doubleProperty(LineHeight) * scaling)); 10143: case LineDistanceHeight: 10143: return(scriptLineHeight + doubleProperty(LineHeight) * scaling); 10143: } 10143: return(0); 10143: } 10143: 10143: class __attribute__((visibility("default"))) QTextListFormat : public QTextFormat 10143: { 10143: public: 10143: QTextListFormat(); 10143: 10143: bool isValid() const { return isListFormat(); } 10143: 10143: enum Style { 10143: ListDisc = -1, 10143: ListCircle = -2, 10143: ListSquare = -3, 10143: ListDecimal = -4, 10143: ListLowerAlpha = -5, 10143: ListUpperAlpha = -6, 10143: ListLowerRoman = -7, 10143: ListUpperRoman = -8, 10143: ListStyleUndefined = 0 10143: }; 10143: 10143: inline void setStyle(Style style); 10143: inline Style style() const 10143: { return static_cast