RUN: /usr/share/launchpad-buildd/slavebin/slave-prep Forking launchpad-buildd slave process... Kernel version: Linux bos01-arm64-031 4.4.0-101-generic #124-Ubuntu SMP Fri Nov 10 18:30:44 UTC 2017 aarch64 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 18:22:18 ntpdate[1853]: adjust time server 10.211.37.1 offset 0.053593 sec RUN: /usr/share/launchpad-buildd/slavebin/in-target unpack-chroot --backend=chroot --series=bionic --arch=arm64 PACKAGEBUILD-14150071 /home/buildd/filecache-default/78cf3583c71e53d2c7312b9d7596a64d82c6adad Creating target for build PACKAGEBUILD-14150071 RUN: /usr/share/launchpad-buildd/slavebin/in-target mount-chroot --backend=chroot --series=bionic --arch=arm64 PACKAGEBUILD-14150071 Starting target for build PACKAGEBUILD-14150071 RUN: /usr/share/launchpad-buildd/slavebin/in-target override-sources-list --backend=chroot --series=bionic --arch=arm64 PACKAGEBUILD-14150071 '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-14150071 RUN: /usr/share/launchpad-buildd/slavebin/in-target add-trusted-keys --backend=chroot --series=bionic --arch=arm64 PACKAGEBUILD-14150071 Adding trusted keys to build-PACKAGEBUILD-14150071 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=arm64 PACKAGEBUILD-14150071 Updating target for build PACKAGEBUILD-14150071 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://ftpmaster.internal/ubuntu bionic-updates InRelease [65.4 kB] Get:6 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main arm64 Packages [13.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 arm64 Packages [973 kB] Get:9 http://ftpmaster.internal/ubuntu bionic/main Translation-en [518 kB] Get:10 http://ppa.launchpad.net/ubuntu-toolchain-r/volatile/ubuntu bionic/main arm64 Packages [7020 B] 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 arm64 Packages [8170 kB] Get:14 http://ftpmaster.internal/ubuntu bionic/universe Translation-en [4941 kB] Get:15 http://ftpmaster.internal/ubuntu bionic/multiverse arm64 Packages [127 kB] Get:16 http://ftpmaster.internal/ubuntu bionic/multiverse Translation-en [109 kB] Fetched 15.3 MB in 5s (2702 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 libstdc++-8-dev libtsan0 libubsan1 The following packages will be upgraded: adduser apt apt-transport-https base-files base-passwd binutils binutils-aarch64-linux-gnu binutils-common 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, 11 newly installed, 0 to remove and 0 not upgraded. Need to get 148 MB of archives. After this operation, 421 MB of additional disk space will be used. Get:1 http://ftpmaster.internal/ubuntu bionic/main arm64 perl-modules-5.26 all 5.26.1-3 [2761 kB] Get:2 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main arm64 gcc-8-base arm64 8-20180110-1ubuntu1 [17.8 kB] Get:3 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main arm64 libgcc1 arm64 1:8-20180110-1ubuntu1 [33.2 kB] Get:4 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main arm64 libstdc++6 arm64 8-20180110-1ubuntu1 [373 kB] Get:5 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main arm64 libgomp1 arm64 8-20180110-1ubuntu1 [62.2 kB] Get:6 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main arm64 libitm1 arm64 8-20180110-1ubuntu1 [24.8 kB] Get:7 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main arm64 libcc1-0 arm64 8-20180110-1ubuntu1 [35.3 kB] Get:8 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main arm64 libatomic1 arm64 8-20180110-1ubuntu1 [7232 B] Get:9 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main arm64 liblsan0 arm64 8-20180110-1ubuntu1 [121 kB] Get:10 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main arm64 libtsan0 arm64 8-20180110-1ubuntu1 [272 kB] Get:11 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main arm64 cpp-8 arm64 8-20180110-1ubuntu1 [29.9 MB] Get:12 http://ftpmaster.internal/ubuntu bionic/main arm64 libperl5.26 arm64 5.26.1-3 [3300 kB] Get:13 http://ftpmaster.internal/ubuntu bionic/main arm64 perl arm64 5.26.1-3 [201 kB] Get:14 http://ftpmaster.internal/ubuntu bionic/main arm64 perl-base arm64 5.26.1-3 [1234 kB] Get:15 http://ftpmaster.internal/ubuntu bionic/main arm64 libc6-dev arm64 2.26-0ubuntu2 [2013 kB] Get:16 http://ftpmaster.internal/ubuntu bionic/main arm64 libc-dev-bin arm64 2.26-0ubuntu2 [59.1 kB] Get:17 http://ftpmaster.internal/ubuntu bionic/main arm64 linux-libc-dev arm64 4.13.0-25.29 [939 kB] Get:18 http://ftpmaster.internal/ubuntu bionic/main arm64 libc6 arm64 2.26-0ubuntu2 [2246 kB] Get:19 http://ftpmaster.internal/ubuntu bionic/main arm64 init-system-helpers all 1.51 [37.3 kB] Get:20 http://ftpmaster.internal/ubuntu bionic/main arm64 base-files arm64 10ubuntu1 [55.9 kB] Get:21 http://ftpmaster.internal/ubuntu bionic/main arm64 bsdutils arm64 1:2.30.2-0.1ubuntu1 [54.6 kB] Get:22 http://ftpmaster.internal/ubuntu bionic/main arm64 coreutils arm64 8.26-3ubuntu4 [1059 kB] Get:23 http://ftpmaster.internal/ubuntu bionic/main arm64 debianutils arm64 4.8.4 [84.7 kB] Get:24 http://ftpmaster.internal/ubuntu bionic/main arm64 dpkg arm64 1.19.0.4ubuntu1 [1100 kB] Get:25 http://ftpmaster.internal/ubuntu bionic/main arm64 e2fslibs arm64 1.43.8-1ubuntu1 [138 kB] Get:26 http://ftpmaster.internal/ubuntu bionic/main arm64 e2fsprogs arm64 1.43.8-1ubuntu1 [455 kB] Get:27 http://ftpmaster.internal/ubuntu bionic/main arm64 findutils arm64 4.6.0+git+20170828-2 [278 kB] Get:28 http://ftpmaster.internal/ubuntu bionic/main arm64 libuuid1 arm64 2.30.2-0.1ubuntu1 [14.1 kB] Get:29 http://ftpmaster.internal/ubuntu bionic/main arm64 libblkid1 arm64 2.30.2-0.1ubuntu1 [100 kB] Get:30 http://ftpmaster.internal/ubuntu bionic/main arm64 libsmartcols1 arm64 2.30.2-0.1ubuntu1 [67.0 kB] Get:31 http://ftpmaster.internal/ubuntu bionic/main arm64 libfdisk1 arm64 2.30.2-0.1ubuntu1 [132 kB] Get:32 http://ftpmaster.internal/ubuntu bionic/main arm64 libpcre3 arm64 2:8.39-8 [203 kB] Get:33 http://ftpmaster.internal/ubuntu bionic/main arm64 libselinux1 arm64 2.7-2 [57.4 kB] Get:34 http://ftpmaster.internal/ubuntu bionic/main arm64 libmount1 arm64 2.30.2-0.1ubuntu1 [111 kB] Get:35 http://ftpmaster.internal/ubuntu bionic/main arm64 fdisk arm64 2.30.2-0.1ubuntu1 [93.9 kB] Get:36 http://ftpmaster.internal/ubuntu bionic/main arm64 util-linux arm64 2.30.2-0.1ubuntu1 [796 kB] Get:37 http://ftpmaster.internal/ubuntu bionic/main arm64 base-passwd arm64 3.5.44 [45.6 kB] Get:38 http://ftpmaster.internal/ubuntu bionic/main arm64 libc-bin arm64 2.26-0ubuntu2 [475 kB] Get:39 http://ftpmaster.internal/ubuntu bionic/main arm64 sysvinit-utils arm64 2.88dsf-59.10ubuntu1 [17.7 kB] Get:40 http://ftpmaster.internal/ubuntu bionic/main arm64 libudev1 arm64 235-3ubuntu3 [46.3 kB] Get:41 http://ftpmaster.internal/ubuntu bionic/main arm64 libapt-pkg5.0 arm64 1.6~alpha5 [740 kB] Get:42 http://ftpmaster.internal/ubuntu bionic/main arm64 debconf all 1.5.65 [124 kB] Get:43 http://ftpmaster.internal/ubuntu bionic/main arm64 adduser all 3.116ubuntu1 [163 kB] Get:44 http://ftpmaster.internal/ubuntu bionic/main arm64 libgpg-error0 arm64 1.27-5 [32.8 kB] Get:45 http://ftpmaster.internal/ubuntu bionic/main arm64 libgcrypt20 arm64 1.8.1-4 [325 kB] Get:46 http://ftpmaster.internal/ubuntu bionic/main arm64 gpgv arm64 2.1.15-1ubuntu8 [156 kB] Get:47 http://ftpmaster.internal/ubuntu bionic/main arm64 libseccomp2 arm64 2.3.1-2.1ubuntu3 [33.9 kB] Get:48 http://ftpmaster.internal/ubuntu bionic/main arm64 apt arm64 1.6~alpha5 [1112 kB] Get:49 http://ftpmaster.internal/ubuntu bionic/main arm64 libapparmor1 arm64 2.11.0-2ubuntu18 [25.8 kB] Get:50 http://ftpmaster.internal/ubuntu bionic/main arm64 libcap2 arm64 1:2.25-1.2 [12.2 kB] Get:51 http://ftpmaster.internal/ubuntu bionic/main arm64 libidn11 arm64 1.33-2.1 [43.0 kB] Get:52 http://ftpmaster.internal/ubuntu bionic/main arm64 libip4tc0 arm64 1.6.1-2ubuntu2 [18.3 kB] Get:53 http://ftpmaster.internal/ubuntu bionic/main arm64 mount arm64 2.30.2-0.1ubuntu1 [102 kB] Get:54 http://ftpmaster.internal/ubuntu bionic/main arm64 systemd arm64 235-3ubuntu3 [2487 kB] Get:55 http://ftpmaster.internal/ubuntu bionic/main arm64 libsystemd0 arm64 235-3ubuntu3 [165 kB] Get:56 http://ftpmaster.internal/ubuntu bionic/main arm64 init arm64 1.51 [5864 B] Get:57 http://ftpmaster.internal/ubuntu bionic/main arm64 systemd-sysv arm64 235-3ubuntu3 [13.1 kB] Get:58 http://ftpmaster.internal/ubuntu bionic/main arm64 libcap-ng0 arm64 0.7.7-3.1 [10.0 kB] Get:59 http://ftpmaster.internal/ubuntu bionic/main arm64 libcomerr2 arm64 1.43.8-1ubuntu1 [10.7 kB] Get:60 http://ftpmaster.internal/ubuntu bionic/main arm64 libsemanage-common all 2.7-2 [6916 B] Get:61 http://ftpmaster.internal/ubuntu bionic/main arm64 libsemanage1 arm64 2.7-2 [70.1 kB] Get:62 http://ftpmaster.internal/ubuntu bionic/main arm64 libss2 arm64 1.43.8-1ubuntu1 [9892 B] Get:63 http://ftpmaster.internal/ubuntu bionic/main arm64 libnettle6 arm64 3.3-2 [96.3 kB] Get:64 http://ftpmaster.internal/ubuntu bionic/main arm64 libhogweed4 arm64 3.3-2 [128 kB] Get:65 http://ftpmaster.internal/ubuntu bionic/main arm64 libp11-kit0 arm64 0.23.9-2 [138 kB] Get:66 http://ftpmaster.internal/ubuntu bionic/main arm64 libtasn1-6 arm64 4.12-3 [32.1 kB] Get:67 http://ftpmaster.internal/ubuntu bionic/main arm64 g++-7 arm64 7.2.0-18ubuntu2 [6128 kB] Get:68 http://ftpmaster.internal/ubuntu bionic/main arm64 gcc-7 arm64 7.2.0-18ubuntu2 [5969 kB] Get:69 http://ppa.launchpad.net/ubuntu-toolchain-r/volatile/ubuntu bionic/main arm64 cpp arm64 4:8-20121108-1ubuntu0.2 [42.2 kB] Get:70 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main arm64 libasan5 arm64 8-20180110-1ubuntu1 [349 kB] Get:71 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main arm64 libubsan1 arm64 8-20180110-1ubuntu1 [114 kB] Get:72 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main arm64 libgcc-8-dev arm64 8-20180110-1ubuntu1 [870 kB] Get:73 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main arm64 gcc-8 arm64 8-20180110-1ubuntu1 [29.7 MB] Get:74 http://ftpmaster.internal/ubuntu bionic/main arm64 cpp-7 arm64 7.2.0-18ubuntu2 [5320 kB] Get:75 http://ftpmaster.internal/ubuntu bionic/main arm64 libbinutils arm64 2.29.1-12ubuntu1 [426 kB] Get:76 http://ftpmaster.internal/ubuntu bionic/main arm64 binutils arm64 2.29.1-12ubuntu1 [3388 B] Get:77 http://ftpmaster.internal/ubuntu bionic/main arm64 binutils-common arm64 2.29.1-12ubuntu1 [190 kB] Get:78 http://ftpmaster.internal/ubuntu bionic/main arm64 binutils-aarch64-linux-gnu arm64 2.29.1-12ubuntu1 [2153 kB] Get:79 http://ftpmaster.internal/ubuntu bionic/main arm64 libasan4 arm64 7.2.0-18ubuntu2 [336 kB] Get:80 http://ftpmaster.internal/ubuntu bionic/main arm64 libubsan0 arm64 7.2.0-18ubuntu2 [117 kB] Get:81 http://ftpmaster.internal/ubuntu bionic/main arm64 libstdc++-7-dev arm64 7.2.0-18ubuntu2 [1456 kB] Get:82 http://ftpmaster.internal/ubuntu bionic/main arm64 libgcc-7-dev arm64 7.2.0-18ubuntu2 [835 kB] Get:83 http://ftpmaster.internal/ubuntu bionic/main arm64 gcc-7-base arm64 7.2.0-18ubuntu2 [19.1 kB] Get:84 http://ftpmaster.internal/ubuntu bionic/main arm64 lsb-base all 9.20170808ubuntu1 [12.5 kB] Get:85 http://ftpmaster.internal/ubuntu bionic/main arm64 sensible-utils all 0.0.11 [14.8 kB] Get:86 http://ftpmaster.internal/ubuntu bionic/main arm64 libassuan0 arm64 2.5.1-1 [28.8 kB] Get:87 http://ftpmaster.internal/ubuntu bionic/main arm64 pinentry-curses arm64 1.0.0-3 [31.3 kB] Get:88 http://ftpmaster.internal/ubuntu bionic/main arm64 libnpth0 arm64 1.5-3 [6844 B] Get:89 http://ftpmaster.internal/ubuntu bionic/main arm64 gnupg arm64 2.1.15-1ubuntu8 [706 kB] Get:90 http://ftpmaster.internal/ubuntu bionic/main arm64 gnupg-agent arm64 2.1.15-1ubuntu8 [213 kB] Get:91 http://ftpmaster.internal/ubuntu bionic/main arm64 libsqlite3-0 arm64 3.21.0-1 [422 kB] Get:92 http://ftpmaster.internal/ubuntu bionic/main arm64 libroken18-heimdal arm64 7.5.0+dfsg-1 [35.4 kB] Get:93 http://ftpmaster.internal/ubuntu bionic/main arm64 libasn1-8-heimdal arm64 7.5.0+dfsg-1 [130 kB] Get:94 http://ftpmaster.internal/ubuntu bionic/main arm64 libheimbase1-heimdal arm64 7.5.0+dfsg-1 [24.9 kB] Get:95 http://ftpmaster.internal/ubuntu bionic/main arm64 libhcrypto4-heimdal arm64 7.5.0+dfsg-1 [76.4 kB] Get:96 http://ftpmaster.internal/ubuntu bionic/main arm64 libwind0-heimdal arm64 7.5.0+dfsg-1 [47.0 kB] Get:97 http://ftpmaster.internal/ubuntu bionic/main arm64 libhx509-5-heimdal arm64 7.5.0+dfsg-1 [88.5 kB] Get:98 http://ftpmaster.internal/ubuntu bionic/main arm64 libkrb5-26-heimdal arm64 7.5.0+dfsg-1 [170 kB] Get:99 http://ftpmaster.internal/ubuntu bionic/main arm64 libheimntlm0-heimdal arm64 7.5.0+dfsg-1 [13.3 kB] Get:100 http://ftpmaster.internal/ubuntu bionic/main arm64 libgssapi3-heimdal arm64 7.5.0+dfsg-1 [79.1 kB] Get:101 http://ftpmaster.internal/ubuntu bionic/main arm64 libssl1.0.0 arm64 1.0.2g-1ubuntu14 [717 kB] Get:102 http://ftpmaster.internal/ubuntu bionic/main arm64 multiarch-support arm64 2.26-0ubuntu2 [6832 B] Get:103 http://ftpmaster.internal/ubuntu bionic/main arm64 openssl arm64 1.0.2g-1ubuntu14 [466 kB] Get:104 http://ftpmaster.internal/ubuntu bionic/main arm64 tzdata all 2017c-1 [188 kB] Get:105 http://ftpmaster.internal/ubuntu bionic/main arm64 libidn2-0 arm64 2.0.4-1 [89.1 kB] Get:106 http://ftpmaster.internal/ubuntu bionic/main arm64 libkeyutils1 arm64 1.5.9-9.2ubuntu1 [8708 B] Get:107 http://ftpmaster.internal/ubuntu bionic/main arm64 libpng16-16 arm64 1.6.34-1 [161 kB] Get:108 http://ftpmaster.internal/ubuntu bionic/universe arm64 apt-transport-https all 1.6~alpha5 [1692 B] Get:109 http://ftpmaster.internal/ubuntu bionic/main arm64 dpkg-dev all 1.19.0.4ubuntu1 [607 kB] Get:110 http://ppa.launchpad.net/ubuntu-toolchain-r/volatile/ubuntu bionic/main arm64 gcc arm64 4:8-20121108-1ubuntu0.2 [5172 B] Get:111 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main arm64 libstdc++-8-dev arm64 8-20180110-1ubuntu1 [1498 kB] Get:112 http://ftpmaster.internal/ubuntu bionic/main arm64 libdpkg-perl all 1.19.0.4ubuntu1 [211 kB] Get:113 http://ftpmaster.internal/ubuntu bionic/main arm64 build-essential arm64 12.4ubuntu1 [4754 B] Get:114 http://ftpmaster.internal/ubuntu bionic/main arm64 libnghttp2-14 arm64 1.29.0-1 [68.7 kB] Get:115 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic/main arm64 g++-8 arm64 8-20180110-1ubuntu1 [32.4 MB] Get:116 http://ftpmaster.internal/ubuntu bionic/main arm64 libpsl5 arm64 0.19.1-4 [40.3 kB] Get:117 http://ftpmaster.internal/ubuntu bionic/main arm64 libcurl3-gnutls arm64 7.57.0-1ubuntu1 [177 kB] Get:118 http://ftpmaster.internal/ubuntu bionic/main arm64 liblockfile-bin arm64 1.14-1.1 [11.1 kB] Get:119 http://ftpmaster.internal/ubuntu bionic/main arm64 liblockfile1 arm64 1.14-1.1 [6192 B] Get:120 http://ftpmaster.internal/ubuntu bionic/main arm64 optipng arm64 0.7.6-1.1 [78.1 kB] Get:121 http://ppa.launchpad.net/ubuntu-toolchain-r/volatile/ubuntu bionic/main arm64 g++ arm64 4:8-20121108-1ubuntu0.2 [1520 B] debconf: delaying package configuration, since apt-utils is not installed Fetched 148 MB in 4s (32.7 MB/s) (Reading database ... 12563 files and directories currently installed.) Preparing to unpack .../perl_5.26.1-3_arm64.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_arm64.deb ... Unpacking libperl5.26:arm64 (5.26.1-3) over (5.26.0-8ubuntu1) ... Preparing to unpack .../perl-base_5.26.1-3_arm64.deb ... Unpacking perl-base (5.26.1-3) over (5.26.0-8ubuntu1) ... Setting up perl-base (5.26.1-3) ... (Reading database ... 12563 files and directories currently installed.) Preparing to unpack .../libc6-dev_2.26-0ubuntu2_arm64.deb ... Unpacking libc6-dev:arm64 (2.26-0ubuntu2) over (2.26-0ubuntu1) ... Preparing to unpack .../libc-dev-bin_2.26-0ubuntu2_arm64.deb ... Unpacking libc-dev-bin (2.26-0ubuntu2) over (2.26-0ubuntu1) ... Preparing to unpack .../linux-libc-dev_4.13.0-25.29_arm64.deb ... Unpacking linux-libc-dev:arm64 (4.13.0-25.29) over (4.13.0-11.12) ... Selecting previously unselected package gcc-8-base:arm64. Preparing to unpack .../gcc-8-base_8-20180110-1ubuntu1_arm64.deb ... Unpacking gcc-8-base:arm64 (8-20180110-1ubuntu1) ... Setting up gcc-8-base:arm64 (8-20180110-1ubuntu1) ... (Reading database ... 12570 files and directories currently installed.) Preparing to unpack .../libgcc1_1%3a8-20180110-1ubuntu1_arm64.deb ... Unpacking libgcc1:arm64 (1:8-20180110-1ubuntu1) over (1:7.2.0-6ubuntu1) ... Setting up libgcc1:arm64 (1:8-20180110-1ubuntu1) ... (Reading database ... 12570 files and directories currently installed.) Preparing to unpack .../libc6_2.26-0ubuntu2_arm64.deb ... Unpacking libc6:arm64 (2.26-0ubuntu2) over (2.26-0ubuntu1) ... Setting up libc6:arm64 (2.26-0ubuntu2) ... (Reading database ... 12570 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 ... 12570 files and directories currently installed.) Preparing to unpack .../base-files_10ubuntu1_arm64.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 ... 12570 files and directories currently installed.) Preparing to unpack .../bsdutils_1%3a2.30.2-0.1ubuntu1_arm64.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 ... 12570 files and directories currently installed.) Preparing to unpack .../coreutils_8.26-3ubuntu4_arm64.deb ... Unpacking coreutils (8.26-3ubuntu4) over (8.26-3ubuntu3) ... Setting up coreutils (8.26-3ubuntu4) ... (Reading database ... 12570 files and directories currently installed.) Preparing to unpack .../debianutils_4.8.4_arm64.deb ... Unpacking debianutils (4.8.4) over (4.8.2) ... Setting up debianutils (4.8.4) ... (Reading database ... 12570 files and directories currently installed.) Preparing to unpack .../dpkg_1.19.0.4ubuntu1_arm64.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 ... 12572 files and directories currently installed.) Preparing to unpack .../e2fslibs_1.43.8-1ubuntu1_arm64.deb ... Unpacking e2fslibs:arm64 (1.43.8-1ubuntu1) over (1.43.5-1) ... Setting up e2fslibs:arm64 (1.43.8-1ubuntu1) ... (Reading database ... 12572 files and directories currently installed.) Preparing to unpack .../e2fsprogs_1.43.8-1ubuntu1_arm64.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 ... 12572 files and directories currently installed.) Preparing to unpack .../findutils_4.6.0+git+20170828-2_arm64.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 ... 12572 files and directories currently installed.) Preparing to unpack .../libuuid1_2.30.2-0.1ubuntu1_arm64.deb ... Unpacking libuuid1:arm64 (2.30.2-0.1ubuntu1) over (2.30.1-0ubuntu4) ... Setting up libuuid1:arm64 (2.30.2-0.1ubuntu1) ... (Reading database ... 12572 files and directories currently installed.) Preparing to unpack .../libblkid1_2.30.2-0.1ubuntu1_arm64.deb ... Unpacking libblkid1:arm64 (2.30.2-0.1ubuntu1) over (2.30.1-0ubuntu4) ... Setting up libblkid1:arm64 (2.30.2-0.1ubuntu1) ... (Reading database ... 12572 files and directories currently installed.) Preparing to unpack .../libsmartcols1_2.30.2-0.1ubuntu1_arm64.deb ... Unpacking libsmartcols1:arm64 (2.30.2-0.1ubuntu1) over (2.30.1-0ubuntu4) ... Setting up libsmartcols1:arm64 (2.30.2-0.1ubuntu1) ... (Reading database ... 12572 files and directories currently installed.) Preparing to unpack .../libfdisk1_2.30.2-0.1ubuntu1_arm64.deb ... Unpacking libfdisk1:arm64 (2.30.2-0.1ubuntu1) over (2.30.1-0ubuntu4) ... Setting up libfdisk1:arm64 (2.30.2-0.1ubuntu1) ... (Reading database ... 12572 files and directories currently installed.) Preparing to unpack .../libpcre3_2%3a8.39-8_arm64.deb ... Unpacking libpcre3:arm64 (2:8.39-8) over (2:8.39-4) ... Setting up libpcre3:arm64 (2:8.39-8) ... (Reading database ... 12572 files and directories currently installed.) Preparing to unpack .../libselinux1_2.7-2_arm64.deb ... Unpacking libselinux1:arm64 (2.7-2) over (2.7-1) ... Setting up libselinux1:arm64 (2.7-2) ... (Reading database ... 12572 files and directories currently installed.) Preparing to unpack .../libmount1_2.30.2-0.1ubuntu1_arm64.deb ... Unpacking libmount1:arm64 (2.30.2-0.1ubuntu1) over (2.30.1-0ubuntu4) ... Setting up libmount1:arm64 (2.30.2-0.1ubuntu1) ... (Reading database ... 12572 files and directories currently installed.) Preparing to unpack .../fdisk_2.30.2-0.1ubuntu1_arm64.deb ... Unpacking fdisk (2.30.2-0.1ubuntu1) over (2.30.1-0ubuntu4) ... Setting up fdisk (2.30.2-0.1ubuntu1) ... (Reading database ... 12572 files and directories currently installed.) Preparing to unpack .../util-linux_2.30.2-0.1ubuntu1_arm64.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 ... 12573 files and directories currently installed.) Preparing to unpack .../base-passwd_3.5.44_arm64.deb ... Unpacking base-passwd (3.5.44) over (3.5.43) ... Setting up base-passwd (3.5.44) ... (Reading database ... 12573 files and directories currently installed.) Preparing to unpack .../libc-bin_2.26-0ubuntu2_arm64.deb ... Unpacking libc-bin (2.26-0ubuntu2) over (2.26-0ubuntu1) ... Setting up libc-bin (2.26-0ubuntu2) ... (Reading database ... 12573 files and directories currently installed.) Preparing to unpack .../sysvinit-utils_2.88dsf-59.10ubuntu1_arm64.deb ... Unpacking sysvinit-utils (2.88dsf-59.10ubuntu1) over (2.88dsf-59.8git1) ... Setting up sysvinit-utils (2.88dsf-59.10ubuntu1) ... (Reading database ... 12573 files and directories currently installed.) Preparing to unpack .../libstdc++6_8-20180110-1ubuntu1_arm64.deb ... Unpacking libstdc++6:arm64 (8-20180110-1ubuntu1) over (7.2.0-6ubuntu1) ... Setting up libstdc++6:arm64 (8-20180110-1ubuntu1) ... (Reading database ... 12573 files and directories currently installed.) Preparing to unpack .../libudev1_235-3ubuntu3_arm64.deb ... Unpacking libudev1:arm64 (235-3ubuntu3) over (234-2ubuntu10) ... Setting up libudev1:arm64 (235-3ubuntu3) ... (Reading database ... 12573 files and directories currently installed.) Preparing to unpack .../libapt-pkg5.0_1.6~alpha5_arm64.deb ... Unpacking libapt-pkg5.0:arm64 (1.6~alpha5) over (1.5~rc4) ... Setting up libapt-pkg5.0:arm64 (1.6~alpha5) ... (Reading database ... 12573 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 ... 12567 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 ... 12565 files and directories currently installed.) Preparing to unpack .../libgpg-error0_1.27-5_arm64.deb ... Unpacking libgpg-error0:arm64 (1.27-5) over (1.27-3) ... Setting up libgpg-error0:arm64 (1.27-5) ... (Reading database ... 12565 files and directories currently installed.) Preparing to unpack .../libgcrypt20_1.8.1-4_arm64.deb ... Unpacking libgcrypt20:arm64 (1.8.1-4) over (1.7.8-2ubuntu1) ... Setting up libgcrypt20:arm64 (1.8.1-4) ... (Reading database ... 12565 files and directories currently installed.) Preparing to unpack .../gpgv_2.1.15-1ubuntu8_arm64.deb ... Unpacking gpgv (2.1.15-1ubuntu8) over (2.1.15-1ubuntu7) ... Setting up gpgv (2.1.15-1ubuntu8) ... (Reading database ... 12565 files and directories currently installed.) Preparing to unpack .../libseccomp2_2.3.1-2.1ubuntu3_arm64.deb ... Unpacking libseccomp2:arm64 (2.3.1-2.1ubuntu3) over (2.3.1-2.1ubuntu2) ... Setting up libseccomp2:arm64 (2.3.1-2.1ubuntu3) ... (Reading database ... 12565 files and directories currently installed.) Preparing to unpack .../apt_1.6~alpha5_arm64.deb ... Unpacking apt (1.6~alpha5) over (1.5~rc4) ... Setting up apt (1.6~alpha5) ... (Reading database ... 12561 files and directories currently installed.) Preparing to unpack .../libapparmor1_2.11.0-2ubuntu18_arm64.deb ... Unpacking libapparmor1:arm64 (2.11.0-2ubuntu18) over (2.11.0-2ubuntu17) ... Preparing to unpack .../libcap2_1%3a2.25-1.2_arm64.deb ... Unpacking libcap2:arm64 (1:2.25-1.2) over (1:2.25-1) ... Preparing to unpack .../libidn11_1.33-2.1_arm64.deb ... Unpacking libidn11:arm64 (1.33-2.1) over (1.33-2) ... Setting up libidn11:arm64 (1.33-2.1) ... (Reading database ... 12561 files and directories currently installed.) Preparing to unpack .../libip4tc0_1.6.1-2ubuntu2_arm64.deb ... Unpacking libip4tc0:arm64 (1.6.1-2ubuntu2) over (1.6.1-2ubuntu1) ... Preparing to unpack .../mount_2.30.2-0.1ubuntu1_arm64.deb ... Unpacking mount (2.30.2-0.1ubuntu1) over (2.30.1-0ubuntu4) ... Preparing to unpack .../systemd_235-3ubuntu3_arm64.deb ... Unpacking systemd (235-3ubuntu3) over (234-2ubuntu10) ... Preparing to unpack .../libsystemd0_235-3ubuntu3_arm64.deb ... Unpacking libsystemd0:arm64 (235-3ubuntu3) over (234-2ubuntu10) ... Setting up libsystemd0:arm64 (235-3ubuntu3) ... (Reading database ... 12567 files and directories currently installed.) Preparing to unpack .../archives/init_1.51_arm64.deb ... Unpacking init (1.51) over (1.49ubuntu1) ... Setting up libapparmor1:arm64 (2.11.0-2ubuntu18) ... Setting up libcap2:arm64 (1:2.25-1.2) ... Setting up libip4tc0:arm64 (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 ... 12567 files and directories currently installed.) Preparing to unpack .../systemd-sysv_235-3ubuntu3_arm64.deb ... Unpacking systemd-sysv (235-3ubuntu3) over (234-2ubuntu10) ... Preparing to unpack .../libcap-ng0_0.7.7-3.1_arm64.deb ... Unpacking libcap-ng0:arm64 (0.7.7-3.1) over (0.7.7-3build1) ... Setting up libcap-ng0:arm64 (0.7.7-3.1) ... (Reading database ... 12567 files and directories currently installed.) Preparing to unpack .../libcomerr2_1.43.8-1ubuntu1_arm64.deb ... Unpacking libcomerr2:arm64 (1.43.8-1ubuntu1) over (1.43.5-1) ... Setting up libcomerr2:arm64 (1.43.8-1ubuntu1) ... (Reading database ... 12567 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 ... 12567 files and directories currently installed.) Preparing to unpack .../libsemanage1_2.7-2_arm64.deb ... Unpacking libsemanage1:arm64 (2.7-2) over (2.7-1) ... Setting up libsemanage1:arm64 (2.7-2) ... (Reading database ... 12567 files and directories currently installed.) Preparing to unpack .../libss2_1.43.8-1ubuntu1_arm64.deb ... Unpacking libss2:arm64 (1.43.8-1ubuntu1) over (1.43.5-1) ... Setting up libss2:arm64 (1.43.8-1ubuntu1) ... (Reading database ... 12567 files and directories currently installed.) Preparing to unpack .../libnettle6_3.3-2_arm64.deb ... Unpacking libnettle6:arm64 (3.3-2) over (3.3-1) ... Setting up libnettle6:arm64 (3.3-2) ... (Reading database ... 12567 files and directories currently installed.) Preparing to unpack .../libhogweed4_3.3-2_arm64.deb ... Unpacking libhogweed4:arm64 (3.3-2) over (3.3-1) ... Setting up libhogweed4:arm64 (3.3-2) ... (Reading database ... 12567 files and directories currently installed.) Preparing to unpack .../libp11-kit0_0.23.9-2_arm64.deb ... Unpacking libp11-kit0:arm64 (0.23.9-2) over (0.23.7-3) ... Setting up libp11-kit0:arm64 (0.23.9-2) ... (Reading database ... 12567 files and directories currently installed.) Preparing to unpack .../libtasn1-6_4.12-3_arm64.deb ... Unpacking libtasn1-6:arm64 (4.12-3) over (4.12-2.1) ... Setting up libtasn1-6:arm64 (4.12-3) ... (Reading database ... 12567 files and directories currently installed.) Preparing to unpack .../00-libgomp1_8-20180110-1ubuntu1_arm64.deb ... Unpacking libgomp1:arm64 (8-20180110-1ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../01-libitm1_8-20180110-1ubuntu1_arm64.deb ... Unpacking libitm1:arm64 (8-20180110-1ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../02-g++-7_7.2.0-18ubuntu2_arm64.deb ... Unpacking g++-7 (7.2.0-18ubuntu2) over (7.2.0-6ubuntu1) ... Preparing to unpack .../03-gcc-7_7.2.0-18ubuntu2_arm64.deb ... Unpacking gcc-7 (7.2.0-18ubuntu2) over (7.2.0-6ubuntu1) ... Preparing to unpack .../04-cpp-7_7.2.0-18ubuntu2_arm64.deb ... Unpacking cpp-7 (7.2.0-18ubuntu2) over (7.2.0-6ubuntu1) ... Preparing to unpack .../05-libcc1-0_8-20180110-1ubuntu1_arm64.deb ... Unpacking libcc1-0:arm64 (8-20180110-1ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../06-libbinutils_2.29.1-12ubuntu1_arm64.deb ... Unpacking libbinutils:arm64 (2.29.1-12ubuntu1) over (2.29.1-1ubuntu1) ... Preparing to unpack .../07-binutils_2.29.1-12ubuntu1_arm64.deb ... Unpacking binutils (2.29.1-12ubuntu1) over (2.29.1-1ubuntu1) ... Preparing to unpack .../08-binutils-common_2.29.1-12ubuntu1_arm64.deb ... Unpacking binutils-common:arm64 (2.29.1-12ubuntu1) over (2.29.1-1ubuntu1) ... Preparing to unpack .../09-binutils-aarch64-linux-gnu_2.29.1-12ubuntu1_arm64.deb ... Unpacking binutils-aarch64-linux-gnu (2.29.1-12ubuntu1) over (2.29.1-1ubuntu1) ... Preparing to unpack .../10-libatomic1_8-20180110-1ubuntu1_arm64.deb ... Unpacking libatomic1:arm64 (8-20180110-1ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../11-libasan4_7.2.0-18ubuntu2_arm64.deb ... Unpacking libasan4:arm64 (7.2.0-18ubuntu2) over (7.2.0-6ubuntu1) ... Selecting previously unselected package liblsan0:arm64. Preparing to unpack .../12-liblsan0_8-20180110-1ubuntu1_arm64.deb ... Unpacking liblsan0:arm64 (8-20180110-1ubuntu1) ... Selecting previously unselected package libtsan0:arm64. Preparing to unpack .../13-libtsan0_8-20180110-1ubuntu1_arm64.deb ... Unpacking libtsan0:arm64 (8-20180110-1ubuntu1) ... Preparing to unpack .../14-libubsan0_7.2.0-18ubuntu2_arm64.deb ... Unpacking libubsan0:arm64 (7.2.0-18ubuntu2) over (7.2.0-6ubuntu1) ... Preparing to unpack .../15-libstdc++-7-dev_7.2.0-18ubuntu2_arm64.deb ... Unpacking libstdc++-7-dev:arm64 (7.2.0-18ubuntu2) over (7.2.0-6ubuntu1) ... Preparing to unpack .../16-libgcc-7-dev_7.2.0-18ubuntu2_arm64.deb ... Unpacking libgcc-7-dev:arm64 (7.2.0-18ubuntu2) over (7.2.0-6ubuntu1) ... Preparing to unpack .../17-gcc-7-base_7.2.0-18ubuntu2_arm64.deb ... Unpacking gcc-7-base:arm64 (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_arm64.deb ... Unpacking libassuan0:arm64 (2.5.1-1) over (2.4.3-3) ... Preparing to unpack .../21-pinentry-curses_1.0.0-3_arm64.deb ... Unpacking pinentry-curses (1.0.0-3) over (1.0.0-2) ... Preparing to unpack .../22-libnpth0_1.5-3_arm64.deb ... Unpacking libnpth0:arm64 (1.5-3) over (1.5-2) ... Preparing to unpack .../23-gnupg_2.1.15-1ubuntu8_arm64.deb ... Unpacking gnupg (2.1.15-1ubuntu8) over (2.1.15-1ubuntu7) ... Preparing to unpack .../24-gnupg-agent_2.1.15-1ubuntu8_arm64.deb ... Unpacking gnupg-agent (2.1.15-1ubuntu8) over (2.1.15-1ubuntu7) ... Preparing to unpack .../25-libsqlite3-0_3.21.0-1_arm64.deb ... Unpacking libsqlite3-0:arm64 (3.21.0-1) over (3.19.3-3) ... Preparing to unpack .../26-libroken18-heimdal_7.5.0+dfsg-1_arm64.deb ... Unpacking libroken18-heimdal:arm64 (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../27-libasn1-8-heimdal_7.5.0+dfsg-1_arm64.deb ... Unpacking libasn1-8-heimdal:arm64 (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../28-libheimbase1-heimdal_7.5.0+dfsg-1_arm64.deb ... Unpacking libheimbase1-heimdal:arm64 (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../29-libhcrypto4-heimdal_7.5.0+dfsg-1_arm64.deb ... Unpacking libhcrypto4-heimdal:arm64 (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../30-libwind0-heimdal_7.5.0+dfsg-1_arm64.deb ... Unpacking libwind0-heimdal:arm64 (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../31-libhx509-5-heimdal_7.5.0+dfsg-1_arm64.deb ... Unpacking libhx509-5-heimdal:arm64 (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../32-libkrb5-26-heimdal_7.5.0+dfsg-1_arm64.deb ... Unpacking libkrb5-26-heimdal:arm64 (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../33-libheimntlm0-heimdal_7.5.0+dfsg-1_arm64.deb ... Unpacking libheimntlm0-heimdal:arm64 (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../34-libgssapi3-heimdal_7.5.0+dfsg-1_arm64.deb ... Unpacking libgssapi3-heimdal:arm64 (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../35-libssl1.0.0_1.0.2g-1ubuntu14_arm64.deb ... Unpacking libssl1.0.0:arm64 (1.0.2g-1ubuntu14) over (1.0.2g-1ubuntu13) ... Preparing to unpack .../36-multiarch-support_2.26-0ubuntu2_arm64.deb ... Unpacking multiarch-support (2.26-0ubuntu2) over (2.26-0ubuntu1) ... Preparing to unpack .../37-openssl_1.0.2g-1ubuntu14_arm64.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_arm64.deb ... Unpacking libidn2-0:arm64 (2.0.4-1) over (2.0.2-5) ... Preparing to unpack .../40-libkeyutils1_1.5.9-9.2ubuntu1_arm64.deb ... Unpacking libkeyutils1:arm64 (1.5.9-9.2ubuntu1) over (1.5.9-9ubuntu1) ... Preparing to unpack .../41-libpng16-16_1.6.34-1_arm64.deb ... Unpacking libpng16-16:arm64 (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_arm64.deb ... Unpacking cpp-8 (8-20180110-1ubuntu1) ... Preparing to unpack .../44-cpp_4%3a8-20121108-1ubuntu0.2_arm64.deb ... Unpacking cpp (4:8-20121108-1ubuntu0.2) over (4:7.2.0-1ubuntu1) ... Selecting previously unselected package libasan5:arm64. Preparing to unpack .../45-libasan5_8-20180110-1ubuntu1_arm64.deb ... Unpacking libasan5:arm64 (8-20180110-1ubuntu1) ... Selecting previously unselected package libubsan1:arm64. Preparing to unpack .../46-libubsan1_8-20180110-1ubuntu1_arm64.deb ... Unpacking libubsan1:arm64 (8-20180110-1ubuntu1) ... Selecting previously unselected package libgcc-8-dev:arm64. Preparing to unpack .../47-libgcc-8-dev_8-20180110-1ubuntu1_arm64.deb ... Unpacking libgcc-8-dev:arm64 (8-20180110-1ubuntu1) ... Selecting previously unselected package gcc-8. Preparing to unpack .../48-gcc-8_8-20180110-1ubuntu1_arm64.deb ... Unpacking gcc-8 (8-20180110-1ubuntu1) ... Preparing to unpack .../49-gcc_4%3a8-20121108-1ubuntu0.2_arm64.deb ... Unpacking gcc (4:8-20121108-1ubuntu0.2) over (4:7.2.0-1ubuntu1) ... Selecting previously unselected package libstdc++-8-dev:arm64. Preparing to unpack .../50-libstdc++-8-dev_8-20180110-1ubuntu1_arm64.deb ... Unpacking libstdc++-8-dev:arm64 (8-20180110-1ubuntu1) ... Selecting previously unselected package g++-8. Preparing to unpack .../51-g++-8_8-20180110-1ubuntu1_arm64.deb ... Unpacking g++-8 (8-20180110-1ubuntu1) ... Preparing to unpack .../52-g++_4%3a8-20121108-1ubuntu0.2_arm64.deb ... Unpacking g++ (4:8-20121108-1ubuntu0.2) over (4:7.2.0-1ubuntu1) ... Preparing to unpack .../53-dpkg-dev_1.19.0.4ubuntu1_all.deb ... Unpacking dpkg-dev (1.19.0.4ubuntu1) over (1.18.24ubuntu1) ... Preparing to unpack .../54-libdpkg-perl_1.19.0.4ubuntu1_all.deb ... Unpacking libdpkg-perl (1.19.0.4ubuntu1) over (1.18.24ubuntu1) ... Preparing to unpack .../55-build-essential_12.4ubuntu1_arm64.deb ... Unpacking build-essential (12.4ubuntu1) over (12.1ubuntu2) ... Selecting previously unselected package libnghttp2-14:arm64. Preparing to unpack .../56-libnghttp2-14_1.29.0-1_arm64.deb ... Unpacking libnghttp2-14:arm64 (1.29.0-1) ... Preparing to unpack .../57-libpsl5_0.19.1-4_arm64.deb ... Unpacking libpsl5:arm64 (0.19.1-4) over (0.18.0-2) ... Preparing to unpack .../58-libcurl3-gnutls_7.57.0-1ubuntu1_arm64.deb ... Unpacking libcurl3-gnutls:arm64 (7.57.0-1ubuntu1) over (7.55.1-1ubuntu1) ... Preparing to unpack .../59-liblockfile-bin_1.14-1.1_arm64.deb ... Unpacking liblockfile-bin (1.14-1.1) over (1.14-1) ... Preparing to unpack .../60-liblockfile1_1.14-1.1_arm64.deb ... Unpacking liblockfile1:arm64 (1.14-1.1) over (1.14-1) ... Preparing to unpack .../61-optipng_0.7.6-1.1_arm64.deb ... Unpacking optipng (0.7.6-1.1) over (0.7.6-1build1) ... Setting up libnpth0:arm64 (1.5-3) ... Setting up cpp-8 (8-20180110-1ubuntu1) ... Setting up libgomp1:arm64 (8-20180110-1ubuntu1) ... Setting up libatomic1:arm64 (8-20180110-1ubuntu1) ... Setting up cpp (4:8-20121108-1ubuntu0.2) ... Setting up liblockfile-bin (1.14-1.1) ... Setting up libcc1-0:arm64 (8-20180110-1ubuntu1) ... Setting up apt-transport-https (1.6~alpha5) ... Setting up libidn2-0:arm64 (2.0.4-1) ... Setting up libssl1.0.0:arm64 (1.0.2g-1ubuntu14) ... Setting up libnghttp2-14:arm64 (1.29.0-1) ... Setting up libpng16-16:arm64 (1.6.34-1) ... Setting up libpsl5:arm64 (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 18:23:35 UTC 2018. Universal Time is now: Mon Jan 15 18:23:35 UTC 2018. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up systemd-sysv (235-3ubuntu3) ... Setting up libtsan0:arm64 (8-20180110-1ubuntu1) ... Setting up liblockfile1:arm64 (1.14-1.1) ... Setting up linux-libc-dev:arm64 (4.13.0-25.29) ... Setting up libroken18-heimdal:arm64 (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:arm64 (8-20180110-1ubuntu1) ... Setting up gcc-7-base:arm64 (7.2.0-18ubuntu2) ... Setting up binutils-common:arm64 (2.29.1-12ubuntu1) ... Setting up sensible-utils (0.0.11) ... Processing triggers for libc-bin (2.26-0ubuntu2) ... Setting up libperl5.26:arm64 (5.26.1-3) ... Setting up libheimbase1-heimdal:arm64 (7.5.0+dfsg-1) ... Setting up openssl (1.0.2g-1ubuntu14) ... Setting up libsqlite3-0:arm64 (3.21.0-1) ... Setting up libc-dev-bin (2.26-0ubuntu2) ... Setting up libkeyutils1:arm64 (1.5.9-9.2ubuntu1) ... Setting up libc6-dev:arm64 (2.26-0ubuntu2) ... Setting up libasan5:arm64 (8-20180110-1ubuntu1) ... Setting up libassuan0:arm64 (2.5.1-1) ... Setting up libitm1:arm64 (8-20180110-1ubuntu1) ... Setting up libubsan1:arm64 (8-20180110-1ubuntu1) ... Setting up libwind0-heimdal:arm64 (7.5.0+dfsg-1) ... Setting up libasan4:arm64 (7.2.0-18ubuntu2) ... Setting up libbinutils:arm64 (2.29.1-12ubuntu1) ... Setting up libcurl3-gnutls:arm64 (7.57.0-1ubuntu1) ... Setting up init (1.51) ... Setting up libasn1-8-heimdal:arm64 (7.5.0+dfsg-1) ... Setting up libubsan0:arm64 (7.2.0-18ubuntu2) ... Setting up libhcrypto4-heimdal:arm64 (7.5.0+dfsg-1) ... Setting up libhx509-5-heimdal:arm64 (7.5.0+dfsg-1) ... Setting up libgcc-7-dev:arm64 (7.2.0-18ubuntu2) ... Setting up cpp-7 (7.2.0-18ubuntu2) ... Setting up libstdc++-7-dev:arm64 (7.2.0-18ubuntu2) ... Setting up perl (5.26.1-3) ... Setting up binutils-aarch64-linux-gnu (2.29.1-12ubuntu1) ... Setting up pinentry-curses (1.0.0-3) ... Setting up libgcc-8-dev:arm64 (8-20180110-1ubuntu1) ... Setting up binutils (2.29.1-12ubuntu1) ... Setting up libkrb5-26-heimdal:arm64 (7.5.0+dfsg-1) ... Setting up gnupg-agent (2.1.15-1ubuntu8) ... Setting up libheimntlm0-heimdal:arm64 (7.5.0+dfsg-1) ... Setting up libstdc++-8-dev:arm64 (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:arm64 (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-14150071 arm64 bionic -c chroot:build-PACKAGEBUILD-14150071 --arch=arm64 --dist=bionic --nolog qtlocation-opensource-src_5.9.3+dfsg-0ubuntu1.dsc Initiating build PACKAGEBUILD-14150071 with 4 jobs across 4 processor cores. Kernel reported to sbuild: 4.4.0-101-generic #124-Ubuntu SMP Fri Nov 10 18:30:44 UTC 2017 aarch64 sbuild (Debian sbuild) 0.67.0 (26 Dec 2015) on bos01-arm64-031.buildd +==============================================================================+ | qtlocation-opensource-src 5.9.3+dfsg-0ubuntu1 (arm64) 15 Jan 2018 18:23 | +==============================================================================+ Package: qtlocation-opensource-src Version: 5.9.3+dfsg-0ubuntu1 Source Version: 5.9.3+dfsg-0ubuntu1 Distribution: bionic Machine Architecture: arm64 Host Architecture: arm64 Build Architecture: arm64 I: NOTICE: Log filtering will replace 'build/qtlocation-opensource-src-GLxjZb/qtlocation-opensource-src-5.9.3+dfsg' with '<>' I: NOTICE: Log filtering will replace 'build/qtlocation-opensource-src-GLxjZb' with '<>' I: NOTICE: Log filtering will replace 'home/buildd/build-PACKAGEBUILD-14150071/chroot-autobuild' with '<>' +------------------------------------------------------------------------------+ | Fetch source files | +------------------------------------------------------------------------------+ Local sources ------------- qtlocation-opensource-src_5.9.3+dfsg-0ubuntu1.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-ZlZOKj/apt_archive/sbuild-build-depends-core-dummy.deb'. Ign:1 copy:/<>/resolver-ZlZOKj/apt_archive ./ InRelease Get:2 copy:/<>/resolver-ZlZOKj/apt_archive ./ Release [2119 B] Ign:3 copy:/<>/resolver-ZlZOKj/apt_archive ./ Release.gpg Get:4 copy:/<>/resolver-ZlZOKj/apt_archive ./ Sources [214 B] Get:5 copy:/<>/resolver-ZlZOKj/apt_archive ./ Packages [525 B] Fetched 2858 B in 0s (58.9 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 852 B of archives. After this operation, 0 B of additional disk space will be used. Get:1 copy:/<>/resolver-ZlZOKj/apt_archive ./ sbuild-build-depends-core-dummy 0.invalid.0 [852 B] debconf: delaying package configuration, since apt-utils is not installed Fetched 852 B in 0s (70.4 kB/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_arm64.deb ... Unpacking sbuild-build-depends-core-dummy (0.invalid.0) ... Setting up sbuild-build-depends-core-dummy (0.invalid.0) ... Merged Build-Depends: debhelper (>= 10.3), libicu-dev, libqt5opengl5-dev (>= 5.9.2+dfsg~), pkg-kde-tools, qml-module-qttest (>= 5.9.2~), qtbase5-private-dev (>= 5.9.2+dfsg~), qtdeclarative5-private-dev (>= 5.9.2~), xauth, xvfb, zlib1g-dev Filtered Build-Depends: debhelper (>= 10.3), libicu-dev, libqt5opengl5-dev (>= 5.9.2+dfsg~), pkg-kde-tools, qml-module-qttest (>= 5.9.2~), qtbase5-private-dev (>= 5.9.2+dfsg~), qtdeclarative5-private-dev (>= 5.9.2~), xauth, xvfb, zlib1g-dev dpkg-deb: building package 'sbuild-build-depends-qtlocation-opensource-src-dummy' in '/<>/resolver-7Deu5R/apt_archive/sbuild-build-depends-qtlocation-opensource-src-dummy.deb'. Ign:1 copy:/<>/resolver-7Deu5R/apt_archive ./ InRelease Get:2 copy:/<>/resolver-7Deu5R/apt_archive ./ Release [2119 B] Ign:3 copy:/<>/resolver-7Deu5R/apt_archive ./ Release.gpg Get:4 copy:/<>/resolver-7Deu5R/apt_archive ./ Sources [320 B] Get:5 copy:/<>/resolver-7Deu5R/apt_archive ./ Packages [642 B] Fetched 3081 B in 0s (55.4 kB/s) Reading package lists... Reading package lists... +------------------------------------------------------------------------------+ | Install qtlocation-opensource-src 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 libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhx509-5-heimdal libidn2-0 libkrb5-26-heimdal libldap-2.4-2 libldap-common libnghttp2-14 libpsl5 libroken18-heimdal librtmp1 libsasl2-2 libsasl2-modules-db libwind0-heimdal Use 'apt autoremove' to remove them. The following additional packages will be installed: autoconf automake autopoint autotools-dev bsdmainutils debhelper dh-autoreconf dh-python dh-strip-nondeterminism diffstat file fontconfig fontconfig-config fonts-dejavu-core gettext gettext-base gir1.2-glib-2.0 gir1.2-harfbuzz-0.0 groff-base icu-devtools intltool-debian libapt-pkg-perl libarchive-zip-perl libavahi-client3 libavahi-common-data libavahi-common3 libboost-filesystem1.65.1 libboost-system1.65.1 libbsd0 libcapnp-0.6.1 libcgi-pm-perl libclass-accessor-perl libclone-perl libcroco3 libcups2 libdbus-1-3 libdigest-hmac-perl libdouble-conversion1 libdrm-amdgpu1 libdrm-common libdrm-dev libdrm-freedreno1 libdrm-nouveau2 libdrm-radeon1 libdrm-tegra0 libdrm2 libedit2 libegl1-mesa libegl1-mesa-dev libelf1 libemail-valid-perl libevdev2 libexpat1 libexporter-tiny-perl libfile-basedir-perl libfile-stripnondeterminism-perl libfontconfig1 libfontenc1 libfreetype6 libgbm1 libgirepository-1.0-1 libgl1-mesa-dev libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgles2-mesa libgles2-mesa-dev libglib2.0-0 libglib2.0-bin libglib2.0-data libglib2.0-dev libglib2.0-dev-bin libglu1-mesa libglu1-mesa-dev libgraphite2-3 libgraphite2-dev libgudev-1.0-0 libharfbuzz-dev libharfbuzz-gobject0 libharfbuzz-icu0 libharfbuzz0b libhtml-parser-perl libhtml-tagset-perl libice6 libicu-dev libicu-le-hb-dev libicu-le-hb0 libicu60 libinput-bin libinput-dev libinput10 libio-pty-perl libio-socket-inet6-perl libio-socket-ssl-perl libio-string-perl libipc-run-perl libipc-system-simple-perl libjpeg-turbo8 libjpeg8 liblist-moreutils-perl libllvm5.0 liblocale-gettext-perl libmagic-mgc libmagic1 libmailtools-perl libmirclient9 libmircommon7 libmircore1 libmirprotobuf3 libmpdec2 libmtdev1 libnet-dns-perl libnet-domain-tld-perl libnet-ip-perl libnet-smtp-ssl-perl libnet-ssleay-perl libparse-debianchangelog-perl libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpipeline1 libpixman-1-0 libprotobuf-lite10 libpthread-stubs0-dev libpython3-stdlib libpython3.6-minimal libpython3.6-stdlib libqt5concurrent5 libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5opengl5 libqt5opengl5-dev libqt5printsupport5 libqt5qml5 libqt5quick5 libqt5quickparticles5 libqt5quicktest5 libqt5quickwidgets5 libqt5sql5 libqt5test5 libqt5widgets5 libqt5xml5 libsensors4 libsigsegv2 libsm6 libsocket6-perl libsub-name-perl libtext-levenshtein-perl libtimedate-perl libtool libudev-dev liburi-perl libwacom-common libwacom2 libwayland-bin libwayland-client0 libwayland-cursor0 libwayland-dev libwayland-egl1-mesa libwayland-server0 libx11-6 libx11-data libx11-dev libx11-xcb-dev libx11-xcb1 libxau-dev libxau6 libxaw7 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 libxcb1 libxcb1-dev libxdamage-dev libxdamage1 libxdmcp-dev libxdmcp6 libxext-dev libxext6 libxfixes-dev libxfixes3 libxfont2 libxi6 libxkbcommon-dev libxkbcommon-x11-0 libxkbcommon0 libxkbfile1 libxml-libxml-perl libxml-namespacesupport-perl libxml-sax-base-perl libxml-sax-perl libxml-simple-perl libxml2 libxmu6 libxmuu1 libxpm4 libxshmfence-dev libxshmfence1 libxt6 libxxf86vm-dev libxxf86vm1 libyaml-libyaml-perl lintian m4 man-db mesa-common-dev mime-support netbase patchutils perl-openssl-defaults pkg-config pkg-kde-tools po-debconf python3 python3-distutils python3-minimal python3.6 python3.6-2to3 python3.6-minimal qml-module-qtquick2 qml-module-qttest qt5-qmake qt5-qmake-bin qt5-qmltooling-plugins qtbase5-dev qtbase5-dev-tools qtbase5-private-dev qtchooser qtdeclarative5-dev qtdeclarative5-private-dev t1utils ucf x11-common x11-xkb-utils 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 xauth xkb-data xorg-sgml-doctools xserver-common xtrans-dev xvfb zlib1g-dev Suggested packages: autoconf-archive gnu-standards autoconf-doc wamerican | wordlist whois vacation dh-make dwz gettext-doc libasprintf-dev libgettextpo-dev groff cups-common libglib2.0-doc libgraphite2-utils libdata-dump-perl icu-doc libhtml-template-perl libthai0 qt5-image-formats-plugins qtwayland5 lm-sensors libtool-doc gfortran | fortran95-compiler gcj-jdk libwww-perl libxcb-doc libxext-doc binutils-multiarch libtext-template-perl m4-doc less www-browser apparmor cdbs libmail-box-perl python3-doc python3-tk python3-venv python3.6-venv python3.6-doc binfmt-support default-libmysqlclient-dev firebird-dev libpq-dev libsqlite3-dev unixodbc-dev Recommended packages: curl | wget | lynx libcgi-fast-perl dbus libarchive-cpio-perl libtxc-dxtn-s2tc | libtxc-dxtn-s2tc0 | libtxc-dxtn0 shared-mime-info xdg-user-dirs libhttp-message-perl libauthen-sasl-perl qttranslations5-l10n libqt5svg5 qt5-gtk-platformtheme libqt5sql5-sqlite | libqt5sql5-mysql | libqt5sql5-odbc | libqt5sql5-psql | libqt5sql5-tds | libqt5sql5-ibase libltdl-dev libwacom-bin libx11-doc libxml-sax-expat-perl libperlio-gzip-perl libwww-perl libmail-sendmail-perl xfonts-base The following packages will be REMOVED: pkg-create-dbgsym* The following NEW packages will be installed: autoconf automake autopoint autotools-dev bsdmainutils debhelper dh-autoreconf dh-python dh-strip-nondeterminism diffstat file fontconfig fontconfig-config fonts-dejavu-core gettext gettext-base gir1.2-glib-2.0 gir1.2-harfbuzz-0.0 groff-base icu-devtools intltool-debian libapt-pkg-perl libarchive-zip-perl libavahi-client3 libavahi-common-data libavahi-common3 libboost-filesystem1.65.1 libboost-system1.65.1 libbsd0 libcapnp-0.6.1 libcgi-pm-perl libclass-accessor-perl libclone-perl libcroco3 libcups2 libdbus-1-3 libdigest-hmac-perl libdouble-conversion1 libdrm-amdgpu1 libdrm-common libdrm-dev libdrm-freedreno1 libdrm-nouveau2 libdrm-radeon1 libdrm-tegra0 libdrm2 libedit2 libegl1-mesa libegl1-mesa-dev libelf1 libemail-valid-perl libevdev2 libexpat1 libexporter-tiny-perl libfile-basedir-perl libfile-stripnondeterminism-perl libfontconfig1 libfontenc1 libfreetype6 libgbm1 libgirepository-1.0-1 libgl1-mesa-dev libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgles2-mesa libgles2-mesa-dev libglib2.0-0 libglib2.0-bin libglib2.0-data libglib2.0-dev libglib2.0-dev-bin libglu1-mesa libglu1-mesa-dev libgraphite2-3 libgraphite2-dev libgudev-1.0-0 libharfbuzz-dev libharfbuzz-gobject0 libharfbuzz-icu0 libharfbuzz0b libhtml-parser-perl libhtml-tagset-perl libice6 libicu-dev libicu-le-hb-dev libicu-le-hb0 libicu60 libinput-bin libinput-dev libinput10 libio-pty-perl libio-socket-inet6-perl libio-socket-ssl-perl libio-string-perl libipc-run-perl libipc-system-simple-perl libjpeg-turbo8 libjpeg8 liblist-moreutils-perl libllvm5.0 liblocale-gettext-perl libmagic-mgc libmagic1 libmailtools-perl libmirclient9 libmircommon7 libmircore1 libmirprotobuf3 libmpdec2 libmtdev1 libnet-dns-perl libnet-domain-tld-perl libnet-ip-perl libnet-smtp-ssl-perl libnet-ssleay-perl libparse-debianchangelog-perl libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpipeline1 libpixman-1-0 libprotobuf-lite10 libpthread-stubs0-dev libpython3-stdlib libpython3.6-minimal libpython3.6-stdlib libqt5concurrent5 libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5opengl5 libqt5opengl5-dev libqt5printsupport5 libqt5qml5 libqt5quick5 libqt5quickparticles5 libqt5quicktest5 libqt5quickwidgets5 libqt5sql5 libqt5test5 libqt5widgets5 libqt5xml5 libsensors4 libsigsegv2 libsm6 libsocket6-perl libsub-name-perl libtext-levenshtein-perl libtimedate-perl libtool libudev-dev liburi-perl libwacom-common libwacom2 libwayland-bin libwayland-client0 libwayland-cursor0 libwayland-dev libwayland-egl1-mesa libwayland-server0 libx11-6 libx11-data libx11-dev libx11-xcb-dev libx11-xcb1 libxau-dev libxau6 libxaw7 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 libxcb1 libxcb1-dev libxdamage-dev libxdamage1 libxdmcp-dev libxdmcp6 libxext-dev libxext6 libxfixes-dev libxfixes3 libxfont2 libxi6 libxkbcommon-dev libxkbcommon-x11-0 libxkbcommon0 libxkbfile1 libxml-libxml-perl libxml-namespacesupport-perl libxml-sax-base-perl libxml-sax-perl libxml-simple-perl libxml2 libxmu6 libxmuu1 libxpm4 libxshmfence-dev libxshmfence1 libxt6 libxxf86vm-dev libxxf86vm1 libyaml-libyaml-perl lintian m4 man-db mesa-common-dev mime-support netbase patchutils perl-openssl-defaults pkg-config pkg-kde-tools po-debconf python3 python3-distutils python3-minimal python3.6 python3.6-2to3 python3.6-minimal qml-module-qtquick2 qml-module-qttest qt5-qmake qt5-qmake-bin qt5-qmltooling-plugins qtbase5-dev qtbase5-dev-tools qtbase5-private-dev qtchooser qtdeclarative5-dev qtdeclarative5-private-dev sbuild-build-depends-qtlocation-opensource-src-dummy t1utils ucf x11-common x11-xkb-utils 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 xauth xkb-data xorg-sgml-doctools xserver-common xtrans-dev xvfb zlib1g-dev 0 upgraded, 277 newly installed, 1 to remove and 0 not upgraded. Need to get 78.1 MB of archives. After this operation, 456 MB of additional disk space will be used. Get:1 copy:/<>/resolver-7Deu5R/apt_archive ./ sbuild-build-depends-qtlocation-opensource-src-dummy 0.invalid.0 [964 B] Get:2 http://ftpmaster.internal/ubuntu bionic/main arm64 liblocale-gettext-perl arm64 1.07-3build2 [16.3 kB] Get:3 http://ftpmaster.internal/ubuntu bionic/main arm64 libpython3.6-minimal arm64 3.6.4-2 [524 kB] Get:4 http://ftpmaster.internal/ubuntu bionic/main arm64 libexpat1 arm64 2.2.5-3 [69.2 kB] Get:5 http://ftpmaster.internal/ubuntu bionic/main arm64 python3.6-minimal arm64 3.6.4-2 [1286 kB] Get:6 http://ftpmaster.internal/ubuntu bionic/main arm64 python3-minimal arm64 3.6.3-0ubuntu2 [23.3 kB] Get:7 http://ftpmaster.internal/ubuntu bionic/main arm64 mime-support all 3.60ubuntu1 [30.1 kB] Get:8 http://ftpmaster.internal/ubuntu bionic/main arm64 libmpdec2 arm64 2.4.2-1 [74.3 kB] Get:9 http://ftpmaster.internal/ubuntu bionic/main arm64 libpython3.6-stdlib arm64 3.6.4-2 [1598 kB] Get:10 http://ftpmaster.internal/ubuntu bionic/main arm64 python3.6-2to3 all 3.6.4-2 [13.9 kB] Get:11 http://ftpmaster.internal/ubuntu bionic/main arm64 python3-distutils all 3.6.4~rc1-6 [145 kB] Get:12 http://ftpmaster.internal/ubuntu bionic/main arm64 python3.6 arm64 3.6.4-2 [181 kB] Get:13 http://ftpmaster.internal/ubuntu bionic/main arm64 libpython3-stdlib arm64 3.6.3-0ubuntu2 [6820 B] Get:14 http://ftpmaster.internal/ubuntu bionic/main arm64 dh-python all 2.20170125 [83.7 kB] Get:15 http://ftpmaster.internal/ubuntu bionic/main arm64 python3 arm64 3.6.3-0ubuntu2 [8712 B] Get:16 http://ftpmaster.internal/ubuntu bionic/main arm64 libxau6 arm64 1:1.0.8-1 [7590 B] Get:17 http://ftpmaster.internal/ubuntu bionic/main arm64 libbsd0 arm64 0.8.6-3 [36.6 kB] Get:18 http://ftpmaster.internal/ubuntu bionic/main arm64 libxdmcp6 arm64 1:1.1.2-3 [9694 B] Get:19 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb1 arm64 1.12-1ubuntu1 [37.0 kB] Get:20 http://ftpmaster.internal/ubuntu bionic/main arm64 libx11-data all 2:1.6.4-3 [114 kB] Get:21 http://ftpmaster.internal/ubuntu bionic/main arm64 libx11-6 arm64 2:1.6.4-3 [515 kB] Get:22 http://ftpmaster.internal/ubuntu bionic/main arm64 libxext6 arm64 2:1.3.3-1 [25.4 kB] Get:23 http://ftpmaster.internal/ubuntu bionic/main arm64 groff-base arm64 1.22.3-9 [1129 kB] Get:24 http://ftpmaster.internal/ubuntu bionic/main arm64 bsdmainutils arm64 9.0.14ubuntu1 [173 kB] Get:25 http://ftpmaster.internal/ubuntu bionic/main arm64 libpipeline1 arm64 1.5.0-1 [22.0 kB] Get:26 http://ftpmaster.internal/ubuntu bionic/main arm64 man-db arm64 2.7.6.1-4 [873 kB] Get:27 http://ftpmaster.internal/ubuntu bionic/main arm64 libfreetype6 arm64 2.8-0.2ubuntu2 [289 kB] Get:28 http://ftpmaster.internal/ubuntu bionic/main arm64 ucf all 3.0036 [52.9 kB] Get:29 http://ftpmaster.internal/ubuntu bionic/main arm64 fonts-dejavu-core all 2.37-1 [1041 kB] Get:30 http://ftpmaster.internal/ubuntu bionic/main arm64 fontconfig-config all 2.12.6-0ubuntu1 [55.5 kB] Get:31 http://ftpmaster.internal/ubuntu bionic/main arm64 libfontconfig1 arm64 2.12.6-0ubuntu1 [125 kB] Get:32 http://ftpmaster.internal/ubuntu bionic/main arm64 fontconfig arm64 2.12.6-0ubuntu1 [167 kB] Get:33 http://ftpmaster.internal/ubuntu bionic/main arm64 libjpeg-turbo8 arm64 1.5.2-0ubuntu5 [91.1 kB] Get:34 http://ftpmaster.internal/ubuntu bionic/main arm64 libmtdev1 arm64 1.1.5-1ubuntu2 [13.0 kB] Get:35 http://ftpmaster.internal/ubuntu bionic/main arm64 x11-common all 1:7.7+19ubuntu3 [22.0 kB] Get:36 http://ftpmaster.internal/ubuntu bionic/main arm64 libice6 arm64 2:1.0.9-2 [33.7 kB] Get:37 http://ftpmaster.internal/ubuntu bionic/main arm64 libsm6 arm64 2:1.2.2-1 [13.7 kB] Get:38 http://ftpmaster.internal/ubuntu bionic/main arm64 libxshmfence1 arm64 1.2-1 [4868 B] Get:39 http://ftpmaster.internal/ubuntu bionic/main arm64 libxxf86vm1 arm64 1:1.1.4-1 [9492 B] Get:40 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-icccm4 arm64 0.4.1-1ubuntu1 [9554 B] Get:41 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-keysyms1 arm64 0.4.0-1 [8002 B] Get:42 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-render0 arm64 1.12-1ubuntu1 [12.5 kB] Get:43 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-render-util0 arm64 0.3.9-1 [9060 B] Get:44 http://ftpmaster.internal/ubuntu bionic/main arm64 libmagic-mgc arm64 1:5.32-1 [184 kB] Get:45 http://ftpmaster.internal/ubuntu bionic/main arm64 libmagic1 arm64 1:5.32-1 [61.7 kB] Get:46 http://ftpmaster.internal/ubuntu bionic/main arm64 file arm64 1:5.32-1 [21.6 kB] Get:47 http://ftpmaster.internal/ubuntu bionic/main arm64 libdbus-1-3 arm64 1.12.2-1ubuntu1 [152 kB] Get:48 http://ftpmaster.internal/ubuntu bionic/main arm64 libelf1 arm64 0.170-0.2 [40.7 kB] Get:49 http://ftpmaster.internal/ubuntu bionic/main arm64 libglib2.0-0 arm64 2.54.1-1ubuntu1 [980 kB] Get:50 http://ftpmaster.internal/ubuntu bionic/main arm64 libglib2.0-data all 2.54.1-1ubuntu1 [4250 B] Get:51 http://ftpmaster.internal/ubuntu bionic/main arm64 libgraphite2-3 arm64 1.3.10-8 [65.7 kB] Get:52 http://ftpmaster.internal/ubuntu bionic/main arm64 libharfbuzz0b arm64 1.7.2-1 [207 kB] Get:53 http://ftpmaster.internal/ubuntu bionic/main arm64 libicu-le-hb0 arm64 1.0.3+git161113-4 [14.4 kB] Get:54 http://ftpmaster.internal/ubuntu bionic/main arm64 libicu60 arm64 60.2-1ubuntu1 [7998 kB] Get:55 http://ftpmaster.internal/ubuntu bionic/main arm64 libxml2 arm64 2.9.4+dfsg1-5.2ubuntu1 [553 kB] Get:56 http://ftpmaster.internal/ubuntu bionic/main arm64 netbase all 5.4 [12.7 kB] Get:57 http://ftpmaster.internal/ubuntu bionic/main arm64 xkb-data all 2.19-1.1ubuntu1 [312 kB] Get:58 http://ftpmaster.internal/ubuntu bionic/main arm64 gettext-base arm64 0.19.8.1-4ubuntu2 [46.4 kB] Get:59 http://ftpmaster.internal/ubuntu bionic/main arm64 libgirepository-1.0-1 arm64 1.54.1-4 [67.2 kB] Get:60 http://ftpmaster.internal/ubuntu bionic/main arm64 gir1.2-glib-2.0 arm64 1.54.1-4 [131 kB] Get:61 http://ftpmaster.internal/ubuntu bionic/main arm64 libdrm-common all 2.4.89-1 [4940 B] Get:62 http://ftpmaster.internal/ubuntu bionic/main arm64 libdrm2 arm64 2.4.89-1 [27.3 kB] Get:63 http://ftpmaster.internal/ubuntu bionic/main arm64 libedit2 arm64 3.1-20170329-1 [63.4 kB] Get:64 http://ftpmaster.internal/ubuntu bionic/main arm64 libxmuu1 arm64 2:1.1.2-2 [9502 B] Get:65 http://ftpmaster.internal/ubuntu bionic/main arm64 xauth arm64 1:1.0.10-1 [22.4 kB] Get:66 http://ftpmaster.internal/ubuntu bionic/main arm64 libsigsegv2 arm64 2.11-1 [12.5 kB] Get:67 http://ftpmaster.internal/ubuntu bionic/main arm64 m4 arm64 1.4.18-1 [185 kB] Get:68 http://ftpmaster.internal/ubuntu bionic/main arm64 autoconf all 2.69-11 [322 kB] Get:69 http://ftpmaster.internal/ubuntu bionic/main arm64 autotools-dev all 20171216.1 [39.7 kB] Get:70 http://ftpmaster.internal/ubuntu bionic/main arm64 automake all 1:1.15.1-3ubuntu1 [509 kB] Get:71 http://ftpmaster.internal/ubuntu bionic/main arm64 autopoint all 0.19.8.1-4ubuntu2 [412 kB] Get:72 http://ftpmaster.internal/ubuntu bionic/main arm64 libtool all 2.4.6-2 [194 kB] Get:73 http://ftpmaster.internal/ubuntu bionic/main arm64 dh-autoreconf all 15 [15.8 kB] Get:74 http://ftpmaster.internal/ubuntu bionic/main arm64 libarchive-zip-perl all 1.60-1 [83.9 kB] Get:75 http://ftpmaster.internal/ubuntu bionic/main arm64 libfile-stripnondeterminism-perl all 0.040-1 [13.9 kB] Get:76 http://ftpmaster.internal/ubuntu bionic/main arm64 libtimedate-perl all 2.3000-2 [37.5 kB] Get:77 http://ftpmaster.internal/ubuntu bionic/main arm64 dh-strip-nondeterminism all 0.040-1 [5196 B] Get:78 http://ftpmaster.internal/ubuntu bionic/main arm64 libcroco3 arm64 0.6.12-2 [68.2 kB] Get:79 http://ftpmaster.internal/ubuntu bionic/main arm64 gettext arm64 0.19.8.1-4ubuntu2 [1027 kB] Get:80 http://ftpmaster.internal/ubuntu bionic/main arm64 intltool-debian all 0.35.0+20060710.4 [24.9 kB] Get:81 http://ftpmaster.internal/ubuntu bionic/main arm64 po-debconf all 1.0.20 [232 kB] Get:82 http://ftpmaster.internal/ubuntu bionic/main arm64 debhelper all 11ubuntu1 [887 kB] Get:83 http://ftpmaster.internal/ubuntu bionic/main arm64 diffstat arm64 1.61-1build1 [21.5 kB] Get:84 http://ftpmaster.internal/ubuntu bionic/main arm64 gir1.2-harfbuzz-0.0 arm64 1.7.2-1 [18.5 kB] Get:85 http://ftpmaster.internal/ubuntu bionic/main arm64 icu-devtools arm64 60.2-1ubuntu1 [170 kB] Get:86 http://ftpmaster.internal/ubuntu bionic/main arm64 libapt-pkg-perl arm64 0.1.33build1 [67.2 kB] Get:87 http://ftpmaster.internal/ubuntu bionic/main arm64 libavahi-common-data arm64 0.7-3ubuntu1 [22.7 kB] Get:88 http://ftpmaster.internal/ubuntu bionic/main arm64 libavahi-common3 arm64 0.7-3ubuntu1 [18.4 kB] Get:89 http://ftpmaster.internal/ubuntu bionic/main arm64 libavahi-client3 arm64 0.7-3ubuntu1 [21.8 kB] Get:90 http://ftpmaster.internal/ubuntu bionic/main arm64 libboost-system1.65.1 arm64 1.65.1+dfsg-0ubuntu4 [10.5 kB] Get:91 http://ftpmaster.internal/ubuntu bionic/main arm64 libboost-filesystem1.65.1 arm64 1.65.1+dfsg-0ubuntu4 [38.4 kB] Get:92 http://ftpmaster.internal/ubuntu bionic/main arm64 libcapnp-0.6.1 arm64 0.6.1-1 [620 kB] Get:93 http://ftpmaster.internal/ubuntu bionic/main arm64 libhtml-tagset-perl all 3.20-3 [12.1 kB] Get:94 http://ftpmaster.internal/ubuntu bionic/main arm64 liburi-perl all 1.72-2 [76.6 kB] Get:95 http://ftpmaster.internal/ubuntu bionic/main arm64 libhtml-parser-perl arm64 3.72-3build1 [82.6 kB] Get:96 http://ftpmaster.internal/ubuntu bionic/main arm64 libcgi-pm-perl all 4.38-1 [185 kB] Get:97 http://ftpmaster.internal/ubuntu bionic/main arm64 libsub-name-perl arm64 0.21-1build1 [11.2 kB] Get:98 http://ftpmaster.internal/ubuntu bionic/main arm64 libclass-accessor-perl all 0.51-1 [21.2 kB] Get:99 http://ftpmaster.internal/ubuntu bionic/main arm64 libclone-perl arm64 0.39-1 [10.1 kB] Get:100 http://ftpmaster.internal/ubuntu bionic/main arm64 libcups2 arm64 2.2.6-4 [180 kB] Get:101 http://ftpmaster.internal/ubuntu bionic/main arm64 libdigest-hmac-perl all 1.03+dfsg-1 [12.1 kB] Get:102 http://ftpmaster.internal/ubuntu bionic/main arm64 libdrm-amdgpu1 arm64 2.4.89-1 [16.3 kB] Get:103 http://ftpmaster.internal/ubuntu bionic/main arm64 libdrm-radeon1 arm64 2.4.89-1 [19.2 kB] Get:104 http://ftpmaster.internal/ubuntu bionic/main arm64 libdrm-nouveau2 arm64 2.4.89-1 [14.5 kB] Get:105 http://ftpmaster.internal/ubuntu bionic/main arm64 libdrm-freedreno1 arm64 2.4.89-1 [15.6 kB] Get:106 http://ftpmaster.internal/ubuntu bionic/main arm64 libdrm-tegra0 arm64 2.4.89-1 [5988 B] Get:107 http://ftpmaster.internal/ubuntu bionic/main arm64 libdrm-dev arm64 2.4.89-1 [188 kB] Get:108 http://ftpmaster.internal/ubuntu bionic/main arm64 libwayland-client0 arm64 1.14.0-1 [19.5 kB] Get:109 http://ftpmaster.internal/ubuntu bionic/main arm64 libwayland-server0 arm64 1.14.0-1 [24.6 kB] Get:110 http://ftpmaster.internal/ubuntu bionic/main arm64 libgbm1 arm64 17.2.4-0ubuntu2 [22.2 kB] Get:111 http://ftpmaster.internal/ubuntu bionic/main arm64 libmircore1 arm64 0.29.0-0ubuntu1 [30.3 kB] Get:112 http://ftpmaster.internal/ubuntu bionic/main arm64 libmircommon7 arm64 0.29.0-0ubuntu1 [72.3 kB] Get:113 http://ftpmaster.internal/ubuntu bionic/main arm64 libprotobuf-lite10 arm64 3.0.0-9ubuntu5 [92.7 kB] Get:114 http://ftpmaster.internal/ubuntu bionic/main arm64 libmirprotobuf3 arm64 0.29.0-0ubuntu1 [120 kB] Get:115 http://ftpmaster.internal/ubuntu bionic/main arm64 libxkbcommon0 arm64 0.8.0-1 [86.6 kB] Get:116 http://ftpmaster.internal/ubuntu bionic/main arm64 libmirclient9 arm64 0.29.0-0ubuntu1 [187 kB] Get:117 http://ftpmaster.internal/ubuntu bionic/main arm64 libx11-xcb1 arm64 2:1.6.4-3 [9616 B] Get:118 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-dri2-0 arm64 1.12-1ubuntu1 [6166 B] Get:119 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-dri3-0 arm64 1.12-1ubuntu1 [4904 B] Get:120 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-present0 arm64 1.12-1ubuntu1 [5110 B] Get:121 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-sync1 arm64 1.12-1ubuntu1 [7842 B] Get:122 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-xfixes0 arm64 1.12-1ubuntu1 [8102 B] Get:123 http://ftpmaster.internal/ubuntu bionic/main arm64 libglapi-mesa arm64 17.2.4-0ubuntu2 [25.6 kB] Get:124 http://ftpmaster.internal/ubuntu bionic/main arm64 libllvm5.0 arm64 1:5.0.1-2 [11.8 MB] Get:125 http://ftpmaster.internal/ubuntu bionic/main arm64 libsensors4 arm64 1:3.4.0-4 [25.0 kB] Get:126 http://ftpmaster.internal/ubuntu bionic/main arm64 libgl1-mesa-dri arm64 17.2.4-0ubuntu2 [4124 kB] Get:127 http://ftpmaster.internal/ubuntu bionic/main arm64 libegl1-mesa arm64 17.2.4-0ubuntu2 [71.5 kB] Get:128 http://ftpmaster.internal/ubuntu bionic/main arm64 libwayland-egl1-mesa arm64 17.2.4-0ubuntu2 [5740 B] Get:129 http://ftpmaster.internal/ubuntu bionic/main arm64 x11proto-dri2-dev all 2.8-2 [12.6 kB] Get:130 http://ftpmaster.internal/ubuntu bionic/main arm64 x11proto-gl-dev all 1.4.17-1 [17.9 kB] Get:131 http://ftpmaster.internal/ubuntu bionic/main arm64 xorg-sgml-doctools all 1:1.11-1 [12.9 kB] Get:132 http://ftpmaster.internal/ubuntu bionic/main arm64 x11proto-core-dev all 7.0.31-1 [700 kB] Get:133 http://ftpmaster.internal/ubuntu bionic/main arm64 libxau-dev arm64 1:1.0.8-1 [9768 B] Get:134 http://ftpmaster.internal/ubuntu bionic/main arm64 libxdmcp-dev arm64 1:1.1.2-3 [24.1 kB] Get:135 http://ftpmaster.internal/ubuntu bionic/main arm64 x11proto-input-dev all 2.3.2-1 [118 kB] Get:136 http://ftpmaster.internal/ubuntu bionic/main arm64 x11proto-kb-dev all 1.0.7-1 [226 kB] Get:137 http://ftpmaster.internal/ubuntu bionic/main arm64 xtrans-dev all 1.3.5-1 [70.5 kB] Get:138 http://ftpmaster.internal/ubuntu bionic/main arm64 libpthread-stubs0-dev arm64 0.3-4 [4078 B] Get:139 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb1-dev arm64 1.12-1ubuntu1 [74.3 kB] Get:140 http://ftpmaster.internal/ubuntu bionic/main arm64 libx11-dev arm64 2:1.6.4-3 [591 kB] Get:141 http://ftpmaster.internal/ubuntu bionic/main arm64 x11proto-xext-dev all 7.3.0-1 [212 kB] Get:142 http://ftpmaster.internal/ubuntu bionic/main arm64 libxext-dev arm64 2:1.3.3-1 [79.7 kB] Get:143 http://ftpmaster.internal/ubuntu bionic/main arm64 x11proto-xf86vidmode-dev all 2.3.1-2 [6116 B] Get:144 http://ftpmaster.internal/ubuntu bionic/main arm64 libxxf86vm-dev arm64 1:1.1.4-1 [12.8 kB] Get:145 http://ftpmaster.internal/ubuntu bionic/main arm64 libxdamage1 arm64 1:1.1.4-3 [6668 B] Get:146 http://ftpmaster.internal/ubuntu bionic/main arm64 libxfixes3 arm64 1:5.0.3-1 [9844 B] Get:147 http://ftpmaster.internal/ubuntu bionic/main arm64 x11proto-fixes-dev all 1:5.0-2ubuntu2 [14.2 kB] Get:148 http://ftpmaster.internal/ubuntu bionic/main arm64 libxfixes-dev arm64 1:5.0.3-1 [10.4 kB] Get:149 http://ftpmaster.internal/ubuntu bionic/main arm64 x11proto-damage-dev all 1:1.2.1-2 [8286 B] Get:150 http://ftpmaster.internal/ubuntu bionic/main arm64 libxdamage-dev arm64 1:1.1.4-3 [4942 B] Get:151 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-glx0 arm64 1.12-1ubuntu1 [18.7 kB] Get:152 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-glx0-dev arm64 1.12-1ubuntu1 [25.8 kB] Get:153 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-dri2-0-dev arm64 1.12-1ubuntu1 [8098 B] Get:154 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-dri3-dev arm64 1.12-1ubuntu1 [5652 B] Get:155 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-randr0 arm64 1.12-1ubuntu1 [13.4 kB] Get:156 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-render0-dev arm64 1.12-1ubuntu1 [17.1 kB] Get:157 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-randr0-dev arm64 1.12-1ubuntu1 [18.2 kB] Get:158 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-shape0 arm64 1.12-1ubuntu1 [5420 B] Get:159 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-shape0-dev arm64 1.12-1ubuntu1 [6838 B] Get:160 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-xfixes0-dev arm64 1.12-1ubuntu1 [11.2 kB] Get:161 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-sync-dev arm64 1.12-1ubuntu1 [10.2 kB] Get:162 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-present-dev arm64 1.12-1ubuntu1 [6654 B] Get:163 http://ftpmaster.internal/ubuntu bionic/main arm64 libxshmfence-dev arm64 1.2-1 [3528 B] Get:164 http://ftpmaster.internal/ubuntu bionic/main arm64 libx11-xcb-dev arm64 2:1.6.4-3 [9594 B] Get:165 http://ftpmaster.internal/ubuntu bionic/main arm64 libwayland-cursor0 arm64 1.14.0-1 [9104 B] Get:166 http://ftpmaster.internal/ubuntu bionic/main arm64 libwayland-bin arm64 1.14.0-1 [17.0 kB] Get:167 http://ftpmaster.internal/ubuntu bionic/main arm64 libwayland-dev arm64 1.14.0-1 [94.3 kB] Get:168 http://ftpmaster.internal/ubuntu bionic/main arm64 libegl1-mesa-dev arm64 17.2.4-0ubuntu2 [19.9 kB] Get:169 http://ftpmaster.internal/ubuntu bionic/main arm64 perl-openssl-defaults arm64 3 [6816 B] Get:170 http://ftpmaster.internal/ubuntu bionic/main arm64 libnet-ssleay-perl arm64 1.82-1 [260 kB] Get:171 http://ftpmaster.internal/ubuntu bionic/main arm64 libio-socket-ssl-perl all 2.052-1 [168 kB] Get:172 http://ftpmaster.internal/ubuntu bionic/main arm64 libnet-smtp-ssl-perl all 1.04-1 [5948 B] Get:173 http://ftpmaster.internal/ubuntu bionic/main arm64 libmailtools-perl all 2.18-1 [74.0 kB] Get:174 http://ftpmaster.internal/ubuntu bionic/main arm64 libsocket6-perl arm64 0.27-1build2 [22.0 kB] Get:175 http://ftpmaster.internal/ubuntu bionic/main arm64 libio-socket-inet6-perl all 2.72-2 [13.8 kB] Get:176 http://ftpmaster.internal/ubuntu bionic/main arm64 libnet-ip-perl all 1.26-1 [31.5 kB] Get:177 http://ftpmaster.internal/ubuntu bionic/main arm64 libnet-dns-perl all 1.10-2 [335 kB] Get:178 http://ftpmaster.internal/ubuntu bionic/main arm64 libnet-domain-tld-perl all 1.75-1 [29.1 kB] Get:179 http://ftpmaster.internal/ubuntu bionic/main arm64 libemail-valid-perl all 1.202-1 [16.3 kB] Get:180 http://ftpmaster.internal/ubuntu bionic/main arm64 libexporter-tiny-perl all 1.000000-2 [34.6 kB] Get:181 http://ftpmaster.internal/ubuntu bionic/main arm64 libipc-system-simple-perl all 1.25-3 [22.8 kB] Get:182 http://ftpmaster.internal/ubuntu bionic/main arm64 libfile-basedir-perl all 0.07-1 [16.9 kB] Get:183 http://ftpmaster.internal/ubuntu bionic/main arm64 libfontenc1 arm64 1:1.1.3-1 [12.1 kB] Get:184 http://ftpmaster.internal/ubuntu bionic/main arm64 libgl1-mesa-glx arm64 17.2.4-0ubuntu2 [112 kB] Get:185 http://ftpmaster.internal/ubuntu bionic/main arm64 libgles2-mesa arm64 17.2.4-0ubuntu2 [13.8 kB] Get:186 http://ftpmaster.internal/ubuntu bionic/main arm64 libgles2-mesa-dev arm64 17.2.4-0ubuntu2 [40.4 kB] Get:187 http://ftpmaster.internal/ubuntu bionic/main arm64 libglib2.0-bin arm64 2.54.1-1ubuntu1 [63.2 kB] Get:188 http://ftpmaster.internal/ubuntu bionic/main arm64 libglib2.0-dev-bin arm64 2.54.1-1ubuntu1 [84.0 kB] Get:189 http://ftpmaster.internal/ubuntu bionic/main arm64 libpcre16-3 arm64 2:8.39-8 [121 kB] Get:190 http://ftpmaster.internal/ubuntu bionic/main arm64 libpcre32-3 arm64 2:8.39-8 [113 kB] Get:191 http://ftpmaster.internal/ubuntu bionic/main arm64 libpcrecpp0v5 arm64 2:8.39-8 [15.0 kB] Get:192 http://ftpmaster.internal/ubuntu bionic/main arm64 libpcre3-dev arm64 2:8.39-8 [459 kB] Get:193 http://ftpmaster.internal/ubuntu bionic/main arm64 pkg-config arm64 0.29.1-0ubuntu2 [42.8 kB] Get:194 http://ftpmaster.internal/ubuntu bionic/main arm64 zlib1g-dev arm64 1:1.2.11.dfsg-0ubuntu2 [171 kB] Get:195 http://ftpmaster.internal/ubuntu bionic/main arm64 libglib2.0-dev arm64 2.54.1-1ubuntu1 [1287 kB] Get:196 http://ftpmaster.internal/ubuntu bionic/main arm64 libglu1-mesa arm64 9.0.0-2.1build1 [140 kB] Get:197 http://ftpmaster.internal/ubuntu bionic/main arm64 mesa-common-dev arm64 17.2.4-0ubuntu2 [513 kB] Get:198 http://ftpmaster.internal/ubuntu bionic/main arm64 libgl1-mesa-dev arm64 17.2.4-0ubuntu2 [4508 B] Get:199 http://ftpmaster.internal/ubuntu bionic/main arm64 libglu1-mesa-dev arm64 9.0.0-2.1build1 [179 kB] Get:200 http://ftpmaster.internal/ubuntu bionic/main arm64 libgraphite2-dev arm64 1.3.10-8 [14.5 kB] Get:201 http://ftpmaster.internal/ubuntu bionic/main arm64 libgudev-1.0-0 arm64 1:232-1 [11.2 kB] Get:202 http://ftpmaster.internal/ubuntu bionic/main arm64 libharfbuzz-icu0 arm64 1.7.2-1 [5356 B] Get:203 http://ftpmaster.internal/ubuntu bionic/main arm64 libharfbuzz-gobject0 arm64 1.7.2-1 [12.6 kB] Get:204 http://ftpmaster.internal/ubuntu bionic/main arm64 libicu-le-hb-dev arm64 1.0.3+git161113-4 [29.8 kB] Get:205 http://ftpmaster.internal/ubuntu bionic/main arm64 libicu-dev arm64 60.2-1ubuntu1 [8888 kB] Get:206 http://ftpmaster.internal/ubuntu bionic/main arm64 libharfbuzz-dev arm64 1.7.2-1 [1684 kB] Get:207 http://ftpmaster.internal/ubuntu bionic/main arm64 libwacom-common all 0.26-1 [34.7 kB] Get:208 http://ftpmaster.internal/ubuntu bionic/main arm64 libwacom2 arm64 0.26-1 [15.3 kB] Get:209 http://ftpmaster.internal/ubuntu bionic/main arm64 libinput-bin arm64 1.9.4-2 [10.7 kB] Get:210 http://ftpmaster.internal/ubuntu bionic/main arm64 libevdev2 arm64 1.5.7+dfsg-1 [25.3 kB] Get:211 http://ftpmaster.internal/ubuntu bionic/main arm64 libinput10 arm64 1.9.4-2 [69.9 kB] Get:212 http://ftpmaster.internal/ubuntu bionic/main arm64 libio-pty-perl arm64 1:1.08-1.1build4 [28.9 kB] Get:213 http://ftpmaster.internal/ubuntu bionic/main arm64 libio-string-perl all 1.08-3 [11.1 kB] Get:214 http://ftpmaster.internal/ubuntu bionic/main arm64 libipc-run-perl all 0.96-1 [89.9 kB] Get:215 http://ftpmaster.internal/ubuntu bionic/main arm64 libjpeg8 arm64 8c-2ubuntu8 [2198 B] Get:216 http://ftpmaster.internal/ubuntu bionic/main arm64 liblist-moreutils-perl arm64 0.416-1build3 [52.7 kB] Get:217 http://ftpmaster.internal/ubuntu bionic/main arm64 libparse-debianchangelog-perl all 1.2.0-12 [49.5 kB] Get:218 http://ftpmaster.internal/ubuntu bionic/main arm64 libpixman-1-0 arm64 0.34.0-2 [115 kB] Get:219 http://ftpmaster.internal/ubuntu bionic/main arm64 libdouble-conversion1 arm64 2.0.1-4ubuntu1 [29.6 kB] Get:220 http://ftpmaster.internal/ubuntu bionic/main arm64 libqt5core5a arm64 5.9.3+dfsg-0ubuntu1 [1932 kB] Get:221 http://ftpmaster.internal/ubuntu bionic/main arm64 libqt5concurrent5 arm64 5.9.3+dfsg-0ubuntu1 [29.5 kB] Get:222 http://ftpmaster.internal/ubuntu bionic/main arm64 libqt5dbus5 arm64 5.9.3+dfsg-0ubuntu1 [167 kB] Get:223 http://ftpmaster.internal/ubuntu bionic/main arm64 libqt5network5 arm64 5.9.3+dfsg-0ubuntu1 [534 kB] Get:224 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-shm0 arm64 1.12-1ubuntu1 [5180 B] Get:225 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-util1 arm64 0.4.0-0ubuntu3 [10.5 kB] Get:226 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-image0 arm64 0.4.0-1build1 [11.1 kB] Get:227 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-xinerama0 arm64 1.12-1ubuntu1 [4952 B] Get:228 http://ftpmaster.internal/ubuntu bionic/main arm64 libxcb-xkb1 arm64 1.12-1ubuntu1 [25.0 kB] Get:229 http://ftpmaster.internal/ubuntu bionic/main arm64 libxi6 arm64 2:1.7.9-1 [25.4 kB] Get:230 http://ftpmaster.internal/ubuntu bionic/main arm64 libxkbcommon-x11-0 arm64 0.8.0-1 [12.2 kB] Get:231 http://ftpmaster.internal/ubuntu bionic/main arm64 libqt5gui5 arm64 5.9.3+dfsg-0ubuntu1 [2092 kB] Get:232 http://ftpmaster.internal/ubuntu bionic/main arm64 libqt5widgets5 arm64 5.9.3+dfsg-0ubuntu1 [1909 kB] Get:233 http://ftpmaster.internal/ubuntu bionic/main arm64 libqt5opengl5 arm64 5.9.3+dfsg-0ubuntu1 [110 kB] Get:234 http://ftpmaster.internal/ubuntu bionic/main arm64 libqt5printsupport5 arm64 5.9.3+dfsg-0ubuntu1 [158 kB] Get:235 http://ftpmaster.internal/ubuntu bionic/main arm64 libqt5sql5 arm64 5.9.3+dfsg-0ubuntu1 [99.7 kB] Get:236 http://ftpmaster.internal/ubuntu bionic/main arm64 libqt5test5 arm64 5.9.3+dfsg-0ubuntu1 [94.4 kB] Get:237 http://ftpmaster.internal/ubuntu bionic/main arm64 libqt5xml5 arm64 5.9.3+dfsg-0ubuntu1 [85.6 kB] Get:238 http://ftpmaster.internal/ubuntu bionic/main arm64 qt5-qmake-bin arm64 5.9.3+dfsg-0ubuntu1 [849 kB] Get:239 http://ftpmaster.internal/ubuntu bionic/main arm64 qtchooser arm64 64-ga1b6736-5 [23.3 kB] Get:240 http://ftpmaster.internal/ubuntu bionic/main arm64 qt5-qmake arm64 5.9.3+dfsg-0ubuntu1 [179 kB] Get:241 http://ftpmaster.internal/ubuntu bionic/main arm64 qtbase5-dev-tools arm64 5.9.3+dfsg-0ubuntu1 [621 kB] Get:242 http://ftpmaster.internal/ubuntu bionic/main arm64 qtbase5-dev arm64 5.9.3+dfsg-0ubuntu1 [893 kB] Get:243 http://ftpmaster.internal/ubuntu bionic/main arm64 libqt5opengl5-dev arm64 5.9.3+dfsg-0ubuntu1 [36.0 kB] Get:244 http://ftpmaster.internal/ubuntu bionic/universe arm64 libqt5qml5 arm64 5.9.3-0ubuntu1 [1054 kB] Get:245 http://ftpmaster.internal/ubuntu bionic/universe arm64 libqt5quick5 arm64 5.9.3-0ubuntu1 [982 kB] Get:246 http://ftpmaster.internal/ubuntu bionic/universe arm64 libqt5quickparticles5 arm64 5.9.3-0ubuntu1 [145 kB] Get:247 http://ftpmaster.internal/ubuntu bionic/universe arm64 libqt5quicktest5 arm64 5.9.3-0ubuntu1 [52.5 kB] Get:248 http://ftpmaster.internal/ubuntu bionic/universe arm64 libqt5quickwidgets5 arm64 5.9.3-0ubuntu1 [32.8 kB] Get:249 http://ftpmaster.internal/ubuntu bionic/main arm64 libtext-levenshtein-perl all 0.13-1 [9612 B] Get:250 http://ftpmaster.internal/ubuntu bionic/main arm64 libudev-dev arm64 235-3ubuntu3 [19.0 kB] Get:251 http://ftpmaster.internal/ubuntu bionic/main arm64 libxt6 arm64 1:1.1.5-1 [128 kB] Get:252 http://ftpmaster.internal/ubuntu bionic/main arm64 libxmu6 arm64 2:1.1.2-2 [38.8 kB] Get:253 http://ftpmaster.internal/ubuntu bionic/main arm64 libxpm4 arm64 1:3.5.12-1 [28.8 kB] Get:254 http://ftpmaster.internal/ubuntu bionic/main arm64 libxaw7 arm64 2:1.0.13-1 [137 kB] Get:255 http://ftpmaster.internal/ubuntu bionic/main arm64 libxfont2 arm64 1:2.0.1-4ubuntu1 [77.5 kB] Get:256 http://ftpmaster.internal/ubuntu bionic/main arm64 libxkbcommon-dev arm64 0.8.0-1 [299 kB] Get:257 http://ftpmaster.internal/ubuntu bionic/main arm64 libxkbfile1 arm64 1:1.0.9-2 [54.4 kB] Get:258 http://ftpmaster.internal/ubuntu bionic/main arm64 libxml-namespacesupport-perl all 1.12-1 [13.2 kB] Get:259 http://ftpmaster.internal/ubuntu bionic/main arm64 libxml-sax-base-perl all 1.09-1 [18.8 kB] Get:260 http://ftpmaster.internal/ubuntu bionic/main arm64 libxml-sax-perl all 0.99+dfsg-2ubuntu1 [64.6 kB] Get:261 http://ftpmaster.internal/ubuntu bionic/main arm64 libxml-libxml-perl arm64 2.0128+dfsg-5 [297 kB] Get:262 http://ftpmaster.internal/ubuntu bionic/main arm64 libxml-simple-perl all 2.24-1 [63.6 kB] Get:263 http://ftpmaster.internal/ubuntu bionic/main arm64 libyaml-libyaml-perl arm64 0.63-2build1 [55.6 kB] Get:264 http://ftpmaster.internal/ubuntu bionic/main arm64 patchutils arm64 0.3.4-2 [65.2 kB] Get:265 http://ftpmaster.internal/ubuntu bionic/main arm64 t1utils arm64 1.41-2 [48.9 kB] Get:266 http://ftpmaster.internal/ubuntu bionic/main arm64 lintian all 2.5.62 [824 kB] Get:267 http://ftpmaster.internal/ubuntu bionic/universe arm64 qml-module-qtquick2 arm64 5.9.3-0ubuntu1 [31.1 kB] Get:268 http://ftpmaster.internal/ubuntu bionic/universe arm64 qml-module-qttest arm64 5.9.3-0ubuntu1 [36.1 kB] Get:269 http://ftpmaster.internal/ubuntu bionic/universe arm64 qt5-qmltooling-plugins arm64 5.9.3-0ubuntu1 [134 kB] Get:270 http://ftpmaster.internal/ubuntu bionic/main arm64 libinput-dev arm64 1.9.4-2 [27.8 kB] Get:271 http://ftpmaster.internal/ubuntu bionic/main arm64 qtbase5-private-dev arm64 5.9.3+dfsg-0ubuntu1 [1033 kB] Get:272 http://ftpmaster.internal/ubuntu bionic/universe arm64 qtdeclarative5-dev arm64 5.9.3-0ubuntu1 [452 kB] Get:273 http://ftpmaster.internal/ubuntu bionic/universe arm64 qtdeclarative5-private-dev arm64 5.9.3-0ubuntu1 [333 kB] Get:274 http://ftpmaster.internal/ubuntu bionic/main arm64 x11-xkb-utils arm64 7.7+3 [139 kB] Get:275 http://ftpmaster.internal/ubuntu bionic/main arm64 xserver-common all 2:1.19.5-0ubuntu2 [26.9 kB] Get:276 http://ftpmaster.internal/ubuntu bionic/universe arm64 xvfb arm64 2:1.19.5-0ubuntu2 [654 kB] Get:277 http://ftpmaster.internal/ubuntu bionic/universe arm64 pkg-kde-tools all 0.15.28ubuntu1 [95.6 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 78.1 MB in 2s (27.0 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_arm64.deb ... Unpacking liblocale-gettext-perl (1.07-3build2) ... Selecting previously unselected package libpython3.6-minimal:arm64. Preparing to unpack .../01-libpython3.6-minimal_3.6.4-2_arm64.deb ... Unpacking libpython3.6-minimal:arm64 (3.6.4-2) ... Selecting previously unselected package libexpat1:arm64. Preparing to unpack .../02-libexpat1_2.2.5-3_arm64.deb ... Unpacking libexpat1:arm64 (2.2.5-3) ... Selecting previously unselected package python3.6-minimal. Preparing to unpack .../03-python3.6-minimal_3.6.4-2_arm64.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_arm64.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:arm64. Preparing to unpack .../06-libmpdec2_2.4.2-1_arm64.deb ... Unpacking libmpdec2:arm64 (2.4.2-1) ... Selecting previously unselected package libpython3.6-stdlib:arm64. Preparing to unpack .../07-libpython3.6-stdlib_3.6.4-2_arm64.deb ... Unpacking libpython3.6-stdlib:arm64 (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_arm64.deb ... Unpacking python3.6 (3.6.4-2) ... Selecting previously unselected package libpython3-stdlib:arm64. Preparing to unpack .../11-libpython3-stdlib_3.6.3-0ubuntu2_arm64.deb ... Unpacking libpython3-stdlib:arm64 (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:arm64 (3.6.4-2) ... Setting up libexpat1:arm64 (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_arm64.deb ... Unpacking python3 (3.6.3-0ubuntu2) ... Selecting previously unselected package libxau6:arm64. Preparing to unpack .../001-libxau6_1%3a1.0.8-1_arm64.deb ... Unpacking libxau6:arm64 (1:1.0.8-1) ... Selecting previously unselected package libbsd0:arm64. Preparing to unpack .../002-libbsd0_0.8.6-3_arm64.deb ... Unpacking libbsd0:arm64 (0.8.6-3) ... Selecting previously unselected package libxdmcp6:arm64. Preparing to unpack .../003-libxdmcp6_1%3a1.1.2-3_arm64.deb ... Unpacking libxdmcp6:arm64 (1:1.1.2-3) ... Selecting previously unselected package libxcb1:arm64. Preparing to unpack .../004-libxcb1_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb1:arm64 (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:arm64. Preparing to unpack .../006-libx11-6_2%3a1.6.4-3_arm64.deb ... Unpacking libx11-6:arm64 (2:1.6.4-3) ... Selecting previously unselected package libxext6:arm64. Preparing to unpack .../007-libxext6_2%3a1.3.3-1_arm64.deb ... Unpacking libxext6:arm64 (2:1.3.3-1) ... Selecting previously unselected package groff-base. Preparing to unpack .../008-groff-base_1.22.3-9_arm64.deb ... Unpacking groff-base (1.22.3-9) ... Selecting previously unselected package bsdmainutils. Preparing to unpack .../009-bsdmainutils_9.0.14ubuntu1_arm64.deb ... Unpacking bsdmainutils (9.0.14ubuntu1) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../010-libpipeline1_1.5.0-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.0-1) ... Selecting previously unselected package man-db. Preparing to unpack .../011-man-db_2.7.6.1-4_arm64.deb ... Unpacking man-db (2.7.6.1-4) ... Selecting previously unselected package libfreetype6:arm64. Preparing to unpack .../012-libfreetype6_2.8-0.2ubuntu2_arm64.deb ... Unpacking libfreetype6:arm64 (2.8-0.2ubuntu2) ... Selecting previously unselected package ucf. Preparing to unpack .../013-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 .../014-fonts-dejavu-core_2.37-1_all.deb ... Unpacking fonts-dejavu-core (2.37-1) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../015-fontconfig-config_2.12.6-0ubuntu1_all.deb ... Unpacking fontconfig-config (2.12.6-0ubuntu1) ... Selecting previously unselected package libfontconfig1:arm64. Preparing to unpack .../016-libfontconfig1_2.12.6-0ubuntu1_arm64.deb ... Unpacking libfontconfig1:arm64 (2.12.6-0ubuntu1) ... Selecting previously unselected package fontconfig. Preparing to unpack .../017-fontconfig_2.12.6-0ubuntu1_arm64.deb ... Unpacking fontconfig (2.12.6-0ubuntu1) ... Selecting previously unselected package libjpeg-turbo8:arm64. Preparing to unpack .../018-libjpeg-turbo8_1.5.2-0ubuntu5_arm64.deb ... Unpacking libjpeg-turbo8:arm64 (1.5.2-0ubuntu5) ... Selecting previously unselected package libmtdev1:arm64. Preparing to unpack .../019-libmtdev1_1.1.5-1ubuntu2_arm64.deb ... Unpacking libmtdev1:arm64 (1.1.5-1ubuntu2) ... Selecting previously unselected package x11-common. Preparing to unpack .../020-x11-common_1%3a7.7+19ubuntu3_all.deb ... Unpacking x11-common (1:7.7+19ubuntu3) ... Selecting previously unselected package libice6:arm64. Preparing to unpack .../021-libice6_2%3a1.0.9-2_arm64.deb ... Unpacking libice6:arm64 (2:1.0.9-2) ... Selecting previously unselected package libsm6:arm64. Preparing to unpack .../022-libsm6_2%3a1.2.2-1_arm64.deb ... Unpacking libsm6:arm64 (2:1.2.2-1) ... Selecting previously unselected package libxshmfence1:arm64. Preparing to unpack .../023-libxshmfence1_1.2-1_arm64.deb ... Unpacking libxshmfence1:arm64 (1.2-1) ... Selecting previously unselected package libxxf86vm1:arm64. Preparing to unpack .../024-libxxf86vm1_1%3a1.1.4-1_arm64.deb ... Unpacking libxxf86vm1:arm64 (1:1.1.4-1) ... Selecting previously unselected package libxcb-icccm4:arm64. Preparing to unpack .../025-libxcb-icccm4_0.4.1-1ubuntu1_arm64.deb ... Unpacking libxcb-icccm4:arm64 (0.4.1-1ubuntu1) ... Selecting previously unselected package libxcb-keysyms1:arm64. Preparing to unpack .../026-libxcb-keysyms1_0.4.0-1_arm64.deb ... Unpacking libxcb-keysyms1:arm64 (0.4.0-1) ... Selecting previously unselected package libxcb-render0:arm64. Preparing to unpack .../027-libxcb-render0_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-render0:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-render-util0:arm64. Preparing to unpack .../028-libxcb-render-util0_0.3.9-1_arm64.deb ... Unpacking libxcb-render-util0:arm64 (0.3.9-1) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../029-libmagic-mgc_1%3a5.32-1_arm64.deb ... Unpacking libmagic-mgc (1:5.32-1) ... Selecting previously unselected package libmagic1:arm64. Preparing to unpack .../030-libmagic1_1%3a5.32-1_arm64.deb ... Unpacking libmagic1:arm64 (1:5.32-1) ... Selecting previously unselected package file. Preparing to unpack .../031-file_1%3a5.32-1_arm64.deb ... Unpacking file (1:5.32-1) ... Selecting previously unselected package libdbus-1-3:arm64. Preparing to unpack .../032-libdbus-1-3_1.12.2-1ubuntu1_arm64.deb ... Unpacking libdbus-1-3:arm64 (1.12.2-1ubuntu1) ... Selecting previously unselected package libelf1:arm64. Preparing to unpack .../033-libelf1_0.170-0.2_arm64.deb ... Unpacking libelf1:arm64 (0.170-0.2) ... Selecting previously unselected package libglib2.0-0:arm64. Preparing to unpack .../034-libglib2.0-0_2.54.1-1ubuntu1_arm64.deb ... Unpacking libglib2.0-0:arm64 (2.54.1-1ubuntu1) ... Selecting previously unselected package libglib2.0-data. Preparing to unpack .../035-libglib2.0-data_2.54.1-1ubuntu1_all.deb ... Unpacking libglib2.0-data (2.54.1-1ubuntu1) ... Selecting previously unselected package libgraphite2-3:arm64. Preparing to unpack .../036-libgraphite2-3_1.3.10-8_arm64.deb ... Unpacking libgraphite2-3:arm64 (1.3.10-8) ... Selecting previously unselected package libharfbuzz0b:arm64. Preparing to unpack .../037-libharfbuzz0b_1.7.2-1_arm64.deb ... Unpacking libharfbuzz0b:arm64 (1.7.2-1) ... Selecting previously unselected package libicu-le-hb0:arm64. Preparing to unpack .../038-libicu-le-hb0_1.0.3+git161113-4_arm64.deb ... Unpacking libicu-le-hb0:arm64 (1.0.3+git161113-4) ... Selecting previously unselected package libicu60:arm64. Preparing to unpack .../039-libicu60_60.2-1ubuntu1_arm64.deb ... Unpacking libicu60:arm64 (60.2-1ubuntu1) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../040-libxml2_2.9.4+dfsg1-5.2ubuntu1_arm64.deb ... Unpacking libxml2:arm64 (2.9.4+dfsg1-5.2ubuntu1) ... Selecting previously unselected package netbase. Preparing to unpack .../041-netbase_5.4_all.deb ... Unpacking netbase (5.4) ... Selecting previously unselected package xkb-data. Preparing to unpack .../042-xkb-data_2.19-1.1ubuntu1_all.deb ... Unpacking xkb-data (2.19-1.1ubuntu1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../043-gettext-base_0.19.8.1-4ubuntu2_arm64.deb ... Unpacking gettext-base (0.19.8.1-4ubuntu2) ... Selecting previously unselected package libgirepository-1.0-1:arm64. Preparing to unpack .../044-libgirepository-1.0-1_1.54.1-4_arm64.deb ... Unpacking libgirepository-1.0-1:arm64 (1.54.1-4) ... Selecting previously unselected package gir1.2-glib-2.0:arm64. Preparing to unpack .../045-gir1.2-glib-2.0_1.54.1-4_arm64.deb ... Unpacking gir1.2-glib-2.0:arm64 (1.54.1-4) ... Selecting previously unselected package libdrm-common. Preparing to unpack .../046-libdrm-common_2.4.89-1_all.deb ... Unpacking libdrm-common (2.4.89-1) ... Selecting previously unselected package libdrm2:arm64. Preparing to unpack .../047-libdrm2_2.4.89-1_arm64.deb ... Unpacking libdrm2:arm64 (2.4.89-1) ... Selecting previously unselected package libedit2:arm64. Preparing to unpack .../048-libedit2_3.1-20170329-1_arm64.deb ... Unpacking libedit2:arm64 (3.1-20170329-1) ... Selecting previously unselected package libxmuu1:arm64. Preparing to unpack .../049-libxmuu1_2%3a1.1.2-2_arm64.deb ... Unpacking libxmuu1:arm64 (2:1.1.2-2) ... Selecting previously unselected package xauth. Preparing to unpack .../050-xauth_1%3a1.0.10-1_arm64.deb ... Unpacking xauth (1:1.0.10-1) ... Selecting previously unselected package libsigsegv2:arm64. Preparing to unpack .../051-libsigsegv2_2.11-1_arm64.deb ... Unpacking libsigsegv2:arm64 (2.11-1) ... Selecting previously unselected package m4. Preparing to unpack .../052-m4_1.4.18-1_arm64.deb ... Unpacking m4 (1.4.18-1) ... Selecting previously unselected package autoconf. Preparing to unpack .../053-autoconf_2.69-11_all.deb ... Unpacking autoconf (2.69-11) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../054-autotools-dev_20171216.1_all.deb ... Unpacking autotools-dev (20171216.1) ... Selecting previously unselected package automake. Preparing to unpack .../055-automake_1%3a1.15.1-3ubuntu1_all.deb ... Unpacking automake (1:1.15.1-3ubuntu1) ... Selecting previously unselected package autopoint. Preparing to unpack .../056-autopoint_0.19.8.1-4ubuntu2_all.deb ... Unpacking autopoint (0.19.8.1-4ubuntu2) ... Selecting previously unselected package libtool. Preparing to unpack .../057-libtool_2.4.6-2_all.deb ... Unpacking libtool (2.4.6-2) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../058-dh-autoreconf_15_all.deb ... Unpacking dh-autoreconf (15) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../059-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 .../060-libfile-stripnondeterminism-perl_0.040-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (0.040-1) ... Selecting previously unselected package libtimedate-perl. Preparing to unpack .../061-libtimedate-perl_2.3000-2_all.deb ... Unpacking libtimedate-perl (2.3000-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../062-dh-strip-nondeterminism_0.040-1_all.deb ... Unpacking dh-strip-nondeterminism (0.040-1) ... Selecting previously unselected package libcroco3:arm64. Preparing to unpack .../063-libcroco3_0.6.12-2_arm64.deb ... Unpacking libcroco3:arm64 (0.6.12-2) ... Selecting previously unselected package gettext. Preparing to unpack .../064-gettext_0.19.8.1-4ubuntu2_arm64.deb ... Unpacking gettext (0.19.8.1-4ubuntu2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../065-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 .../066-po-debconf_1.0.20_all.deb ... Unpacking po-debconf (1.0.20) ... Selecting previously unselected package debhelper. Preparing to unpack .../067-debhelper_11ubuntu1_all.deb ... Unpacking debhelper (11ubuntu1) ... Selecting previously unselected package diffstat. Preparing to unpack .../068-diffstat_1.61-1build1_arm64.deb ... Unpacking diffstat (1.61-1build1) ... Selecting previously unselected package gir1.2-harfbuzz-0.0:arm64. Preparing to unpack .../069-gir1.2-harfbuzz-0.0_1.7.2-1_arm64.deb ... Unpacking gir1.2-harfbuzz-0.0:arm64 (1.7.2-1) ... Selecting previously unselected package icu-devtools. Preparing to unpack .../070-icu-devtools_60.2-1ubuntu1_arm64.deb ... Unpacking icu-devtools (60.2-1ubuntu1) ... Selecting previously unselected package libapt-pkg-perl. Preparing to unpack .../071-libapt-pkg-perl_0.1.33build1_arm64.deb ... Unpacking libapt-pkg-perl (0.1.33build1) ... Selecting previously unselected package libavahi-common-data:arm64. Preparing to unpack .../072-libavahi-common-data_0.7-3ubuntu1_arm64.deb ... Unpacking libavahi-common-data:arm64 (0.7-3ubuntu1) ... Selecting previously unselected package libavahi-common3:arm64. Preparing to unpack .../073-libavahi-common3_0.7-3ubuntu1_arm64.deb ... Unpacking libavahi-common3:arm64 (0.7-3ubuntu1) ... Selecting previously unselected package libavahi-client3:arm64. Preparing to unpack .../074-libavahi-client3_0.7-3ubuntu1_arm64.deb ... Unpacking libavahi-client3:arm64 (0.7-3ubuntu1) ... Selecting previously unselected package libboost-system1.65.1:arm64. Preparing to unpack .../075-libboost-system1.65.1_1.65.1+dfsg-0ubuntu4_arm64.deb ... Unpacking libboost-system1.65.1:arm64 (1.65.1+dfsg-0ubuntu4) ... Selecting previously unselected package libboost-filesystem1.65.1:arm64. Preparing to unpack .../076-libboost-filesystem1.65.1_1.65.1+dfsg-0ubuntu4_arm64.deb ... Unpacking libboost-filesystem1.65.1:arm64 (1.65.1+dfsg-0ubuntu4) ... Selecting previously unselected package libcapnp-0.6.1. Preparing to unpack .../077-libcapnp-0.6.1_0.6.1-1_arm64.deb ... Unpacking libcapnp-0.6.1 (0.6.1-1) ... Selecting previously unselected package libhtml-tagset-perl. Preparing to unpack .../078-libhtml-tagset-perl_3.20-3_all.deb ... Unpacking libhtml-tagset-perl (3.20-3) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../079-liburi-perl_1.72-2_all.deb ... Unpacking liburi-perl (1.72-2) ... Selecting previously unselected package libhtml-parser-perl. Preparing to unpack .../080-libhtml-parser-perl_3.72-3build1_arm64.deb ... Unpacking libhtml-parser-perl (3.72-3build1) ... Selecting previously unselected package libcgi-pm-perl. Preparing to unpack .../081-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 .../082-libsub-name-perl_0.21-1build1_arm64.deb ... Unpacking libsub-name-perl (0.21-1build1) ... Selecting previously unselected package libclass-accessor-perl. Preparing to unpack .../083-libclass-accessor-perl_0.51-1_all.deb ... Unpacking libclass-accessor-perl (0.51-1) ... Selecting previously unselected package libclone-perl. Preparing to unpack .../084-libclone-perl_0.39-1_arm64.deb ... Unpacking libclone-perl (0.39-1) ... Selecting previously unselected package libcups2:arm64. Preparing to unpack .../085-libcups2_2.2.6-4_arm64.deb ... Unpacking libcups2:arm64 (2.2.6-4) ... Selecting previously unselected package libdigest-hmac-perl. Preparing to unpack .../086-libdigest-hmac-perl_1.03+dfsg-1_all.deb ... Unpacking libdigest-hmac-perl (1.03+dfsg-1) ... Selecting previously unselected package libdrm-amdgpu1:arm64. Preparing to unpack .../087-libdrm-amdgpu1_2.4.89-1_arm64.deb ... Unpacking libdrm-amdgpu1:arm64 (2.4.89-1) ... Selecting previously unselected package libdrm-radeon1:arm64. Preparing to unpack .../088-libdrm-radeon1_2.4.89-1_arm64.deb ... Unpacking libdrm-radeon1:arm64 (2.4.89-1) ... Selecting previously unselected package libdrm-nouveau2:arm64. Preparing to unpack .../089-libdrm-nouveau2_2.4.89-1_arm64.deb ... Unpacking libdrm-nouveau2:arm64 (2.4.89-1) ... Selecting previously unselected package libdrm-freedreno1:arm64. Preparing to unpack .../090-libdrm-freedreno1_2.4.89-1_arm64.deb ... Unpacking libdrm-freedreno1:arm64 (2.4.89-1) ... Selecting previously unselected package libdrm-tegra0:arm64. Preparing to unpack .../091-libdrm-tegra0_2.4.89-1_arm64.deb ... Unpacking libdrm-tegra0:arm64 (2.4.89-1) ... Selecting previously unselected package libdrm-dev:arm64. Preparing to unpack .../092-libdrm-dev_2.4.89-1_arm64.deb ... Unpacking libdrm-dev:arm64 (2.4.89-1) ... Selecting previously unselected package libwayland-client0:arm64. Preparing to unpack .../093-libwayland-client0_1.14.0-1_arm64.deb ... Unpacking libwayland-client0:arm64 (1.14.0-1) ... Selecting previously unselected package libwayland-server0:arm64. Preparing to unpack .../094-libwayland-server0_1.14.0-1_arm64.deb ... Unpacking libwayland-server0:arm64 (1.14.0-1) ... Selecting previously unselected package libgbm1:arm64. Preparing to unpack .../095-libgbm1_17.2.4-0ubuntu2_arm64.deb ... Unpacking libgbm1:arm64 (17.2.4-0ubuntu2) ... Selecting previously unselected package libmircore1:arm64. Preparing to unpack .../096-libmircore1_0.29.0-0ubuntu1_arm64.deb ... Unpacking libmircore1:arm64 (0.29.0-0ubuntu1) ... Selecting previously unselected package libmircommon7:arm64. Preparing to unpack .../097-libmircommon7_0.29.0-0ubuntu1_arm64.deb ... Unpacking libmircommon7:arm64 (0.29.0-0ubuntu1) ... Selecting previously unselected package libprotobuf-lite10:arm64. Preparing to unpack .../098-libprotobuf-lite10_3.0.0-9ubuntu5_arm64.deb ... Unpacking libprotobuf-lite10:arm64 (3.0.0-9ubuntu5) ... Selecting previously unselected package libmirprotobuf3:arm64. Preparing to unpack .../099-libmirprotobuf3_0.29.0-0ubuntu1_arm64.deb ... Unpacking libmirprotobuf3:arm64 (0.29.0-0ubuntu1) ... Selecting previously unselected package libxkbcommon0:arm64. Preparing to unpack .../100-libxkbcommon0_0.8.0-1_arm64.deb ... Unpacking libxkbcommon0:arm64 (0.8.0-1) ... Selecting previously unselected package libmirclient9:arm64. Preparing to unpack .../101-libmirclient9_0.29.0-0ubuntu1_arm64.deb ... Unpacking libmirclient9:arm64 (0.29.0-0ubuntu1) ... Selecting previously unselected package libx11-xcb1:arm64. Preparing to unpack .../102-libx11-xcb1_2%3a1.6.4-3_arm64.deb ... Unpacking libx11-xcb1:arm64 (2:1.6.4-3) ... Selecting previously unselected package libxcb-dri2-0:arm64. Preparing to unpack .../103-libxcb-dri2-0_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-dri2-0:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-dri3-0:arm64. Preparing to unpack .../104-libxcb-dri3-0_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-dri3-0:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-present0:arm64. Preparing to unpack .../105-libxcb-present0_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-present0:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-sync1:arm64. Preparing to unpack .../106-libxcb-sync1_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-sync1:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-xfixes0:arm64. Preparing to unpack .../107-libxcb-xfixes0_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-xfixes0:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libglapi-mesa:arm64. Preparing to unpack .../108-libglapi-mesa_17.2.4-0ubuntu2_arm64.deb ... Unpacking libglapi-mesa:arm64 (17.2.4-0ubuntu2) ... Selecting previously unselected package libllvm5.0:arm64. Preparing to unpack .../109-libllvm5.0_1%3a5.0.1-2_arm64.deb ... Unpacking libllvm5.0:arm64 (1:5.0.1-2) ... Selecting previously unselected package libsensors4:arm64. Preparing to unpack .../110-libsensors4_1%3a3.4.0-4_arm64.deb ... Unpacking libsensors4:arm64 (1:3.4.0-4) ... Selecting previously unselected package libgl1-mesa-dri:arm64. Preparing to unpack .../111-libgl1-mesa-dri_17.2.4-0ubuntu2_arm64.deb ... Unpacking libgl1-mesa-dri:arm64 (17.2.4-0ubuntu2) ... Selecting previously unselected package libegl1-mesa:arm64. Preparing to unpack .../112-libegl1-mesa_17.2.4-0ubuntu2_arm64.deb ... Unpacking libegl1-mesa:arm64 (17.2.4-0ubuntu2) ... Selecting previously unselected package libwayland-egl1-mesa:arm64. Preparing to unpack .../113-libwayland-egl1-mesa_17.2.4-0ubuntu2_arm64.deb ... Unpacking libwayland-egl1-mesa:arm64 (17.2.4-0ubuntu2) ... Selecting previously unselected package x11proto-dri2-dev. Preparing to unpack .../114-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 .../115-x11proto-gl-dev_1.4.17-1_all.deb ... Unpacking x11proto-gl-dev (1.4.17-1) ... Selecting previously unselected package xorg-sgml-doctools. Preparing to unpack .../116-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 .../117-x11proto-core-dev_7.0.31-1_all.deb ... Unpacking x11proto-core-dev (7.0.31-1) ... Selecting previously unselected package libxau-dev:arm64. Preparing to unpack .../118-libxau-dev_1%3a1.0.8-1_arm64.deb ... Unpacking libxau-dev:arm64 (1:1.0.8-1) ... Selecting previously unselected package libxdmcp-dev:arm64. Preparing to unpack .../119-libxdmcp-dev_1%3a1.1.2-3_arm64.deb ... Unpacking libxdmcp-dev:arm64 (1:1.1.2-3) ... Selecting previously unselected package x11proto-input-dev. Preparing to unpack .../120-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 .../121-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 .../122-xtrans-dev_1.3.5-1_all.deb ... Unpacking xtrans-dev (1.3.5-1) ... Selecting previously unselected package libpthread-stubs0-dev:arm64. Preparing to unpack .../123-libpthread-stubs0-dev_0.3-4_arm64.deb ... Unpacking libpthread-stubs0-dev:arm64 (0.3-4) ... Selecting previously unselected package libxcb1-dev:arm64. Preparing to unpack .../124-libxcb1-dev_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb1-dev:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libx11-dev:arm64. Preparing to unpack .../125-libx11-dev_2%3a1.6.4-3_arm64.deb ... Unpacking libx11-dev:arm64 (2:1.6.4-3) ... Selecting previously unselected package x11proto-xext-dev. Preparing to unpack .../126-x11proto-xext-dev_7.3.0-1_all.deb ... Unpacking x11proto-xext-dev (7.3.0-1) ... Selecting previously unselected package libxext-dev:arm64. Preparing to unpack .../127-libxext-dev_2%3a1.3.3-1_arm64.deb ... Unpacking libxext-dev:arm64 (2:1.3.3-1) ... Selecting previously unselected package x11proto-xf86vidmode-dev. Preparing to unpack .../128-x11proto-xf86vidmode-dev_2.3.1-2_all.deb ... Unpacking x11proto-xf86vidmode-dev (2.3.1-2) ... Selecting previously unselected package libxxf86vm-dev:arm64. Preparing to unpack .../129-libxxf86vm-dev_1%3a1.1.4-1_arm64.deb ... Unpacking libxxf86vm-dev:arm64 (1:1.1.4-1) ... Selecting previously unselected package libxdamage1:arm64. Preparing to unpack .../130-libxdamage1_1%3a1.1.4-3_arm64.deb ... Unpacking libxdamage1:arm64 (1:1.1.4-3) ... Selecting previously unselected package libxfixes3:arm64. Preparing to unpack .../131-libxfixes3_1%3a5.0.3-1_arm64.deb ... Unpacking libxfixes3:arm64 (1:5.0.3-1) ... Selecting previously unselected package x11proto-fixes-dev. Preparing to unpack .../132-x11proto-fixes-dev_1%3a5.0-2ubuntu2_all.deb ... Unpacking x11proto-fixes-dev (1:5.0-2ubuntu2) ... Selecting previously unselected package libxfixes-dev:arm64. Preparing to unpack .../133-libxfixes-dev_1%3a5.0.3-1_arm64.deb ... Unpacking libxfixes-dev:arm64 (1:5.0.3-1) ... Selecting previously unselected package x11proto-damage-dev. Preparing to unpack .../134-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:arm64. Preparing to unpack .../135-libxdamage-dev_1%3a1.1.4-3_arm64.deb ... Unpacking libxdamage-dev:arm64 (1:1.1.4-3) ... Selecting previously unselected package libxcb-glx0:arm64. Preparing to unpack .../136-libxcb-glx0_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-glx0:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-glx0-dev:arm64. Preparing to unpack .../137-libxcb-glx0-dev_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-glx0-dev:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-dri2-0-dev:arm64. Preparing to unpack .../138-libxcb-dri2-0-dev_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-dri2-0-dev:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-dri3-dev:arm64. Preparing to unpack .../139-libxcb-dri3-dev_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-dri3-dev:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-randr0:arm64. Preparing to unpack .../140-libxcb-randr0_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-randr0:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-render0-dev:arm64. Preparing to unpack .../141-libxcb-render0-dev_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-render0-dev:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-randr0-dev:arm64. Preparing to unpack .../142-libxcb-randr0-dev_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-randr0-dev:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-shape0:arm64. Preparing to unpack .../143-libxcb-shape0_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-shape0:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-shape0-dev:arm64. Preparing to unpack .../144-libxcb-shape0-dev_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-shape0-dev:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-xfixes0-dev:arm64. Preparing to unpack .../145-libxcb-xfixes0-dev_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-xfixes0-dev:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-sync-dev:arm64. Preparing to unpack .../146-libxcb-sync-dev_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-sync-dev:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-present-dev:arm64. Preparing to unpack .../147-libxcb-present-dev_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-present-dev:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libxshmfence-dev:arm64. Preparing to unpack .../148-libxshmfence-dev_1.2-1_arm64.deb ... Unpacking libxshmfence-dev:arm64 (1.2-1) ... Selecting previously unselected package libx11-xcb-dev:arm64. Preparing to unpack .../149-libx11-xcb-dev_2%3a1.6.4-3_arm64.deb ... Unpacking libx11-xcb-dev:arm64 (2:1.6.4-3) ... Selecting previously unselected package libwayland-cursor0:arm64. Preparing to unpack .../150-libwayland-cursor0_1.14.0-1_arm64.deb ... Unpacking libwayland-cursor0:arm64 (1.14.0-1) ... Selecting previously unselected package libwayland-bin. Preparing to unpack .../151-libwayland-bin_1.14.0-1_arm64.deb ... Unpacking libwayland-bin (1.14.0-1) ... Selecting previously unselected package libwayland-dev:arm64. Preparing to unpack .../152-libwayland-dev_1.14.0-1_arm64.deb ... Unpacking libwayland-dev:arm64 (1.14.0-1) ... Selecting previously unselected package libegl1-mesa-dev:arm64. Preparing to unpack .../153-libegl1-mesa-dev_17.2.4-0ubuntu2_arm64.deb ... Unpacking libegl1-mesa-dev:arm64 (17.2.4-0ubuntu2) ... Selecting previously unselected package perl-openssl-defaults:arm64. Preparing to unpack .../154-perl-openssl-defaults_3_arm64.deb ... Unpacking perl-openssl-defaults:arm64 (3) ... Selecting previously unselected package libnet-ssleay-perl. Preparing to unpack .../155-libnet-ssleay-perl_1.82-1_arm64.deb ... Unpacking libnet-ssleay-perl (1.82-1) ... Selecting previously unselected package libio-socket-ssl-perl. Preparing to unpack .../156-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 .../157-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 .../158-libmailtools-perl_2.18-1_all.deb ... Unpacking libmailtools-perl (2.18-1) ... Selecting previously unselected package libsocket6-perl. Preparing to unpack .../159-libsocket6-perl_0.27-1build2_arm64.deb ... Unpacking libsocket6-perl (0.27-1build2) ... Selecting previously unselected package libio-socket-inet6-perl. Preparing to unpack .../160-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 .../161-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 .../162-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 .../163-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 .../164-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 .../165-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 .../166-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 .../167-libfile-basedir-perl_0.07-1_all.deb ... Unpacking libfile-basedir-perl (0.07-1) ... Selecting previously unselected package libfontenc1:arm64. Preparing to unpack .../168-libfontenc1_1%3a1.1.3-1_arm64.deb ... Unpacking libfontenc1:arm64 (1:1.1.3-1) ... Selecting previously unselected package libgl1-mesa-glx:arm64. Preparing to unpack .../169-libgl1-mesa-glx_17.2.4-0ubuntu2_arm64.deb ... Unpacking libgl1-mesa-glx:arm64 (17.2.4-0ubuntu2) ... Selecting previously unselected package libgles2-mesa:arm64. Preparing to unpack .../170-libgles2-mesa_17.2.4-0ubuntu2_arm64.deb ... Unpacking libgles2-mesa:arm64 (17.2.4-0ubuntu2) ... Selecting previously unselected package libgles2-mesa-dev:arm64. Preparing to unpack .../171-libgles2-mesa-dev_17.2.4-0ubuntu2_arm64.deb ... Unpacking libgles2-mesa-dev:arm64 (17.2.4-0ubuntu2) ... Selecting previously unselected package libglib2.0-bin. Preparing to unpack .../172-libglib2.0-bin_2.54.1-1ubuntu1_arm64.deb ... Unpacking libglib2.0-bin (2.54.1-1ubuntu1) ... Selecting previously unselected package libglib2.0-dev-bin. Preparing to unpack .../173-libglib2.0-dev-bin_2.54.1-1ubuntu1_arm64.deb ... Unpacking libglib2.0-dev-bin (2.54.1-1ubuntu1) ... Selecting previously unselected package libpcre16-3:arm64. Preparing to unpack .../174-libpcre16-3_2%3a8.39-8_arm64.deb ... Unpacking libpcre16-3:arm64 (2:8.39-8) ... Selecting previously unselected package libpcre32-3:arm64. Preparing to unpack .../175-libpcre32-3_2%3a8.39-8_arm64.deb ... Unpacking libpcre32-3:arm64 (2:8.39-8) ... Selecting previously unselected package libpcrecpp0v5:arm64. Preparing to unpack .../176-libpcrecpp0v5_2%3a8.39-8_arm64.deb ... Unpacking libpcrecpp0v5:arm64 (2:8.39-8) ... Selecting previously unselected package libpcre3-dev:arm64. Preparing to unpack .../177-libpcre3-dev_2%3a8.39-8_arm64.deb ... Unpacking libpcre3-dev:arm64 (2:8.39-8) ... Selecting previously unselected package pkg-config. Preparing to unpack .../178-pkg-config_0.29.1-0ubuntu2_arm64.deb ... Unpacking pkg-config (0.29.1-0ubuntu2) ... Selecting previously unselected package zlib1g-dev:arm64. Preparing to unpack .../179-zlib1g-dev_1%3a1.2.11.dfsg-0ubuntu2_arm64.deb ... Unpacking zlib1g-dev:arm64 (1:1.2.11.dfsg-0ubuntu2) ... Selecting previously unselected package libglib2.0-dev:arm64. Preparing to unpack .../180-libglib2.0-dev_2.54.1-1ubuntu1_arm64.deb ... Unpacking libglib2.0-dev:arm64 (2.54.1-1ubuntu1) ... Selecting previously unselected package libglu1-mesa:arm64. Preparing to unpack .../181-libglu1-mesa_9.0.0-2.1build1_arm64.deb ... Unpacking libglu1-mesa:arm64 (9.0.0-2.1build1) ... Selecting previously unselected package mesa-common-dev:arm64. Preparing to unpack .../182-mesa-common-dev_17.2.4-0ubuntu2_arm64.deb ... Unpacking mesa-common-dev:arm64 (17.2.4-0ubuntu2) ... Selecting previously unselected package libgl1-mesa-dev:arm64. Preparing to unpack .../183-libgl1-mesa-dev_17.2.4-0ubuntu2_arm64.deb ... Unpacking libgl1-mesa-dev:arm64 (17.2.4-0ubuntu2) ... Selecting previously unselected package libglu1-mesa-dev:arm64. Preparing to unpack .../184-libglu1-mesa-dev_9.0.0-2.1build1_arm64.deb ... Unpacking libglu1-mesa-dev:arm64 (9.0.0-2.1build1) ... Selecting previously unselected package libgraphite2-dev:arm64. Preparing to unpack .../185-libgraphite2-dev_1.3.10-8_arm64.deb ... Unpacking libgraphite2-dev:arm64 (1.3.10-8) ... Selecting previously unselected package libgudev-1.0-0:arm64. Preparing to unpack .../186-libgudev-1.0-0_1%3a232-1_arm64.deb ... Unpacking libgudev-1.0-0:arm64 (1:232-1) ... Selecting previously unselected package libharfbuzz-icu0:arm64. Preparing to unpack .../187-libharfbuzz-icu0_1.7.2-1_arm64.deb ... Unpacking libharfbuzz-icu0:arm64 (1.7.2-1) ... Selecting previously unselected package libharfbuzz-gobject0:arm64. Preparing to unpack .../188-libharfbuzz-gobject0_1.7.2-1_arm64.deb ... Unpacking libharfbuzz-gobject0:arm64 (1.7.2-1) ... Selecting previously unselected package libicu-le-hb-dev:arm64. Preparing to unpack .../189-libicu-le-hb-dev_1.0.3+git161113-4_arm64.deb ... Unpacking libicu-le-hb-dev:arm64 (1.0.3+git161113-4) ... Selecting previously unselected package libicu-dev. Preparing to unpack .../190-libicu-dev_60.2-1ubuntu1_arm64.deb ... Unpacking libicu-dev (60.2-1ubuntu1) ... Selecting previously unselected package libharfbuzz-dev:arm64. Preparing to unpack .../191-libharfbuzz-dev_1.7.2-1_arm64.deb ... Unpacking libharfbuzz-dev:arm64 (1.7.2-1) ... Selecting previously unselected package libwacom-common. Preparing to unpack .../192-libwacom-common_0.26-1_all.deb ... Unpacking libwacom-common (0.26-1) ... Selecting previously unselected package libwacom2:arm64. Preparing to unpack .../193-libwacom2_0.26-1_arm64.deb ... Unpacking libwacom2:arm64 (0.26-1) ... Selecting previously unselected package libinput-bin. Preparing to unpack .../194-libinput-bin_1.9.4-2_arm64.deb ... Unpacking libinput-bin (1.9.4-2) ... Selecting previously unselected package libevdev2:arm64. Preparing to unpack .../195-libevdev2_1.5.7+dfsg-1_arm64.deb ... Unpacking libevdev2:arm64 (1.5.7+dfsg-1) ... Selecting previously unselected package libinput10:arm64. Preparing to unpack .../196-libinput10_1.9.4-2_arm64.deb ... Unpacking libinput10:arm64 (1.9.4-2) ... Selecting previously unselected package libio-pty-perl. Preparing to unpack .../197-libio-pty-perl_1%3a1.08-1.1build4_arm64.deb ... Unpacking libio-pty-perl (1:1.08-1.1build4) ... Selecting previously unselected package libio-string-perl. Preparing to unpack .../198-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 .../199-libipc-run-perl_0.96-1_all.deb ... Unpacking libipc-run-perl (0.96-1) ... Selecting previously unselected package libjpeg8:arm64. Preparing to unpack .../200-libjpeg8_8c-2ubuntu8_arm64.deb ... Unpacking libjpeg8:arm64 (8c-2ubuntu8) ... Selecting previously unselected package liblist-moreutils-perl. Preparing to unpack .../201-liblist-moreutils-perl_0.416-1build3_arm64.deb ... Unpacking liblist-moreutils-perl (0.416-1build3) ... Selecting previously unselected package libparse-debianchangelog-perl. Preparing to unpack .../202-libparse-debianchangelog-perl_1.2.0-12_all.deb ... Unpacking libparse-debianchangelog-perl (1.2.0-12) ... Selecting previously unselected package libpixman-1-0:arm64. Preparing to unpack .../203-libpixman-1-0_0.34.0-2_arm64.deb ... Unpacking libpixman-1-0:arm64 (0.34.0-2) ... Selecting previously unselected package libdouble-conversion1:arm64. Preparing to unpack .../204-libdouble-conversion1_2.0.1-4ubuntu1_arm64.deb ... Unpacking libdouble-conversion1:arm64 (2.0.1-4ubuntu1) ... Selecting previously unselected package libqt5core5a:arm64. Preparing to unpack .../205-libqt5core5a_5.9.3+dfsg-0ubuntu1_arm64.deb ... Unpacking libqt5core5a:arm64 (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libqt5concurrent5:arm64. Preparing to unpack .../206-libqt5concurrent5_5.9.3+dfsg-0ubuntu1_arm64.deb ... Unpacking libqt5concurrent5:arm64 (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libqt5dbus5:arm64. Preparing to unpack .../207-libqt5dbus5_5.9.3+dfsg-0ubuntu1_arm64.deb ... Unpacking libqt5dbus5:arm64 (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libqt5network5:arm64. Preparing to unpack .../208-libqt5network5_5.9.3+dfsg-0ubuntu1_arm64.deb ... Unpacking libqt5network5:arm64 (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libxcb-shm0:arm64. Preparing to unpack .../209-libxcb-shm0_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-shm0:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-util1:arm64. Preparing to unpack .../210-libxcb-util1_0.4.0-0ubuntu3_arm64.deb ... Unpacking libxcb-util1:arm64 (0.4.0-0ubuntu3) ... Selecting previously unselected package libxcb-image0:arm64. Preparing to unpack .../211-libxcb-image0_0.4.0-1build1_arm64.deb ... Unpacking libxcb-image0:arm64 (0.4.0-1build1) ... Selecting previously unselected package libxcb-xinerama0:arm64. Preparing to unpack .../212-libxcb-xinerama0_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-xinerama0:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libxcb-xkb1:arm64. Preparing to unpack .../213-libxcb-xkb1_1.12-1ubuntu1_arm64.deb ... Unpacking libxcb-xkb1:arm64 (1.12-1ubuntu1) ... Selecting previously unselected package libxi6:arm64. Preparing to unpack .../214-libxi6_2%3a1.7.9-1_arm64.deb ... Unpacking libxi6:arm64 (2:1.7.9-1) ... Selecting previously unselected package libxkbcommon-x11-0:arm64. Preparing to unpack .../215-libxkbcommon-x11-0_0.8.0-1_arm64.deb ... Unpacking libxkbcommon-x11-0:arm64 (0.8.0-1) ... Selecting previously unselected package libqt5gui5:arm64. Preparing to unpack .../216-libqt5gui5_5.9.3+dfsg-0ubuntu1_arm64.deb ... Unpacking libqt5gui5:arm64 (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libqt5widgets5:arm64. Preparing to unpack .../217-libqt5widgets5_5.9.3+dfsg-0ubuntu1_arm64.deb ... Unpacking libqt5widgets5:arm64 (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libqt5opengl5:arm64. Preparing to unpack .../218-libqt5opengl5_5.9.3+dfsg-0ubuntu1_arm64.deb ... Unpacking libqt5opengl5:arm64 (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libqt5printsupport5:arm64. Preparing to unpack .../219-libqt5printsupport5_5.9.3+dfsg-0ubuntu1_arm64.deb ... Unpacking libqt5printsupport5:arm64 (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libqt5sql5:arm64. Preparing to unpack .../220-libqt5sql5_5.9.3+dfsg-0ubuntu1_arm64.deb ... Unpacking libqt5sql5:arm64 (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libqt5test5:arm64. Preparing to unpack .../221-libqt5test5_5.9.3+dfsg-0ubuntu1_arm64.deb ... Unpacking libqt5test5:arm64 (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libqt5xml5:arm64. Preparing to unpack .../222-libqt5xml5_5.9.3+dfsg-0ubuntu1_arm64.deb ... Unpacking libqt5xml5:arm64 (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package qt5-qmake-bin. Preparing to unpack .../223-qt5-qmake-bin_5.9.3+dfsg-0ubuntu1_arm64.deb ... Unpacking qt5-qmake-bin (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package qtchooser. Preparing to unpack .../224-qtchooser_64-ga1b6736-5_arm64.deb ... Unpacking qtchooser (64-ga1b6736-5) ... Selecting previously unselected package qt5-qmake:arm64. Preparing to unpack .../225-qt5-qmake_5.9.3+dfsg-0ubuntu1_arm64.deb ... Unpacking qt5-qmake:arm64 (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package qtbase5-dev-tools. Preparing to unpack .../226-qtbase5-dev-tools_5.9.3+dfsg-0ubuntu1_arm64.deb ... Unpacking qtbase5-dev-tools (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package qtbase5-dev:arm64. Preparing to unpack .../227-qtbase5-dev_5.9.3+dfsg-0ubuntu1_arm64.deb ... Unpacking qtbase5-dev:arm64 (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libqt5opengl5-dev:arm64. Preparing to unpack .../228-libqt5opengl5-dev_5.9.3+dfsg-0ubuntu1_arm64.deb ... Unpacking libqt5opengl5-dev:arm64 (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package libqt5qml5:arm64. Preparing to unpack .../229-libqt5qml5_5.9.3-0ubuntu1_arm64.deb ... Unpacking libqt5qml5:arm64 (5.9.3-0ubuntu1) ... Selecting previously unselected package libqt5quick5:arm64. Preparing to unpack .../230-libqt5quick5_5.9.3-0ubuntu1_arm64.deb ... Unpacking libqt5quick5:arm64 (5.9.3-0ubuntu1) ... Selecting previously unselected package libqt5quickparticles5:arm64. Preparing to unpack .../231-libqt5quickparticles5_5.9.3-0ubuntu1_arm64.deb ... Unpacking libqt5quickparticles5:arm64 (5.9.3-0ubuntu1) ... Selecting previously unselected package libqt5quicktest5:arm64. Preparing to unpack .../232-libqt5quicktest5_5.9.3-0ubuntu1_arm64.deb ... Unpacking libqt5quicktest5:arm64 (5.9.3-0ubuntu1) ... Selecting previously unselected package libqt5quickwidgets5:arm64. Preparing to unpack .../233-libqt5quickwidgets5_5.9.3-0ubuntu1_arm64.deb ... Unpacking libqt5quickwidgets5:arm64 (5.9.3-0ubuntu1) ... Selecting previously unselected package libtext-levenshtein-perl. Preparing to unpack .../234-libtext-levenshtein-perl_0.13-1_all.deb ... Unpacking libtext-levenshtein-perl (0.13-1) ... Selecting previously unselected package libudev-dev:arm64. Preparing to unpack .../235-libudev-dev_235-3ubuntu3_arm64.deb ... Unpacking libudev-dev:arm64 (235-3ubuntu3) ... Selecting previously unselected package libxt6:arm64. Preparing to unpack .../236-libxt6_1%3a1.1.5-1_arm64.deb ... Unpacking libxt6:arm64 (1:1.1.5-1) ... Selecting previously unselected package libxmu6:arm64. Preparing to unpack .../237-libxmu6_2%3a1.1.2-2_arm64.deb ... Unpacking libxmu6:arm64 (2:1.1.2-2) ... Selecting previously unselected package libxpm4:arm64. Preparing to unpack .../238-libxpm4_1%3a3.5.12-1_arm64.deb ... Unpacking libxpm4:arm64 (1:3.5.12-1) ... Selecting previously unselected package libxaw7:arm64. Preparing to unpack .../239-libxaw7_2%3a1.0.13-1_arm64.deb ... Unpacking libxaw7:arm64 (2:1.0.13-1) ... Selecting previously unselected package libxfont2:arm64. Preparing to unpack .../240-libxfont2_1%3a2.0.1-4ubuntu1_arm64.deb ... Unpacking libxfont2:arm64 (1:2.0.1-4ubuntu1) ... Selecting previously unselected package libxkbcommon-dev. Preparing to unpack .../241-libxkbcommon-dev_0.8.0-1_arm64.deb ... Unpacking libxkbcommon-dev (0.8.0-1) ... Selecting previously unselected package libxkbfile1:arm64. Preparing to unpack .../242-libxkbfile1_1%3a1.0.9-2_arm64.deb ... Unpacking libxkbfile1:arm64 (1:1.0.9-2) ... Selecting previously unselected package libxml-namespacesupport-perl. Preparing to unpack .../243-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 .../244-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 .../245-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 .../246-libxml-libxml-perl_2.0128+dfsg-5_arm64.deb ... Unpacking libxml-libxml-perl (2.0128+dfsg-5) ... Selecting previously unselected package libxml-simple-perl. Preparing to unpack .../247-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 .../248-libyaml-libyaml-perl_0.63-2build1_arm64.deb ... Unpacking libyaml-libyaml-perl (0.63-2build1) ... Selecting previously unselected package patchutils. Preparing to unpack .../249-patchutils_0.3.4-2_arm64.deb ... Unpacking patchutils (0.3.4-2) ... Selecting previously unselected package t1utils. Preparing to unpack .../250-t1utils_1.41-2_arm64.deb ... Unpacking t1utils (1.41-2) ... Selecting previously unselected package lintian. Preparing to unpack .../251-lintian_2.5.62_all.deb ... Unpacking lintian (2.5.62) ... Selecting previously unselected package qml-module-qtquick2:arm64. Preparing to unpack .../252-qml-module-qtquick2_5.9.3-0ubuntu1_arm64.deb ... Unpacking qml-module-qtquick2:arm64 (5.9.3-0ubuntu1) ... Selecting previously unselected package qml-module-qttest:arm64. Preparing to unpack .../253-qml-module-qttest_5.9.3-0ubuntu1_arm64.deb ... Unpacking qml-module-qttest:arm64 (5.9.3-0ubuntu1) ... Selecting previously unselected package qt5-qmltooling-plugins:arm64. Preparing to unpack .../254-qt5-qmltooling-plugins_5.9.3-0ubuntu1_arm64.deb ... Unpacking qt5-qmltooling-plugins:arm64 (5.9.3-0ubuntu1) ... Selecting previously unselected package libinput-dev:arm64. Preparing to unpack .../255-libinput-dev_1.9.4-2_arm64.deb ... Unpacking libinput-dev:arm64 (1.9.4-2) ... Selecting previously unselected package qtbase5-private-dev:arm64. Preparing to unpack .../256-qtbase5-private-dev_5.9.3+dfsg-0ubuntu1_arm64.deb ... Unpacking qtbase5-private-dev:arm64 (5.9.3+dfsg-0ubuntu1) ... Selecting previously unselected package qtdeclarative5-dev:arm64. Preparing to unpack .../257-qtdeclarative5-dev_5.9.3-0ubuntu1_arm64.deb ... Unpacking qtdeclarative5-dev:arm64 (5.9.3-0ubuntu1) ... Selecting previously unselected package qtdeclarative5-private-dev:arm64. Preparing to unpack .../258-qtdeclarative5-private-dev_5.9.3-0ubuntu1_arm64.deb ... Unpacking qtdeclarative5-private-dev:arm64 (5.9.3-0ubuntu1) ... Selecting previously unselected package x11-xkb-utils. Preparing to unpack .../259-x11-xkb-utils_7.7+3_arm64.deb ... Unpacking x11-xkb-utils (7.7+3) ... Selecting previously unselected package xserver-common. Preparing to unpack .../260-xserver-common_2%3a1.19.5-0ubuntu2_all.deb ... Unpacking xserver-common (2:1.19.5-0ubuntu2) ... Selecting previously unselected package xvfb. Preparing to unpack .../261-xvfb_2%3a1.19.5-0ubuntu2_arm64.deb ... Unpacking xvfb (2:1.19.5-0ubuntu2) ... Selecting previously unselected package pkg-kde-tools. Preparing to unpack .../262-pkg-kde-tools_0.15.28ubuntu1_all.deb ... Unpacking pkg-kde-tools (0.15.28ubuntu1) ... Selecting previously unselected package sbuild-build-depends-qtlocation-opensource-src-dummy. Preparing to unpack .../263-sbuild-build-depends-qtlocation-opensource-src-dummy_0.invalid.0_arm64.deb ... Unpacking sbuild-build-depends-qtlocation-opensource-src-dummy (0.invalid.0) ... Setting up libhtml-tagset-perl (3.20-3) ... Setting up libedit2:arm64 (3.1-20170329-1) ... Setting up libnet-domain-tld-perl (1.75-1) ... Setting up x11proto-dri2-dev (2.8-2) ... 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 libdouble-conversion1:arm64 (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:arm64 (1.5.7+dfsg-1) ... Setting up libtext-levenshtein-perl (0.13-1) ... Setting up libtimedate-perl (2.3000-2) ... Setting up libnet-ip-perl (1.26-1) ... Setting up libsigsegv2:arm64 (2.11-1) ... Setting up libpthread-stubs0-dev:arm64 (0.3-4) ... Setting up fonts-dejavu-core (2.37-1) ... Setting up perl-openssl-defaults:arm64 (3) ... Setting up libipc-system-simple-perl (1.25-3) ... Setting up libfile-basedir-perl (0.07-1) ... Setting up libelf1:arm64 (0.170-0.2) ... Setting up groff-base (1.22.3-9) ... Setting up libglib2.0-0:arm64 (2.54.1-1ubuntu1) ... No schema files found: doing nothing. Setting up libxshmfence1:arm64 (1.2-1) ... Setting up xorg-sgml-doctools (1:1.11-1) ... Setting up libexporter-tiny-perl (1.000000-2) ... Setting up libwayland-client0:arm64 (1.14.0-1) ... Setting up xkb-data (2.19-1.1ubuntu1) ... Setting up qtchooser (64-ga1b6736-5) ... Setting up libllvm5.0:arm64 (1:5.0.1-2) ... Setting up x11proto-xf86vidmode-dev (2.3.1-2) ... Setting up gettext-base (0.19.8.1-4ubuntu2) ... Setting up libjpeg-turbo8:arm64 (1.5.2-0ubuntu5) ... Setting up libpipeline1:arm64 (1.5.0-1) ... Setting up x11proto-kb-dev (1.0.7-1) ... Setting up libglapi-mesa:arm64 (17.2.4-0ubuntu2) ... Setting up m4 (1.4.18-1) ... Setting up libbsd0:arm64 (0.8.6-3) ... Setting up ucf (3.0036) ... Setting up libgirepository-1.0-1:arm64 (1.54.1-4) ... Setting up libfreetype6:arm64 (2.8-0.2ubuntu2) ... Setting up libmagic-mgc (1:5.32-1) ... Setting up libmagic1:arm64 (1:5.32-1) ... Setting up libdrm-common (2.4.89-1) ... Setting up libgraphite2-3:arm64 (1.3.10-8) ... Setting up libboost-system1.65.1:arm64 (1.65.1+dfsg-0ubuntu4) ... Setting up libxml-sax-base-perl (1.09-1) ... Setting up pkg-config (0.29.1-0ubuntu2) ... Setting up libx11-xcb1:arm64 (2:1.6.4-3) ... Setting up libpixman-1-0:arm64 (0.34.0-2) ... Setting up xtrans-dev (1.3.5-1) ... Setting up gir1.2-glib-2.0:arm64 (1.54.1-4) ... Setting up libglib2.0-data (2.54.1-1ubuntu1) ... Setting up qt5-qmake:arm64 (5.9.3+dfsg-0ubuntu1) ... Processing triggers for libc-bin (2.26-0ubuntu2) ... Setting up libsocket6-perl (0.27-1build2) ... Setting up patchutils (0.3.4-2) ... Setting up autotools-dev (20171216.1) ... Setting up liburi-perl (1.72-2) ... Setting up t1utils (1.41-2) ... 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 libmtdev1:arm64 (1.1.5-1ubuntu2) ... Setting up libipc-run-perl (0.96-1) ... Setting up libcapnp-0.6.1 (0.6.1-1) ... Setting up libcgi-pm-perl (4.38-1) ... Setting up libfontenc1:arm64 (1:1.1.3-1) ... Setting up libdigest-hmac-perl (1.03+dfsg-1) ... Setting up libio-string-perl (1.08-3) ... Setting up liblocale-gettext-perl (1.07-3build2) ... Setting up libclone-perl (0.39-1) ... Setting up libsensors4:arm64 (1:3.4.0-4) ... Setting up libxkbcommon0:arm64 (0.8.0-1) ... Setting up libpcrecpp0v5:arm64 (2:8.39-8) ... Setting up libpcre32-3:arm64 (2:8.39-8) ... Setting up libgudev-1.0-0:arm64 (1:232-1) ... Setting up libpcre16-3:arm64 (2:8.39-8) ... Setting up libxdmcp6:arm64 (1:1.1.2-3) ... 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 libmircore1:arm64 (0.29.0-0ubuntu1) ... 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 libprotobuf-lite10:arm64 (3.0.0-9ubuntu5) ... Setting up libyaml-libyaml-perl (0.63-2build1) ... Setting up libglib2.0-bin (2.54.1-1ubuntu1) ... Setting up libudev-dev:arm64 (235-3ubuntu3) ... Setting up libgles2-mesa:arm64 (17.2.4-0ubuntu2) ... Setting up libgraphite2-dev:arm64 (1.3.10-8) ... Setting up libwayland-cursor0:arm64 (1.14.0-1) ... Setting up libx11-data (2:1.6.4-3) ... Setting up diffstat (1.61-1build1) ... Setting up libxau6:arm64 (1:1.0.8-1) ... Setting up autopoint (0.19.8.1-4ubuntu2) ... Setting up libmpdec2:arm64 (2.4.2-1) ... Setting up libclass-accessor-perl (0.51-1) ... Setting up libdbus-1-3:arm64 (1.12.2-1ubuntu1) ... Setting up libavahi-common-data:arm64 (0.7-3ubuntu1) ... Setting up libwayland-server0:arm64 (1.14.0-1) ... Setting up netbase (5.4) ... Setting up zlib1g-dev:arm64 (1:1.2.11.dfsg-0ubuntu2) ... 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:arm64 (8c-2ubuntu8) ... Setting up liblist-moreutils-perl (0.416-1build3) ... Setting up libpython3.6-stdlib:arm64 (3.6.4-2) ... Setting up libpcre3-dev:arm64 (2:8.39-8) ... Setting up fontconfig-config (2.12.6-0ubuntu1) ... Setting up libxkbcommon-dev (0.8.0-1) ... Setting up x11proto-core-dev (7.0.31-1) ... Setting up libwacom2:arm64 (0.26-1) ... Setting up libio-socket-inet6-perl (2.72-2) ... Setting up libxshmfence-dev:arm64 (1.2-1) ... Setting up libnet-ssleay-perl (1.82-1) ... Setting up libmirprotobuf3:arm64 (0.29.0-0ubuntu1) ... Setting up libboost-filesystem1.65.1:arm64 (1.65.1+dfsg-0ubuntu4) ... Setting up libxfont2:arm64 (1:2.0.1-4ubuntu1) ... Setting up libharfbuzz0b:arm64 (1.7.2-1) ... Setting up libxau-dev:arm64 (1:1.0.8-1) ... Setting up autoconf (2.69-11) ... 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:arm64 (2.4.89-1) ... Setting up libxdmcp-dev:arm64 (1:1.1.2-3) ... Setting up gir1.2-harfbuzz-0.0:arm64 (1.7.2-1) ... 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:arm64 (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:arm64 (0.29.0-0ubuntu1) ... Setting up libavahi-common3:arm64 (0.7-3ubuntu1) ... Setting up libdrm-radeon1:arm64 (2.4.89-1) ... Setting up libdrm-nouveau2:arm64 (2.4.89-1) ... Setting up libxcb1:arm64 (1.12-1ubuntu1) ... Setting up x11proto-input-dev (2.3.2-1) ... Setting up libharfbuzz-gobject0:arm64 (1.7.2-1) ... Setting up libxcb-xkb1:arm64 (1.12-1ubuntu1) ... Setting up libtool (2.4.6-2) ... Setting up libxcb-xinerama0:arm64 (1.12-1ubuntu1) ... Setting up libpython3-stdlib:arm64 (3.6.3-0ubuntu2) ... Setting up libxcb-present0:arm64 (1.12-1ubuntu1) ... Setting up libfontconfig1:arm64 (2.12.6-0ubuntu1) ... Setting up libxcb-dri2-0:arm64 (1.12-1ubuntu1) ... Setting up libsm6:arm64 (2:1.2.2-1) ... Setting up libxcb-dri3-0:arm64 (1.12-1ubuntu1) ... Setting up libxcb-glx0:arm64 (1.12-1ubuntu1) ... Setting up libxcb-randr0:arm64 (1.12-1ubuntu1) ... Setting up libxcb-xfixes0:arm64 (1.12-1ubuntu1) ... Setting up libxcb-icccm4:arm64 (0.4.1-1ubuntu1) ... Setting up libxcb-render0:arm64 (1.12-1ubuntu1) ... Setting up libnet-smtp-ssl-perl (1.04-1) ... Setting up libdrm-amdgpu1:arm64 (2.4.89-1) ... Setting up libdrm-freedreno1:arm64 (2.4.89-1) ... Setting up libgbm1:arm64 (17.2.4-0ubuntu2) ... Setting up libx11-6:arm64 (2:1.6.4-3) ... Setting up libinput10:arm64 (1.9.4-2) ... Setting up libgl1-mesa-dri:arm64 (17.2.4-0ubuntu2) ... Setting up libmirclient9:arm64 (0.29.0-0ubuntu1) ... Setting up libdrm-tegra0:arm64 (2.4.89-1) ... Setting up libxcb-util1:arm64 (0.4.0-0ubuntu3) ... Setting up libxkbcommon-x11-0:arm64 (0.8.0-1) ... Setting up libxmuu1:arm64 (2:1.1.2-2) ... Setting up libxcb-sync1:arm64 (1.12-1ubuntu1) ... Setting up libinput-dev:arm64 (1.9.4-2) ... Setting up x11proto-xext-dev (7.3.0-1) ... Setting up libxcb-shm0:arm64 (1.12-1ubuntu1) ... Setting up libxpm4:arm64 (1:3.5.12-1) ... Setting up libxt6:arm64 (1:1.1.5-1) ... Setting up libxcb-shape0:arm64 (1.12-1ubuntu1) ... Setting up libxcb1-dev:arm64 (1.12-1ubuntu1) ... Setting up libxcb-glx0-dev:arm64 (1.12-1ubuntu1) ... Setting up libavahi-client3:arm64 (0.7-3ubuntu1) ... Setting up libxcb-keysyms1:arm64 (0.4.0-1) ... Setting up libx11-dev:arm64 (2:1.6.4-3) ... Setting up libxcb-sync-dev:arm64 (1.12-1ubuntu1) ... Setting up fontconfig (2.12.6-0ubuntu1) ... Regenerating fonts cache... done. Setting up libcups2:arm64 (2.2.6-4) ... Setting up libegl1-mesa:arm64 (17.2.4-0ubuntu2) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/mesa-egl/ld.so.conf to provide /etc/ld.so.conf.d/aarch64-linux-gnu_EGL.conf (aarch64-linux-gnu_egl_conf) in auto mode Setting up libxkbfile1:arm64 (1:1.0.9-2) ... Setting up libx11-xcb-dev:arm64 (2:1.6.4-3) ... Setting up libxcb-render-util0:arm64 (0.3.9-1) ... Setting up libmailtools-perl (2.18-1) ... Setting up libemail-valid-perl (1.202-1) ... Setting up libxdamage1:arm64 (1:1.1.4-3) ... Setting up libxcb-image0:arm64 (0.4.0-1build1) ... Setting up libxext6:arm64 (2:1.3.3-1) ... Setting up libxfixes3:arm64 (1:5.0.3-1) ... Setting up libdrm-dev:arm64 (2.4.89-1) ... Setting up x11proto-fixes-dev (1:5.0-2ubuntu2) ... Setting up libxmu6:arm64 (2:1.1.2-2) ... Setting up xauth (1:1.0.10-1) ... Setting up libxcb-dri2-0-dev:arm64 (1.12-1ubuntu1) ... Setting up libxcb-render0-dev:arm64 (1.12-1ubuntu1) ... Setting up x11proto-damage-dev (1:1.2.1-2) ... Setting up libxcb-dri3-dev:arm64 (1.12-1ubuntu1) ... Setting up libxext-dev:arm64 (2:1.3.3-1) ... Setting up libwayland-egl1-mesa:arm64 (17.2.4-0ubuntu2) ... Setting up libxcb-shape0-dev:arm64 (1.12-1ubuntu1) ... Setting up libxxf86vm1:arm64 (1:1.1.4-1) ... Setting up libxxf86vm-dev:arm64 (1:1.1.4-1) ... Setting up libxfixes-dev:arm64 (1:5.0.3-1) ... Setting up libxi6:arm64 (2:1.7.9-1) ... Setting up libxaw7:arm64 (2:1.0.13-1) ... Setting up libxcb-randr0-dev:arm64 (1.12-1ubuntu1) ... Setting up mesa-common-dev:arm64 (17.2.4-0ubuntu2) ... Setting up x11-xkb-utils (7.7+3) ... Setting up libxcb-xfixes0-dev:arm64 (1.12-1ubuntu1) ... Setting up libxdamage-dev:arm64 (1:1.1.4-3) ... Setting up libgl1-mesa-glx:arm64 (17.2.4-0ubuntu2) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/mesa/ld.so.conf to provide /etc/ld.so.conf.d/aarch64-linux-gnu_GL.conf (aarch64-linux-gnu_gl_conf) in auto mode Setting up libglu1-mesa:arm64 (9.0.0-2.1build1) ... Setting up libxcb-present-dev:arm64 (1.12-1ubuntu1) ... Setting up xserver-common (2:1.19.5-0ubuntu2) ... Setting up xvfb (2:1.19.5-0ubuntu2) ... Setting up libgl1-mesa-dev:arm64 (17.2.4-0ubuntu2) ... Setting up libglu1-mesa-dev:arm64 (9.0.0-2.1build1) ... Setting up python3.6 (3.6.4-2) ... Setting up python3 (3.6.3-0ubuntu2) ... Setting up libglib2.0-dev-bin (2.54.1-1ubuntu1) ... Setting up libicu-le-hb0:arm64 (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 libglib2.0-dev:arm64 (2.54.1-1ubuntu1) ... Setting up dh-strip-nondeterminism (0.040-1) ... Setting up dh-python (2.20170125) ... Setting up python3-distutils (3.6.4~rc1-6) ... Setting up libicu60:arm64 (60.2-1ubuntu1) ... Setting up libharfbuzz-icu0:arm64 (1.7.2-1) ... Setting up libxml2:arm64 (2.9.4+dfsg1-5.2ubuntu1) ... Setting up libcroco3:arm64 (0.6.12-2) ... Setting up icu-devtools (60.2-1ubuntu1) ... 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 libharfbuzz-dev:arm64 (1.7.2-1) ... Setting up libqt5core5a:arm64 (5.9.3+dfsg-0ubuntu1) ... Setting up libwayland-bin (1.14.0-1) ... Setting up libqt5dbus5:arm64 (5.9.3+dfsg-0ubuntu1) ... Setting up libqt5network5:arm64 (5.9.3+dfsg-0ubuntu1) ... Setting up libicu-le-hb-dev:arm64 (1.0.3+git161113-4) ... Setting up gettext (0.19.8.1-4ubuntu2) ... Setting up libqt5test5:arm64 (5.9.3+dfsg-0ubuntu1) ... Setting up libicu-dev (60.2-1ubuntu1) ... Setting up intltool-debian (0.35.0+20060710.4) ... Setting up libxml-simple-perl (2.24-1) ... Setting up libqt5xml5:arm64 (5.9.3+dfsg-0ubuntu1) ... Setting up libqt5gui5:arm64 (5.9.3+dfsg-0ubuntu1) ... Setting up libqt5sql5:arm64 (5.9.3+dfsg-0ubuntu1) ... Setting up lintian (2.5.62) ... Setting up libwayland-dev:arm64 (1.14.0-1) ... Setting up libqt5concurrent5:arm64 (5.9.3+dfsg-0ubuntu1) ... Setting up pkg-kde-tools (0.15.28ubuntu1) ... Setting up libqt5qml5:arm64 (5.9.3-0ubuntu1) ... Setting up libqt5quick5:arm64 (5.9.3-0ubuntu1) ... Setting up qtbase5-dev-tools (5.9.3+dfsg-0ubuntu1) ... Setting up qml-module-qtquick2:arm64 (5.9.3-0ubuntu1) ... Setting up libqt5widgets5:arm64 (5.9.3+dfsg-0ubuntu1) ... Setting up po-debconf (1.0.20) ... Setting up libqt5printsupport5:arm64 (5.9.3+dfsg-0ubuntu1) ... Setting up libqt5opengl5:arm64 (5.9.3+dfsg-0ubuntu1) ... Setting up libqt5quickparticles5:arm64 (5.9.3-0ubuntu1) ... Setting up libqt5quicktest5:arm64 (5.9.3-0ubuntu1) ... Setting up libegl1-mesa-dev:arm64 (17.2.4-0ubuntu2) ... Setting up qt5-qmltooling-plugins:arm64 (5.9.3-0ubuntu1) ... Setting up debhelper (11ubuntu1) ... Setting up libqt5quickwidgets5:arm64 (5.9.3-0ubuntu1) ... Setting up dh-autoreconf (15) ... Setting up qml-module-qttest:arm64 (5.9.3-0ubuntu1) ... Setting up libgles2-mesa-dev:arm64 (17.2.4-0ubuntu2) ... Setting up qtbase5-dev:arm64 (5.9.3+dfsg-0ubuntu1) ... Setting up libqt5opengl5-dev:arm64 (5.9.3+dfsg-0ubuntu1) ... Setting up qtdeclarative5-dev:arm64 (5.9.3-0ubuntu1) ... Setting up qtbase5-private-dev:arm64 (5.9.3+dfsg-0ubuntu1) ... Setting up qtdeclarative5-private-dev:arm64 (5.9.3-0ubuntu1) ... Setting up sbuild-build-depends-qtlocation-opensource-src-dummy (0.invalid.0) ... (Reading database ... 25768 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 arm64 (aarch64) 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-aarch64-linux-gnu_2.29.1-12ubuntu1 binutils-common_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 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 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 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 gir1.2-glib-2.0_1.54.1-4 gir1.2-harfbuzz-0.0_1.7.2-1 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 icu-devtools_60.2-1ubuntu1 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 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 libasan4_7.2.0-18ubuntu2 libasan5_8-20180110-1ubuntu1 libasn1-8-heimdal_7.5.0+dfsg-1 libassuan0_2.5.1-1 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 libbinutils_2.29.1-12ubuntu1 libblkid1_2.30.2-0.1ubuntu1 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 libcap-ng0_0.7.7-3.1 libcap2_1:2.25-1.2 libcapnp-0.6.1_0.6.1-1 libcc1-0_8-20180110-1ubuntu1 libcgi-pm-perl_4.38-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-gnutls_7.57.0-1ubuntu1 libdb5.3_5.3.28-13.1 libdbus-1-3_1.12.2-1ubuntu1 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-freedreno1_2.4.89-1 libdrm-nouveau2_2.4.89-1 libdrm-radeon1_2.4.89-1 libdrm-tegra0_2.4.89-1 libdrm2_2.4.89-1 libedit2_3.1-20170329-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 libfakeroot_1.21-1ubuntu2 libfdisk1_2.30.2-0.1ubuntu1 libffi6_3.2.1-6 libfile-basedir-perl_0.07-1 libfile-stripnondeterminism-perl_0.040-1 libfontconfig1_2.12.6-0ubuntu1 libfontenc1_1:1.1.3-1 libfreetype6_2.8-0.2ubuntu2 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 libgirepository-1.0-1_1.54.1-4 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 libglib2.0-bin_2.54.1-1ubuntu1 libglib2.0-data_2.54.1-1ubuntu1 libglib2.0-dev_2.54.1-1ubuntu1 libglib2.0-dev-bin_2.54.1-1ubuntu1 libglu1-mesa_9.0.0-2.1build1 libglu1-mesa-dev_9.0.0-2.1build1 libgmp10_2:6.1.2+dfsg-1 libgnutls30_3.5.8-6ubuntu3 libgomp1_8-20180110-1ubuntu1 libgpg-error0_1.27-5 libgraphite2-3_1.3.10-8 libgraphite2-dev_1.3.10-8 libgssapi-krb5-2_1.15.1-2 libgssapi3-heimdal_7.5.0+dfsg-1 libgudev-1.0-0_1:232-1 libharfbuzz-dev_1.7.2-1 libharfbuzz-gobject0_1.7.2-1 libharfbuzz-icu0_1.7.2-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 libhx509-5-heimdal_7.5.0+dfsg-1 libice6_2:1.0.9-2 libicu-dev_60.2-1ubuntu1 libicu-le-hb-dev_1.0.3+git161113-4 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 libinput-dev_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 libjpeg-turbo8_1.5.2-0ubuntu5 libjpeg8_8c-2ubuntu8 libk5crypto3_1.15.1-2 libkeyutils1_1.5.9-9.2ubuntu1 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 libldap-2.4-2_2.4.45+dfsg-1ubuntu1 libldap-common_2.4.45+dfsg-1ubuntu1 liblist-moreutils-perl_0.416-1build3 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 liblz4-1_0.0~r131-2ubuntu2 liblzma5_5.2.2-1.3 libmagic-mgc_1:5.32-1 libmagic1_1:5.32-1 libmailtools-perl_2.18-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 libmpc3_1.0.3-2 libmpdec2_2.4.2-1 libmpfr4_3.1.6-1 libmtdev1_1.1.5-1ubuntu2 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 libnghttp2-14_1.29.0-1 libnpth0_1.5-3 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 libpam0g_1.1.8-3.2ubuntu3 libparse-debianchangelog-perl_1.2.0-12 libpcre16-3_2:8.39-8 libpcre3_2:8.39-8 libpcre3-dev_2:8.39-8 libpcre32-3_2:8.39-8 libpcrecpp0v5_2:8.39-8 libperl5.26_5.26.1-3 libpipeline1_1.5.0-1 libpixman-1-0_0.34.0-2 libpng16-16_1.6.34-1 libprocps6_2:3.3.12-1ubuntu2 libprotobuf-lite10_3.0.0-9ubuntu5 libpsl5_0.19.1-4 libpthread-stubs0-dev_0.3-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 libqt5opengl5_5.9.3+dfsg-0ubuntu1 libqt5opengl5-dev_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 libqt5sql5_5.9.3+dfsg-0ubuntu1 libqt5test5_5.9.3+dfsg-0ubuntu1 libqt5widgets5_5.9.3+dfsg-0ubuntu1 libqt5xml5_5.9.3+dfsg-0ubuntu1 libreadline7_7.0-0ubuntu2 libroken18-heimdal_7.5.0+dfsg-1 librtmp1_2.4+20151223.gitfa8646d.1-1 libsasl2-2_2.1.27~101-g0780600+dfsg-3ubuntu1 libsasl2-modules-db_2.1.27~101-g0780600+dfsg-3ubuntu1 libseccomp2_2.3.1-2.1ubuntu3 libselinux1_2.7-2 libsemanage-common_2.7-2 libsemanage1_2.7-2 libsensors4_1:3.4.0-4 libsepol1_2.7-1 libsigsegv2_2.11-1 libslang2_2.3.1-5ubuntu1 libsm6_2:1.2.2-1 libsmartcols1_2.30.2-0.1ubuntu1 libsocket6-perl_0.27-1build2 libsqlite3-0_3.21.0-1 libss2_1.43.8-1ubuntu1 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 libsystemd0_235-3ubuntu3 libtasn1-6_4.12-3 libtext-levenshtein-perl_0.13-1 libtimedate-perl_2.3000-2 libtinfo5_6.0+20160625-1ubuntu1 libtool_2.4.6-2 libtsan0_8-20180110-1ubuntu1 libubsan0_7.2.0-18ubuntu2 libubsan1_8-20180110-1ubuntu1 libudev-dev_235-3ubuntu3 libudev1_235-3ubuntu3 libunistring0_0.9.3-5.2ubuntu1 liburi-perl_1.72-2 libusb-0.1-4_2:0.1.12-31 libustr-1.0-1_1.0.4-6 libuuid1_2.30.2-0.1ubuntu1 libwacom-common_0.26-1 libwacom2_0.26-1 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 libwind0-heimdal_7.5.0+dfsg-1 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 libxau-dev_1:1.0.8-1 libxau6_1:1.0.8-1 libxaw7_2:1.0.13-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 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 libxfont2_1:2.0.1-4ubuntu1 libxi6_2:1.7.9-1 libxkbcommon-dev_0.8.0-1 libxkbcommon-x11-0_0.8.0-1 libxkbcommon0_0.8.0-1 libxkbfile1_1:1.0.9-2 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 libxmu6_2:1.1.2-2 libxmuu1_2:1.1.2-2 libxpm4_1:3.5.12-1 libxshmfence-dev_1.2-1 libxshmfence1_1.2-1 libxt6_1:1.1.5-1 libxxf86vm-dev_1:1.1.4-1 libxxf86vm1_1:1.1.4-1 libyaml-libyaml-perl_0.63-2build1 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 pinentry-curses_1.0.0-3 pkg-config_0.29.1-0ubuntu2 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 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 qml-module-qtquick2_5.9.3-0ubuntu1 qml-module-qttest_5.9.3-0ubuntu1 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 qtbase5-private-dev_5.9.3+dfsg-0ubuntu1 qtchooser_64-ga1b6736-5 qtdeclarative5-dev_5.9.3-0ubuntu1 qtdeclarative5-private-dev_5.9.3-0ubuntu1 readline-common_7.0-0ubuntu2 sbuild-build-depends-core-dummy_0.invalid.0 sbuild-build-depends-qtlocation-opensource-src-dummy_0.invalid.0 sed_4.4-1 sensible-utils_0.0.11 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 x11-common_1:7.7+19ubuntu3 x11-xkb-utils_7.7+3 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 xauth_1:1.0.10-1 xkb-data_2.19-1.1ubuntu1 xorg-sgml-doctools_1:1.11-1 xserver-common_2:1.19.5-0ubuntu2 xtrans-dev_1.3.5-1 xvfb_2:1.19.5-0ubuntu2 xz-utils_5.2.2-1.3 zlib1g_1:1.2.11.dfsg-0ubuntu2 zlib1g-dev_1:1.2.11.dfsg-0ubuntu2 +------------------------------------------------------------------------------+ | Build | +------------------------------------------------------------------------------+ Unpack source ------------- gpgv: Signature made Sun Dec 10 00:50:04 2017 UTC gpgv: using RSA key gpgv: issuer "tsimonq2@ubuntu.com" gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./qtlocation-opensource-src_5.9.3+dfsg-0ubuntu1.dsc dpkg-source: info: extracting qtlocation-opensource-src in qtlocation-opensource-src-5.9.3+dfsg dpkg-source: info: unpacking qtlocation-opensource-src_5.9.3+dfsg.orig.tar.xz dpkg-source: info: unpacking qtlocation-opensource-src_5.9.3+dfsg-0ubuntu1.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-14150071 SCHROOT_CHROOT_NAME=build-PACKAGEBUILD-14150071 SCHROOT_COMMAND=env SCHROOT_GID=2501 SCHROOT_GROUP=buildd SCHROOT_SESSION_ID=build-PACKAGEBUILD-14150071 SCHROOT_UID=2001 SCHROOT_USER=buildd SHELL=/bin/sh TERM=unknown USER=buildd V=1 dpkg-buildpackage ----------------- dpkg-buildpackage: info: source package qtlocation-opensource-src dpkg-buildpackage: info: source version 5.9.3+dfsg-0ubuntu1 dpkg-buildpackage: info: source distribution bionic dpkg-source --before-build qtlocation-opensource-src-5.9.3+dfsg dpkg-buildpackage: info: host architecture arm64 fakeroot debian/rules clean dh clean --with pkgkde_symbolshelper debian/rules override_dh_auto_clean make[1]: Entering directory '/<>/qtlocation-opensource-src-5.9.3+dfsg' dh_auto_clean # Leftover files and all symlinks find \( -false \ -o -name \*.a \ -o -name Makefile.Debug \ -o -name Makefile.Release \ -o -name \*.o \ -o -name \*.prl \ -o -name \*.so \ -o -name \*.so.debug \ -o -type l \ \) -print0 | xargs -0 rm -rfv # Some other leftover binaries rm -fv config.tests/geoclue/geoclue rm -rf test_root test_home make[1]: Leaving directory '/<>/qtlocation-opensource-src-5.9.3+dfsg' dh_clean debian/rules build-arch dh build-arch --with pkgkde_symbolshelper dh_update_autotools_config -a dh_autoreconf -a debian/rules override_dh_auto_configure make[1]: Entering directory '/<>/qtlocation-opensource-src-5.9.3+dfsg' dh_auto_configure -- QT_BUILD_PARTS+=tests qmake -makefile "QMAKE_CFLAGS_RELEASE=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2" "QMAKE_CFLAGS_DEBUG=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2" "QMAKE_CXXFLAGS_RELEASE=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2" "QMAKE_CXXFLAGS_DEBUG=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2" "QMAKE_LFLAGS_RELEASE=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed" "QMAKE_LFLAGS_DEBUG=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed" QMAKE_STRIP=: PREFIX=/usr QT_BUILD_PARTS\+=tests Info: creating stash file /<>/qtlocation-opensource-src-5.9.3+dfsg/.qmake.stash Info: creating cache file /<>/qtlocation-opensource-src-5.9.3+dfsg/.qmake.cache Checking for gypsy... no Checking for winrt... no Running configuration tests... Checking for Gypsy... no Checking for WinRT Geolocation API... no Done running configuration tests. Configure summary: Qt Positioning: Gypsy GPS Daemon ....................... no WinRT Geolocation API .................. no Qt Location: Geoservice plugins: OpenStreetMap ........................ yes HERE ................................. yes Esri ................................. yes Mapbox ............................... yes MapboxGL ............................. yes Itemsoverlay ......................... yes Qt is now configured for building. Just run 'make'. Once everything is built, Qt is installed. You should NOT run 'make install'. Note that this build cannot be deployed to other machines or devices. Prior to reconfiguration, make sure you remove any leftovers from the previous build. make[1]: Leaving directory '/<>/qtlocation-opensource-src-5.9.3+dfsg' dh_auto_build -a make -j4 make[1]: Entering directory '/<>/qtlocation-opensource-src-5.9.3+dfsg' cd src/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /<>/qtlocation-opensource-src-5.9.3+dfsg/src/src.pro 'QMAKE_CFLAGS_RELEASE=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_CFLAGS_DEBUG=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_CXXFLAGS_RELEASE=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_CXXFLAGS_DEBUG=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_LFLAGS_RELEASE=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed' 'QMAKE_LFLAGS_DEBUG=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed' QMAKE_STRIP=: PREFIX=/usr QT_BUILD_PARTS+=tests ) && make -f Makefile make[2]: Entering directory '/<>/qtlocation-opensource-src-5.9.3+dfsg/src' cd 3rdparty/clipper/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clipper/clipper.pro 'QMAKE_CFLAGS_RELEASE=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_CFLAGS_DEBUG=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_CXXFLAGS_RELEASE=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_CXXFLAGS_DEBUG=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_LFLAGS_RELEASE=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed' 'QMAKE_LFLAGS_DEBUG=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed' QMAKE_STRIP=: PREFIX=/usr QT_BUILD_PARTS+=tests ) && make -f Makefile cd 3rdparty/poly2tri/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/poly2tri/poly2tri.pro 'QMAKE_CFLAGS_RELEASE=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_CFLAGS_DEBUG=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_CXXFLAGS_RELEASE=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_CXXFLAGS_DEBUG=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_LFLAGS_RELEASE=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed' 'QMAKE_LFLAGS_DEBUG=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed' QMAKE_STRIP=: PREFIX=/usr QT_BUILD_PARTS+=tests ) && make -f Makefile make[3]: Entering directory '/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clipper' g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -ffast-math -fPIC -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -w -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I. -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/clipper.o clipper.cpp make[3]: Entering directory '/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/poly2tri' g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -ffast-math -fPIC -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -w -fno-exceptions -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I. -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/shapes.o common/shapes.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -ffast-math -fPIC -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -w -fno-exceptions -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I. -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/sweep_context.o sweep/sweep_context.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -ffast-math -fPIC -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -w -fno-exceptions -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I. -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/cdt.o sweep/cdt.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -ffast-math -fPIC -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -w -fno-exceptions -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I. -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/sweep.o sweep/sweep.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -ffast-math -fPIC -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -w -fno-exceptions -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I. -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/advancing_front.o sweep/advancing_front.cpp rm -f ../../../lib/libpoly2tri.a ar cqs ../../../lib/libpoly2tri.a .obj/shapes.o .obj/sweep_context.o .obj/cdt.o .obj/sweep.o .obj/advancing_front.o make[3]: Leaving directory '/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/poly2tri' rm -f ../../../lib/libclipper.a ar cqs ../../../lib/libclipper.a .obj/clipper.o make[3]: Leaving directory '/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clipper' cd 3rdparty/clip2tri/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clip2tri/clip2tri.pro 'QMAKE_CFLAGS_RELEASE=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_CFLAGS_DEBUG=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_CXXFLAGS_RELEASE=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_CXXFLAGS_DEBUG=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_LFLAGS_RELEASE=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed' 'QMAKE_LFLAGS_DEBUG=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed' QMAKE_STRIP=: PREFIX=/usr QT_BUILD_PARTS+=tests ) && make -f Makefile make[3]: Entering directory '/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clip2tri' g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -ffast-math -fPIC -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -w -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I. -I../poly2tri -I../clipper -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/clip2tri.o clip2tri.cpp rm -f ../../../lib/libclip2tri.a ar cqs ../../../lib/libclip2tri.a .obj/clip2tri.o make[3]: Leaving directory '/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clip2tri' cd positioning/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /<>/qtlocation-opensource-src-5.9.3+dfsg/src/positioning/positioning.pro 'QMAKE_CFLAGS_RELEASE=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_CFLAGS_DEBUG=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_CXXFLAGS_RELEASE=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_CXXFLAGS_DEBUG=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_LFLAGS_RELEASE=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed' 'QMAKE_LFLAGS_DEBUG=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed' QMAKE_STRIP=: PREFIX=/usr QT_BUILD_PARTS+=tests ) && make -f Makefile make[3]: Entering directory '/<>/qtlocation-opensource-src-5.9.3+dfsg/src/positioning' perl /usr/lib/aarch64-linux-gnu/qt5/mkspecs/features/data/unix/findclasslist.pl < QtPositioning.version.in > QtPositioning.version g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeoaddress.o qgeoaddress.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeoareamonitorsource.o qgeoareamonitorsource.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeoareamonitorinfo.o qgeoareamonitorinfo.cpp g++ -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -dM -E -o .moc/moc_predefs.h /usr/lib/aarch64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeorectangle.o qgeorectangle.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeocircle.o qgeocircle.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeocoordinate.o qgeocoordinate.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeolocation.o qgeolocation.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeopositioninfo.o qgeopositioninfo.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeopositioninfosource.o qgeopositioninfosource.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeosatelliteinfo.o qgeosatelliteinfo.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeosatelliteinfosource.o qgeosatelliteinfosource.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qlocationutils.o qlocationutils.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qnmeapositioninfosource.o qnmeapositioninfosource.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeopositioninfosourcefactory.o qgeopositioninfosourcefactory.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qdeclarativegeoaddress.o qdeclarativegeoaddress.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qdeclarativegeolocation.o qdeclarativegeolocation.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qdoublevector2d.o qdoublevector2d.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qdoublevector3d.o qdoublevector3d.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeopath.o qgeopath.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qlocationdata_simulator.o qlocationdata_simulator.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qwebmercator.o qwebmercator.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qdoublematrix4x4.o qdoublematrix4x4.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qclipperutils.o qclipperutils.cpp /usr/lib/qt5/bin/moc -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB --include .moc/moc_predefs.h -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/positioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clipper -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clip2tri -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3 -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3/QtPositioning -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtCore -I/usr/include/c++/8 -I/usr/include/aarch64-linux-gnu/c++/8 -I/usr/include/c++/8/backward -I/usr/lib/gcc/aarch64-linux-gnu/8/include -I/usr/local/include -I/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed -I/usr/include/aarch64-linux-gnu -I/usr/include qgeoareamonitorsource.h -o .moc/moc_qgeoareamonitorsource.cpp /usr/lib/qt5/bin/moc -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB --include .moc/moc_predefs.h -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/positioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clipper -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clip2tri -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3 -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3/QtPositioning -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtCore -I/usr/include/c++/8 -I/usr/include/aarch64-linux-gnu/c++/8 -I/usr/include/c++/8/backward -I/usr/lib/gcc/aarch64-linux-gnu/8/include -I/usr/local/include -I/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed -I/usr/include/aarch64-linux-gnu -I/usr/include qgeorectangle.h -o .moc/moc_qgeorectangle.cpp /usr/lib/qt5/bin/moc -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB --include .moc/moc_predefs.h -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/positioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clipper -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clip2tri -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3 -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3/QtPositioning -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtCore -I/usr/include/c++/8 -I/usr/include/aarch64-linux-gnu/c++/8 -I/usr/include/c++/8/backward -I/usr/lib/gcc/aarch64-linux-gnu/8/include -I/usr/local/include -I/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed -I/usr/include/aarch64-linux-gnu -I/usr/include qgeocircle.h -o .moc/moc_qgeocircle.cpp /usr/lib/qt5/bin/moc -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB --include .moc/moc_predefs.h -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/positioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clipper -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clip2tri -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3 -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3/QtPositioning -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtCore -I/usr/include/c++/8 -I/usr/include/aarch64-linux-gnu/c++/8 -I/usr/include/c++/8/backward -I/usr/lib/gcc/aarch64-linux-gnu/8/include -I/usr/local/include -I/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed -I/usr/include/aarch64-linux-gnu -I/usr/include qgeocoordinate.h -o .moc/moc_qgeocoordinate.cpp /usr/lib/qt5/bin/moc -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB --include .moc/moc_predefs.h -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/positioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clipper -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clip2tri -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3 -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3/QtPositioning -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtCore -I/usr/include/c++/8 -I/usr/include/aarch64-linux-gnu/c++/8 -I/usr/include/c++/8/backward -I/usr/lib/gcc/aarch64-linux-gnu/8/include -I/usr/local/include -I/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed -I/usr/include/aarch64-linux-gnu -I/usr/include qgeopositioninfosource.h -o .moc/moc_qgeopositioninfosource.cpp /usr/lib/qt5/bin/moc -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB --include .moc/moc_predefs.h -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/positioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clipper -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clip2tri -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3 -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3/QtPositioning -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtCore -I/usr/include/c++/8 -I/usr/include/aarch64-linux-gnu/c++/8 -I/usr/include/c++/8/backward -I/usr/lib/gcc/aarch64-linux-gnu/8/include -I/usr/local/include -I/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed -I/usr/include/aarch64-linux-gnu -I/usr/include qgeosatelliteinfosource.h -o .moc/moc_qgeosatelliteinfosource.cpp /usr/lib/qt5/bin/moc -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB --include .moc/moc_predefs.h -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/positioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clipper -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clip2tri -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3 -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3/QtPositioning -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtCore -I/usr/include/c++/8 -I/usr/include/aarch64-linux-gnu/c++/8 -I/usr/include/c++/8/backward -I/usr/lib/gcc/aarch64-linux-gnu/8/include -I/usr/local/include -I/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed -I/usr/include/aarch64-linux-gnu -I/usr/include qnmeapositioninfosource.h -o .moc/moc_qnmeapositioninfosource.cpp /usr/lib/qt5/bin/moc -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB --include .moc/moc_predefs.h -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/positioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clipper -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clip2tri -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3 -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3/QtPositioning -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtCore -I/usr/include/c++/8 -I/usr/include/aarch64-linux-gnu/c++/8 -I/usr/include/c++/8/backward -I/usr/lib/gcc/aarch64-linux-gnu/8/include -I/usr/local/include -I/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed -I/usr/include/aarch64-linux-gnu -I/usr/include qgeopath.h -o .moc/moc_qgeopath.cpp /usr/lib/qt5/bin/moc -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB --include .moc/moc_predefs.h -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/positioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clipper -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clip2tri -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3 -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3/QtPositioning -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtCore -I/usr/include/c++/8 -I/usr/include/aarch64-linux-gnu/c++/8 -I/usr/include/c++/8/backward -I/usr/lib/gcc/aarch64-linux-gnu/8/include -I/usr/local/include -I/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed -I/usr/include/aarch64-linux-gnu -I/usr/include qnmeapositioninfosource_p.h -o .moc/moc_qnmeapositioninfosource_p.cpp /usr/lib/qt5/bin/moc -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB --include .moc/moc_predefs.h -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/positioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clipper -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clip2tri -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3 -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3/QtPositioning -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtCore -I/usr/include/c++/8 -I/usr/include/aarch64-linux-gnu/c++/8 -I/usr/include/c++/8/backward -I/usr/lib/gcc/aarch64-linux-gnu/8/include -I/usr/local/include -I/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed -I/usr/include/aarch64-linux-gnu -I/usr/include qdeclarativegeoaddress_p.h -o .moc/moc_qdeclarativegeoaddress_p.cpp /usr/lib/qt5/bin/moc -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB --include .moc/moc_predefs.h -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/positioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clipper -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clip2tri -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3 -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3/QtPositioning -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtCore -I/usr/include/c++/8 -I/usr/include/aarch64-linux-gnu/c++/8 -I/usr/include/c++/8/backward -I/usr/lib/gcc/aarch64-linux-gnu/8/include -I/usr/local/include -I/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed -I/usr/include/aarch64-linux-gnu -I/usr/include qdeclarativegeolocation_p.h -o .moc/moc_qdeclarativegeolocation_p.cpp /usr/lib/qt5/bin/moc -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB --include .moc/moc_predefs.h -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/positioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clipper -I/<>/qtlocation-opensource-src-5.9.3+dfsg/src/3rdparty/clip2tri -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3 -I/<>/qtlocation-opensource-src-5.9.3+dfsg/include/QtPositioning/5.9.3/QtPositioning -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -I/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtCore -I/usr/include/c++/8 -I/usr/include/aarch64-linux-gnu/c++/8 -I/usr/include/c++/8/backward -I/usr/lib/gcc/aarch64-linux-gnu/8/include -I/usr/local/include -I/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed -I/usr/include/aarch64-linux-gnu -I/usr/include qgeoshape.h -o .moc/moc_qgeoshape.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/moc_qgeoareamonitorsource.o .moc/moc_qgeoareamonitorsource.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/moc_qgeorectangle.o .moc/moc_qgeorectangle.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/moc_qgeocircle.o .moc/moc_qgeocircle.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/moc_qgeocoordinate.o .moc/moc_qgeocoordinate.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/moc_qgeopositioninfosource.o .moc/moc_qgeopositioninfosource.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/moc_qgeosatelliteinfosource.o .moc/moc_qgeosatelliteinfosource.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/moc_qnmeapositioninfosource.o .moc/moc_qnmeapositioninfosource.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/moc_qgeopath.o .moc/moc_qgeopath.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/moc_qnmeapositioninfosource_p.o .moc/moc_qnmeapositioninfosource_p.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/moc_qdeclarativegeoaddress_p.o .moc/moc_qdeclarativegeoaddress_p.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/moc_qdeclarativegeolocation_p.o .moc/moc_qdeclarativegeolocation_p.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_POSITIONING_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../3rdparty/clipper -I../3rdparty/clip2tri -I../../include -I../../include/QtPositioning -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeoshape.o qgeoshape.cpp rm -f libQt5Positioning.so.5.9.3 libQt5Positioning.so libQt5Positioning.so.5 libQt5Positioning.so.5.9 g++ -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed -Wl,--no-undefined -Wl,--version-script,QtPositioning.version -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed -Wl,--enable-new-dtags -shared -Wl,-soname,libQt5Positioning.so.5 -o libQt5Positioning.so.5.9.3 .obj/qgeoaddress.o .obj/qgeoareamonitorsource.o .obj/qgeoareamonitorinfo.o .obj/qgeoshape.o .obj/qgeorectangle.o .obj/qgeocircle.o .obj/qgeocoordinate.o .obj/qgeolocation.o .obj/qgeopositioninfo.o .obj/qgeopositioninfosource.o .obj/qgeosatelliteinfo.o .obj/qgeosatelliteinfosource.o .obj/qlocationutils.o .obj/qnmeapositioninfosource.o .obj/qgeopositioninfosourcefactory.o .obj/qdeclarativegeoaddress.o .obj/qdeclarativegeolocation.o .obj/qdoublevector2d.o .obj/qdoublevector3d.o .obj/qgeopath.o .obj/qlocationdata_simulator.o .obj/qwebmercator.o .obj/qdoublematrix4x4.o .obj/qclipperutils.o .obj/moc_qgeoareamonitorsource.o .obj/moc_qgeorectangle.o .obj/moc_qgeocircle.o .obj/moc_qgeocoordinate.o .obj/moc_qgeopositioninfosource.o .obj/moc_qgeosatelliteinfosource.o .obj/moc_qnmeapositioninfosource.o .obj/moc_qgeopath.o .obj/moc_qnmeapositioninfosource_p.o .obj/moc_qdeclarativegeoaddress_p.o .obj/moc_qdeclarativegeolocation_p.o -lQt5Core -lpthread -L/<>/qtlocation-opensource-src-5.9.3+dfsg/lib -lclip2tri -lpoly2tri -lclipper ln -s libQt5Positioning.so.5.9.3 libQt5Positioning.so ln -s libQt5Positioning.so.5.9.3 libQt5Positioning.so.5 ln -s libQt5Positioning.so.5.9.3 libQt5Positioning.so.5.9 rm -f ../../lib/libQt5Positioning.so.5.9.3 mv -f libQt5Positioning.so.5.9.3 ../../lib/ rm -f ../../lib/libQt5Positioning.so rm -f ../../lib/libQt5Positioning.so.5 rm -f ../../lib/libQt5Positioning.so.5.9 mv -f libQt5Positioning.so ../../lib/ mv -f libQt5Positioning.so.5 ../../lib/ mv -f libQt5Positioning.so.5.9 ../../lib/ make[3]: Leaving directory '/<>/qtlocation-opensource-src-5.9.3+dfsg/src/positioning' cd location/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /<>/qtlocation-opensource-src-5.9.3+dfsg/src/location/location.pro 'QMAKE_CFLAGS_RELEASE=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_CFLAGS_DEBUG=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_CXXFLAGS_RELEASE=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_CXXFLAGS_DEBUG=-g -O2 -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2' 'QMAKE_LFLAGS_RELEASE=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed' 'QMAKE_LFLAGS_DEBUG=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed' QMAKE_STRIP=: PREFIX=/usr QT_BUILD_PARTS+=tests ) && make -f Makefile make[3]: Entering directory '/<>/qtlocation-opensource-src-5.9.3+dfsg/src/location' perl /usr/lib/aarch64-linux-gnu/qt5/mkspecs/features/data/unix/findclasslist.pl < QtLocation.version.in > QtLocation.version g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qlocation.o qlocation.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeocameracapabilities.o maps/qgeocameracapabilities.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeocameradata.o maps/qgeocameradata.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeocameratiles.o maps/qgeocameratiles.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeocodereply.o maps/qgeocodereply.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeocodingmanager.o maps/qgeocodingmanager.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeocodingmanagerengine.o maps/qgeocodingmanagerengine.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeomaneuver.o maps/qgeomaneuver.cpp g++ -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -dM -E -o .moc/moc_predefs.h /usr/lib/aarch64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeomap.o maps/qgeomap.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeomappingmanager.o maps/qgeomappingmanager.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeomappingmanagerengine.o maps/qgeomappingmanagerengine.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeotiledmappingmanagerengine.o maps/qgeotiledmappingmanagerengine.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeotilefetcher.o maps/qgeotilefetcher.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeomaptype.o maps/qgeomaptype.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeoroute.o maps/qgeoroute.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeoroutereply.o maps/qgeoroutereply.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeorouterequest.o maps/qgeorouterequest.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeoroutesegment.o maps/qgeoroutesegment.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeoroutingmanager.o maps/qgeoroutingmanager.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeoroutingmanagerengine.o maps/qgeoroutingmanagerengine.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeoserviceprovider.o maps/qgeoserviceprovider.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeoserviceproviderfactory.o maps/qgeoserviceproviderfactory.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qabstractgeotilecache.o maps/qabstractgeotilecache.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeofiletilecache.o maps/qgeofiletilecache.cpp In file included from /usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearray.h:687, from /usr/include/aarch64-linux-gnu/qt5/QtCore/qvariant.h:44, from /usr/include/aarch64-linux-gnu/qt5/QtCore/QVariant:1, from maps/qgeoserviceprovider.h:40, from maps/qgeoserviceprovider.cpp:37: maps/qgeoserviceprovider.cpp: In instantiation of ‘Flags QGeoServiceProviderPrivate::features(const char*) [with Flags = QFlags]’: maps/qgeoserviceprovider.cpp:286:62: required from here maps/qgeoserviceprovider.cpp:267:33: internal compiler error: Segmentation fault if (this->metaData.contains(QStringLiteral("Features")) ^~~~~~~~~~~~~~ g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeotiledmapreply.o maps/qgeotiledmapreply.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeotilespec.o maps/qgeotilespec.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeotiledmap.o maps/qgeotiledmap.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeotiledmapscene.o maps/qgeotiledmapscene.cpp 0xaab39f crash_signal ../../src/gcc/toplev.c:325 0x5cb200 determine_visibility(tree_node*) ../../src/gcc/cp/decl2.c:2472 0x661c37 lookup_template_class_1 ../../src/gcc/cp/pt.c:9145 0x661c37 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*, int, int) ../../src/gcc/cp/pt.c:9161 0x662873 tsubst_aggr_type ../../src/gcc/cp/pt.c:12008 0x65959b tsubst(tree_node*, tree_node*, int, tree_node*) ../../src/gcc/cp/pt.c:13643 0x6691a3 tsubst_decl ../../src/gcc/cp/pt.c:12940 0x659b3b tsubst(tree_node*, tree_node*, int, tree_node*) ../../src/gcc/cp/pt.c:13561 0x6540a7 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../src/gcc/cp/pt.c:16046 0x6526d3 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../src/gcc/cp/pt.c:15973 0x652887 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../src/gcc/cp/pt.c:16236 0x652887 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../src/gcc/cp/pt.c:16236 0x655943 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../src/gcc/cp/pt.c:15958 0x655943 tsubst_lambda_expr(tree_node*, tree_node*, int, tree_node*) ../../src/gcc/cp/pt.c:16970 0x6569df tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../src/gcc/cp/pt.c:18260 0x657bf7 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../src/gcc/cp/pt.c:17577 0x6574cb tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../src/gcc/cp/pt.c:17593 0x655db3 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../src/gcc/cp/pt.c:17290 0x65247b tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../src/gcc/cp/pt.c:17014 0x65247b tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../src/gcc/cp/pt.c:16752 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See for instructions. g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeorouteparser.o maps/qgeorouteparser.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeorouteparserosrmv5.o maps/qgeorouteparserosrmv5.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeorouteparserosrmv4.o maps/qgeorouteparserosrmv4.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeomapparameter.o maps/qgeomapparameter.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qgeoprojection.o maps/qgeoprojection.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qplace.o places/qplace.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qplaceattribute.o places/qplaceattribute.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qplacecategory.o places/qplacecategory.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qplacecontactdetail.o places/qplacecontactdetail.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qplacecontent.o places/qplacecontent.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qplacecontentreply.o places/qplacecontentreply.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qplaceeditorial.o places/qplaceeditorial.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qplaceuser.o places/qplaceuser.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qplaceicon.o places/qplaceicon.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qplaceimage.o places/qplaceimage.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qplaceratings.o places/qplaceratings.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qplacereview.o places/qplacereview.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qplaceidreply.o places/qplaceidreply.cpp g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qplacesupplier.o places/qplacesupplier.cpp Preprocessed source stored into /tmp/ccbwBpof.out file, please attach this to your bugreport. === BEGIN GCC DUMP === 7770: // Target: aarch64-linux-gnu 7770: // 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=aarch64-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 --disable-libquadmath --enable-plugin --enable-default-pie --with-system-zlib --disable-libphobos --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu 7770: // Thread model: posix 7770: // gcc version 8.0.0 20180110 (experimental) [trunk revision 256425] (Ubuntu 8-20180110-1ubuntu1) 7770: // 7770: // In file included from /usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearray.h:687, 7770: // from /usr/include/aarch64-linux-gnu/qt5/QtCore/qvariant.h:44, 7770: // from /usr/include/aarch64-linux-gnu/qt5/QtCore/QVariant:1, 7770: // from maps/qgeoserviceprovider.h:40, 7770: // from maps/qgeoserviceprovider.cpp:37: 7770: // maps/qgeoserviceprovider.cpp: In instantiation of ‘Flags QGeoServiceProviderPrivate::features(const char*) [with Flags = QFlags]’: 7770: // maps/qgeoserviceprovider.cpp:286:62: required from here 7770: // maps/qgeoserviceprovider.cpp:267:33: internal compiler error: Segmentation fault 7770: // if (this->metaData.contains(QStringLiteral("Features")) 7770: // ^~~~~~~~~~~~~~ 7770: // 0xaab39f crash_signal 7770: // ../../src/gcc/toplev.c:325 7770: // 0x5cb200 determine_visibility(tree_node*) 7770: // ../../src/gcc/cp/decl2.c:2472 7770: // 0x661c37 lookup_template_class_1 7770: // ../../src/gcc/cp/pt.c:9145 7770: // 0x661c37 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*, int, int) 7770: // ../../src/gcc/cp/pt.c:9161 7770: // 0x662873 tsubst_aggr_type 7770: // ../../src/gcc/cp/pt.c:12008 7770: // 0x65959b tsubst(tree_node*, tree_node*, int, tree_node*) 7770: // ../../src/gcc/cp/pt.c:13643 7770: // 0x6691a3 tsubst_decl 7770: // ../../src/gcc/cp/pt.c:12940 7770: // 0x659b3b tsubst(tree_node*, tree_node*, int, tree_node*) 7770: // ../../src/gcc/cp/pt.c:13561 7770: // 0x6540a7 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) 7770: // ../../src/gcc/cp/pt.c:16046 7770: // 0x6526d3 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) 7770: // ../../src/gcc/cp/pt.c:15973 7770: // 0x652887 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) 7770: // ../../src/gcc/cp/pt.c:16236 7770: // 0x652887 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) 7770: // ../../src/gcc/cp/pt.c:16236 7770: // 0x655943 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) 7770: // ../../src/gcc/cp/pt.c:15958 7770: // 0x655943 tsubst_lambda_expr(tree_node*, tree_node*, int, tree_node*) 7770: // ../../src/gcc/cp/pt.c:16970 7770: // 0x6569df tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) 7770: // ../../src/gcc/cp/pt.c:18260 7770: // 0x657bf7 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) 7770: // ../../src/gcc/cp/pt.c:17577 7770: // 0x6574cb tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) 7770: // ../../src/gcc/cp/pt.c:17593 7770: // 0x655db3 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) 7770: // ../../src/gcc/cp/pt.c:17290 7770: // 0x65247b tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) 7770: // ../../src/gcc/cp/pt.c:17014 7770: // 0x65247b tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) 7770: // ../../src/gcc/cp/pt.c:16752 7770: // Please submit a full bug report, 7770: // with preprocessed source if appropriate. 7770: // Please include the complete backtrace with any bug report. 7770: // See for instructions. 7770: 7770: // /usr/lib/gcc/aarch64-linux-gnu/8/cc1plus -quiet -I . -I ../3rdparty/earcut -I ../3rdparty/poly2tri -I ../3rdparty/clipper -I ../3rdparty/clip2tri -I ../positioning -I ../imports/positioning -I . -I maps -I places -I declarativemaps -I declarativeplaces -I ../../include -I ../../include/QtLocation -I ../../include/QtLocation/5.9.3 -I ../../include/QtLocation/5.9.3/QtLocation -I ../../include/QtPositioning/5.9.3 -I ../../include/QtPositioning/5.9.3/QtPositioning -I ../../include/QtPositioning -I .moc -I /usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -imultiarch aarch64-linux-gnu -D_GNU_SOURCE -D _FORTIFY_SOURCE=2 -D _FORTIFY_SOURCE=2 -D _FORTIFY_SOURCE=2 -D _REENTRANT -D QT_NO_NARROWING_CONVERSIONS_IN_CONNECT -D QT_BUILD_LOCATION_LIB -D QT_BUILDING_QT -D QT_NO_CAST_TO_ASCII -D QT_ASCII_CAST_WARNINGS -D QT_MOC_COMPAT -D QT_USE_QSTRINGBUILDER -D QT_DEPRECATED_WARNINGS -D QT_DISABLE_DEPRECATED_BEFORE=0x050000 -D QT_NO_EXCEPTIONS -D _LARGEFILE64_SOURCE -D _LARGEFILE_SOURCE -D QT_NO_DEBUG -D QT_POSITIONING_LIB -D QT_QUICK_LIB -D QT_GUI_LIB -D QT_QML_LIB -D QT_NETWORK_LIB -D QT_CORE_LIB -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore maps/qgeoserviceprovider.cpp -quiet -dumpbase qgeoserviceprovider.cpp -mlittle-endian -mabi=lp64 -auxbase-strip .obj/qgeoserviceprovider.o -g -g -O2 -O3 -Wformat=1 -Werror=format-security -Wformat=1 -Werror=format-security -Wall -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wstringop-overflow=0 -std=c++17 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -fPIC -fstack-protector-strong -Wformat-security -o - -frandom-seed=0 -fdump-noaddr 7770: 7770: # 1 "maps/qgeoserviceprovider.cpp" 7770: # 1 "/<>/qtlocation-opensource-src-5.9.3+dfsg/src/location//" 7770: # 1 "" 7770: # 1 "" 7770: # 1 "/usr/include/stdc-predef.h" 1 3 4 7770: # 1 "" 2 7770: # 1 "maps/qgeoserviceprovider.cpp" 7770: # 37 "maps/qgeoserviceprovider.cpp" 7770: # 1 "maps/qgeoserviceprovider.h" 1 7770: # 40 "maps/qgeoserviceprovider.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QVariant" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvariant.h" 1 3 4 7770: # 43 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvariant.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 7770: # 41 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: # 1 "/usr/include/c++/8/type_traits" 1 3 4 7770: # 32 "/usr/include/c++/8/type_traits" 3 4 7770: 7770: # 33 "/usr/include/c++/8/type_traits" 3 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/c++/8/bits/c++config.h" 1 3 7770: # 236 "/usr/include/aarch64-linux-gnu/c++/8/bits/c++config.h" 3 7770: 7770: # 236 "/usr/include/aarch64-linux-gnu/c++/8/bits/c++config.h" 3 7770: namespace std 7770: { 7770: typedef long unsigned int size_t; 7770: typedef long int ptrdiff_t; 7770: 7770: 7770: typedef decltype(nullptr) nullptr_t; 7770: 7770: } 7770: # 258 "/usr/include/aarch64-linux-gnu/c++/8/bits/c++config.h" 3 7770: namespace std 7770: { 7770: inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } 7770: } 7770: namespace __gnu_cxx 7770: { 7770: inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } 7770: } 7770: # 508 "/usr/include/aarch64-linux-gnu/c++/8/bits/c++config.h" 3 7770: # 1 "/usr/include/aarch64-linux-gnu/c++/8/bits/os_defines.h" 1 3 7770: # 39 "/usr/include/aarch64-linux-gnu/c++/8/bits/os_defines.h" 3 7770: # 1 "/usr/include/features.h" 1 3 4 7770: # 419 "/usr/include/features.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/sys/cdefs.h" 1 3 4 7770: # 419 "/usr/include/aarch64-linux-gnu/sys/cdefs.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/wordsize.h" 1 3 4 7770: # 420 "/usr/include/aarch64-linux-gnu/sys/cdefs.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/long-double.h" 1 3 4 7770: # 421 "/usr/include/aarch64-linux-gnu/sys/cdefs.h" 2 3 4 7770: # 420 "/usr/include/features.h" 2 3 4 7770: # 443 "/usr/include/features.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/gnu/stubs.h" 1 3 4 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/wordsize.h" 1 3 4 7770: # 6 "/usr/include/aarch64-linux-gnu/gnu/stubs.h" 2 3 4 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h" 1 3 4 7770: # 9 "/usr/include/aarch64-linux-gnu/gnu/stubs.h" 2 3 4 7770: # 444 "/usr/include/features.h" 2 3 4 7770: # 40 "/usr/include/aarch64-linux-gnu/c++/8/bits/os_defines.h" 2 3 7770: # 509 "/usr/include/aarch64-linux-gnu/c++/8/bits/c++config.h" 2 3 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/c++/8/bits/cpu_defines.h" 1 3 7770: # 512 "/usr/include/aarch64-linux-gnu/c++/8/bits/c++config.h" 2 3 7770: # 39 "/usr/include/c++/8/type_traits" 2 3 7770: 7770: 7770: 7770: namespace std 7770: { 7770: typedef short unsigned int uint_least16_t; 7770: typedef unsigned int uint_least32_t; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 68 "/usr/include/c++/8/type_traits" 3 7770: template 7770: struct integral_constant 7770: { 7770: static constexpr _Tp value = __v; 7770: typedef _Tp value_type; 7770: typedef integral_constant<_Tp, __v> type; 7770: constexpr operator value_type() const noexcept { return value; } 7770: 7770: 7770: 7770: 7770: constexpr value_type operator()() const noexcept { return value; } 7770: 7770: }; 7770: 7770: template 7770: constexpr _Tp integral_constant<_Tp, __v>::value; 7770: 7770: 7770: typedef integral_constant true_type; 7770: 7770: 7770: typedef integral_constant false_type; 7770: 7770: template 7770: using __bool_constant = integral_constant; 7770: 7770: 7770: 7770: template 7770: using bool_constant = integral_constant; 7770: 7770: 7770: 7770: 7770: template 7770: struct conditional; 7770: 7770: template 7770: struct __or_; 7770: 7770: template<> 7770: struct __or_<> 7770: : public false_type 7770: { }; 7770: 7770: template 7770: struct __or_<_B1> 7770: : public _B1 7770: { }; 7770: 7770: template 7770: struct __or_<_B1, _B2> 7770: : public conditional<_B1::value, _B1, _B2>::type 7770: { }; 7770: 7770: template 7770: struct __or_<_B1, _B2, _B3, _Bn...> 7770: : public conditional<_B1::value, _B1, __or_<_B2, _B3, _Bn...>>::type 7770: { }; 7770: 7770: template 7770: struct __and_; 7770: 7770: template<> 7770: struct __and_<> 7770: : public true_type 7770: { }; 7770: 7770: template 7770: struct __and_<_B1> 7770: : public _B1 7770: { }; 7770: 7770: template 7770: struct __and_<_B1, _B2> 7770: : public conditional<_B1::value, _B2, _B1>::type 7770: { }; 7770: 7770: template 7770: struct __and_<_B1, _B2, _B3, _Bn...> 7770: : public conditional<_B1::value, __and_<_B2, _B3, _Bn...>, _B1>::type 7770: { }; 7770: 7770: template 7770: struct __not_ 7770: : public __bool_constant 7770: { }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct conjunction 7770: : __and_<_Bn...> 7770: { }; 7770: 7770: template 7770: struct disjunction 7770: : __or_<_Bn...> 7770: { }; 7770: 7770: template 7770: struct negation 7770: : __not_<_Pp> 7770: { }; 7770: 7770: template 7770: inline constexpr bool conjunction_v = conjunction<_Bn...>::value; 7770: 7770: template 7770: inline constexpr bool disjunction_v = disjunction<_Bn...>::value; 7770: 7770: template 7770: inline constexpr bool negation_v = negation<_Pp>::value; 7770: # 192 "/usr/include/c++/8/type_traits" 3 7770: template 7770: struct __success_type 7770: { typedef _Tp type; }; 7770: 7770: struct __failure_type 7770: { }; 7770: 7770: 7770: 7770: template 7770: struct remove_cv; 7770: 7770: template 7770: struct __is_void_helper 7770: : public false_type { }; 7770: 7770: template<> 7770: struct __is_void_helper 7770: : public true_type { }; 7770: 7770: 7770: template 7770: struct is_void 7770: : public __is_void_helper::type>::type 7770: { }; 7770: 7770: template 7770: struct __is_integral_helper 7770: : public false_type { }; 7770: 7770: template<> 7770: struct __is_integral_helper 7770: : public true_type { }; 7770: 7770: template<> 7770: struct __is_integral_helper 7770: : public true_type { }; 7770: 7770: template<> 7770: struct __is_integral_helper 7770: : public true_type { }; 7770: 7770: template<> 7770: struct __is_integral_helper 7770: : public true_type { }; 7770: 7770: 7770: template<> 7770: struct __is_integral_helper 7770: : public true_type { }; 7770: 7770: 7770: template<> 7770: struct __is_integral_helper 7770: : public true_type { }; 7770: 7770: template<> 7770: struct __is_integral_helper 7770: : public true_type { }; 7770: 7770: template<> 7770: struct __is_integral_helper 7770: : public true_type { }; 7770: 7770: template<> 7770: struct __is_integral_helper 7770: : public true_type { }; 7770: 7770: template<> 7770: struct __is_integral_helper 7770: : public true_type { }; 7770: 7770: template<> 7770: struct __is_integral_helper 7770: : public true_type { }; 7770: 7770: template<> 7770: struct __is_integral_helper 7770: : public true_type { }; 7770: 7770: template<> 7770: struct __is_integral_helper 7770: : public true_type { }; 7770: 7770: template<> 7770: struct __is_integral_helper 7770: : public true_type { }; 7770: 7770: template<> 7770: struct __is_integral_helper 7770: : public true_type { }; 7770: # 324 "/usr/include/c++/8/type_traits" 3 7770: template 7770: struct is_integral 7770: : public __is_integral_helper::type>::type 7770: { }; 7770: 7770: template 7770: struct __is_floating_point_helper 7770: : public false_type { }; 7770: 7770: template<> 7770: struct __is_floating_point_helper 7770: : public true_type { }; 7770: 7770: template<> 7770: struct __is_floating_point_helper 7770: : public true_type { }; 7770: 7770: template<> 7770: struct __is_floating_point_helper 7770: : public true_type { }; 7770: # 352 "/usr/include/c++/8/type_traits" 3 7770: template 7770: struct is_floating_point 7770: : public __is_floating_point_helper::type>::type 7770: { }; 7770: 7770: 7770: template 7770: struct is_array 7770: : public false_type { }; 7770: 7770: template 7770: struct is_array<_Tp[_Size]> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_array<_Tp[]> 7770: : public true_type { }; 7770: 7770: template 7770: struct __is_pointer_helper 7770: : public false_type { }; 7770: 7770: template 7770: struct __is_pointer_helper<_Tp*> 7770: : public true_type { }; 7770: 7770: 7770: template 7770: struct is_pointer 7770: : public __is_pointer_helper::type>::type 7770: { }; 7770: 7770: 7770: template 7770: struct is_lvalue_reference 7770: : public false_type { }; 7770: 7770: template 7770: struct is_lvalue_reference<_Tp&> 7770: : public true_type { }; 7770: 7770: 7770: template 7770: struct is_rvalue_reference 7770: : public false_type { }; 7770: 7770: template 7770: struct is_rvalue_reference<_Tp&&> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function; 7770: 7770: template 7770: struct __is_member_object_pointer_helper 7770: : public false_type { }; 7770: 7770: template 7770: struct __is_member_object_pointer_helper<_Tp _Cp::*> 7770: : public integral_constant::value> { }; 7770: 7770: 7770: template 7770: struct is_member_object_pointer 7770: : public __is_member_object_pointer_helper< 7770: typename remove_cv<_Tp>::type>::type 7770: { }; 7770: 7770: template 7770: struct __is_member_function_pointer_helper 7770: : public false_type { }; 7770: 7770: template 7770: struct __is_member_function_pointer_helper<_Tp _Cp::*> 7770: : public integral_constant::value> { }; 7770: 7770: 7770: template 7770: struct is_member_function_pointer 7770: : public __is_member_function_pointer_helper< 7770: typename remove_cv<_Tp>::type>::type 7770: { }; 7770: 7770: 7770: template 7770: struct is_enum 7770: : public integral_constant 7770: { }; 7770: 7770: 7770: template 7770: struct is_union 7770: : public integral_constant 7770: { }; 7770: 7770: 7770: template 7770: struct is_class 7770: : public integral_constant 7770: { }; 7770: 7770: 7770: template 7770: struct is_function 7770: : public false_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes...) noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes...) & noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes...) && noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes......) noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes......) & noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes......) && noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes...) const noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes...) const & noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes...) const && noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes......) const noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes......) const & noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes......) const && noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes...) volatile noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes...) volatile & noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes...) volatile && noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes......) volatile noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes......) volatile & noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes......) volatile && noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes...) const volatile noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes...) const volatile & noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes...) const volatile && noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes......) const volatile noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes......) const volatile & noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: template 7770: struct is_function<_Res(_ArgTypes......) const volatile && noexcept (_NE)> 7770: : public true_type { }; 7770: 7770: 7770: 7770: template 7770: struct __is_null_pointer_helper 7770: : public false_type { }; 7770: 7770: template<> 7770: struct __is_null_pointer_helper 7770: : public true_type { }; 7770: 7770: 7770: template 7770: struct is_null_pointer 7770: : public __is_null_pointer_helper::type>::type 7770: { }; 7770: 7770: 7770: template 7770: struct __is_nullptr_t 7770: : public is_null_pointer<_Tp> 7770: { }; 7770: 7770: 7770: 7770: 7770: template 7770: struct is_reference 7770: : public __or_, 7770: is_rvalue_reference<_Tp>>::type 7770: { }; 7770: 7770: 7770: template 7770: struct is_arithmetic 7770: : public __or_, is_floating_point<_Tp>>::type 7770: { }; 7770: 7770: 7770: template 7770: struct is_fundamental 7770: : public __or_, is_void<_Tp>, 7770: is_null_pointer<_Tp>>::type 7770: { }; 7770: 7770: 7770: template 7770: struct is_object 7770: : public __not_<__or_, is_reference<_Tp>, 7770: is_void<_Tp>>>::type 7770: { }; 7770: 7770: template 7770: struct is_member_pointer; 7770: 7770: 7770: template 7770: struct is_scalar 7770: : public __or_, is_enum<_Tp>, is_pointer<_Tp>, 7770: is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type 7770: { }; 7770: 7770: 7770: template 7770: struct is_compound 7770: : public integral_constant::value> { }; 7770: 7770: template 7770: struct __is_member_pointer_helper 7770: : public false_type { }; 7770: 7770: template 7770: struct __is_member_pointer_helper<_Tp _Cp::*> 7770: : public true_type { }; 7770: 7770: 7770: template 7770: struct is_member_pointer 7770: : public __is_member_pointer_helper::type>::type 7770: { }; 7770: 7770: 7770: 7770: template 7770: struct __is_referenceable 7770: : public __or_, is_reference<_Tp>>::type 7770: { }; 7770: 7770: template 7770: struct __is_referenceable<_Res(_Args...) noexcept (_NE)> 7770: : public true_type 7770: { }; 7770: 7770: template 7770: struct __is_referenceable<_Res(_Args......) noexcept (_NE)> 7770: : public true_type 7770: { }; 7770: 7770: 7770: 7770: 7770: template 7770: struct is_const 7770: : public false_type { }; 7770: 7770: template 7770: struct is_const<_Tp const> 7770: : public true_type { }; 7770: 7770: 7770: template 7770: struct is_volatile 7770: : public false_type { }; 7770: 7770: template 7770: struct is_volatile<_Tp volatile> 7770: : public true_type { }; 7770: 7770: 7770: template 7770: struct is_trivial 7770: : public integral_constant 7770: { }; 7770: 7770: 7770: template 7770: struct is_trivially_copyable 7770: : public integral_constant 7770: { }; 7770: 7770: 7770: template 7770: struct is_standard_layout 7770: : public integral_constant 7770: { }; 7770: 7770: 7770: 7770: template 7770: struct is_pod 7770: : public integral_constant 7770: { }; 7770: 7770: 7770: template 7770: struct is_literal_type 7770: : public integral_constant 7770: { }; 7770: 7770: 7770: template 7770: struct is_empty 7770: : public integral_constant 7770: { }; 7770: 7770: 7770: template 7770: struct is_polymorphic 7770: : public integral_constant 7770: { }; 7770: 7770: 7770: 7770: 7770: template 7770: struct is_final 7770: : public integral_constant 7770: { }; 7770: 7770: 7770: 7770: template 7770: struct is_abstract 7770: : public integral_constant 7770: { }; 7770: 7770: template::value> 7770: struct __is_signed_helper 7770: : public false_type { }; 7770: 7770: template 7770: struct __is_signed_helper<_Tp, true> 7770: : public integral_constant 7770: { }; 7770: 7770: 7770: template 7770: struct is_signed 7770: : public __is_signed_helper<_Tp>::type 7770: { }; 7770: 7770: 7770: template 7770: struct is_unsigned 7770: : public __and_, __not_>> 7770: { }; 7770: # 759 "/usr/include/c++/8/type_traits" 3 7770: template 7770: _Up 7770: __declval(int); 7770: 7770: template 7770: _Tp 7770: __declval(long); 7770: 7770: template 7770: auto declval() noexcept -> decltype(__declval<_Tp>(0)); 7770: 7770: template 7770: struct extent; 7770: 7770: template 7770: struct remove_all_extents; 7770: 7770: template 7770: struct __is_array_known_bounds 7770: : public integral_constant::value > 0)> 7770: { }; 7770: 7770: template 7770: struct __is_array_unknown_bounds 7770: : public __and_, __not_>> 7770: { }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: struct __do_is_destructible_impl 7770: { 7770: template().~_Tp())> 7770: static true_type __test(int); 7770: 7770: template 7770: static false_type __test(...); 7770: }; 7770: 7770: template 7770: struct __is_destructible_impl 7770: : public __do_is_destructible_impl 7770: { 7770: typedef decltype(__test<_Tp>(0)) type; 7770: }; 7770: 7770: template, 7770: __is_array_unknown_bounds<_Tp>, 7770: is_function<_Tp>>::value, 7770: bool = __or_, is_scalar<_Tp>>::value> 7770: struct __is_destructible_safe; 7770: 7770: template 7770: struct __is_destructible_safe<_Tp, false, false> 7770: : public __is_destructible_impl::type>::type 7770: { }; 7770: 7770: template 7770: struct __is_destructible_safe<_Tp, true, false> 7770: : public false_type { }; 7770: 7770: template 7770: struct __is_destructible_safe<_Tp, false, true> 7770: : public true_type { }; 7770: 7770: 7770: template 7770: struct is_destructible 7770: : public __is_destructible_safe<_Tp>::type 7770: { }; 7770: 7770: 7770: 7770: 7770: 7770: struct __do_is_nt_destructible_impl 7770: { 7770: template 7770: static integral_constant().~_Tp())> 7770: __test(int); 7770: 7770: template 7770: static false_type __test(...); 7770: }; 7770: 7770: template 7770: struct __is_nt_destructible_impl 7770: : public __do_is_nt_destructible_impl 7770: { 7770: typedef decltype(__test<_Tp>(0)) type; 7770: }; 7770: 7770: template, 7770: __is_array_unknown_bounds<_Tp>, 7770: is_function<_Tp>>::value, 7770: bool = __or_, is_scalar<_Tp>>::value> 7770: struct __is_nt_destructible_safe; 7770: 7770: template 7770: struct __is_nt_destructible_safe<_Tp, false, false> 7770: : public __is_nt_destructible_impl::type>::type 7770: { }; 7770: 7770: template 7770: struct __is_nt_destructible_safe<_Tp, true, false> 7770: : public false_type { }; 7770: 7770: template 7770: struct __is_nt_destructible_safe<_Tp, false, true> 7770: : public true_type { }; 7770: 7770: 7770: template 7770: struct is_nothrow_destructible 7770: : public __is_nt_destructible_safe<_Tp>::type 7770: { }; 7770: 7770: struct __do_is_default_constructible_impl 7770: { 7770: template 7770: static true_type __test(int); 7770: 7770: template 7770: static false_type __test(...); 7770: }; 7770: 7770: template 7770: struct __is_default_constructible_impl 7770: : public __do_is_default_constructible_impl 7770: { 7770: typedef decltype(__test<_Tp>(0)) type; 7770: }; 7770: 7770: template 7770: struct __is_default_constructible_atom 7770: : public __and_<__not_>, 7770: __is_default_constructible_impl<_Tp>> 7770: { }; 7770: 7770: template::value> 7770: struct __is_default_constructible_safe; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct __is_default_constructible_safe<_Tp, true> 7770: : public __and_<__is_array_known_bounds<_Tp>, 7770: __is_default_constructible_atom::type>> 7770: { }; 7770: 7770: template 7770: struct __is_default_constructible_safe<_Tp, false> 7770: : public __is_default_constructible_atom<_Tp>::type 7770: { }; 7770: 7770: 7770: template 7770: struct is_default_constructible 7770: : public __is_default_constructible_safe<_Tp>::type 7770: { }; 7770: 7770: 7770: template 7770: struct is_constructible 7770: : public __bool_constant<__is_constructible(_Tp, _Args...)> 7770: { }; 7770: 7770: template::value> 7770: struct __is_copy_constructible_impl; 7770: 7770: template 7770: struct __is_copy_constructible_impl<_Tp, false> 7770: : public false_type { }; 7770: 7770: template 7770: struct __is_copy_constructible_impl<_Tp, true> 7770: : public is_constructible<_Tp, const _Tp&> 7770: { }; 7770: 7770: 7770: template 7770: struct is_copy_constructible 7770: : public __is_copy_constructible_impl<_Tp> 7770: { }; 7770: 7770: template::value> 7770: struct __is_move_constructible_impl; 7770: 7770: template 7770: struct __is_move_constructible_impl<_Tp, false> 7770: : public false_type { }; 7770: 7770: template 7770: struct __is_move_constructible_impl<_Tp, true> 7770: : public is_constructible<_Tp, _Tp&&> 7770: { }; 7770: 7770: 7770: template 7770: struct is_move_constructible 7770: : public __is_move_constructible_impl<_Tp> 7770: { }; 7770: 7770: template 7770: struct __is_nt_default_constructible_atom 7770: : public integral_constant 7770: { }; 7770: 7770: template::value> 7770: struct __is_nt_default_constructible_impl; 7770: 7770: template 7770: struct __is_nt_default_constructible_impl<_Tp, true> 7770: : public __and_<__is_array_known_bounds<_Tp>, 7770: __is_nt_default_constructible_atom::type>> 7770: { }; 7770: 7770: template 7770: struct __is_nt_default_constructible_impl<_Tp, false> 7770: : public __is_nt_default_constructible_atom<_Tp> 7770: { }; 7770: 7770: 7770: template 7770: struct is_nothrow_default_constructible 7770: : public __and_, 7770: __is_nt_default_constructible_impl<_Tp>> 7770: { }; 7770: 7770: template 7770: struct __is_nt_constructible_impl 7770: : public integral_constant()...))> 7770: { }; 7770: 7770: template 7770: struct __is_nt_constructible_impl<_Tp, _Arg> 7770: : public integral_constant(declval<_Arg>()))> 7770: { }; 7770: 7770: template 7770: struct __is_nt_constructible_impl<_Tp> 7770: : public is_nothrow_default_constructible<_Tp> 7770: { }; 7770: 7770: 7770: template 7770: struct is_nothrow_constructible 7770: : public __and_, 7770: __is_nt_constructible_impl<_Tp, _Args...>> 7770: { }; 7770: 7770: template::value> 7770: struct __is_nothrow_copy_constructible_impl; 7770: 7770: template 7770: struct __is_nothrow_copy_constructible_impl<_Tp, false> 7770: : public false_type { }; 7770: 7770: template 7770: struct __is_nothrow_copy_constructible_impl<_Tp, true> 7770: : public is_nothrow_constructible<_Tp, const _Tp&> 7770: { }; 7770: 7770: 7770: template 7770: struct is_nothrow_copy_constructible 7770: : public __is_nothrow_copy_constructible_impl<_Tp> 7770: { }; 7770: 7770: template::value> 7770: struct __is_nothrow_move_constructible_impl; 7770: 7770: template 7770: struct __is_nothrow_move_constructible_impl<_Tp, false> 7770: : public false_type { }; 7770: 7770: template 7770: struct __is_nothrow_move_constructible_impl<_Tp, true> 7770: : public is_nothrow_constructible<_Tp, _Tp&&> 7770: { }; 7770: 7770: 7770: template 7770: struct is_nothrow_move_constructible 7770: : public __is_nothrow_move_constructible_impl<_Tp> 7770: { }; 7770: 7770: 7770: template 7770: struct is_assignable 7770: : public __bool_constant<__is_assignable(_Tp, _Up)> 7770: { }; 7770: 7770: template::value> 7770: struct __is_copy_assignable_impl; 7770: 7770: template 7770: struct __is_copy_assignable_impl<_Tp, false> 7770: : public false_type { }; 7770: 7770: template 7770: struct __is_copy_assignable_impl<_Tp, true> 7770: : public is_assignable<_Tp&, const _Tp&> 7770: { }; 7770: 7770: 7770: template 7770: struct is_copy_assignable 7770: : public __is_copy_assignable_impl<_Tp> 7770: { }; 7770: 7770: template::value> 7770: struct __is_move_assignable_impl; 7770: 7770: template 7770: struct __is_move_assignable_impl<_Tp, false> 7770: : public false_type { }; 7770: 7770: template 7770: struct __is_move_assignable_impl<_Tp, true> 7770: : public is_assignable<_Tp&, _Tp&&> 7770: { }; 7770: 7770: 7770: template 7770: struct is_move_assignable 7770: : public __is_move_assignable_impl<_Tp> 7770: { }; 7770: 7770: template 7770: struct __is_nt_assignable_impl 7770: : public integral_constant() = declval<_Up>())> 7770: { }; 7770: 7770: 7770: template 7770: struct is_nothrow_assignable 7770: : public __and_, 7770: __is_nt_assignable_impl<_Tp, _Up>> 7770: { }; 7770: 7770: template::value> 7770: struct __is_nt_copy_assignable_impl; 7770: 7770: template 7770: struct __is_nt_copy_assignable_impl<_Tp, false> 7770: : public false_type { }; 7770: 7770: template 7770: struct __is_nt_copy_assignable_impl<_Tp, true> 7770: : public is_nothrow_assignable<_Tp&, const _Tp&> 7770: { }; 7770: 7770: 7770: template 7770: struct is_nothrow_copy_assignable 7770: : public __is_nt_copy_assignable_impl<_Tp> 7770: { }; 7770: 7770: template::value> 7770: struct __is_nt_move_assignable_impl; 7770: 7770: template 7770: struct __is_nt_move_assignable_impl<_Tp, false> 7770: : public false_type { }; 7770: 7770: template 7770: struct __is_nt_move_assignable_impl<_Tp, true> 7770: : public is_nothrow_assignable<_Tp&, _Tp&&> 7770: { }; 7770: 7770: 7770: template 7770: struct is_nothrow_move_assignable 7770: : public __is_nt_move_assignable_impl<_Tp> 7770: { }; 7770: 7770: 7770: template 7770: struct is_trivially_constructible 7770: : public __bool_constant<__is_trivially_constructible(_Tp, _Args...)> 7770: { }; 7770: 7770: 7770: template 7770: struct is_trivially_default_constructible 7770: : public is_trivially_constructible<_Tp>::type 7770: { }; 7770: 7770: struct __do_is_implicitly_default_constructible_impl 7770: { 7770: template 7770: static void __helper(const _Tp&); 7770: 7770: template 7770: static true_type __test(const _Tp&, 7770: decltype(__helper({}))* = 0); 7770: 7770: static false_type __test(...); 7770: }; 7770: 7770: template 7770: struct __is_implicitly_default_constructible_impl 7770: : public __do_is_implicitly_default_constructible_impl 7770: { 7770: typedef decltype(__test(declval<_Tp>())) type; 7770: }; 7770: 7770: template 7770: struct __is_implicitly_default_constructible_safe 7770: : public __is_implicitly_default_constructible_impl<_Tp>::type 7770: { }; 7770: 7770: template 7770: struct __is_implicitly_default_constructible 7770: : public __and_, 7770: __is_implicitly_default_constructible_safe<_Tp>> 7770: { }; 7770: 7770: 7770: 7770: template::value> 7770: struct __is_trivially_copy_constructible_impl; 7770: 7770: template 7770: struct __is_trivially_copy_constructible_impl<_Tp, false> 7770: : public false_type { }; 7770: 7770: template 7770: struct __is_trivially_copy_constructible_impl<_Tp, true> 7770: : public __and_, 7770: integral_constant> 7770: { }; 7770: 7770: template 7770: struct is_trivially_copy_constructible 7770: : public __is_trivially_copy_constructible_impl<_Tp> 7770: { }; 7770: 7770: 7770: 7770: template::value> 7770: struct __is_trivially_move_constructible_impl; 7770: 7770: template 7770: struct __is_trivially_move_constructible_impl<_Tp, false> 7770: : public false_type { }; 7770: 7770: template 7770: struct __is_trivially_move_constructible_impl<_Tp, true> 7770: : public __and_, 7770: integral_constant> 7770: { }; 7770: 7770: template 7770: struct is_trivially_move_constructible 7770: : public __is_trivially_move_constructible_impl<_Tp> 7770: { }; 7770: 7770: 7770: template 7770: struct is_trivially_assignable 7770: : public __bool_constant<__is_trivially_assignable(_Tp, _Up)> 7770: { }; 7770: 7770: 7770: 7770: template::value> 7770: struct __is_trivially_copy_assignable_impl; 7770: 7770: template 7770: struct __is_trivially_copy_assignable_impl<_Tp, false> 7770: : public false_type { }; 7770: 7770: template 7770: struct __is_trivially_copy_assignable_impl<_Tp, true> 7770: : public __and_, 7770: integral_constant> 7770: { }; 7770: 7770: template 7770: struct is_trivially_copy_assignable 7770: : public __is_trivially_copy_assignable_impl<_Tp> 7770: { }; 7770: 7770: 7770: 7770: template::value> 7770: struct __is_trivially_move_assignable_impl; 7770: 7770: template 7770: struct __is_trivially_move_assignable_impl<_Tp, false> 7770: : public false_type { }; 7770: 7770: template 7770: struct __is_trivially_move_assignable_impl<_Tp, true> 7770: : public __and_, 7770: integral_constant> 7770: { }; 7770: 7770: template 7770: struct is_trivially_move_assignable 7770: : public __is_trivially_move_assignable_impl<_Tp> 7770: { }; 7770: 7770: 7770: template 7770: struct is_trivially_destructible 7770: : public __and_, integral_constant> 7770: { }; 7770: 7770: 7770: 7770: template 7770: struct has_virtual_destructor 7770: : public integral_constant 7770: { }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct alignment_of 7770: : public integral_constant { }; 7770: 7770: 7770: template 7770: struct rank 7770: : public integral_constant { }; 7770: 7770: template 7770: struct rank<_Tp[_Size]> 7770: : public integral_constant::value> { }; 7770: 7770: template 7770: struct rank<_Tp[]> 7770: : public integral_constant::value> { }; 7770: 7770: 7770: template 7770: struct extent 7770: : public integral_constant { }; 7770: 7770: template 7770: struct extent<_Tp[_Size], _Uint> 7770: : public integral_constant::value> 7770: { }; 7770: 7770: template 7770: struct extent<_Tp[], _Uint> 7770: : public integral_constant::value> 7770: { }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct is_same 7770: : public false_type { }; 7770: 7770: template 7770: struct is_same<_Tp, _Tp> 7770: : public true_type { }; 7770: 7770: 7770: template 7770: struct is_base_of 7770: : public integral_constant 7770: { }; 7770: 7770: template, is_function<_To>, 7770: is_array<_To>>::value> 7770: struct __is_convertible_helper 7770: { typedef typename is_void<_To>::type type; }; 7770: 7770: template 7770: class __is_convertible_helper<_From, _To, false> 7770: { 7770: template 7770: static void __test_aux(_To1); 7770: 7770: template(std::declval<_From1>()))> 7770: static true_type 7770: __test(int); 7770: 7770: template 7770: static false_type 7770: __test(...); 7770: 7770: public: 7770: typedef decltype(__test<_From, _To>(0)) type; 7770: }; 7770: 7770: 7770: 7770: template 7770: struct is_convertible 7770: : public __is_convertible_helper<_From, _To>::type 7770: { }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct remove_const 7770: { typedef _Tp type; }; 7770: 7770: template 7770: struct remove_const<_Tp const> 7770: { typedef _Tp type; }; 7770: 7770: 7770: template 7770: struct remove_volatile 7770: { typedef _Tp type; }; 7770: 7770: template 7770: struct remove_volatile<_Tp volatile> 7770: { typedef _Tp type; }; 7770: 7770: 7770: template 7770: struct remove_cv 7770: { 7770: typedef typename 7770: remove_const::type>::type type; 7770: }; 7770: 7770: 7770: template 7770: struct add_const 7770: { typedef _Tp const type; }; 7770: 7770: 7770: template 7770: struct add_volatile 7770: { typedef _Tp volatile type; }; 7770: 7770: 7770: template 7770: struct add_cv 7770: { 7770: typedef typename 7770: add_const::type>::type type; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: using remove_const_t = typename remove_const<_Tp>::type; 7770: 7770: 7770: template 7770: using remove_volatile_t = typename remove_volatile<_Tp>::type; 7770: 7770: 7770: template 7770: using remove_cv_t = typename remove_cv<_Tp>::type; 7770: 7770: 7770: template 7770: using add_const_t = typename add_const<_Tp>::type; 7770: 7770: 7770: template 7770: using add_volatile_t = typename add_volatile<_Tp>::type; 7770: 7770: 7770: template 7770: using add_cv_t = typename add_cv<_Tp>::type; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct remove_reference 7770: { typedef _Tp type; }; 7770: 7770: template 7770: struct remove_reference<_Tp&> 7770: { typedef _Tp type; }; 7770: 7770: template 7770: struct remove_reference<_Tp&&> 7770: { typedef _Tp type; }; 7770: 7770: template::value> 7770: struct __add_lvalue_reference_helper 7770: { typedef _Tp type; }; 7770: 7770: template 7770: struct __add_lvalue_reference_helper<_Tp, true> 7770: { typedef _Tp& type; }; 7770: 7770: 7770: template 7770: struct add_lvalue_reference 7770: : public __add_lvalue_reference_helper<_Tp> 7770: { }; 7770: 7770: template::value> 7770: struct __add_rvalue_reference_helper 7770: { typedef _Tp type; }; 7770: 7770: template 7770: struct __add_rvalue_reference_helper<_Tp, true> 7770: { typedef _Tp&& type; }; 7770: 7770: 7770: template 7770: struct add_rvalue_reference 7770: : public __add_rvalue_reference_helper<_Tp> 7770: { }; 7770: 7770: 7770: 7770: template 7770: using remove_reference_t = typename remove_reference<_Tp>::type; 7770: 7770: 7770: template 7770: using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type; 7770: 7770: 7770: template 7770: using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct __cv_selector; 7770: 7770: template 7770: struct __cv_selector<_Unqualified, false, false> 7770: { typedef _Unqualified __type; }; 7770: 7770: template 7770: struct __cv_selector<_Unqualified, false, true> 7770: { typedef volatile _Unqualified __type; }; 7770: 7770: template 7770: struct __cv_selector<_Unqualified, true, false> 7770: { typedef const _Unqualified __type; }; 7770: 7770: template 7770: struct __cv_selector<_Unqualified, true, true> 7770: { typedef const volatile _Unqualified __type; }; 7770: 7770: template::value, 7770: bool _IsVol = is_volatile<_Qualified>::value> 7770: class __match_cv_qualifiers 7770: { 7770: typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match; 7770: 7770: public: 7770: typedef typename __match::__type __type; 7770: }; 7770: 7770: 7770: template 7770: struct __make_unsigned 7770: { typedef _Tp __type; }; 7770: 7770: template<> 7770: struct __make_unsigned 7770: { typedef unsigned char __type; }; 7770: 7770: template<> 7770: struct __make_unsigned 7770: { typedef unsigned char __type; }; 7770: 7770: template<> 7770: struct __make_unsigned 7770: { typedef unsigned short __type; }; 7770: 7770: template<> 7770: struct __make_unsigned 7770: { typedef unsigned int __type; }; 7770: 7770: template<> 7770: struct __make_unsigned 7770: { typedef unsigned long __type; }; 7770: 7770: template<> 7770: struct __make_unsigned 7770: { typedef unsigned long long __type; }; 7770: # 1607 "/usr/include/c++/8/type_traits" 3 7770: template::value, 7770: bool _IsEnum = is_enum<_Tp>::value> 7770: class __make_unsigned_selector; 7770: 7770: template 7770: class __make_unsigned_selector<_Tp, true, false> 7770: { 7770: typedef __make_unsigned::type> __unsignedt; 7770: typedef typename __unsignedt::__type __unsigned_type; 7770: typedef __match_cv_qualifiers<_Tp, __unsigned_type> __cv_unsigned; 7770: 7770: public: 7770: typedef typename __cv_unsigned::__type __type; 7770: }; 7770: 7770: template 7770: class __make_unsigned_selector<_Tp, false, true> 7770: { 7770: 7770: typedef unsigned char __smallest; 7770: static const bool __b0 = sizeof(_Tp) <= sizeof(__smallest); 7770: static const bool __b1 = sizeof(_Tp) <= sizeof(unsigned short); 7770: static const bool __b2 = sizeof(_Tp) <= sizeof(unsigned int); 7770: static const bool __b3 = sizeof(_Tp) <= sizeof(unsigned long); 7770: typedef conditional<__b3, unsigned long, unsigned long long> __cond3; 7770: typedef typename __cond3::type __cond3_type; 7770: typedef conditional<__b2, unsigned int, __cond3_type> __cond2; 7770: typedef typename __cond2::type __cond2_type; 7770: typedef conditional<__b1, unsigned short, __cond2_type> __cond1; 7770: typedef typename __cond1::type __cond1_type; 7770: 7770: typedef typename conditional<__b0, __smallest, __cond1_type>::type 7770: __unsigned_type; 7770: typedef __match_cv_qualifiers<_Tp, __unsigned_type> __cv_unsigned; 7770: 7770: public: 7770: typedef typename __cv_unsigned::__type __type; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct make_unsigned 7770: { typedef typename __make_unsigned_selector<_Tp>::__type type; }; 7770: 7770: 7770: template<> 7770: struct make_unsigned; 7770: 7770: 7770: 7770: template 7770: struct __make_signed 7770: { typedef _Tp __type; }; 7770: 7770: template<> 7770: struct __make_signed 7770: { typedef signed char __type; }; 7770: 7770: template<> 7770: struct __make_signed 7770: { typedef signed char __type; }; 7770: 7770: template<> 7770: struct __make_signed 7770: { typedef signed short __type; }; 7770: 7770: template<> 7770: struct __make_signed 7770: { typedef signed int __type; }; 7770: 7770: template<> 7770: struct __make_signed 7770: { typedef signed long __type; }; 7770: 7770: template<> 7770: struct __make_signed 7770: { typedef signed long long __type; }; 7770: 7770: 7770: template<> 7770: struct __make_signed : __make_signed 7770: { }; 7770: 7770: 7770: 7770: template<> 7770: struct __make_signed : __make_signed 7770: { }; 7770: template<> 7770: struct __make_signed : __make_signed 7770: { }; 7770: # 1726 "/usr/include/c++/8/type_traits" 3 7770: template::value, 7770: bool _IsEnum = is_enum<_Tp>::value> 7770: class __make_signed_selector; 7770: 7770: template 7770: class __make_signed_selector<_Tp, true, false> 7770: { 7770: typedef __make_signed::type> __signedt; 7770: typedef typename __signedt::__type __signed_type; 7770: typedef __match_cv_qualifiers<_Tp, __signed_type> __cv_signed; 7770: 7770: public: 7770: typedef typename __cv_signed::__type __type; 7770: }; 7770: 7770: template 7770: class __make_signed_selector<_Tp, false, true> 7770: { 7770: typedef typename __make_unsigned_selector<_Tp>::__type __unsigned_type; 7770: 7770: public: 7770: typedef typename __make_signed_selector<__unsigned_type>::__type __type; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct make_signed 7770: { typedef typename __make_signed_selector<_Tp>::__type type; }; 7770: 7770: 7770: template<> 7770: struct make_signed; 7770: 7770: 7770: 7770: template 7770: using make_signed_t = typename make_signed<_Tp>::type; 7770: 7770: 7770: template 7770: using make_unsigned_t = typename make_unsigned<_Tp>::type; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct remove_extent 7770: { typedef _Tp type; }; 7770: 7770: template 7770: struct remove_extent<_Tp[_Size]> 7770: { typedef _Tp type; }; 7770: 7770: template 7770: struct remove_extent<_Tp[]> 7770: { typedef _Tp type; }; 7770: 7770: 7770: template 7770: struct remove_all_extents 7770: { typedef _Tp type; }; 7770: 7770: template 7770: struct remove_all_extents<_Tp[_Size]> 7770: { typedef typename remove_all_extents<_Tp>::type type; }; 7770: 7770: template 7770: struct remove_all_extents<_Tp[]> 7770: { typedef typename remove_all_extents<_Tp>::type type; }; 7770: 7770: 7770: 7770: template 7770: using remove_extent_t = typename remove_extent<_Tp>::type; 7770: 7770: 7770: template 7770: using remove_all_extents_t = typename remove_all_extents<_Tp>::type; 7770: 7770: 7770: 7770: 7770: template 7770: struct __remove_pointer_helper 7770: { typedef _Tp type; }; 7770: 7770: template 7770: struct __remove_pointer_helper<_Tp, _Up*> 7770: { typedef _Up type; }; 7770: 7770: 7770: template 7770: struct remove_pointer 7770: : public __remove_pointer_helper<_Tp, typename remove_cv<_Tp>::type> 7770: { }; 7770: 7770: 7770: template, 7770: is_void<_Tp>>::value> 7770: struct __add_pointer_helper 7770: { typedef _Tp type; }; 7770: 7770: template 7770: struct __add_pointer_helper<_Tp, true> 7770: { typedef typename remove_reference<_Tp>::type* type; }; 7770: 7770: template 7770: struct add_pointer 7770: : public __add_pointer_helper<_Tp> 7770: { }; 7770: 7770: 7770: 7770: template 7770: using remove_pointer_t = typename remove_pointer<_Tp>::type; 7770: 7770: 7770: template 7770: using add_pointer_t = typename add_pointer<_Tp>::type; 7770: 7770: 7770: template 7770: struct __aligned_storage_msa 7770: { 7770: union __type 7770: { 7770: unsigned char __data[_Len]; 7770: struct __attribute__((__aligned__)) { } __align; 7770: }; 7770: }; 7770: # 1872 "/usr/include/c++/8/type_traits" 3 7770: template::__type)> 7770: struct aligned_storage 7770: { 7770: union type 7770: { 7770: unsigned char __data[_Len]; 7770: struct __attribute__((__aligned__((_Align)))) { } __align; 7770: }; 7770: }; 7770: 7770: template 7770: struct __strictest_alignment 7770: { 7770: static const size_t _S_alignment = 0; 7770: static const size_t _S_size = 0; 7770: }; 7770: 7770: template 7770: struct __strictest_alignment<_Tp, _Types...> 7770: { 7770: static const size_t _S_alignment = 7770: alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment 7770: ? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment; 7770: static const size_t _S_size = 7770: sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size 7770: ? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size; 7770: }; 7770: # 1911 "/usr/include/c++/8/type_traits" 3 7770: template 7770: struct aligned_union 7770: { 7770: private: 7770: static_assert(sizeof...(_Types) != 0, "At least one type is required"); 7770: 7770: using __strictest = __strictest_alignment<_Types...>; 7770: static const size_t _S_len = _Len > __strictest::_S_size 7770: ? _Len : __strictest::_S_size; 7770: public: 7770: 7770: static const size_t alignment_value = __strictest::_S_alignment; 7770: 7770: typedef typename aligned_storage<_S_len, alignment_value>::type type; 7770: }; 7770: 7770: template 7770: const size_t aligned_union<_Len, _Types...>::alignment_value; 7770: 7770: 7770: 7770: template::value, 7770: bool _IsFunction = is_function<_Up>::value> 7770: struct __decay_selector; 7770: 7770: 7770: template 7770: struct __decay_selector<_Up, false, false> 7770: { typedef typename remove_cv<_Up>::type __type; }; 7770: 7770: template 7770: struct __decay_selector<_Up, true, false> 7770: { typedef typename remove_extent<_Up>::type* __type; }; 7770: 7770: template 7770: struct __decay_selector<_Up, false, true> 7770: { typedef typename add_pointer<_Up>::type __type; }; 7770: 7770: 7770: template 7770: class decay 7770: { 7770: typedef typename remove_reference<_Tp>::type __remove_type; 7770: 7770: public: 7770: typedef typename __decay_selector<__remove_type>::__type type; 7770: }; 7770: 7770: template 7770: class reference_wrapper; 7770: 7770: 7770: template 7770: struct __strip_reference_wrapper 7770: { 7770: typedef _Tp __type; 7770: }; 7770: 7770: template 7770: struct __strip_reference_wrapper > 7770: { 7770: typedef _Tp& __type; 7770: }; 7770: 7770: template 7770: struct __decay_and_strip 7770: { 7770: typedef typename __strip_reference_wrapper< 7770: typename decay<_Tp>::type>::__type __type; 7770: }; 7770: 7770: 7770: 7770: 7770: template 7770: struct enable_if 7770: { }; 7770: 7770: 7770: template 7770: struct enable_if 7770: { typedef _Tp type; }; 7770: 7770: template 7770: using _Require = typename enable_if<__and_<_Cond...>::value>::type; 7770: 7770: 7770: 7770: template 7770: struct conditional 7770: { typedef _Iftrue type; }; 7770: 7770: 7770: template 7770: struct conditional 7770: { typedef _Iffalse type; }; 7770: 7770: 7770: template 7770: struct common_type; 7770: 7770: 7770: 7770: struct __do_common_type_impl 7770: { 7770: template 7770: static __success_type() 7770: : std::declval<_Up>())>::type> _S_test(int); 7770: 7770: template 7770: static __failure_type _S_test(...); 7770: }; 7770: 7770: template 7770: struct __common_type_impl 7770: : private __do_common_type_impl 7770: { 7770: typedef decltype(_S_test<_Tp, _Up>(0)) type; 7770: }; 7770: 7770: struct __do_member_type_wrapper 7770: { 7770: template 7770: static __success_type _S_test(int); 7770: 7770: template 7770: static __failure_type _S_test(...); 7770: }; 7770: 7770: template 7770: struct __member_type_wrapper 7770: : private __do_member_type_wrapper 7770: { 7770: typedef decltype(_S_test<_Tp>(0)) type; 7770: }; 7770: 7770: template 7770: struct __expanded_common_type_wrapper 7770: { 7770: typedef common_type type; 7770: }; 7770: 7770: template 7770: struct __expanded_common_type_wrapper<__failure_type, _Args...> 7770: { typedef __failure_type type; }; 7770: 7770: template 7770: struct common_type<_Tp> 7770: { typedef typename decay<_Tp>::type type; }; 7770: 7770: template 7770: struct common_type<_Tp, _Up> 7770: : public __common_type_impl<_Tp, _Up>::type 7770: { }; 7770: 7770: template 7770: struct common_type<_Tp, _Up, _Vp...> 7770: : public __expanded_common_type_wrapper>::type, _Vp...>::type 7770: { }; 7770: 7770: 7770: template 7770: struct underlying_type 7770: { 7770: typedef __underlying_type(_Tp) type; 7770: }; 7770: 7770: template 7770: struct __declval_protector 7770: { 7770: static const bool __stop = false; 7770: }; 7770: 7770: template 7770: auto declval() noexcept -> decltype(__declval<_Tp>(0)) 7770: { 7770: static_assert(__declval_protector<_Tp>::__stop, 7770: "declval() must not be used!"); 7770: return __declval<_Tp>(0); 7770: } 7770: 7770: 7770: template 7770: class result_of; 7770: 7770: 7770: 7770: 7770: 7770: struct __invoke_memfun_ref { }; 7770: struct __invoke_memfun_deref { }; 7770: struct __invoke_memobj_ref { }; 7770: struct __invoke_memobj_deref { }; 7770: struct __invoke_other { }; 7770: 7770: 7770: template 7770: struct __result_of_success : __success_type<_Tp> 7770: { using __invoke_type = _Tag; }; 7770: 7770: 7770: struct __result_of_memfun_ref_impl 7770: { 7770: template 7770: static __result_of_success().*std::declval<_Fp>())(std::declval<_Args>()...) 7770: ), __invoke_memfun_ref> _S_test(int); 7770: 7770: template 7770: static __failure_type _S_test(...); 7770: }; 7770: 7770: template 7770: struct __result_of_memfun_ref 7770: : private __result_of_memfun_ref_impl 7770: { 7770: typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; 7770: }; 7770: 7770: 7770: struct __result_of_memfun_deref_impl 7770: { 7770: template 7770: static __result_of_success()).*std::declval<_Fp>())(std::declval<_Args>()...) 7770: ), __invoke_memfun_deref> _S_test(int); 7770: 7770: template 7770: static __failure_type _S_test(...); 7770: }; 7770: 7770: template 7770: struct __result_of_memfun_deref 7770: : private __result_of_memfun_deref_impl 7770: { 7770: typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; 7770: }; 7770: 7770: 7770: struct __result_of_memobj_ref_impl 7770: { 7770: template 7770: static __result_of_success().*std::declval<_Fp>() 7770: ), __invoke_memobj_ref> _S_test(int); 7770: 7770: template 7770: static __failure_type _S_test(...); 7770: }; 7770: 7770: template 7770: struct __result_of_memobj_ref 7770: : private __result_of_memobj_ref_impl 7770: { 7770: typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; 7770: }; 7770: 7770: 7770: struct __result_of_memobj_deref_impl 7770: { 7770: template 7770: static __result_of_success()).*std::declval<_Fp>() 7770: ), __invoke_memobj_deref> _S_test(int); 7770: 7770: template 7770: static __failure_type _S_test(...); 7770: }; 7770: 7770: template 7770: struct __result_of_memobj_deref 7770: : private __result_of_memobj_deref_impl 7770: { 7770: typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; 7770: }; 7770: 7770: template 7770: struct __result_of_memobj; 7770: 7770: template 7770: struct __result_of_memobj<_Res _Class::*, _Arg> 7770: { 7770: typedef typename remove_cv::type>::type _Argval; 7770: typedef _Res _Class::* _MemPtr; 7770: typedef typename conditional<__or_, 7770: is_base_of<_Class, _Argval>>::value, 7770: __result_of_memobj_ref<_MemPtr, _Arg>, 7770: __result_of_memobj_deref<_MemPtr, _Arg> 7770: >::type::type type; 7770: }; 7770: 7770: template 7770: struct __result_of_memfun; 7770: 7770: template 7770: struct __result_of_memfun<_Res _Class::*, _Arg, _Args...> 7770: { 7770: typedef typename remove_cv::type>::type _Argval; 7770: typedef _Res _Class::* _MemPtr; 7770: typedef typename conditional<__or_, 7770: is_base_of<_Class, _Argval>>::value, 7770: __result_of_memfun_ref<_MemPtr, _Arg, _Args...>, 7770: __result_of_memfun_deref<_MemPtr, _Arg, _Args...> 7770: >::type::type type; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template::type> 7770: struct __inv_unwrap 7770: { 7770: using type = _Tp; 7770: }; 7770: 7770: template 7770: struct __inv_unwrap<_Tp, reference_wrapper<_Up>> 7770: { 7770: using type = _Up&; 7770: }; 7770: 7770: template 7770: struct __result_of_impl 7770: { 7770: typedef __failure_type type; 7770: }; 7770: 7770: template 7770: struct __result_of_impl 7770: : public __result_of_memobj::type, 7770: typename __inv_unwrap<_Arg>::type> 7770: { }; 7770: 7770: template 7770: struct __result_of_impl 7770: : public __result_of_memfun::type, 7770: typename __inv_unwrap<_Arg>::type, _Args...> 7770: { }; 7770: 7770: 7770: struct __result_of_other_impl 7770: { 7770: template 7770: static __result_of_success()(std::declval<_Args>()...) 7770: ), __invoke_other> _S_test(int); 7770: 7770: template 7770: static __failure_type _S_test(...); 7770: }; 7770: 7770: template 7770: struct __result_of_impl 7770: : private __result_of_other_impl 7770: { 7770: typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type; 7770: }; 7770: 7770: 7770: template 7770: struct __invoke_result 7770: : public __result_of_impl< 7770: is_member_object_pointer< 7770: typename remove_reference<_Functor>::type 7770: >::value, 7770: is_member_function_pointer< 7770: typename remove_reference<_Functor>::type 7770: >::value, 7770: _Functor, _ArgTypes... 7770: >::type 7770: { }; 7770: 7770: template 7770: struct result_of<_Functor(_ArgTypes...)> 7770: : public __invoke_result<_Functor, _ArgTypes...> 7770: { }; 7770: 7770: 7770: 7770: template::__type)> 7770: using aligned_storage_t = typename aligned_storage<_Len, _Align>::type; 7770: 7770: template 7770: using aligned_union_t = typename aligned_union<_Len, _Types...>::type; 7770: 7770: 7770: template 7770: using decay_t = typename decay<_Tp>::type; 7770: 7770: 7770: template 7770: using enable_if_t = typename enable_if<_Cond, _Tp>::type; 7770: 7770: 7770: template 7770: using conditional_t = typename conditional<_Cond, _Iftrue, _Iffalse>::type; 7770: 7770: 7770: template 7770: using common_type_t = typename common_type<_Tp...>::type; 7770: 7770: 7770: template 7770: using underlying_type_t = typename underlying_type<_Tp>::type; 7770: 7770: 7770: template 7770: using result_of_t = typename result_of<_Tp>::type; 7770: 7770: 7770: template using __void_t = void; 7770: 7770: 7770: 7770: 7770: template using void_t = void; 7770: 7770: 7770: 7770: template class _Op, typename... _Args> 7770: struct __detector 7770: { 7770: using value_t = false_type; 7770: using type = _Default; 7770: }; 7770: 7770: 7770: template class _Op, 7770: typename... _Args> 7770: struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...> 7770: { 7770: using value_t = true_type; 7770: using type = _Op<_Args...>; 7770: }; 7770: 7770: 7770: template class _Op, 7770: typename... _Args> 7770: using __detected_or = __detector<_Default, void, _Op, _Args...>; 7770: 7770: 7770: template class _Op, 7770: typename... _Args> 7770: using __detected_or_t 7770: = typename __detected_or<_Default, _Op, _Args...>::type; 7770: # 2382 "/usr/include/c++/8/type_traits" 3 7770: template 7770: struct __is_swappable; 7770: 7770: template 7770: struct __is_nothrow_swappable; 7770: 7770: template 7770: class tuple; 7770: 7770: template 7770: struct __is_tuple_like_impl : false_type 7770: { }; 7770: 7770: template 7770: struct __is_tuple_like_impl> : true_type 7770: { }; 7770: 7770: 7770: template 7770: struct __is_tuple_like 7770: : public __is_tuple_like_impl::type>::type>::type 7770: { }; 7770: 7770: template 7770: inline 7770: typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>, 7770: is_move_constructible<_Tp>, 7770: is_move_assignable<_Tp>>::value>::type 7770: swap(_Tp&, _Tp&) 7770: noexcept(__and_, 7770: is_nothrow_move_assignable<_Tp>>::value); 7770: 7770: template 7770: inline 7770: typename enable_if<__is_swappable<_Tp>::value>::type 7770: swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) 7770: noexcept(__is_nothrow_swappable<_Tp>::value); 7770: 7770: namespace __swappable_details { 7770: using std::swap; 7770: 7770: struct __do_is_swappable_impl 7770: { 7770: template(), std::declval<_Tp&>()))> 7770: static true_type __test(int); 7770: 7770: template 7770: static false_type __test(...); 7770: }; 7770: 7770: struct __do_is_nothrow_swappable_impl 7770: { 7770: template 7770: static __bool_constant< 7770: noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>())) 7770: > __test(int); 7770: 7770: template 7770: static false_type __test(...); 7770: }; 7770: 7770: } 7770: 7770: template 7770: struct __is_swappable_impl 7770: : public __swappable_details::__do_is_swappable_impl 7770: { 7770: typedef decltype(__test<_Tp>(0)) type; 7770: }; 7770: 7770: template 7770: struct __is_nothrow_swappable_impl 7770: : public __swappable_details::__do_is_nothrow_swappable_impl 7770: { 7770: typedef decltype(__test<_Tp>(0)) type; 7770: }; 7770: 7770: template 7770: struct __is_swappable 7770: : public __is_swappable_impl<_Tp>::type 7770: { }; 7770: 7770: template 7770: struct __is_nothrow_swappable 7770: : public __is_nothrow_swappable_impl<_Tp>::type 7770: { }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct is_swappable 7770: : public __is_swappable_impl<_Tp>::type 7770: { }; 7770: 7770: 7770: template 7770: struct is_nothrow_swappable 7770: : public __is_nothrow_swappable_impl<_Tp>::type 7770: { }; 7770: 7770: 7770: 7770: template 7770: inline constexpr bool is_swappable_v = 7770: is_swappable<_Tp>::value; 7770: 7770: 7770: template 7770: inline constexpr bool is_nothrow_swappable_v = 7770: is_nothrow_swappable<_Tp>::value; 7770: 7770: 7770: namespace __swappable_with_details { 7770: using std::swap; 7770: 7770: struct __do_is_swappable_with_impl 7770: { 7770: template(), std::declval<_Up>())), 7770: typename 7770: = decltype(swap(std::declval<_Up>(), std::declval<_Tp>()))> 7770: static true_type __test(int); 7770: 7770: template 7770: static false_type __test(...); 7770: }; 7770: 7770: struct __do_is_nothrow_swappable_with_impl 7770: { 7770: template 7770: static __bool_constant< 7770: noexcept(swap(std::declval<_Tp>(), std::declval<_Up>())) 7770: && 7770: noexcept(swap(std::declval<_Up>(), std::declval<_Tp>())) 7770: > __test(int); 7770: 7770: template 7770: static false_type __test(...); 7770: }; 7770: 7770: } 7770: 7770: template 7770: struct __is_swappable_with_impl 7770: : public __swappable_with_details::__do_is_swappable_with_impl 7770: { 7770: typedef decltype(__test<_Tp, _Up>(0)) type; 7770: }; 7770: 7770: 7770: template 7770: struct __is_swappable_with_impl<_Tp&, _Tp&> 7770: : public __swappable_details::__do_is_swappable_impl 7770: { 7770: typedef decltype(__test<_Tp&>(0)) type; 7770: }; 7770: 7770: template 7770: struct __is_nothrow_swappable_with_impl 7770: : public __swappable_with_details::__do_is_nothrow_swappable_with_impl 7770: { 7770: typedef decltype(__test<_Tp, _Up>(0)) type; 7770: }; 7770: 7770: 7770: template 7770: struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&> 7770: : public __swappable_details::__do_is_nothrow_swappable_impl 7770: { 7770: typedef decltype(__test<_Tp&>(0)) type; 7770: }; 7770: 7770: 7770: template 7770: struct is_swappable_with 7770: : public __is_swappable_with_impl<_Tp, _Up>::type 7770: { }; 7770: 7770: 7770: template 7770: struct is_nothrow_swappable_with 7770: : public __is_nothrow_swappable_with_impl<_Tp, _Up>::type 7770: { }; 7770: 7770: 7770: 7770: template 7770: inline constexpr bool is_swappable_with_v = 7770: is_swappable_with<_Tp, _Up>::value; 7770: 7770: 7770: template 7770: inline constexpr bool is_nothrow_swappable_with_v = 7770: is_nothrow_swappable_with<_Tp, _Up>::value; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct __is_invocable_impl : false_type { }; 7770: 7770: template 7770: struct __is_invocable_impl<_Result, _Ret, __void_t> 7770: : __or_, is_convertible>::type 7770: { }; 7770: 7770: template 7770: struct __is_invocable 7770: : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type 7770: { }; 7770: 7770: template 7770: constexpr bool __call_is_nt(__invoke_memfun_ref) 7770: { 7770: using _Up = typename __inv_unwrap<_Tp>::type; 7770: return noexcept((std::declval<_Up>().*std::declval<_Fn>())( 7770: std::declval<_Args>()...)); 7770: } 7770: 7770: template 7770: constexpr bool __call_is_nt(__invoke_memfun_deref) 7770: { 7770: return noexcept(((*std::declval<_Tp>()).*std::declval<_Fn>())( 7770: std::declval<_Args>()...)); 7770: } 7770: 7770: template 7770: constexpr bool __call_is_nt(__invoke_memobj_ref) 7770: { 7770: using _Up = typename __inv_unwrap<_Tp>::type; 7770: return noexcept(std::declval<_Up>().*std::declval<_Fn>()); 7770: } 7770: 7770: template 7770: constexpr bool __call_is_nt(__invoke_memobj_deref) 7770: { 7770: return noexcept((*std::declval<_Tp>()).*std::declval<_Fn>()); 7770: } 7770: 7770: template 7770: constexpr bool __call_is_nt(__invoke_other) 7770: { 7770: return noexcept(std::declval<_Fn>()(std::declval<_Args>()...)); 7770: } 7770: 7770: template 7770: struct __call_is_nothrow 7770: : __bool_constant< 7770: std::__call_is_nt<_Fn, _Args...>(typename _Result::__invoke_type{}) 7770: > 7770: { }; 7770: 7770: template 7770: using __call_is_nothrow_ 7770: = __call_is_nothrow<__invoke_result<_Fn, _Args...>, _Fn, _Args...>; 7770: 7770: 7770: template 7770: struct __is_nothrow_invocable 7770: : __and_<__is_invocable<_Fn, _Args...>, 7770: __call_is_nothrow_<_Fn, _Args...>>::type 7770: { }; 7770: 7770: struct __nonesuch { 7770: __nonesuch() = delete; 7770: ~__nonesuch() = delete; 7770: __nonesuch(__nonesuch const&) = delete; 7770: void operator=(__nonesuch const&) = delete; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct invoke_result 7770: : public __invoke_result<_Functor, _ArgTypes...> 7770: { }; 7770: 7770: 7770: template 7770: using invoke_result_t = typename invoke_result<_Fn, _Args...>::type; 7770: 7770: 7770: template 7770: struct is_invocable 7770: : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type 7770: { }; 7770: 7770: 7770: template 7770: struct is_invocable_r 7770: : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>::type 7770: { }; 7770: 7770: 7770: template 7770: struct is_nothrow_invocable 7770: : __and_<__is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>, 7770: __call_is_nothrow_<_Fn, _ArgTypes...>>::type 7770: { }; 7770: 7770: template 7770: struct __is_nt_invocable_impl : false_type { }; 7770: 7770: template 7770: struct __is_nt_invocable_impl<_Result, _Ret, 7770: __void_t> 7770: : __or_, 7770: __and_, 7770: is_nothrow_constructible<_Ret, typename _Result::type>>> 7770: { }; 7770: 7770: 7770: template 7770: struct is_nothrow_invocable_r 7770: : __and_<__is_nt_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>, 7770: __call_is_nothrow_<_Fn, _ArgTypes...>>::type 7770: { }; 7770: 7770: 7770: template 7770: inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value; 7770: 7770: 7770: template 7770: inline constexpr bool is_nothrow_invocable_v 7770: = is_nothrow_invocable<_Fn, _Args...>::value; 7770: 7770: 7770: template 7770: inline constexpr bool is_invocable_r_v 7770: = is_invocable_r<_Fn, _Args...>::value; 7770: 7770: 7770: template 7770: inline constexpr bool is_nothrow_invocable_r_v 7770: = is_nothrow_invocable_r<_Fn, _Args...>::value; 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr bool is_void_v = is_void<_Tp>::value; 7770: template 7770: inline constexpr bool is_null_pointer_v = is_null_pointer<_Tp>::value; 7770: template 7770: inline constexpr bool is_integral_v = is_integral<_Tp>::value; 7770: template 7770: inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value; 7770: template 7770: inline constexpr bool is_array_v = is_array<_Tp>::value; 7770: template 7770: inline constexpr bool is_pointer_v = is_pointer<_Tp>::value; 7770: template 7770: inline constexpr bool is_lvalue_reference_v = 7770: is_lvalue_reference<_Tp>::value; 7770: template 7770: inline constexpr bool is_rvalue_reference_v = 7770: is_rvalue_reference<_Tp>::value; 7770: template 7770: inline constexpr bool is_member_object_pointer_v = 7770: is_member_object_pointer<_Tp>::value; 7770: template 7770: inline constexpr bool is_member_function_pointer_v = 7770: is_member_function_pointer<_Tp>::value; 7770: template 7770: inline constexpr bool is_enum_v = is_enum<_Tp>::value; 7770: template 7770: inline constexpr bool is_union_v = is_union<_Tp>::value; 7770: template 7770: inline constexpr bool is_class_v = is_class<_Tp>::value; 7770: template 7770: inline constexpr bool is_function_v = is_function<_Tp>::value; 7770: template 7770: inline constexpr bool is_reference_v = is_reference<_Tp>::value; 7770: template 7770: inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value; 7770: template 7770: inline constexpr bool is_fundamental_v = is_fundamental<_Tp>::value; 7770: template 7770: inline constexpr bool is_object_v = is_object<_Tp>::value; 7770: template 7770: inline constexpr bool is_scalar_v = is_scalar<_Tp>::value; 7770: template 7770: inline constexpr bool is_compound_v = is_compound<_Tp>::value; 7770: template 7770: inline constexpr bool is_member_pointer_v = is_member_pointer<_Tp>::value; 7770: template 7770: inline constexpr bool is_const_v = is_const<_Tp>::value; 7770: template 7770: inline constexpr bool is_volatile_v = is_volatile<_Tp>::value; 7770: template 7770: inline constexpr bool is_trivial_v = is_trivial<_Tp>::value; 7770: template 7770: inline constexpr bool is_trivially_copyable_v = 7770: is_trivially_copyable<_Tp>::value; 7770: template 7770: inline constexpr bool is_standard_layout_v = is_standard_layout<_Tp>::value; 7770: template 7770: inline constexpr bool is_pod_v = is_pod<_Tp>::value; 7770: template 7770: inline constexpr bool is_literal_type_v = is_literal_type<_Tp>::value; 7770: template 7770: inline constexpr bool is_empty_v = is_empty<_Tp>::value; 7770: template 7770: inline constexpr bool is_polymorphic_v = is_polymorphic<_Tp>::value; 7770: template 7770: inline constexpr bool is_abstract_v = is_abstract<_Tp>::value; 7770: template 7770: inline constexpr bool is_final_v = is_final<_Tp>::value; 7770: template 7770: inline constexpr bool is_signed_v = is_signed<_Tp>::value; 7770: template 7770: inline constexpr bool is_unsigned_v = is_unsigned<_Tp>::value; 7770: template 7770: inline constexpr bool is_constructible_v = 7770: is_constructible<_Tp, _Args...>::value; 7770: template 7770: inline constexpr bool is_default_constructible_v = 7770: is_default_constructible<_Tp>::value; 7770: template 7770: inline constexpr bool is_copy_constructible_v = 7770: is_copy_constructible<_Tp>::value; 7770: template 7770: inline constexpr bool is_move_constructible_v = 7770: is_move_constructible<_Tp>::value; 7770: template 7770: inline constexpr bool is_assignable_v = is_assignable<_Tp, _Up>::value; 7770: template 7770: inline constexpr bool is_copy_assignable_v = is_copy_assignable<_Tp>::value; 7770: template 7770: inline constexpr bool is_move_assignable_v = is_move_assignable<_Tp>::value; 7770: template 7770: inline constexpr bool is_destructible_v = is_destructible<_Tp>::value; 7770: template 7770: inline constexpr bool is_trivially_constructible_v = 7770: is_trivially_constructible<_Tp, _Args...>::value; 7770: template 7770: inline constexpr bool is_trivially_default_constructible_v = 7770: is_trivially_default_constructible<_Tp>::value; 7770: template 7770: inline constexpr bool is_trivially_copy_constructible_v = 7770: is_trivially_copy_constructible<_Tp>::value; 7770: template 7770: inline constexpr bool is_trivially_move_constructible_v = 7770: is_trivially_move_constructible<_Tp>::value; 7770: template 7770: inline constexpr bool is_trivially_assignable_v = 7770: is_trivially_assignable<_Tp, _Up>::value; 7770: template 7770: inline constexpr bool is_trivially_copy_assignable_v = 7770: is_trivially_copy_assignable<_Tp>::value; 7770: template 7770: inline constexpr bool is_trivially_move_assignable_v = 7770: is_trivially_move_assignable<_Tp>::value; 7770: template 7770: inline constexpr bool is_trivially_destructible_v = 7770: is_trivially_destructible<_Tp>::value; 7770: template 7770: inline constexpr bool is_nothrow_constructible_v = 7770: is_nothrow_constructible<_Tp, _Args...>::value; 7770: template 7770: inline constexpr bool is_nothrow_default_constructible_v = 7770: is_nothrow_default_constructible<_Tp>::value; 7770: template 7770: inline constexpr bool is_nothrow_copy_constructible_v = 7770: is_nothrow_copy_constructible<_Tp>::value; 7770: template 7770: inline constexpr bool is_nothrow_move_constructible_v = 7770: is_nothrow_move_constructible<_Tp>::value; 7770: template 7770: inline constexpr bool is_nothrow_assignable_v = 7770: is_nothrow_assignable<_Tp, _Up>::value; 7770: template 7770: inline constexpr bool is_nothrow_copy_assignable_v = 7770: is_nothrow_copy_assignable<_Tp>::value; 7770: template 7770: inline constexpr bool is_nothrow_move_assignable_v = 7770: is_nothrow_move_assignable<_Tp>::value; 7770: template 7770: inline constexpr bool is_nothrow_destructible_v = 7770: is_nothrow_destructible<_Tp>::value; 7770: template 7770: inline constexpr bool has_virtual_destructor_v = 7770: has_virtual_destructor<_Tp>::value; 7770: template 7770: inline constexpr size_t alignment_of_v = alignment_of<_Tp>::value; 7770: template 7770: inline constexpr size_t rank_v = rank<_Tp>::value; 7770: template 7770: inline constexpr size_t extent_v = extent<_Tp, _Idx>::value; 7770: template 7770: inline constexpr bool is_same_v = is_same<_Tp, _Up>::value; 7770: template 7770: inline constexpr bool is_base_of_v = is_base_of<_Base, _Derived>::value; 7770: template 7770: inline constexpr bool is_convertible_v = is_convertible<_From, _To>::value; 7770: # 2900 "/usr/include/c++/8/type_traits" 3 7770: template 7770: struct has_unique_object_representations 7770: : bool_constant<__has_unique_object_representations( 7770: remove_cv_t> 7770: )> 7770: { }; 7770: # 2921 "/usr/include/c++/8/type_traits" 3 7770: template 7770: struct is_aggregate 7770: : bool_constant<__is_aggregate(remove_cv_t<_Tp>)> { }; 7770: 7770: 7770: template 7770: inline constexpr bool is_aggregate_v = is_aggregate<_Tp>::value; 7770: # 2943 "/usr/include/c++/8/type_traits" 3 7770: 7770: } 7770: # 46 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 7770: # 1 "/usr/include/c++/8/cstddef" 1 3 4 7770: # 42 "/usr/include/c++/8/cstddef" 3 4 7770: 7770: # 43 "/usr/include/c++/8/cstddef" 3 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stddef.h" 1 3 4 7770: # 149 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stddef.h" 3 4 7770: typedef long int ptrdiff_t; 7770: # 216 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stddef.h" 3 4 7770: typedef long unsigned int size_t; 7770: # 426 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stddef.h" 3 4 7770: typedef struct { 7770: long long __max_align_ll __attribute__((__aligned__(__alignof__(long long)))); 7770: long double __max_align_ld __attribute__((__aligned__(__alignof__(long double)))); 7770: # 437 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stddef.h" 3 4 7770: } max_align_t; 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef decltype(nullptr) nullptr_t; 7770: # 51 "/usr/include/c++/8/cstddef" 2 3 7770: 7770: 7770: namespace std 7770: { 7770: 7770: using ::max_align_t; 7770: } 7770: 7770: 7770: 7770: namespace std 7770: { 7770: 7770: 7770: 7770: enum class byte : unsigned char {}; 7770: 7770: template struct __byte_operand; 7770: template<> struct __byte_operand { using __type = byte; }; 7770: template<> struct __byte_operand { using __type = byte; }; 7770: template<> struct __byte_operand { using __type = byte; }; 7770: template<> struct __byte_operand { using __type = byte; }; 7770: 7770: template<> struct __byte_operand { using __type = byte; }; 7770: 7770: template<> struct __byte_operand { using __type = byte; }; 7770: template<> struct __byte_operand { using __type = byte; }; 7770: template<> struct __byte_operand { using __type = byte; }; 7770: template<> struct __byte_operand { using __type = byte; }; 7770: template<> struct __byte_operand { using __type = byte; }; 7770: template<> struct __byte_operand { using __type = byte; }; 7770: template<> struct __byte_operand { using __type = byte; }; 7770: template<> struct __byte_operand { using __type = byte; }; 7770: template<> struct __byte_operand { using __type = byte; }; 7770: template<> struct __byte_operand { using __type = byte; }; 7770: # 104 "/usr/include/c++/8/cstddef" 3 7770: template 7770: struct __byte_operand 7770: : __byte_operand<_IntegerType> { }; 7770: template 7770: struct __byte_operand 7770: : __byte_operand<_IntegerType> { }; 7770: template 7770: struct __byte_operand 7770: : __byte_operand<_IntegerType> { }; 7770: 7770: template 7770: using __byte_op_t = typename __byte_operand<_IntegerType>::__type; 7770: 7770: template 7770: constexpr __byte_op_t<_IntegerType>& 7770: operator<<=(byte& __b, _IntegerType __shift) noexcept 7770: { return __b = byte(static_cast(__b) << __shift); } 7770: 7770: template 7770: constexpr __byte_op_t<_IntegerType> 7770: operator<<(byte __b, _IntegerType __shift) noexcept 7770: { return byte(static_cast(__b) << __shift); } 7770: 7770: template 7770: constexpr __byte_op_t<_IntegerType>& 7770: operator>>=(byte& __b, _IntegerType __shift) noexcept 7770: { return __b = byte(static_cast(__b) >> __shift); } 7770: 7770: template 7770: constexpr __byte_op_t<_IntegerType> 7770: operator>>(byte __b, _IntegerType __shift) noexcept 7770: { return byte(static_cast(__b) >> __shift); } 7770: 7770: constexpr byte& 7770: operator|=(byte& __l, byte __r) noexcept 7770: { 7770: return __l = 7770: byte(static_cast(__l) | static_cast(__r)); 7770: } 7770: 7770: constexpr byte 7770: operator|(byte __l, byte __r) noexcept 7770: { 7770: return 7770: byte(static_cast(__l) | static_cast(__r)); 7770: } 7770: 7770: constexpr byte& 7770: operator&=(byte& __l, byte __r) noexcept 7770: { 7770: return __l = 7770: byte(static_cast(__l) & static_cast(__r)); 7770: } 7770: 7770: constexpr byte 7770: operator&(byte __l, byte __r) noexcept 7770: { 7770: return 7770: byte(static_cast(__l) & static_cast(__r)); 7770: } 7770: 7770: constexpr byte& 7770: operator^=(byte& __l, byte __r) noexcept 7770: { 7770: return __l = 7770: byte(static_cast(__l) ^ static_cast(__r)); 7770: } 7770: 7770: constexpr byte 7770: operator^(byte __l, byte __r) noexcept 7770: { 7770: return 7770: byte(static_cast(__l) ^ static_cast(__r)); 7770: } 7770: 7770: constexpr byte 7770: operator~(byte __b) noexcept 7770: { return byte(~static_cast(__b)); } 7770: 7770: template 7770: constexpr _IntegerType 7770: to_integer(__byte_op_t<_IntegerType> __b) noexcept 7770: { return _IntegerType(__b); } 7770: 7770: } 7770: # 47 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 7770: # 1 "/usr/include/c++/8/utility" 1 3 4 7770: # 58 "/usr/include/c++/8/utility" 3 4 7770: 7770: # 59 "/usr/include/c++/8/utility" 3 7770: # 69 "/usr/include/c++/8/utility" 3 7770: # 1 "/usr/include/c++/8/bits/stl_relops.h" 1 3 7770: # 67 "/usr/include/c++/8/bits/stl_relops.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: namespace rel_ops 7770: { 7770: # 85 "/usr/include/c++/8/bits/stl_relops.h" 3 7770: template 7770: inline bool 7770: operator!=(const _Tp& __x, const _Tp& __y) 7770: { return !(__x == __y); } 7770: # 98 "/usr/include/c++/8/bits/stl_relops.h" 3 7770: template 7770: inline bool 7770: operator>(const _Tp& __x, const _Tp& __y) 7770: { return __y < __x; } 7770: # 111 "/usr/include/c++/8/bits/stl_relops.h" 3 7770: template 7770: inline bool 7770: operator<=(const _Tp& __x, const _Tp& __y) 7770: { return !(__y < __x); } 7770: # 124 "/usr/include/c++/8/bits/stl_relops.h" 3 7770: template 7770: inline bool 7770: operator>=(const _Tp& __x, const _Tp& __y) 7770: { return !(__x < __y); } 7770: } 7770: 7770: 7770: } 7770: # 70 "/usr/include/c++/8/utility" 2 3 7770: # 1 "/usr/include/c++/8/bits/stl_pair.h" 1 3 7770: # 59 "/usr/include/c++/8/bits/stl_pair.h" 3 7770: # 1 "/usr/include/c++/8/bits/move.h" 1 3 7770: # 34 "/usr/include/c++/8/bits/move.h" 3 7770: # 1 "/usr/include/c++/8/bits/concept_check.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/concept_check.h" 3 7770: 7770: # 34 "/usr/include/c++/8/bits/concept_check.h" 3 7770: # 35 "/usr/include/c++/8/bits/move.h" 2 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr _Tp* 7770: __addressof(_Tp& __r) noexcept 7770: { return __builtin_addressof(__r); } 7770: 7770: 7770: 7770: 7770: } 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 72 "/usr/include/c++/8/bits/move.h" 3 7770: template 7770: constexpr _Tp&& 7770: forward(typename std::remove_reference<_Tp>::type& __t) noexcept 7770: { return static_cast<_Tp&&>(__t); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: constexpr _Tp&& 7770: forward(typename std::remove_reference<_Tp>::type&& __t) noexcept 7770: { 7770: static_assert(!std::is_lvalue_reference<_Tp>::value, "template argument" 7770: " substituting _Tp is an lvalue reference type"); 7770: return static_cast<_Tp&&>(__t); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: constexpr typename std::remove_reference<_Tp>::type&& 7770: move(_Tp&& __t) noexcept 7770: { return static_cast::type&&>(__t); } 7770: 7770: 7770: template 7770: struct __move_if_noexcept_cond 7770: : public __and_<__not_>, 7770: is_copy_constructible<_Tp>>::type { }; 7770: # 116 "/usr/include/c++/8/bits/move.h" 3 7770: template 7770: constexpr typename 7770: conditional<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>::type 7770: move_if_noexcept(_Tp& __x) noexcept 7770: { return std::move(__x); } 7770: # 136 "/usr/include/c++/8/bits/move.h" 3 7770: template 7770: inline constexpr _Tp* 7770: addressof(_Tp& __r) noexcept 7770: { return std::__addressof(__r); } 7770: 7770: 7770: 7770: template 7770: const _Tp* addressof(const _Tp&&) = delete; 7770: 7770: 7770: template 7770: inline _Tp 7770: __exchange(_Tp& __obj, _Up&& __new_val) 7770: { 7770: _Tp __old_val = std::move(__obj); 7770: __obj = std::forward<_Up>(__new_val); 7770: return __old_val; 7770: } 7770: # 176 "/usr/include/c++/8/bits/move.h" 3 7770: template 7770: inline 7770: 7770: typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>, 7770: is_move_constructible<_Tp>, 7770: is_move_assignable<_Tp>>::value>::type 7770: swap(_Tp& __a, _Tp& __b) 7770: noexcept(__and_, 7770: is_nothrow_move_assignable<_Tp>>::value) 7770: 7770: 7770: 7770: 7770: { 7770: 7770: 7770: 7770: _Tp __tmp = std::move(__a); 7770: __a = std::move(__b); 7770: __b = std::move(__tmp); 7770: } 7770: 7770: 7770: 7770: 7770: template 7770: inline 7770: 7770: typename enable_if<__is_swappable<_Tp>::value>::type 7770: swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) 7770: noexcept(__is_nothrow_swappable<_Tp>::value) 7770: 7770: 7770: 7770: 7770: { 7770: for (size_t __n = 0; __n < _Nm; ++__n) 7770: swap(__a[__n], __b[__n]); 7770: } 7770: 7770: 7770: 7770: } 7770: # 60 "/usr/include/c++/8/bits/stl_pair.h" 2 3 7770: 7770: 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 76 "/usr/include/c++/8/bits/stl_pair.h" 3 7770: struct piecewise_construct_t { explicit piecewise_construct_t() = default; }; 7770: 7770: 7770: inline constexpr piecewise_construct_t piecewise_construct = 7770: piecewise_construct_t(); 7770: 7770: 7770: template 7770: class tuple; 7770: 7770: template 7770: struct _Index_tuple; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _PCC 7770: { 7770: template 7770: static constexpr bool _ConstructiblePair() 7770: { 7770: return __and_, 7770: is_constructible<_T2, const _U2&>>::value; 7770: } 7770: 7770: template 7770: static constexpr bool _ImplicitlyConvertiblePair() 7770: { 7770: return __and_, 7770: is_convertible>::value; 7770: } 7770: 7770: template 7770: static constexpr bool _MoveConstructiblePair() 7770: { 7770: return __and_, 7770: is_constructible<_T2, _U2&&>>::value; 7770: } 7770: 7770: template 7770: static constexpr bool _ImplicitlyMoveConvertiblePair() 7770: { 7770: return __and_, 7770: is_convertible<_U2&&, _T2>>::value; 7770: } 7770: 7770: template 7770: static constexpr bool _CopyMovePair() 7770: { 7770: using __do_converts = __and_, 7770: is_convertible<_U2&&, _T2>>; 7770: using __converts = typename conditional<__implicit, 7770: __do_converts, 7770: __not_<__do_converts>>::type; 7770: return __and_, 7770: is_constructible<_T2, _U2&&>, 7770: __converts 7770: >::value; 7770: } 7770: 7770: template 7770: static constexpr bool _MoveCopyPair() 7770: { 7770: using __do_converts = __and_, 7770: is_convertible>; 7770: using __converts = typename conditional<__implicit, 7770: __do_converts, 7770: __not_<__do_converts>>::type; 7770: return __and_, 7770: is_constructible<_T2, const _U2&&>, 7770: __converts 7770: >::value; 7770: } 7770: }; 7770: 7770: template 7770: struct _PCC 7770: { 7770: template 7770: static constexpr bool _ConstructiblePair() 7770: { 7770: return false; 7770: } 7770: 7770: template 7770: static constexpr bool _ImplicitlyConvertiblePair() 7770: { 7770: return false; 7770: } 7770: 7770: template 7770: static constexpr bool _MoveConstructiblePair() 7770: { 7770: return false; 7770: } 7770: 7770: template 7770: static constexpr bool _ImplicitlyMoveConvertiblePair() 7770: { 7770: return false; 7770: } 7770: }; 7770: 7770: 7770: 7770: 7770: struct __nonesuch_no_braces : std::__nonesuch { 7770: explicit __nonesuch_no_braces(const __nonesuch&) = delete; 7770: }; 7770: # 197 "/usr/include/c++/8/bits/stl_pair.h" 3 7770: template 7770: struct pair 7770: { 7770: typedef _T1 first_type; 7770: typedef _T2 second_type; 7770: 7770: _T1 first; 7770: _T2 second; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template , 7770: __is_implicitly_default_constructible<_U2>> 7770: ::value, bool>::type = true> 7770: 7770: constexpr pair() 7770: : first(), second() { } 7770: 7770: 7770: template , 7770: is_default_constructible<_U2>, 7770: __not_< 7770: __and_<__is_implicitly_default_constructible<_U1>, 7770: __is_implicitly_default_constructible<_U2>>>> 7770: ::value, bool>::type = false> 7770: explicit constexpr pair() 7770: : first(), second() { } 7770: # 241 "/usr/include/c++/8/bits/stl_pair.h" 3 7770: using _PCCP = _PCC; 7770: 7770: template() 7770: && _PCCP::template 7770: _ImplicitlyConvertiblePair<_U1, _U2>(), 7770: bool>::type=true> 7770: constexpr pair(const _T1& __a, const _T2& __b) 7770: : first(__a), second(__b) { } 7770: 7770: template() 7770: && !_PCCP::template 7770: _ImplicitlyConvertiblePair<_U1, _U2>(), 7770: bool>::type=false> 7770: explicit constexpr pair(const _T1& __a, const _T2& __b) 7770: : first(__a), second(__b) { } 7770: # 269 "/usr/include/c++/8/bits/stl_pair.h" 3 7770: template 7770: using _PCCFP = _PCC::value 7770: || !is_same<_T2, _U2>::value, 7770: _T1, _T2>; 7770: 7770: template::template 7770: _ConstructiblePair<_U1, _U2>() 7770: && _PCCFP<_U1, _U2>::template 7770: _ImplicitlyConvertiblePair<_U1, _U2>(), 7770: bool>::type=true> 7770: constexpr pair(const pair<_U1, _U2>& __p) 7770: : first(__p.first), second(__p.second) { } 7770: 7770: template::template 7770: _ConstructiblePair<_U1, _U2>() 7770: && !_PCCFP<_U1, _U2>::template 7770: _ImplicitlyConvertiblePair<_U1, _U2>(), 7770: bool>::type=false> 7770: explicit constexpr pair(const pair<_U1, _U2>& __p) 7770: : first(__p.first), second(__p.second) { } 7770: 7770: constexpr pair(const pair&) = default; 7770: constexpr pair(pair&&) = default; 7770: 7770: 7770: template(), 7770: bool>::type=true> 7770: constexpr pair(_U1&& __x, const _T2& __y) 7770: : first(std::forward<_U1>(__x)), second(__y) { } 7770: 7770: template(), 7770: bool>::type=false> 7770: explicit constexpr pair(_U1&& __x, const _T2& __y) 7770: : first(std::forward<_U1>(__x)), second(__y) { } 7770: 7770: template(), 7770: bool>::type=true> 7770: constexpr pair(const _T1& __x, _U2&& __y) 7770: : first(__x), second(std::forward<_U2>(__y)) { } 7770: 7770: template(), 7770: bool>::type=false> 7770: explicit pair(const _T1& __x, _U2&& __y) 7770: : first(__x), second(std::forward<_U2>(__y)) { } 7770: 7770: template() 7770: && _PCCP::template 7770: _ImplicitlyMoveConvertiblePair<_U1, _U2>(), 7770: bool>::type=true> 7770: constexpr pair(_U1&& __x, _U2&& __y) 7770: : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { } 7770: 7770: template() 7770: && !_PCCP::template 7770: _ImplicitlyMoveConvertiblePair<_U1, _U2>(), 7770: bool>::type=false> 7770: explicit constexpr pair(_U1&& __x, _U2&& __y) 7770: : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { } 7770: 7770: 7770: template::template 7770: _MoveConstructiblePair<_U1, _U2>() 7770: && _PCCFP<_U1, _U2>::template 7770: _ImplicitlyMoveConvertiblePair<_U1, _U2>(), 7770: bool>::type=true> 7770: constexpr pair(pair<_U1, _U2>&& __p) 7770: : first(std::forward<_U1>(__p.first)), 7770: second(std::forward<_U2>(__p.second)) { } 7770: 7770: template::template 7770: _MoveConstructiblePair<_U1, _U2>() 7770: && !_PCCFP<_U1, _U2>::template 7770: _ImplicitlyMoveConvertiblePair<_U1, _U2>(), 7770: bool>::type=false> 7770: explicit constexpr pair(pair<_U1, _U2>&& __p) 7770: : first(std::forward<_U1>(__p.first)), 7770: second(std::forward<_U2>(__p.second)) { } 7770: 7770: template 7770: pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>); 7770: 7770: pair& 7770: operator=(typename conditional< 7770: __and_, 7770: is_copy_assignable<_T2>>::value, 7770: const pair&, const __nonesuch_no_braces&>::type __p) 7770: { 7770: first = __p.first; 7770: second = __p.second; 7770: return *this; 7770: } 7770: 7770: pair& 7770: operator=(typename conditional< 7770: __not_<__and_, 7770: is_copy_assignable<_T2>>>::value, 7770: const pair&, const __nonesuch_no_braces&>::type __p) = delete; 7770: 7770: pair& 7770: operator=(typename conditional< 7770: __and_, 7770: is_move_assignable<_T2>>::value, 7770: pair&&, __nonesuch_no_braces&&>::type __p) 7770: noexcept(__and_, 7770: is_nothrow_move_assignable<_T2>>::value) 7770: { 7770: first = std::forward(__p.first); 7770: second = std::forward(__p.second); 7770: return *this; 7770: } 7770: 7770: template 7770: typename enable_if<__and_, 7770: is_assignable<_T2&, const _U2&>>::value, 7770: pair&>::type 7770: operator=(const pair<_U1, _U2>& __p) 7770: { 7770: first = __p.first; 7770: second = __p.second; 7770: return *this; 7770: } 7770: 7770: template 7770: typename enable_if<__and_, 7770: is_assignable<_T2&, _U2&&>>::value, 7770: pair&>::type 7770: operator=(pair<_U1, _U2>&& __p) 7770: { 7770: first = std::forward<_U1>(__p.first); 7770: second = std::forward<_U2>(__p.second); 7770: return *this; 7770: } 7770: 7770: void 7770: swap(pair& __p) 7770: noexcept(__and_<__is_nothrow_swappable<_T1>, 7770: __is_nothrow_swappable<_T2>>::value) 7770: { 7770: using std::swap; 7770: swap(first, __p.first); 7770: swap(second, __p.second); 7770: } 7770: 7770: private: 7770: template 7770: pair(tuple<_Args1...>&, tuple<_Args2...>&, 7770: _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); 7770: 7770: }; 7770: 7770: 7770: template pair(_T1, _T2) -> pair<_T1, _T2>; 7770: 7770: 7770: 7770: template 7770: inline constexpr bool 7770: operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 7770: { return __x.first == __y.first && __x.second == __y.second; } 7770: 7770: 7770: template 7770: inline constexpr bool 7770: operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 7770: { return __x.first < __y.first 7770: || (!(__y.first < __x.first) && __x.second < __y.second); } 7770: 7770: 7770: template 7770: inline constexpr bool 7770: operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 7770: { return !(__x == __y); } 7770: 7770: 7770: template 7770: inline constexpr bool 7770: operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 7770: { return __y < __x; } 7770: 7770: 7770: template 7770: inline constexpr bool 7770: operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 7770: { return !(__y < __x); } 7770: 7770: 7770: template 7770: inline constexpr bool 7770: operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) 7770: { return !(__x < __y); } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline 7770: 7770: 7770: typename enable_if<__and_<__is_swappable<_T1>, 7770: __is_swappable<_T2>>::value>::type 7770: 7770: 7770: 7770: swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) 7770: noexcept(noexcept(__x.swap(__y))) 7770: { __x.swap(__y); } 7770: 7770: 7770: template 7770: typename enable_if, 7770: __is_swappable<_T2>>::value>::type 7770: swap(pair<_T1, _T2>&, pair<_T1, _T2>&) = delete; 7770: # 516 "/usr/include/c++/8/bits/stl_pair.h" 3 7770: template 7770: constexpr pair::__type, 7770: typename __decay_and_strip<_T2>::__type> 7770: make_pair(_T1&& __x, _T2&& __y) 7770: { 7770: typedef typename __decay_and_strip<_T1>::__type __ds_type1; 7770: typedef typename __decay_and_strip<_T2>::__type __ds_type2; 7770: typedef pair<__ds_type1, __ds_type2> __pair_type; 7770: return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y)); 7770: } 7770: # 535 "/usr/include/c++/8/bits/stl_pair.h" 3 7770: 7770: } 7770: # 71 "/usr/include/c++/8/utility" 2 3 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/initializer_list" 1 3 7770: # 33 "/usr/include/c++/8/initializer_list" 3 7770: 7770: # 34 "/usr/include/c++/8/initializer_list" 3 7770: 7770: 7770: 7770: 7770: 7770: #pragma GCC visibility push(default) 7770: 7770: 7770: 7770: namespace std 7770: { 7770: 7770: template 7770: class initializer_list 7770: { 7770: public: 7770: typedef _E value_type; 7770: typedef const _E& reference; 7770: typedef const _E& const_reference; 7770: typedef size_t size_type; 7770: typedef const _E* iterator; 7770: typedef const _E* const_iterator; 7770: 7770: private: 7770: iterator _M_array; 7770: size_type _M_len; 7770: 7770: 7770: constexpr initializer_list(const_iterator __a, size_type __l) 7770: : _M_array(__a), _M_len(__l) { } 7770: 7770: public: 7770: constexpr initializer_list() noexcept 7770: : _M_array(0), _M_len(0) { } 7770: 7770: 7770: constexpr size_type 7770: size() const noexcept { return _M_len; } 7770: 7770: 7770: constexpr const_iterator 7770: begin() const noexcept { return _M_array; } 7770: 7770: 7770: constexpr const_iterator 7770: end() const noexcept { return begin() + size(); } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: constexpr const _Tp* 7770: begin(initializer_list<_Tp> __ils) noexcept 7770: { return __ils.begin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: constexpr const _Tp* 7770: end(initializer_list<_Tp> __ils) noexcept 7770: { return __ils.end(); } 7770: } 7770: 7770: #pragma GCC visibility pop 7770: # 77 "/usr/include/c++/8/utility" 2 3 7770: 7770: 7770: # 1 "/usr/include/c++/8/exception" 1 3 7770: # 33 "/usr/include/c++/8/exception" 3 7770: 7770: # 34 "/usr/include/c++/8/exception" 3 7770: 7770: #pragma GCC visibility push(default) 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/exception.h" 1 3 7770: # 34 "/usr/include/c++/8/bits/exception.h" 3 7770: 7770: # 35 "/usr/include/c++/8/bits/exception.h" 3 7770: 7770: #pragma GCC visibility push(default) 7770: 7770: 7770: 7770: extern "C++" { 7770: 7770: namespace std 7770: { 7770: # 60 "/usr/include/c++/8/bits/exception.h" 3 7770: class exception 7770: { 7770: public: 7770: exception() noexcept { } 7770: virtual ~exception() noexcept; 7770: 7770: 7770: 7770: virtual const char* 7770: what() const noexcept; 7770: }; 7770: 7770: } 7770: 7770: } 7770: 7770: #pragma GCC visibility pop 7770: # 39 "/usr/include/c++/8/exception" 2 3 7770: 7770: extern "C++" { 7770: 7770: namespace std 7770: { 7770: 7770: 7770: class bad_exception : public exception 7770: { 7770: public: 7770: bad_exception() noexcept { } 7770: 7770: 7770: 7770: virtual ~bad_exception() noexcept; 7770: 7770: 7770: virtual const char* 7770: what() const noexcept; 7770: }; 7770: 7770: 7770: typedef void (*terminate_handler) (); 7770: 7770: 7770: typedef void (*unexpected_handler) (); 7770: 7770: 7770: terminate_handler set_terminate(terminate_handler) noexcept; 7770: 7770: 7770: 7770: terminate_handler get_terminate() noexcept; 7770: 7770: 7770: 7770: 7770: void terminate() noexcept __attribute__ ((__noreturn__)); 7770: 7770: 7770: unexpected_handler set_unexpected(unexpected_handler) noexcept; 7770: 7770: 7770: 7770: unexpected_handler get_unexpected() noexcept; 7770: 7770: 7770: 7770: 7770: void unexpected() __attribute__ ((__noreturn__)); 7770: # 101 "/usr/include/c++/8/exception" 3 7770: [[__deprecated__]] 7770: bool uncaught_exception() noexcept __attribute__ ((__pure__)); 7770: 7770: 7770: 7770: 7770: int uncaught_exceptions() noexcept __attribute__ ((__pure__)); 7770: 7770: 7770: 7770: } 7770: 7770: namespace __gnu_cxx 7770: { 7770: 7770: # 133 "/usr/include/c++/8/exception" 3 7770: void __verbose_terminate_handler(); 7770: 7770: 7770: } 7770: 7770: } 7770: 7770: #pragma GCC visibility pop 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/exception_ptr.h" 1 3 7770: # 34 "/usr/include/c++/8/bits/exception_ptr.h" 3 7770: #pragma GCC visibility push(default) 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/exception_defines.h" 1 3 7770: # 38 "/usr/include/c++/8/bits/exception_ptr.h" 2 3 7770: # 1 "/usr/include/c++/8/bits/cxxabi_init_exception.h" 1 3 7770: # 34 "/usr/include/c++/8/bits/cxxabi_init_exception.h" 3 7770: 7770: # 35 "/usr/include/c++/8/bits/cxxabi_init_exception.h" 3 7770: 7770: #pragma GCC visibility push(default) 7770: 7770: # 1 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stddef.h" 1 3 4 7770: # 39 "/usr/include/c++/8/bits/cxxabi_init_exception.h" 2 3 7770: # 50 "/usr/include/c++/8/bits/cxxabi_init_exception.h" 3 7770: namespace std 7770: { 7770: class type_info; 7770: } 7770: 7770: namespace __cxxabiv1 7770: { 7770: struct __cxa_refcounted_exception; 7770: 7770: extern "C" 7770: { 7770: 7770: void* 7770: __cxa_allocate_exception(size_t) noexcept; 7770: 7770: 7770: __cxa_refcounted_exception* 7770: __cxa_init_primary_exception(void *object, std::type_info *tinfo, 7770: void ( *dest) (void *)) noexcept; 7770: 7770: } 7770: } 7770: 7770: 7770: 7770: #pragma GCC visibility pop 7770: # 39 "/usr/include/c++/8/bits/exception_ptr.h" 2 3 7770: # 1 "/usr/include/c++/8/typeinfo" 1 3 7770: # 32 "/usr/include/c++/8/typeinfo" 3 7770: 7770: # 33 "/usr/include/c++/8/typeinfo" 3 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/hash_bytes.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/hash_bytes.h" 3 7770: 7770: # 34 "/usr/include/c++/8/bits/hash_bytes.h" 3 7770: 7770: 7770: 7770: namespace std 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: size_t 7770: _Hash_bytes(const void* __ptr, size_t __len, size_t __seed); 7770: 7770: 7770: 7770: 7770: 7770: size_t 7770: _Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed); 7770: 7770: 7770: } 7770: # 37 "/usr/include/c++/8/typeinfo" 2 3 7770: 7770: 7770: #pragma GCC visibility push(default) 7770: 7770: extern "C++" { 7770: 7770: namespace __cxxabiv1 7770: { 7770: class __class_type_info; 7770: } 7770: # 80 "/usr/include/c++/8/typeinfo" 3 7770: namespace std 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: class type_info 7770: { 7770: public: 7770: 7770: 7770: 7770: 7770: virtual ~type_info(); 7770: 7770: 7770: 7770: const char* name() const noexcept 7770: { return __name[0] == '*' ? __name + 1 : __name; } 7770: # 115 "/usr/include/c++/8/typeinfo" 3 7770: bool before(const type_info& __arg) const noexcept 7770: { return (__name[0] == '*' && __arg.__name[0] == '*') 7770: ? __name < __arg.__name 7770: : __builtin_strcmp (__name, __arg.__name) < 0; } 7770: 7770: bool operator==(const type_info& __arg) const noexcept 7770: { 7770: return ((__name == __arg.__name) 7770: || (__name[0] != '*' && 7770: __builtin_strcmp (__name, __arg.__name) == 0)); 7770: } 7770: # 136 "/usr/include/c++/8/typeinfo" 3 7770: bool operator!=(const type_info& __arg) const noexcept 7770: { return !operator==(__arg); } 7770: 7770: 7770: size_t hash_code() const noexcept 7770: { 7770: 7770: return _Hash_bytes(name(), __builtin_strlen(name()), 7770: static_cast(0xc70f6907UL)); 7770: 7770: 7770: 7770: } 7770: 7770: 7770: 7770: virtual bool __is_pointer_p() const; 7770: 7770: 7770: virtual bool __is_function_p() const; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj, 7770: unsigned __outer) const; 7770: 7770: 7770: virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target, 7770: void **__obj_ptr) const; 7770: 7770: protected: 7770: const char *__name; 7770: 7770: explicit type_info(const char *__n): __name(__n) { } 7770: 7770: private: 7770: 7770: type_info& operator=(const type_info&); 7770: type_info(const type_info&); 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: class bad_cast : public exception 7770: { 7770: public: 7770: bad_cast() noexcept { } 7770: 7770: 7770: 7770: virtual ~bad_cast() noexcept; 7770: 7770: 7770: virtual const char* what() const noexcept; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: class bad_typeid : public exception 7770: { 7770: public: 7770: bad_typeid () noexcept { } 7770: 7770: 7770: 7770: virtual ~bad_typeid() noexcept; 7770: 7770: 7770: virtual const char* what() const noexcept; 7770: }; 7770: } 7770: 7770: } 7770: 7770: #pragma GCC visibility pop 7770: # 40 "/usr/include/c++/8/bits/exception_ptr.h" 2 3 7770: # 1 "/usr/include/c++/8/new" 1 3 7770: # 37 "/usr/include/c++/8/new" 3 7770: 7770: # 38 "/usr/include/c++/8/new" 3 7770: 7770: 7770: # 1 "/usr/include/c++/8/exception" 1 3 7770: # 41 "/usr/include/c++/8/new" 2 3 7770: 7770: #pragma GCC visibility push(default) 7770: 7770: extern "C++" { 7770: 7770: namespace std 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: class bad_alloc : public exception 7770: { 7770: public: 7770: bad_alloc() throw() { } 7770: 7770: 7770: 7770: virtual ~bad_alloc() throw(); 7770: 7770: 7770: virtual const char* what() const throw(); 7770: }; 7770: 7770: 7770: class bad_array_new_length : public bad_alloc 7770: { 7770: public: 7770: bad_array_new_length() throw() { } 7770: 7770: 7770: 7770: virtual ~bad_array_new_length() throw(); 7770: 7770: 7770: virtual const char* what() const throw(); 7770: }; 7770: 7770: 7770: 7770: enum class align_val_t: size_t {}; 7770: 7770: 7770: struct nothrow_t 7770: { 7770: 7770: explicit nothrow_t() = default; 7770: 7770: }; 7770: 7770: extern const nothrow_t nothrow; 7770: 7770: 7770: 7770: typedef void (*new_handler)(); 7770: 7770: 7770: 7770: new_handler set_new_handler(new_handler) throw(); 7770: 7770: 7770: 7770: new_handler get_new_handler() noexcept; 7770: 7770: } 7770: # 120 "/usr/include/c++/8/new" 3 7770: void* operator new(std::size_t) 7770: __attribute__((__externally_visible__)); 7770: void* operator new[](std::size_t) 7770: __attribute__((__externally_visible__)); 7770: void operator delete(void*) noexcept 7770: __attribute__((__externally_visible__)); 7770: void operator delete[](void*) noexcept 7770: __attribute__((__externally_visible__)); 7770: 7770: void operator delete(void*, std::size_t) noexcept 7770: __attribute__((__externally_visible__)); 7770: void operator delete[](void*, std::size_t) noexcept 7770: __attribute__((__externally_visible__)); 7770: 7770: void* operator new(std::size_t, const std::nothrow_t&) noexcept 7770: __attribute__((__externally_visible__)); 7770: void* operator new[](std::size_t, const std::nothrow_t&) noexcept 7770: __attribute__((__externally_visible__)); 7770: void operator delete(void*, const std::nothrow_t&) noexcept 7770: __attribute__((__externally_visible__)); 7770: void operator delete[](void*, const std::nothrow_t&) noexcept 7770: __attribute__((__externally_visible__)); 7770: 7770: void* operator new(std::size_t, std::align_val_t) 7770: __attribute__((__externally_visible__)); 7770: void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&) 7770: noexcept __attribute__((__externally_visible__)); 7770: void operator delete(void*, std::align_val_t) 7770: noexcept __attribute__((__externally_visible__)); 7770: void operator delete(void*, std::align_val_t, const std::nothrow_t&) 7770: noexcept __attribute__((__externally_visible__)); 7770: void* operator new[](std::size_t, std::align_val_t) 7770: __attribute__((__externally_visible__)); 7770: void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&) 7770: noexcept __attribute__((__externally_visible__)); 7770: void operator delete[](void*, std::align_val_t) 7770: noexcept __attribute__((__externally_visible__)); 7770: void operator delete[](void*, std::align_val_t, const std::nothrow_t&) 7770: noexcept __attribute__((__externally_visible__)); 7770: 7770: void operator delete(void*, std::size_t, std::align_val_t) 7770: noexcept __attribute__((__externally_visible__)); 7770: void operator delete[](void*, std::size_t, std::align_val_t) 7770: noexcept __attribute__((__externally_visible__)); 7770: 7770: 7770: 7770: 7770: inline void* operator new(std::size_t, void* __p) noexcept 7770: { return __p; } 7770: inline void* operator new[](std::size_t, void* __p) noexcept 7770: { return __p; } 7770: 7770: 7770: inline void operator delete (void*, void*) noexcept { } 7770: inline void operator delete[](void*, void*) noexcept { } 7770: 7770: } 7770: # 190 "/usr/include/c++/8/new" 3 7770: namespace std 7770: { 7770: 7770: 7770: template 7770: [[nodiscard]] constexpr _Tp* 7770: launder(_Tp* __p) noexcept 7770: { return __builtin_launder(__p); } 7770: 7770: 7770: 7770: 7770: template 7770: void launder(_Ret (*)(_Args...) noexcept (_NE)) = delete; 7770: template 7770: void launder(_Ret (*)(_Args......) noexcept (_NE)) = delete; 7770: 7770: void launder(void*) = delete; 7770: void launder(const void*) = delete; 7770: void launder(volatile void*) = delete; 7770: void launder(const volatile void*) = delete; 7770: } 7770: 7770: 7770: 7770: 7770: #pragma GCC visibility pop 7770: # 41 "/usr/include/c++/8/bits/exception_ptr.h" 2 3 7770: 7770: extern "C++" { 7770: 7770: namespace std 7770: { 7770: class type_info; 7770: 7770: 7770: 7770: 7770: 7770: namespace __exception_ptr 7770: { 7770: class exception_ptr; 7770: } 7770: 7770: using __exception_ptr::exception_ptr; 7770: 7770: 7770: 7770: 7770: 7770: exception_ptr current_exception() noexcept; 7770: 7770: template 7770: exception_ptr make_exception_ptr(_Ex) noexcept; 7770: 7770: 7770: void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__)); 7770: 7770: namespace __exception_ptr 7770: { 7770: using std::rethrow_exception; 7770: 7770: 7770: 7770: 7770: 7770: class exception_ptr 7770: { 7770: void* _M_exception_object; 7770: 7770: explicit exception_ptr(void* __e) noexcept; 7770: 7770: void _M_addref() noexcept; 7770: void _M_release() noexcept; 7770: 7770: void *_M_get() const noexcept __attribute__ ((__pure__)); 7770: 7770: friend exception_ptr std::current_exception() noexcept; 7770: friend void std::rethrow_exception(exception_ptr); 7770: template 7770: friend exception_ptr std::make_exception_ptr(_Ex) noexcept; 7770: 7770: public: 7770: exception_ptr() noexcept; 7770: 7770: exception_ptr(const exception_ptr&) noexcept; 7770: 7770: 7770: exception_ptr(nullptr_t) noexcept 7770: : _M_exception_object(0) 7770: { } 7770: 7770: exception_ptr(exception_ptr&& __o) noexcept 7770: : _M_exception_object(__o._M_exception_object) 7770: { __o._M_exception_object = 0; } 7770: # 117 "/usr/include/c++/8/bits/exception_ptr.h" 3 7770: exception_ptr& 7770: operator=(const exception_ptr&) noexcept; 7770: 7770: 7770: exception_ptr& 7770: operator=(exception_ptr&& __o) noexcept 7770: { 7770: exception_ptr(static_cast(__o)).swap(*this); 7770: return *this; 7770: } 7770: 7770: 7770: ~exception_ptr() noexcept; 7770: 7770: void 7770: swap(exception_ptr&) noexcept; 7770: # 144 "/usr/include/c++/8/bits/exception_ptr.h" 3 7770: explicit operator bool() const 7770: { return _M_exception_object; } 7770: 7770: 7770: friend bool 7770: operator==(const exception_ptr&, const exception_ptr&) 7770: noexcept __attribute__ ((__pure__)); 7770: 7770: const class std::type_info* 7770: __cxa_exception_type() const noexcept 7770: __attribute__ ((__pure__)); 7770: }; 7770: 7770: bool 7770: operator==(const exception_ptr&, const exception_ptr&) 7770: noexcept __attribute__ ((__pure__)); 7770: 7770: bool 7770: operator!=(const exception_ptr&, const exception_ptr&) 7770: noexcept __attribute__ ((__pure__)); 7770: 7770: inline void 7770: swap(exception_ptr& __lhs, exception_ptr& __rhs) 7770: { __lhs.swap(__rhs); } 7770: 7770: template 7770: inline void 7770: __dest_thunk(void* __x) 7770: { static_cast<_Ex*>(__x)->~_Ex(); } 7770: 7770: } 7770: 7770: 7770: template 7770: exception_ptr 7770: make_exception_ptr(_Ex __ex) noexcept 7770: { 7770: # 200 "/usr/include/c++/8/bits/exception_ptr.h" 3 7770: return exception_ptr(); 7770: 7770: } 7770: 7770: 7770: } 7770: 7770: } 7770: 7770: #pragma GCC visibility pop 7770: # 144 "/usr/include/c++/8/exception" 2 3 7770: # 1 "/usr/include/c++/8/bits/nested_exception.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/nested_exception.h" 3 7770: #pragma GCC visibility push(default) 7770: # 42 "/usr/include/c++/8/bits/nested_exception.h" 3 7770: extern "C++" { 7770: 7770: namespace std 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: class nested_exception 7770: { 7770: exception_ptr _M_ptr; 7770: 7770: public: 7770: nested_exception() noexcept : _M_ptr(current_exception()) { } 7770: 7770: nested_exception(const nested_exception&) noexcept = default; 7770: 7770: nested_exception& operator=(const nested_exception&) noexcept = default; 7770: 7770: virtual ~nested_exception() noexcept; 7770: 7770: [[noreturn]] 7770: void 7770: rethrow_nested() const 7770: { 7770: if (_M_ptr) 7770: rethrow_exception(_M_ptr); 7770: std::terminate(); 7770: } 7770: 7770: exception_ptr 7770: nested_ptr() const noexcept 7770: { return _M_ptr; } 7770: }; 7770: 7770: template 7770: struct _Nested_exception : public _Except, public nested_exception 7770: { 7770: explicit _Nested_exception(const _Except& __ex) 7770: : _Except(__ex) 7770: { } 7770: 7770: explicit _Nested_exception(_Except&& __ex) 7770: : _Except(static_cast<_Except&&>(__ex)) 7770: { } 7770: }; 7770: 7770: 7770: 7770: 7770: template 7770: [[noreturn]] 7770: inline void 7770: __throw_with_nested_impl(_Tp&& __t, true_type) 7770: { 7770: using _Up = typename remove_reference<_Tp>::type; 7770: throw _Nested_exception<_Up>{std::forward<_Tp>(__t)}; 7770: } 7770: 7770: template 7770: [[noreturn]] 7770: inline void 7770: __throw_with_nested_impl(_Tp&& __t, false_type) 7770: { throw std::forward<_Tp>(__t); } 7770: 7770: 7770: 7770: template 7770: [[noreturn]] 7770: inline void 7770: throw_with_nested(_Tp&& __t) 7770: { 7770: using _Up = typename decay<_Tp>::type; 7770: using _CopyConstructible 7770: = __and_, is_move_constructible<_Up>>; 7770: static_assert(_CopyConstructible::value, 7770: "throw_with_nested argument must be CopyConstructible"); 7770: using __nest = __and_, __bool_constant, 7770: __not_>>; 7770: std::__throw_with_nested_impl(std::forward<_Tp>(__t), __nest{}); 7770: } 7770: 7770: 7770: template 7770: using __rethrow_if_nested_cond = typename enable_if< 7770: __and_, 7770: __or_<__not_>, 7770: is_convertible<_Tp*, nested_exception*>>>::value 7770: >::type; 7770: 7770: 7770: template 7770: inline __rethrow_if_nested_cond<_Ex> 7770: __rethrow_if_nested_impl(const _Ex* __ptr) 7770: { 7770: if (auto __ne_ptr = dynamic_cast(__ptr)) 7770: __ne_ptr->rethrow_nested(); 7770: } 7770: 7770: 7770: inline void 7770: __rethrow_if_nested_impl(const void*) 7770: { } 7770: 7770: 7770: template 7770: inline void 7770: rethrow_if_nested(const _Ex& __ex) 7770: { std::__rethrow_if_nested_impl(std::__addressof(__ex)); } 7770: 7770: 7770: } 7770: 7770: } 7770: 7770: 7770: 7770: #pragma GCC visibility pop 7770: # 145 "/usr/include/c++/8/exception" 2 3 7770: # 80 "/usr/include/c++/8/utility" 2 3 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: template 7770: struct tuple_size; 7770: 7770: 7770: 7770: 7770: 7770: template::type, 7770: typename = typename enable_if::value>::type, 7770: size_t = tuple_size<_Tp>::value> 7770: using __enable_if_has_tuple_size = _Tp; 7770: 7770: template 7770: struct tuple_size> 7770: : public tuple_size<_Tp> { }; 7770: 7770: template 7770: struct tuple_size> 7770: : public tuple_size<_Tp> { }; 7770: 7770: template 7770: struct tuple_size> 7770: : public tuple_size<_Tp> { }; 7770: 7770: 7770: template 7770: struct tuple_element; 7770: 7770: 7770: template 7770: using __tuple_element_t = typename tuple_element<__i, _Tp>::type; 7770: 7770: template 7770: struct tuple_element<__i, const _Tp> 7770: { 7770: typedef typename add_const<__tuple_element_t<__i, _Tp>>::type type; 7770: }; 7770: 7770: template 7770: struct tuple_element<__i, volatile _Tp> 7770: { 7770: typedef typename add_volatile<__tuple_element_t<__i, _Tp>>::type type; 7770: }; 7770: 7770: template 7770: struct tuple_element<__i, const volatile _Tp> 7770: { 7770: typedef typename add_cv<__tuple_element_t<__i, _Tp>>::type type; 7770: }; 7770: 7770: 7770: 7770: 7770: template 7770: using tuple_element_t = typename tuple_element<__i, _Tp>::type; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct __is_tuple_like_impl> : true_type 7770: { }; 7770: 7770: 7770: template 7770: struct tuple_size> 7770: : public integral_constant { }; 7770: 7770: 7770: template 7770: struct tuple_element<0, std::pair<_Tp1, _Tp2>> 7770: { typedef _Tp1 type; }; 7770: 7770: 7770: template 7770: struct tuple_element<1, std::pair<_Tp1, _Tp2>> 7770: { typedef _Tp2 type; }; 7770: 7770: template 7770: struct __pair_get; 7770: 7770: template<> 7770: struct __pair_get<0> 7770: { 7770: template 7770: static constexpr _Tp1& 7770: __get(std::pair<_Tp1, _Tp2>& __pair) noexcept 7770: { return __pair.first; } 7770: 7770: template 7770: static constexpr _Tp1&& 7770: __move_get(std::pair<_Tp1, _Tp2>&& __pair) noexcept 7770: { return std::forward<_Tp1>(__pair.first); } 7770: 7770: template 7770: static constexpr const _Tp1& 7770: __const_get(const std::pair<_Tp1, _Tp2>& __pair) noexcept 7770: { return __pair.first; } 7770: 7770: template 7770: static constexpr const _Tp1&& 7770: __const_move_get(const std::pair<_Tp1, _Tp2>&& __pair) noexcept 7770: { return std::forward(__pair.first); } 7770: }; 7770: 7770: template<> 7770: struct __pair_get<1> 7770: { 7770: template 7770: static constexpr _Tp2& 7770: __get(std::pair<_Tp1, _Tp2>& __pair) noexcept 7770: { return __pair.second; } 7770: 7770: template 7770: static constexpr _Tp2&& 7770: __move_get(std::pair<_Tp1, _Tp2>&& __pair) noexcept 7770: { return std::forward<_Tp2>(__pair.second); } 7770: 7770: template 7770: static constexpr const _Tp2& 7770: __const_get(const std::pair<_Tp1, _Tp2>& __pair) noexcept 7770: { return __pair.second; } 7770: 7770: template 7770: static constexpr const _Tp2&& 7770: __const_move_get(const std::pair<_Tp1, _Tp2>&& __pair) noexcept 7770: { return std::forward(__pair.second); } 7770: }; 7770: 7770: template 7770: constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type& 7770: get(std::pair<_Tp1, _Tp2>& __in) noexcept 7770: { return __pair_get<_Int>::__get(__in); } 7770: 7770: template 7770: constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&& 7770: get(std::pair<_Tp1, _Tp2>&& __in) noexcept 7770: { return __pair_get<_Int>::__move_get(std::move(__in)); } 7770: 7770: template 7770: constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type& 7770: get(const std::pair<_Tp1, _Tp2>& __in) noexcept 7770: { return __pair_get<_Int>::__const_get(__in); } 7770: 7770: template 7770: constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&& 7770: get(const std::pair<_Tp1, _Tp2>&& __in) noexcept 7770: { return __pair_get<_Int>::__const_move_get(std::move(__in)); } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: constexpr _Tp& 7770: get(pair<_Tp, _Up>& __p) noexcept 7770: { return __p.first; } 7770: 7770: template 7770: constexpr const _Tp& 7770: get(const pair<_Tp, _Up>& __p) noexcept 7770: { return __p.first; } 7770: 7770: template 7770: constexpr _Tp&& 7770: get(pair<_Tp, _Up>&& __p) noexcept 7770: { return std::move(__p.first); } 7770: 7770: template 7770: constexpr const _Tp&& 7770: get(const pair<_Tp, _Up>&& __p) noexcept 7770: { return std::move(__p.first); } 7770: 7770: template 7770: constexpr _Tp& 7770: get(pair<_Up, _Tp>& __p) noexcept 7770: { return __p.second; } 7770: 7770: template 7770: constexpr const _Tp& 7770: get(const pair<_Up, _Tp>& __p) noexcept 7770: { return __p.second; } 7770: 7770: template 7770: constexpr _Tp&& 7770: get(pair<_Up, _Tp>&& __p) noexcept 7770: { return std::move(__p.second); } 7770: 7770: template 7770: constexpr const _Tp&& 7770: get(const pair<_Up, _Tp>&& __p) noexcept 7770: { return std::move(__p.second); } 7770: 7770: 7770: 7770: 7770: template 7770: inline _Tp 7770: exchange(_Tp& __obj, _Up&& __new_val) 7770: { return std::__exchange(__obj, std::forward<_Up>(__new_val)); } 7770: 7770: 7770: 7770: 7770: template struct _Index_tuple { }; 7770: # 302 "/usr/include/c++/8/utility" 3 7770: template 7770: struct _Build_index_tuple 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: using __type = _Index_tuple<__integer_pack(_Num)...>; 7770: 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct integer_sequence 7770: { 7770: typedef _Tp value_type; 7770: static constexpr size_t size() noexcept { return sizeof...(_Idx); } 7770: }; 7770: 7770: 7770: template 7770: using make_integer_sequence 7770: 7770: 7770: 7770: = integer_sequence<_Tp, __integer_pack(_Num)...>; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: using index_sequence = integer_sequence; 7770: 7770: 7770: template 7770: using make_index_sequence = make_integer_sequence; 7770: 7770: 7770: template 7770: using index_sequence_for = make_index_sequence; 7770: 7770: 7770: 7770: 7770: struct in_place_t { 7770: explicit in_place_t() = default; 7770: }; 7770: 7770: inline constexpr in_place_t in_place{}; 7770: 7770: template struct in_place_type_t 7770: { 7770: explicit in_place_type_t() = default; 7770: }; 7770: 7770: template 7770: inline constexpr in_place_type_t<_Tp> in_place_type{}; 7770: 7770: template struct in_place_index_t 7770: { 7770: explicit in_place_index_t() = default; 7770: }; 7770: 7770: template 7770: inline constexpr in_place_index_t<_Idx> in_place_index{}; 7770: 7770: template 7770: struct __is_in_place_type_impl : false_type 7770: { }; 7770: 7770: template 7770: struct __is_in_place_type_impl> : true_type 7770: { }; 7770: 7770: template 7770: struct __is_in_place_type 7770: : public __is_in_place_type_impl<_Tp> 7770: { }; 7770: 7770: 7770: template 7770: constexpr add_const_t<_Tp>& as_const(_Tp& __t) noexcept { return __t; } 7770: 7770: template 7770: void as_const(const _Tp&&) = delete; 7770: 7770: 7770: 7770: 7770: } 7770: # 48 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 7770: 7770: 7770: # 1 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stddef.h" 1 3 4 7770: # 51 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 7770: # 64 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qconfig.h" 1 3 4 7770: # 65 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qtcore-config.h" 1 3 4 7770: # 66 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 7770: # 96 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsystemdetection.h" 1 3 4 7770: # 97 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qprocessordetection.h" 1 3 4 7770: # 98 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcompilerdetection.h" 1 3 4 7770: # 99 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 7770: # 109 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: # 1 "/usr/include/c++/8/algorithm" 1 3 4 7770: # 58 "/usr/include/c++/8/algorithm" 3 4 7770: 7770: # 59 "/usr/include/c++/8/algorithm" 3 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/stl_algobase.h" 1 3 7770: # 60 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: # 1 "/usr/include/c++/8/bits/functexcept.h" 1 3 7770: # 42 "/usr/include/c++/8/bits/functexcept.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: void 7770: __throw_bad_exception(void) __attribute__((__noreturn__)); 7770: 7770: 7770: void 7770: __throw_bad_alloc(void) __attribute__((__noreturn__)); 7770: 7770: 7770: void 7770: __throw_bad_cast(void) __attribute__((__noreturn__)); 7770: 7770: void 7770: __throw_bad_typeid(void) __attribute__((__noreturn__)); 7770: 7770: 7770: void 7770: __throw_logic_error(const char*) __attribute__((__noreturn__)); 7770: 7770: void 7770: __throw_domain_error(const char*) __attribute__((__noreturn__)); 7770: 7770: void 7770: __throw_invalid_argument(const char*) __attribute__((__noreturn__)); 7770: 7770: void 7770: __throw_length_error(const char*) __attribute__((__noreturn__)); 7770: 7770: void 7770: __throw_out_of_range(const char*) __attribute__((__noreturn__)); 7770: 7770: void 7770: __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__)) 7770: __attribute__((__format__(__gnu_printf__, 1, 2))); 7770: 7770: void 7770: __throw_runtime_error(const char*) __attribute__((__noreturn__)); 7770: 7770: void 7770: __throw_range_error(const char*) __attribute__((__noreturn__)); 7770: 7770: void 7770: __throw_overflow_error(const char*) __attribute__((__noreturn__)); 7770: 7770: void 7770: __throw_underflow_error(const char*) __attribute__((__noreturn__)); 7770: 7770: 7770: void 7770: __throw_ios_failure(const char*) __attribute__((__noreturn__)); 7770: 7770: void 7770: __throw_system_error(int) __attribute__((__noreturn__)); 7770: 7770: void 7770: __throw_future_error(int) __attribute__((__noreturn__)); 7770: 7770: 7770: void 7770: __throw_bad_function_call() __attribute__((__noreturn__)); 7770: 7770: 7770: } 7770: # 61 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 7770: # 1 "/usr/include/c++/8/bits/cpp_type_traits.h" 1 3 7770: # 35 "/usr/include/c++/8/bits/cpp_type_traits.h" 3 7770: 7770: # 36 "/usr/include/c++/8/bits/cpp_type_traits.h" 3 7770: # 67 "/usr/include/c++/8/bits/cpp_type_traits.h" 3 7770: extern "C++" { 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: struct __true_type { }; 7770: struct __false_type { }; 7770: 7770: template 7770: struct __truth_type 7770: { typedef __false_type __type; }; 7770: 7770: template<> 7770: struct __truth_type 7770: { typedef __true_type __type; }; 7770: 7770: 7770: 7770: template 7770: struct __traitor 7770: { 7770: enum { __value = bool(_Sp::__value) || bool(_Tp::__value) }; 7770: typedef typename __truth_type<__value>::__type __type; 7770: }; 7770: 7770: 7770: template 7770: struct __are_same 7770: { 7770: enum { __value = 0 }; 7770: typedef __false_type __type; 7770: }; 7770: 7770: template 7770: struct __are_same<_Tp, _Tp> 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: 7770: template 7770: struct __is_void 7770: { 7770: enum { __value = 0 }; 7770: typedef __false_type __type; 7770: }; 7770: 7770: template<> 7770: struct __is_void 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: 7770: 7770: 7770: template 7770: struct __is_integer 7770: { 7770: enum { __value = 0 }; 7770: typedef __false_type __type; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: template<> 7770: struct __is_integer 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: template<> 7770: struct __is_integer 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: template<> 7770: struct __is_integer 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: template<> 7770: struct __is_integer 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: 7770: template<> 7770: struct __is_integer 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: 7770: 7770: template<> 7770: struct __is_integer 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: template<> 7770: struct __is_integer 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: 7770: template<> 7770: struct __is_integer 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: template<> 7770: struct __is_integer 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: template<> 7770: struct __is_integer 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: template<> 7770: struct __is_integer 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: template<> 7770: struct __is_integer 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: template<> 7770: struct __is_integer 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: template<> 7770: struct __is_integer 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: template<> 7770: struct __is_integer 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: # 278 "/usr/include/c++/8/bits/cpp_type_traits.h" 3 7770: template 7770: struct __is_floating 7770: { 7770: enum { __value = 0 }; 7770: typedef __false_type __type; 7770: }; 7770: 7770: 7770: template<> 7770: struct __is_floating 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: template<> 7770: struct __is_floating 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: template<> 7770: struct __is_floating 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: 7770: 7770: 7770: template 7770: struct __is_pointer 7770: { 7770: enum { __value = 0 }; 7770: typedef __false_type __type; 7770: }; 7770: 7770: template 7770: struct __is_pointer<_Tp*> 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: 7770: 7770: 7770: template 7770: struct __is_arithmetic 7770: : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> > 7770: { }; 7770: 7770: 7770: 7770: 7770: template 7770: struct __is_scalar 7770: : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> > 7770: { }; 7770: 7770: 7770: 7770: 7770: template 7770: struct __is_char 7770: { 7770: enum { __value = 0 }; 7770: typedef __false_type __type; 7770: }; 7770: 7770: template<> 7770: struct __is_char 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: 7770: template<> 7770: struct __is_char 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: 7770: template 7770: struct __is_byte 7770: { 7770: enum { __value = 0 }; 7770: typedef __false_type __type; 7770: }; 7770: 7770: template<> 7770: struct __is_byte 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: template<> 7770: struct __is_byte 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: template<> 7770: struct __is_byte 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: 7770: 7770: 7770: template 7770: struct __is_move_iterator 7770: { 7770: enum { __value = 0 }; 7770: typedef __false_type __type; 7770: }; 7770: 7770: 7770: 7770: template 7770: inline _Iterator 7770: __miter_base(_Iterator __it) 7770: { return __it; } 7770: 7770: 7770: } 7770: } 7770: # 62 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 7770: # 1 "/usr/include/c++/8/ext/type_traits.h" 1 3 7770: # 32 "/usr/include/c++/8/ext/type_traits.h" 3 7770: 7770: # 33 "/usr/include/c++/8/ext/type_traits.h" 3 7770: 7770: 7770: 7770: 7770: extern "C++" { 7770: 7770: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: template 7770: struct __enable_if 7770: { }; 7770: 7770: template 7770: struct __enable_if 7770: { typedef _Tp __type; }; 7770: 7770: 7770: 7770: template 7770: struct __conditional_type 7770: { typedef _Iftrue __type; }; 7770: 7770: template 7770: struct __conditional_type 7770: { typedef _Iffalse __type; }; 7770: 7770: 7770: 7770: template 7770: struct __add_unsigned 7770: { 7770: private: 7770: typedef __enable_if::__value, _Tp> __if_type; 7770: 7770: public: 7770: typedef typename __if_type::__type __type; 7770: }; 7770: 7770: template<> 7770: struct __add_unsigned 7770: { typedef unsigned char __type; }; 7770: 7770: template<> 7770: struct __add_unsigned 7770: { typedef unsigned char __type; }; 7770: 7770: template<> 7770: struct __add_unsigned 7770: { typedef unsigned short __type; }; 7770: 7770: template<> 7770: struct __add_unsigned 7770: { typedef unsigned int __type; }; 7770: 7770: template<> 7770: struct __add_unsigned 7770: { typedef unsigned long __type; }; 7770: 7770: template<> 7770: struct __add_unsigned 7770: { typedef unsigned long long __type; }; 7770: 7770: 7770: template<> 7770: struct __add_unsigned; 7770: 7770: template<> 7770: struct __add_unsigned; 7770: 7770: 7770: 7770: template 7770: struct __remove_unsigned 7770: { 7770: private: 7770: typedef __enable_if::__value, _Tp> __if_type; 7770: 7770: public: 7770: typedef typename __if_type::__type __type; 7770: }; 7770: 7770: template<> 7770: struct __remove_unsigned 7770: { typedef signed char __type; }; 7770: 7770: template<> 7770: struct __remove_unsigned 7770: { typedef signed char __type; }; 7770: 7770: template<> 7770: struct __remove_unsigned 7770: { typedef short __type; }; 7770: 7770: template<> 7770: struct __remove_unsigned 7770: { typedef int __type; }; 7770: 7770: template<> 7770: struct __remove_unsigned 7770: { typedef long __type; }; 7770: 7770: template<> 7770: struct __remove_unsigned 7770: { typedef long long __type; }; 7770: 7770: 7770: template<> 7770: struct __remove_unsigned; 7770: 7770: template<> 7770: struct __remove_unsigned; 7770: 7770: 7770: 7770: template 7770: inline bool 7770: __is_null_pointer(_Type* __ptr) 7770: { return __ptr == 0; } 7770: 7770: template 7770: inline bool 7770: __is_null_pointer(_Type) 7770: { return false; } 7770: 7770: 7770: inline bool 7770: __is_null_pointer(std::nullptr_t) 7770: { return true; } 7770: 7770: 7770: 7770: template::__value> 7770: struct __promote 7770: { typedef double __type; }; 7770: 7770: 7770: 7770: 7770: template 7770: struct __promote<_Tp, false> 7770: { }; 7770: 7770: template<> 7770: struct __promote 7770: { typedef long double __type; }; 7770: 7770: template<> 7770: struct __promote 7770: { typedef double __type; }; 7770: 7770: template<> 7770: struct __promote 7770: { typedef float __type; }; 7770: 7770: template::__type, 7770: typename _Up2 = typename __promote<_Up>::__type> 7770: struct __promote_2 7770: { 7770: typedef __typeof__(_Tp2() + _Up2()) __type; 7770: }; 7770: 7770: template::__type, 7770: typename _Up2 = typename __promote<_Up>::__type, 7770: typename _Vp2 = typename __promote<_Vp>::__type> 7770: struct __promote_3 7770: { 7770: typedef __typeof__(_Tp2() + _Up2() + _Vp2()) __type; 7770: }; 7770: 7770: template::__type, 7770: typename _Up2 = typename __promote<_Up>::__type, 7770: typename _Vp2 = typename __promote<_Vp>::__type, 7770: typename _Wp2 = typename __promote<_Wp>::__type> 7770: struct __promote_4 7770: { 7770: typedef __typeof__(_Tp2() + _Up2() + _Vp2() + _Wp2()) __type; 7770: }; 7770: 7770: 7770: } 7770: } 7770: # 63 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 7770: # 1 "/usr/include/c++/8/ext/numeric_traits.h" 1 3 7770: # 32 "/usr/include/c++/8/ext/numeric_traits.h" 3 7770: 7770: # 33 "/usr/include/c++/8/ext/numeric_traits.h" 3 7770: 7770: 7770: 7770: 7770: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 54 "/usr/include/c++/8/ext/numeric_traits.h" 3 7770: template 7770: struct __numeric_traits_integer 7770: { 7770: 7770: static const _Value __min = (((_Value)(-1) < 0) ? (_Value)1 << (sizeof(_Value) * 8 - ((_Value)(-1) < 0)) : (_Value)0); 7770: static const _Value __max = (((_Value)(-1) < 0) ? (((((_Value)1 << ((sizeof(_Value) * 8 - ((_Value)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(_Value)0); 7770: 7770: 7770: 7770: static const bool __is_signed = ((_Value)(-1) < 0); 7770: static const int __digits = (sizeof(_Value) * 8 - ((_Value)(-1) < 0)); 7770: }; 7770: 7770: template 7770: const _Value __numeric_traits_integer<_Value>::__min; 7770: 7770: template 7770: const _Value __numeric_traits_integer<_Value>::__max; 7770: 7770: template 7770: const bool __numeric_traits_integer<_Value>::__is_signed; 7770: 7770: template 7770: const int __numeric_traits_integer<_Value>::__digits; 7770: # 99 "/usr/include/c++/8/ext/numeric_traits.h" 3 7770: template 7770: struct __numeric_traits_floating 7770: { 7770: 7770: static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 113) * 643L / 2136); 7770: 7770: 7770: static const bool __is_signed = true; 7770: static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 33); 7770: static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 4932); 7770: }; 7770: 7770: template 7770: const int __numeric_traits_floating<_Value>::__max_digits10; 7770: 7770: template 7770: const bool __numeric_traits_floating<_Value>::__is_signed; 7770: 7770: template 7770: const int __numeric_traits_floating<_Value>::__digits10; 7770: 7770: template 7770: const int __numeric_traits_floating<_Value>::__max_exponent10; 7770: 7770: template 7770: struct __numeric_traits 7770: : public __conditional_type::__value, 7770: __numeric_traits_integer<_Value>, 7770: __numeric_traits_floating<_Value> >::__type 7770: { }; 7770: 7770: 7770: } 7770: # 64 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 7770: 7770: # 1 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 1 3 7770: # 62 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 7770: 7770: # 63 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 89 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 7770: struct input_iterator_tag { }; 7770: 7770: 7770: struct output_iterator_tag { }; 7770: 7770: 7770: struct forward_iterator_tag : public input_iterator_tag { }; 7770: 7770: 7770: 7770: struct bidirectional_iterator_tag : public forward_iterator_tag { }; 7770: 7770: 7770: 7770: struct random_access_iterator_tag : public bidirectional_iterator_tag { }; 7770: # 116 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 7770: template 7770: struct iterator 7770: { 7770: 7770: typedef _Category iterator_category; 7770: 7770: typedef _Tp value_type; 7770: 7770: typedef _Distance difference_type; 7770: 7770: typedef _Pointer pointer; 7770: 7770: typedef _Reference reference; 7770: }; 7770: # 143 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 7770: template> 7770: struct __iterator_traits { }; 7770: 7770: template 7770: struct __iterator_traits<_Iterator, 7770: __void_t> 7770: { 7770: typedef typename _Iterator::iterator_category iterator_category; 7770: typedef typename _Iterator::value_type value_type; 7770: typedef typename _Iterator::difference_type difference_type; 7770: typedef typename _Iterator::pointer pointer; 7770: typedef typename _Iterator::reference reference; 7770: }; 7770: 7770: template 7770: struct iterator_traits 7770: : public __iterator_traits<_Iterator> { }; 7770: # 177 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 7770: template 7770: struct iterator_traits<_Tp*> 7770: { 7770: typedef random_access_iterator_tag iterator_category; 7770: typedef _Tp value_type; 7770: typedef ptrdiff_t difference_type; 7770: typedef _Tp* pointer; 7770: typedef _Tp& reference; 7770: }; 7770: 7770: 7770: template 7770: struct iterator_traits 7770: { 7770: typedef random_access_iterator_tag iterator_category; 7770: typedef _Tp value_type; 7770: typedef ptrdiff_t difference_type; 7770: typedef const _Tp* pointer; 7770: typedef const _Tp& reference; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr 7770: typename iterator_traits<_Iter>::iterator_category 7770: __iterator_category(const _Iter&) 7770: { return typename iterator_traits<_Iter>::iterator_category(); } 7770: # 231 "/usr/include/c++/8/bits/stl_iterator_base_types.h" 3 7770: template 7770: using _RequireInputIter = typename 7770: enable_if::iterator_category, 7770: input_iterator_tag>::value>::type; 7770: 7770: 7770: 7770: } 7770: # 66 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 7770: # 1 "/usr/include/c++/8/bits/stl_iterator_base_funcs.h" 1 3 7770: # 62 "/usr/include/c++/8/bits/stl_iterator_base_funcs.h" 3 7770: 7770: # 63 "/usr/include/c++/8/bits/stl_iterator_base_funcs.h" 3 7770: 7770: 7770: # 1 "/usr/include/c++/8/debug/assertions.h" 1 3 7770: # 66 "/usr/include/c++/8/bits/stl_iterator_base_funcs.h" 2 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: template struct _List_iterator; 7770: template struct _List_const_iterator; 7770: 7770: 7770: template 7770: inline constexpr 7770: typename iterator_traits<_InputIterator>::difference_type 7770: __distance(_InputIterator __first, _InputIterator __last, 7770: input_iterator_tag) 7770: { 7770: 7770: 7770: 7770: typename iterator_traits<_InputIterator>::difference_type __n = 0; 7770: while (__first != __last) 7770: { 7770: ++__first; 7770: ++__n; 7770: } 7770: return __n; 7770: } 7770: 7770: template 7770: inline constexpr 7770: typename iterator_traits<_RandomAccessIterator>::difference_type 7770: __distance(_RandomAccessIterator __first, _RandomAccessIterator __last, 7770: random_access_iterator_tag) 7770: { 7770: 7770: 7770: 7770: return __last - __first; 7770: } 7770: 7770: 7770: 7770: template 7770: ptrdiff_t 7770: __distance(std::_List_iterator<_Tp>, 7770: std::_List_iterator<_Tp>, 7770: input_iterator_tag); 7770: 7770: template 7770: ptrdiff_t 7770: __distance(std::_List_const_iterator<_Tp>, 7770: std::_List_const_iterator<_Tp>, 7770: input_iterator_tag); 7770: # 135 "/usr/include/c++/8/bits/stl_iterator_base_funcs.h" 3 7770: template 7770: inline constexpr 7770: typename iterator_traits<_InputIterator>::difference_type 7770: distance(_InputIterator __first, _InputIterator __last) 7770: { 7770: 7770: return std::__distance(__first, __last, 7770: std::__iterator_category(__first)); 7770: } 7770: 7770: template 7770: inline constexpr void 7770: __advance(_InputIterator& __i, _Distance __n, input_iterator_tag) 7770: { 7770: 7770: 7770: ; 7770: while (__n--) 7770: ++__i; 7770: } 7770: 7770: template 7770: inline constexpr void 7770: __advance(_BidirectionalIterator& __i, _Distance __n, 7770: bidirectional_iterator_tag) 7770: { 7770: 7770: 7770: 7770: if (__n > 0) 7770: while (__n--) 7770: ++__i; 7770: else 7770: while (__n++) 7770: --__i; 7770: } 7770: 7770: template 7770: inline constexpr void 7770: __advance(_RandomAccessIterator& __i, _Distance __n, 7770: random_access_iterator_tag) 7770: { 7770: 7770: 7770: 7770: if (__builtin_constant_p(__n) && __n == 1) 7770: ++__i; 7770: else if (__builtin_constant_p(__n) && __n == -1) 7770: --__i; 7770: else 7770: __i += __n; 7770: } 7770: # 200 "/usr/include/c++/8/bits/stl_iterator_base_funcs.h" 3 7770: template 7770: inline constexpr void 7770: advance(_InputIterator& __i, _Distance __n) 7770: { 7770: 7770: typename iterator_traits<_InputIterator>::difference_type __d = __n; 7770: std::__advance(__i, __d, std::__iterator_category(__i)); 7770: } 7770: 7770: 7770: 7770: template 7770: inline constexpr _InputIterator 7770: next(_InputIterator __x, typename 7770: iterator_traits<_InputIterator>::difference_type __n = 1) 7770: { 7770: 7770: 7770: std::advance(__x, __n); 7770: return __x; 7770: } 7770: 7770: template 7770: inline constexpr _BidirectionalIterator 7770: prev(_BidirectionalIterator __x, typename 7770: iterator_traits<_BidirectionalIterator>::difference_type __n = 1) 7770: { 7770: 7770: 7770: 7770: std::advance(__x, -__n); 7770: return __x; 7770: } 7770: 7770: 7770: 7770: 7770: } 7770: # 67 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 7770: # 1 "/usr/include/c++/8/bits/stl_iterator.h" 1 3 7770: # 66 "/usr/include/c++/8/bits/stl_iterator.h" 3 7770: # 1 "/usr/include/c++/8/bits/ptr_traits.h" 1 3 7770: # 37 "/usr/include/c++/8/bits/ptr_traits.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: class __undefined; 7770: 7770: 7770: template 7770: struct __get_first_arg 7770: { using type = __undefined; }; 7770: 7770: template class _Template, typename _Tp, 7770: typename... _Types> 7770: struct __get_first_arg<_Template<_Tp, _Types...>> 7770: { using type = _Tp; }; 7770: 7770: template 7770: using __get_first_arg_t = typename __get_first_arg<_Tp>::type; 7770: 7770: 7770: template 7770: struct __replace_first_arg 7770: { }; 7770: 7770: template class _Template, typename _Up, 7770: typename _Tp, typename... _Types> 7770: struct __replace_first_arg<_Template<_Tp, _Types...>, _Up> 7770: { using type = _Template<_Up, _Types...>; }; 7770: 7770: template 7770: using __replace_first_arg_t = typename __replace_first_arg<_Tp, _Up>::type; 7770: 7770: template 7770: using __make_not_void 7770: = typename conditional::value, __undefined, _Tp>::type; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct pointer_traits 7770: { 7770: private: 7770: template 7770: using __element_type = typename _Tp::element_type; 7770: 7770: template 7770: using __difference_type = typename _Tp::difference_type; 7770: 7770: template 7770: struct __rebind : __replace_first_arg<_Tp, _Up> { }; 7770: 7770: template 7770: struct __rebind<_Tp, _Up, __void_t>> 7770: { using type = typename _Tp::template rebind<_Up>; }; 7770: 7770: public: 7770: 7770: using pointer = _Ptr; 7770: 7770: 7770: using element_type 7770: = __detected_or_t<__get_first_arg_t<_Ptr>, __element_type, _Ptr>; 7770: 7770: 7770: using difference_type 7770: = __detected_or_t; 7770: 7770: 7770: template 7770: using rebind = typename __rebind<_Ptr, _Up>::type; 7770: 7770: static _Ptr 7770: pointer_to(__make_not_void& __e) 7770: { return _Ptr::pointer_to(__e); } 7770: 7770: static_assert(!is_same::value, 7770: "pointer type defines element_type or is like SomePointer"); 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct pointer_traits<_Tp*> 7770: { 7770: 7770: typedef _Tp* pointer; 7770: 7770: typedef _Tp element_type; 7770: 7770: typedef ptrdiff_t difference_type; 7770: 7770: template 7770: using rebind = _Up*; 7770: 7770: 7770: 7770: 7770: 7770: 7770: static pointer 7770: pointer_to(__make_not_void& __r) noexcept 7770: { return std::addressof(__r); } 7770: }; 7770: 7770: 7770: template 7770: using __ptr_rebind = typename pointer_traits<_Ptr>::template rebind<_Tp>; 7770: 7770: template 7770: constexpr _Tp* 7770: __to_address(_Tp* __ptr) noexcept 7770: { 7770: static_assert(!std::is_function<_Tp>::value, "not a function pointer"); 7770: return __ptr; 7770: } 7770: 7770: 7770: template 7770: constexpr typename std::pointer_traits<_Ptr>::element_type* 7770: __to_address(const _Ptr& __ptr) 7770: { return std::__to_address(__ptr.operator->()); } 7770: # 198 "/usr/include/c++/8/bits/ptr_traits.h" 3 7770: 7770: } 7770: # 67 "/usr/include/c++/8/bits/stl_iterator.h" 2 3 7770: 7770: 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 100 "/usr/include/c++/8/bits/stl_iterator.h" 3 7770: template 7770: class reverse_iterator 7770: : public iterator::iterator_category, 7770: typename iterator_traits<_Iterator>::value_type, 7770: typename iterator_traits<_Iterator>::difference_type, 7770: typename iterator_traits<_Iterator>::pointer, 7770: typename iterator_traits<_Iterator>::reference> 7770: { 7770: protected: 7770: _Iterator current; 7770: 7770: typedef iterator_traits<_Iterator> __traits_type; 7770: 7770: public: 7770: typedef _Iterator iterator_type; 7770: typedef typename __traits_type::difference_type difference_type; 7770: typedef typename __traits_type::pointer pointer; 7770: typedef typename __traits_type::reference reference; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: constexpr 7770: reverse_iterator() : current() { } 7770: 7770: 7770: 7770: 7770: explicit constexpr 7770: reverse_iterator(iterator_type __x) : current(__x) { } 7770: 7770: 7770: 7770: 7770: constexpr 7770: reverse_iterator(const reverse_iterator& __x) 7770: : current(__x.current) { } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: constexpr 7770: reverse_iterator(const reverse_iterator<_Iter>& __x) 7770: : current(__x.base()) { } 7770: 7770: 7770: 7770: 7770: constexpr iterator_type 7770: base() const 7770: { return current; } 7770: # 167 "/usr/include/c++/8/bits/stl_iterator.h" 3 7770: constexpr reference 7770: operator*() const 7770: { 7770: _Iterator __tmp = current; 7770: return *--__tmp; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: constexpr pointer 7770: operator->() const 7770: { return &(operator*()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: constexpr reverse_iterator& 7770: operator++() 7770: { 7770: --current; 7770: return *this; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: constexpr reverse_iterator 7770: operator++(int) 7770: { 7770: reverse_iterator __tmp = *this; 7770: --current; 7770: return __tmp; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: constexpr reverse_iterator& 7770: operator--() 7770: { 7770: ++current; 7770: return *this; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: constexpr reverse_iterator 7770: operator--(int) 7770: { 7770: reverse_iterator __tmp = *this; 7770: ++current; 7770: return __tmp; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: constexpr reverse_iterator 7770: operator+(difference_type __n) const 7770: { return reverse_iterator(current - __n); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: constexpr reverse_iterator& 7770: operator+=(difference_type __n) 7770: { 7770: current -= __n; 7770: return *this; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: constexpr reverse_iterator 7770: operator-(difference_type __n) const 7770: { return reverse_iterator(current + __n); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: constexpr reverse_iterator& 7770: operator-=(difference_type __n) 7770: { 7770: current += __n; 7770: return *this; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: constexpr reference 7770: operator[](difference_type __n) const 7770: { return *(*this + __n); } 7770: }; 7770: # 297 "/usr/include/c++/8/bits/stl_iterator.h" 3 7770: template 7770: inline constexpr bool 7770: operator==(const reverse_iterator<_Iterator>& __x, 7770: const reverse_iterator<_Iterator>& __y) 7770: { return __x.base() == __y.base(); } 7770: 7770: template 7770: inline constexpr bool 7770: operator<(const reverse_iterator<_Iterator>& __x, 7770: const reverse_iterator<_Iterator>& __y) 7770: { return __y.base() < __x.base(); } 7770: 7770: template 7770: inline constexpr bool 7770: operator!=(const reverse_iterator<_Iterator>& __x, 7770: const reverse_iterator<_Iterator>& __y) 7770: { return !(__x == __y); } 7770: 7770: template 7770: inline constexpr bool 7770: operator>(const reverse_iterator<_Iterator>& __x, 7770: const reverse_iterator<_Iterator>& __y) 7770: { return __y < __x; } 7770: 7770: template 7770: inline constexpr bool 7770: operator<=(const reverse_iterator<_Iterator>& __x, 7770: const reverse_iterator<_Iterator>& __y) 7770: { return !(__y < __x); } 7770: 7770: template 7770: inline constexpr bool 7770: operator>=(const reverse_iterator<_Iterator>& __x, 7770: const reverse_iterator<_Iterator>& __y) 7770: { return !(__x < __y); } 7770: 7770: 7770: 7770: template 7770: inline constexpr bool 7770: operator==(const reverse_iterator<_IteratorL>& __x, 7770: const reverse_iterator<_IteratorR>& __y) 7770: { return __x.base() == __y.base(); } 7770: 7770: template 7770: inline constexpr bool 7770: operator<(const reverse_iterator<_IteratorL>& __x, 7770: const reverse_iterator<_IteratorR>& __y) 7770: { return __y.base() < __x.base(); } 7770: 7770: template 7770: inline constexpr bool 7770: operator!=(const reverse_iterator<_IteratorL>& __x, 7770: const reverse_iterator<_IteratorR>& __y) 7770: { return !(__x == __y); } 7770: 7770: template 7770: inline constexpr bool 7770: operator>(const reverse_iterator<_IteratorL>& __x, 7770: const reverse_iterator<_IteratorR>& __y) 7770: { return __y < __x; } 7770: 7770: template 7770: inline constexpr bool 7770: operator<=(const reverse_iterator<_IteratorL>& __x, 7770: const reverse_iterator<_IteratorR>& __y) 7770: { return !(__y < __x); } 7770: 7770: template 7770: inline constexpr bool 7770: operator>=(const reverse_iterator<_IteratorL>& __x, 7770: const reverse_iterator<_IteratorR>& __y) 7770: { return !(__x < __y); } 7770: # 387 "/usr/include/c++/8/bits/stl_iterator.h" 3 7770: template 7770: inline constexpr auto 7770: operator-(const reverse_iterator<_IteratorL>& __x, 7770: const reverse_iterator<_IteratorR>& __y) 7770: -> decltype(__y.base() - __x.base()) 7770: { return __y.base() - __x.base(); } 7770: 7770: 7770: template 7770: inline constexpr reverse_iterator<_Iterator> 7770: operator+(typename reverse_iterator<_Iterator>::difference_type __n, 7770: const reverse_iterator<_Iterator>& __x) 7770: { return reverse_iterator<_Iterator>(__x.base() - __n); } 7770: 7770: 7770: 7770: template 7770: inline constexpr reverse_iterator<_Iterator> 7770: __make_reverse_iterator(_Iterator __i) 7770: { return reverse_iterator<_Iterator>(__i); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr reverse_iterator<_Iterator> 7770: make_reverse_iterator(_Iterator __i) 7770: { return reverse_iterator<_Iterator>(__i); } 7770: 7770: 7770: 7770: 7770: template 7770: auto 7770: __niter_base(reverse_iterator<_Iterator> __it) 7770: -> decltype(__make_reverse_iterator(__niter_base(__it.base()))) 7770: { return __make_reverse_iterator(__niter_base(__it.base())); } 7770: 7770: template 7770: struct __is_move_iterator > 7770: : __is_move_iterator<_Iterator> 7770: { }; 7770: 7770: template 7770: auto 7770: __miter_base(reverse_iterator<_Iterator> __it) 7770: -> decltype(__make_reverse_iterator(__miter_base(__it.base()))) 7770: { return __make_reverse_iterator(__miter_base(__it.base())); } 7770: # 451 "/usr/include/c++/8/bits/stl_iterator.h" 3 7770: template 7770: class back_insert_iterator 7770: : public iterator 7770: { 7770: protected: 7770: _Container* container; 7770: 7770: public: 7770: 7770: typedef _Container container_type; 7770: 7770: 7770: explicit 7770: back_insert_iterator(_Container& __x) 7770: : container(std::__addressof(__x)) { } 7770: # 486 "/usr/include/c++/8/bits/stl_iterator.h" 3 7770: back_insert_iterator& 7770: operator=(const typename _Container::value_type& __value) 7770: { 7770: container->push_back(__value); 7770: return *this; 7770: } 7770: 7770: back_insert_iterator& 7770: operator=(typename _Container::value_type&& __value) 7770: { 7770: container->push_back(std::move(__value)); 7770: return *this; 7770: } 7770: 7770: 7770: 7770: back_insert_iterator& 7770: operator*() 7770: { return *this; } 7770: 7770: 7770: back_insert_iterator& 7770: operator++() 7770: { return *this; } 7770: 7770: 7770: back_insert_iterator 7770: operator++(int) 7770: { return *this; } 7770: }; 7770: # 528 "/usr/include/c++/8/bits/stl_iterator.h" 3 7770: template 7770: inline back_insert_iterator<_Container> 7770: back_inserter(_Container& __x) 7770: { return back_insert_iterator<_Container>(__x); } 7770: # 543 "/usr/include/c++/8/bits/stl_iterator.h" 3 7770: template 7770: class front_insert_iterator 7770: : public iterator 7770: { 7770: protected: 7770: _Container* container; 7770: 7770: public: 7770: 7770: typedef _Container container_type; 7770: 7770: 7770: explicit front_insert_iterator(_Container& __x) 7770: : container(std::__addressof(__x)) { } 7770: # 577 "/usr/include/c++/8/bits/stl_iterator.h" 3 7770: front_insert_iterator& 7770: operator=(const typename _Container::value_type& __value) 7770: { 7770: container->push_front(__value); 7770: return *this; 7770: } 7770: 7770: front_insert_iterator& 7770: operator=(typename _Container::value_type&& __value) 7770: { 7770: container->push_front(std::move(__value)); 7770: return *this; 7770: } 7770: 7770: 7770: 7770: front_insert_iterator& 7770: operator*() 7770: { return *this; } 7770: 7770: 7770: front_insert_iterator& 7770: operator++() 7770: { return *this; } 7770: 7770: 7770: front_insert_iterator 7770: operator++(int) 7770: { return *this; } 7770: }; 7770: # 619 "/usr/include/c++/8/bits/stl_iterator.h" 3 7770: template 7770: inline front_insert_iterator<_Container> 7770: front_inserter(_Container& __x) 7770: { return front_insert_iterator<_Container>(__x); } 7770: # 638 "/usr/include/c++/8/bits/stl_iterator.h" 3 7770: template 7770: class insert_iterator 7770: : public iterator 7770: { 7770: protected: 7770: _Container* container; 7770: typename _Container::iterator iter; 7770: 7770: public: 7770: 7770: typedef _Container container_type; 7770: 7770: 7770: 7770: 7770: 7770: insert_iterator(_Container& __x, typename _Container::iterator __i) 7770: : container(std::__addressof(__x)), iter(__i) {} 7770: # 689 "/usr/include/c++/8/bits/stl_iterator.h" 3 7770: insert_iterator& 7770: operator=(const typename _Container::value_type& __value) 7770: { 7770: iter = container->insert(iter, __value); 7770: ++iter; 7770: return *this; 7770: } 7770: 7770: insert_iterator& 7770: operator=(typename _Container::value_type&& __value) 7770: { 7770: iter = container->insert(iter, std::move(__value)); 7770: ++iter; 7770: return *this; 7770: } 7770: 7770: 7770: 7770: insert_iterator& 7770: operator*() 7770: { return *this; } 7770: 7770: 7770: insert_iterator& 7770: operator++() 7770: { return *this; } 7770: 7770: 7770: insert_iterator& 7770: operator++(int) 7770: { return *this; } 7770: }; 7770: # 734 "/usr/include/c++/8/bits/stl_iterator.h" 3 7770: template 7770: inline insert_iterator<_Container> 7770: inserter(_Container& __x, _Iterator __i) 7770: { 7770: return insert_iterator<_Container>(__x, 7770: typename _Container::iterator(__i)); 7770: } 7770: 7770: 7770: 7770: 7770: } 7770: 7770: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 758 "/usr/include/c++/8/bits/stl_iterator.h" 3 7770: using std::iterator_traits; 7770: using std::iterator; 7770: template 7770: class __normal_iterator 7770: { 7770: protected: 7770: _Iterator _M_current; 7770: 7770: typedef iterator_traits<_Iterator> __traits_type; 7770: 7770: public: 7770: typedef _Iterator iterator_type; 7770: typedef typename __traits_type::iterator_category iterator_category; 7770: typedef typename __traits_type::value_type value_type; 7770: typedef typename __traits_type::difference_type difference_type; 7770: typedef typename __traits_type::reference reference; 7770: typedef typename __traits_type::pointer pointer; 7770: 7770: constexpr __normal_iterator() noexcept 7770: : _M_current(_Iterator()) { } 7770: 7770: explicit 7770: __normal_iterator(const _Iterator& __i) noexcept 7770: : _M_current(__i) { } 7770: 7770: 7770: template 7770: __normal_iterator(const __normal_iterator<_Iter, 7770: typename __enable_if< 7770: (std::__are_same<_Iter, typename _Container::pointer>::__value), 7770: _Container>::__type>& __i) noexcept 7770: : _M_current(__i.base()) { } 7770: 7770: 7770: reference 7770: operator*() const noexcept 7770: { return *_M_current; } 7770: 7770: pointer 7770: operator->() const noexcept 7770: { return _M_current; } 7770: 7770: __normal_iterator& 7770: operator++() noexcept 7770: { 7770: ++_M_current; 7770: return *this; 7770: } 7770: 7770: __normal_iterator 7770: operator++(int) noexcept 7770: { return __normal_iterator(_M_current++); } 7770: 7770: 7770: __normal_iterator& 7770: operator--() noexcept 7770: { 7770: --_M_current; 7770: return *this; 7770: } 7770: 7770: __normal_iterator 7770: operator--(int) noexcept 7770: { return __normal_iterator(_M_current--); } 7770: 7770: 7770: reference 7770: operator[](difference_type __n) const noexcept 7770: { return _M_current[__n]; } 7770: 7770: __normal_iterator& 7770: operator+=(difference_type __n) noexcept 7770: { _M_current += __n; return *this; } 7770: 7770: __normal_iterator 7770: operator+(difference_type __n) const noexcept 7770: { return __normal_iterator(_M_current + __n); } 7770: 7770: __normal_iterator& 7770: operator-=(difference_type __n) noexcept 7770: { _M_current -= __n; return *this; } 7770: 7770: __normal_iterator 7770: operator-(difference_type __n) const noexcept 7770: { return __normal_iterator(_M_current - __n); } 7770: 7770: const _Iterator& 7770: base() const noexcept 7770: { return _M_current; } 7770: }; 7770: # 858 "/usr/include/c++/8/bits/stl_iterator.h" 3 7770: template 7770: inline bool 7770: operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, 7770: const __normal_iterator<_IteratorR, _Container>& __rhs) 7770: noexcept 7770: { return __lhs.base() == __rhs.base(); } 7770: 7770: template 7770: inline bool 7770: operator==(const __normal_iterator<_Iterator, _Container>& __lhs, 7770: const __normal_iterator<_Iterator, _Container>& __rhs) 7770: noexcept 7770: { return __lhs.base() == __rhs.base(); } 7770: 7770: template 7770: inline bool 7770: operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs, 7770: const __normal_iterator<_IteratorR, _Container>& __rhs) 7770: noexcept 7770: { return __lhs.base() != __rhs.base(); } 7770: 7770: template 7770: inline bool 7770: operator!=(const __normal_iterator<_Iterator, _Container>& __lhs, 7770: const __normal_iterator<_Iterator, _Container>& __rhs) 7770: noexcept 7770: { return __lhs.base() != __rhs.base(); } 7770: 7770: 7770: template 7770: inline bool 7770: operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, 7770: const __normal_iterator<_IteratorR, _Container>& __rhs) 7770: noexcept 7770: { return __lhs.base() < __rhs.base(); } 7770: 7770: template 7770: inline bool 7770: operator<(const __normal_iterator<_Iterator, _Container>& __lhs, 7770: const __normal_iterator<_Iterator, _Container>& __rhs) 7770: noexcept 7770: { return __lhs.base() < __rhs.base(); } 7770: 7770: template 7770: inline bool 7770: operator>(const __normal_iterator<_IteratorL, _Container>& __lhs, 7770: const __normal_iterator<_IteratorR, _Container>& __rhs) 7770: noexcept 7770: { return __lhs.base() > __rhs.base(); } 7770: 7770: template 7770: inline bool 7770: operator>(const __normal_iterator<_Iterator, _Container>& __lhs, 7770: const __normal_iterator<_Iterator, _Container>& __rhs) 7770: noexcept 7770: { return __lhs.base() > __rhs.base(); } 7770: 7770: template 7770: inline bool 7770: operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs, 7770: const __normal_iterator<_IteratorR, _Container>& __rhs) 7770: noexcept 7770: { return __lhs.base() <= __rhs.base(); } 7770: 7770: template 7770: inline bool 7770: operator<=(const __normal_iterator<_Iterator, _Container>& __lhs, 7770: const __normal_iterator<_Iterator, _Container>& __rhs) 7770: noexcept 7770: { return __lhs.base() <= __rhs.base(); } 7770: 7770: template 7770: inline bool 7770: operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs, 7770: const __normal_iterator<_IteratorR, _Container>& __rhs) 7770: noexcept 7770: { return __lhs.base() >= __rhs.base(); } 7770: 7770: template 7770: inline bool 7770: operator>=(const __normal_iterator<_Iterator, _Container>& __lhs, 7770: const __normal_iterator<_Iterator, _Container>& __rhs) 7770: noexcept 7770: { return __lhs.base() >= __rhs.base(); } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: 7770: 7770: inline auto 7770: operator-(const __normal_iterator<_IteratorL, _Container>& __lhs, 7770: const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept 7770: -> decltype(__lhs.base() - __rhs.base()) 7770: 7770: 7770: 7770: 7770: 7770: { return __lhs.base() - __rhs.base(); } 7770: 7770: template 7770: inline typename __normal_iterator<_Iterator, _Container>::difference_type 7770: operator-(const __normal_iterator<_Iterator, _Container>& __lhs, 7770: const __normal_iterator<_Iterator, _Container>& __rhs) 7770: noexcept 7770: { return __lhs.base() - __rhs.base(); } 7770: 7770: template 7770: inline __normal_iterator<_Iterator, _Container> 7770: operator+(typename __normal_iterator<_Iterator, _Container>::difference_type 7770: __n, const __normal_iterator<_Iterator, _Container>& __i) 7770: noexcept 7770: { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); } 7770: 7770: 7770: } 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: template 7770: _Iterator 7770: __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it) 7770: { return __it.base(); } 7770: # 1003 "/usr/include/c++/8/bits/stl_iterator.h" 3 7770: template 7770: class move_iterator 7770: { 7770: protected: 7770: _Iterator _M_current; 7770: 7770: typedef iterator_traits<_Iterator> __traits_type; 7770: typedef typename __traits_type::reference __base_ref; 7770: 7770: public: 7770: typedef _Iterator iterator_type; 7770: typedef typename __traits_type::iterator_category iterator_category; 7770: typedef typename __traits_type::value_type value_type; 7770: typedef typename __traits_type::difference_type difference_type; 7770: 7770: typedef _Iterator pointer; 7770: 7770: 7770: typedef typename conditional::value, 7770: typename remove_reference<__base_ref>::type&&, 7770: __base_ref>::type reference; 7770: 7770: constexpr 7770: move_iterator() 7770: : _M_current() { } 7770: 7770: explicit constexpr 7770: move_iterator(iterator_type __i) 7770: : _M_current(__i) { } 7770: 7770: template 7770: constexpr 7770: move_iterator(const move_iterator<_Iter>& __i) 7770: : _M_current(__i.base()) { } 7770: 7770: constexpr iterator_type 7770: base() const 7770: { return _M_current; } 7770: 7770: constexpr reference 7770: operator*() const 7770: { return static_cast(*_M_current); } 7770: 7770: constexpr pointer 7770: operator->() const 7770: { return _M_current; } 7770: 7770: constexpr move_iterator& 7770: operator++() 7770: { 7770: ++_M_current; 7770: return *this; 7770: } 7770: 7770: constexpr move_iterator 7770: operator++(int) 7770: { 7770: move_iterator __tmp = *this; 7770: ++_M_current; 7770: return __tmp; 7770: } 7770: 7770: constexpr move_iterator& 7770: operator--() 7770: { 7770: --_M_current; 7770: return *this; 7770: } 7770: 7770: constexpr move_iterator 7770: operator--(int) 7770: { 7770: move_iterator __tmp = *this; 7770: --_M_current; 7770: return __tmp; 7770: } 7770: 7770: constexpr move_iterator 7770: operator+(difference_type __n) const 7770: { return move_iterator(_M_current + __n); } 7770: 7770: constexpr move_iterator& 7770: operator+=(difference_type __n) 7770: { 7770: _M_current += __n; 7770: return *this; 7770: } 7770: 7770: constexpr move_iterator 7770: operator-(difference_type __n) const 7770: { return move_iterator(_M_current - __n); } 7770: 7770: constexpr move_iterator& 7770: operator-=(difference_type __n) 7770: { 7770: _M_current -= __n; 7770: return *this; 7770: } 7770: 7770: constexpr reference 7770: operator[](difference_type __n) const 7770: { return std::move(_M_current[__n]); } 7770: }; 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr bool 7770: operator==(const move_iterator<_IteratorL>& __x, 7770: const move_iterator<_IteratorR>& __y) 7770: { return __x.base() == __y.base(); } 7770: 7770: template 7770: inline constexpr bool 7770: operator==(const move_iterator<_Iterator>& __x, 7770: const move_iterator<_Iterator>& __y) 7770: { return __x.base() == __y.base(); } 7770: 7770: template 7770: inline constexpr bool 7770: operator!=(const move_iterator<_IteratorL>& __x, 7770: const move_iterator<_IteratorR>& __y) 7770: { return !(__x == __y); } 7770: 7770: template 7770: inline constexpr bool 7770: operator!=(const move_iterator<_Iterator>& __x, 7770: const move_iterator<_Iterator>& __y) 7770: { return !(__x == __y); } 7770: 7770: template 7770: inline constexpr bool 7770: operator<(const move_iterator<_IteratorL>& __x, 7770: const move_iterator<_IteratorR>& __y) 7770: { return __x.base() < __y.base(); } 7770: 7770: template 7770: inline constexpr bool 7770: operator<(const move_iterator<_Iterator>& __x, 7770: const move_iterator<_Iterator>& __y) 7770: { return __x.base() < __y.base(); } 7770: 7770: template 7770: inline constexpr bool 7770: operator<=(const move_iterator<_IteratorL>& __x, 7770: const move_iterator<_IteratorR>& __y) 7770: { return !(__y < __x); } 7770: 7770: template 7770: inline constexpr bool 7770: operator<=(const move_iterator<_Iterator>& __x, 7770: const move_iterator<_Iterator>& __y) 7770: { return !(__y < __x); } 7770: 7770: template 7770: inline constexpr bool 7770: operator>(const move_iterator<_IteratorL>& __x, 7770: const move_iterator<_IteratorR>& __y) 7770: { return __y < __x; } 7770: 7770: template 7770: inline constexpr bool 7770: operator>(const move_iterator<_Iterator>& __x, 7770: const move_iterator<_Iterator>& __y) 7770: { return __y < __x; } 7770: 7770: template 7770: inline constexpr bool 7770: operator>=(const move_iterator<_IteratorL>& __x, 7770: const move_iterator<_IteratorR>& __y) 7770: { return !(__x < __y); } 7770: 7770: template 7770: inline constexpr bool 7770: operator>=(const move_iterator<_Iterator>& __x, 7770: const move_iterator<_Iterator>& __y) 7770: { return !(__x < __y); } 7770: 7770: 7770: template 7770: inline constexpr auto 7770: operator-(const move_iterator<_IteratorL>& __x, 7770: const move_iterator<_IteratorR>& __y) 7770: -> decltype(__x.base() - __y.base()) 7770: { return __x.base() - __y.base(); } 7770: 7770: template 7770: inline constexpr move_iterator<_Iterator> 7770: operator+(typename move_iterator<_Iterator>::difference_type __n, 7770: const move_iterator<_Iterator>& __x) 7770: { return __x + __n; } 7770: 7770: template 7770: inline constexpr move_iterator<_Iterator> 7770: make_move_iterator(_Iterator __i) 7770: { return move_iterator<_Iterator>(__i); } 7770: 7770: template::value_type>::value, 7770: _Iterator, move_iterator<_Iterator>>::type> 7770: inline constexpr _ReturnType 7770: __make_move_if_noexcept_iterator(_Iterator __i) 7770: { return _ReturnType(__i); } 7770: 7770: 7770: 7770: template::value, 7770: const _Tp*, move_iterator<_Tp*>>::type> 7770: inline constexpr _ReturnType 7770: __make_move_if_noexcept_iterator(_Tp* __i) 7770: { return _ReturnType(__i); } 7770: 7770: 7770: 7770: template 7770: auto 7770: __niter_base(move_iterator<_Iterator> __it) 7770: -> decltype(make_move_iterator(__niter_base(__it.base()))) 7770: { return make_move_iterator(__niter_base(__it.base())); } 7770: 7770: template 7770: struct __is_move_iterator > 7770: { 7770: enum { __value = 1 }; 7770: typedef __true_type __type; 7770: }; 7770: 7770: template 7770: auto 7770: __miter_base(move_iterator<_Iterator> __it) 7770: -> decltype(__miter_base(__it.base())) 7770: { return __miter_base(__it.base()); } 7770: # 1250 "/usr/include/c++/8/bits/stl_iterator.h" 3 7770: template 7770: using __iter_key_t = remove_const_t< 7770: typename iterator_traits<_InputIterator>::value_type::first_type>; 7770: 7770: template 7770: using __iter_val_t = 7770: typename iterator_traits<_InputIterator>::value_type::second_type; 7770: 7770: template 7770: struct pair; 7770: 7770: template 7770: using __iter_to_alloc_t = 7770: pair>, 7770: __iter_val_t<_InputIterator>>; 7770: 7770: 7770: 7770: 7770: } 7770: # 68 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 7770: 7770: # 1 "/usr/include/c++/8/debug/debug.h" 1 3 7770: # 48 "/usr/include/c++/8/debug/debug.h" 3 7770: namespace std 7770: { 7770: namespace __debug { } 7770: } 7770: 7770: 7770: 7770: 7770: namespace __gnu_debug 7770: { 7770: using namespace std::__debug; 7770: } 7770: # 70 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 7770: 7770: # 1 "/usr/include/c++/8/bits/predefined_ops.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/predefined_ops.h" 3 7770: namespace __gnu_cxx 7770: { 7770: namespace __ops 7770: { 7770: struct _Iter_less_iter 7770: { 7770: template 7770: constexpr 7770: bool 7770: operator()(_Iterator1 __it1, _Iterator2 __it2) const 7770: { return *__it1 < *__it2; } 7770: }; 7770: 7770: constexpr 7770: inline _Iter_less_iter 7770: __iter_less_iter() 7770: { return _Iter_less_iter(); } 7770: 7770: struct _Iter_less_val 7770: { 7770: 7770: constexpr _Iter_less_val() = default; 7770: 7770: 7770: 7770: 7770: explicit 7770: _Iter_less_val(_Iter_less_iter) { } 7770: 7770: template 7770: bool 7770: operator()(_Iterator __it, _Value& __val) const 7770: { return *__it < __val; } 7770: }; 7770: 7770: inline _Iter_less_val 7770: __iter_less_val() 7770: { return _Iter_less_val(); } 7770: 7770: inline _Iter_less_val 7770: __iter_comp_val(_Iter_less_iter) 7770: { return _Iter_less_val(); } 7770: 7770: struct _Val_less_iter 7770: { 7770: 7770: constexpr _Val_less_iter() = default; 7770: 7770: 7770: 7770: 7770: explicit 7770: _Val_less_iter(_Iter_less_iter) { } 7770: 7770: template 7770: bool 7770: operator()(_Value& __val, _Iterator __it) const 7770: { return __val < *__it; } 7770: }; 7770: 7770: inline _Val_less_iter 7770: __val_less_iter() 7770: { return _Val_less_iter(); } 7770: 7770: inline _Val_less_iter 7770: __val_comp_iter(_Iter_less_iter) 7770: { return _Val_less_iter(); } 7770: 7770: struct _Iter_equal_to_iter 7770: { 7770: template 7770: bool 7770: operator()(_Iterator1 __it1, _Iterator2 __it2) const 7770: { return *__it1 == *__it2; } 7770: }; 7770: 7770: inline _Iter_equal_to_iter 7770: __iter_equal_to_iter() 7770: { return _Iter_equal_to_iter(); } 7770: 7770: struct _Iter_equal_to_val 7770: { 7770: template 7770: bool 7770: operator()(_Iterator __it, _Value& __val) const 7770: { return *__it == __val; } 7770: }; 7770: 7770: inline _Iter_equal_to_val 7770: __iter_equal_to_val() 7770: { return _Iter_equal_to_val(); } 7770: 7770: inline _Iter_equal_to_val 7770: __iter_comp_val(_Iter_equal_to_iter) 7770: { return _Iter_equal_to_val(); } 7770: 7770: template 7770: struct _Iter_comp_iter 7770: { 7770: _Compare _M_comp; 7770: 7770: explicit constexpr 7770: _Iter_comp_iter(_Compare __comp) 7770: : _M_comp(std::move(__comp)) 7770: { } 7770: 7770: template 7770: constexpr 7770: bool 7770: operator()(_Iterator1 __it1, _Iterator2 __it2) 7770: { return bool(_M_comp(*__it1, *__it2)); } 7770: }; 7770: 7770: template 7770: constexpr 7770: inline _Iter_comp_iter<_Compare> 7770: __iter_comp_iter(_Compare __comp) 7770: { return _Iter_comp_iter<_Compare>(std::move(__comp)); } 7770: 7770: template 7770: struct _Iter_comp_val 7770: { 7770: _Compare _M_comp; 7770: 7770: explicit 7770: _Iter_comp_val(_Compare __comp) 7770: : _M_comp(std::move(__comp)) 7770: { } 7770: 7770: explicit 7770: _Iter_comp_val(const _Iter_comp_iter<_Compare>& __comp) 7770: : _M_comp(__comp._M_comp) 7770: { } 7770: 7770: 7770: explicit 7770: _Iter_comp_val(_Iter_comp_iter<_Compare>&& __comp) 7770: : _M_comp(std::move(__comp._M_comp)) 7770: { } 7770: 7770: 7770: template 7770: bool 7770: operator()(_Iterator __it, _Value& __val) 7770: { return bool(_M_comp(*__it, __val)); } 7770: }; 7770: 7770: template 7770: inline _Iter_comp_val<_Compare> 7770: __iter_comp_val(_Compare __comp) 7770: { return _Iter_comp_val<_Compare>(std::move(__comp)); } 7770: 7770: template 7770: inline _Iter_comp_val<_Compare> 7770: __iter_comp_val(_Iter_comp_iter<_Compare> __comp) 7770: { return _Iter_comp_val<_Compare>(std::move(__comp)); } 7770: 7770: template 7770: struct _Val_comp_iter 7770: { 7770: _Compare _M_comp; 7770: 7770: explicit 7770: _Val_comp_iter(_Compare __comp) 7770: : _M_comp(std::move(__comp)) 7770: { } 7770: 7770: explicit 7770: _Val_comp_iter(const _Iter_comp_iter<_Compare>& __comp) 7770: : _M_comp(__comp._M_comp) 7770: { } 7770: 7770: 7770: explicit 7770: _Val_comp_iter(_Iter_comp_iter<_Compare>&& __comp) 7770: : _M_comp(std::move(__comp._M_comp)) 7770: { } 7770: 7770: 7770: template 7770: bool 7770: operator()(_Value& __val, _Iterator __it) 7770: { return bool(_M_comp(__val, *__it)); } 7770: }; 7770: 7770: template 7770: inline _Val_comp_iter<_Compare> 7770: __val_comp_iter(_Compare __comp) 7770: { return _Val_comp_iter<_Compare>(std::move(__comp)); } 7770: 7770: template 7770: inline _Val_comp_iter<_Compare> 7770: __val_comp_iter(_Iter_comp_iter<_Compare> __comp) 7770: { return _Val_comp_iter<_Compare>(std::move(__comp)); } 7770: 7770: template 7770: struct _Iter_equals_val 7770: { 7770: _Value& _M_value; 7770: 7770: explicit 7770: _Iter_equals_val(_Value& __value) 7770: : _M_value(__value) 7770: { } 7770: 7770: template 7770: bool 7770: operator()(_Iterator __it) 7770: { return *__it == _M_value; } 7770: }; 7770: 7770: template 7770: inline _Iter_equals_val<_Value> 7770: __iter_equals_val(_Value& __val) 7770: { return _Iter_equals_val<_Value>(__val); } 7770: 7770: template 7770: struct _Iter_equals_iter 7770: { 7770: _Iterator1 _M_it1; 7770: 7770: explicit 7770: _Iter_equals_iter(_Iterator1 __it1) 7770: : _M_it1(__it1) 7770: { } 7770: 7770: template 7770: bool 7770: operator()(_Iterator2 __it2) 7770: { return *__it2 == *_M_it1; } 7770: }; 7770: 7770: template 7770: inline _Iter_equals_iter<_Iterator> 7770: __iter_comp_iter(_Iter_equal_to_iter, _Iterator __it) 7770: { return _Iter_equals_iter<_Iterator>(__it); } 7770: 7770: template 7770: struct _Iter_pred 7770: { 7770: _Predicate _M_pred; 7770: 7770: explicit 7770: _Iter_pred(_Predicate __pred) 7770: : _M_pred(std::move(__pred)) 7770: { } 7770: 7770: template 7770: bool 7770: operator()(_Iterator __it) 7770: { return bool(_M_pred(*__it)); } 7770: }; 7770: 7770: template 7770: inline _Iter_pred<_Predicate> 7770: __pred_iter(_Predicate __pred) 7770: { return _Iter_pred<_Predicate>(std::move(__pred)); } 7770: 7770: template 7770: struct _Iter_comp_to_val 7770: { 7770: _Compare _M_comp; 7770: _Value& _M_value; 7770: 7770: _Iter_comp_to_val(_Compare __comp, _Value& __value) 7770: : _M_comp(std::move(__comp)), _M_value(__value) 7770: { } 7770: 7770: template 7770: bool 7770: operator()(_Iterator __it) 7770: { return bool(_M_comp(*__it, _M_value)); } 7770: }; 7770: 7770: template 7770: _Iter_comp_to_val<_Compare, _Value> 7770: __iter_comp_val(_Compare __comp, _Value &__val) 7770: { 7770: return _Iter_comp_to_val<_Compare, _Value>(std::move(__comp), __val); 7770: } 7770: 7770: template 7770: struct _Iter_comp_to_iter 7770: { 7770: _Compare _M_comp; 7770: _Iterator1 _M_it1; 7770: 7770: _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1) 7770: : _M_comp(std::move(__comp)), _M_it1(__it1) 7770: { } 7770: 7770: template 7770: bool 7770: operator()(_Iterator2 __it2) 7770: { return bool(_M_comp(*__it2, *_M_it1)); } 7770: }; 7770: 7770: template 7770: inline _Iter_comp_to_iter<_Compare, _Iterator> 7770: __iter_comp_iter(_Iter_comp_iter<_Compare> __comp, _Iterator __it) 7770: { 7770: return _Iter_comp_to_iter<_Compare, _Iterator>( 7770: std::move(__comp._M_comp), __it); 7770: } 7770: 7770: template 7770: struct _Iter_negate 7770: { 7770: _Predicate _M_pred; 7770: 7770: explicit 7770: _Iter_negate(_Predicate __pred) 7770: : _M_pred(std::move(__pred)) 7770: { } 7770: 7770: template 7770: bool 7770: operator()(_Iterator __it) 7770: { return !bool(_M_pred(*__it)); } 7770: }; 7770: 7770: template 7770: inline _Iter_negate<_Predicate> 7770: __negate(_Iter_pred<_Predicate> __pred) 7770: { return _Iter_negate<_Predicate>(std::move(__pred._M_pred)); } 7770: 7770: } 7770: } 7770: # 72 "/usr/include/c++/8/bits/stl_algobase.h" 2 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 118 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: inline void 7770: iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) 7770: { 7770: 7770: 7770: 7770: 7770: # 148 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: swap(*__a, *__b); 7770: 7770: } 7770: # 164 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: _ForwardIterator2 7770: swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 7770: _ForwardIterator2 __first2) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: for (; __first1 != __last1; ++__first1, (void)++__first2) 7770: std::iter_swap(__first1, __first2); 7770: return __first2; 7770: } 7770: # 192 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: constexpr 7770: inline const _Tp& 7770: min(const _Tp& __a, const _Tp& __b) 7770: { 7770: 7770: 7770: 7770: if (__b < __a) 7770: return __b; 7770: return __a; 7770: } 7770: # 216 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: constexpr 7770: inline const _Tp& 7770: max(const _Tp& __a, const _Tp& __b) 7770: { 7770: 7770: 7770: 7770: if (__a < __b) 7770: return __b; 7770: return __a; 7770: } 7770: # 240 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: constexpr 7770: inline const _Tp& 7770: min(const _Tp& __a, const _Tp& __b, _Compare __comp) 7770: { 7770: 7770: if (__comp(__b, __a)) 7770: return __b; 7770: return __a; 7770: } 7770: # 262 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: constexpr 7770: inline const _Tp& 7770: max(const _Tp& __a, const _Tp& __b, _Compare __comp) 7770: { 7770: 7770: if (__comp(__a, __b)) 7770: return __b; 7770: return __a; 7770: } 7770: 7770: 7770: 7770: template 7770: inline _Iterator 7770: __niter_base(_Iterator __it) 7770: { return __it; } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct __copy_move 7770: { 7770: template 7770: static _OI 7770: __copy_m(_II __first, _II __last, _OI __result) 7770: { 7770: for (; __first != __last; ++__result, (void)++__first) 7770: *__result = *__first; 7770: return __result; 7770: } 7770: }; 7770: 7770: 7770: template 7770: struct __copy_move 7770: { 7770: template 7770: static _OI 7770: __copy_m(_II __first, _II __last, _OI __result) 7770: { 7770: for (; __first != __last; ++__result, (void)++__first) 7770: *__result = std::move(*__first); 7770: return __result; 7770: } 7770: }; 7770: 7770: 7770: template<> 7770: struct __copy_move 7770: { 7770: template 7770: static _OI 7770: __copy_m(_II __first, _II __last, _OI __result) 7770: { 7770: typedef typename iterator_traits<_II>::difference_type _Distance; 7770: for(_Distance __n = __last - __first; __n > 0; --__n) 7770: { 7770: *__result = *__first; 7770: ++__first; 7770: ++__result; 7770: } 7770: return __result; 7770: } 7770: }; 7770: 7770: 7770: template<> 7770: struct __copy_move 7770: { 7770: template 7770: static _OI 7770: __copy_m(_II __first, _II __last, _OI __result) 7770: { 7770: typedef typename iterator_traits<_II>::difference_type _Distance; 7770: for(_Distance __n = __last - __first; __n > 0; --__n) 7770: { 7770: *__result = std::move(*__first); 7770: ++__first; 7770: ++__result; 7770: } 7770: return __result; 7770: } 7770: }; 7770: 7770: 7770: template 7770: struct __copy_move<_IsMove, true, random_access_iterator_tag> 7770: { 7770: template 7770: static _Tp* 7770: __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result) 7770: { 7770: 7770: using __assignable = conditional<_IsMove, 7770: is_move_assignable<_Tp>, 7770: is_copy_assignable<_Tp>>; 7770: 7770: static_assert( __assignable::type::value, "type is not assignable" ); 7770: 7770: const ptrdiff_t _Num = __last - __first; 7770: if (_Num) 7770: __builtin_memmove(__result, __first, sizeof(_Tp) * _Num); 7770: return __result + _Num; 7770: } 7770: }; 7770: 7770: template 7770: inline _OI 7770: __copy_move_a(_II __first, _II __last, _OI __result) 7770: { 7770: typedef typename iterator_traits<_II>::value_type _ValueTypeI; 7770: typedef typename iterator_traits<_OI>::value_type _ValueTypeO; 7770: typedef typename iterator_traits<_II>::iterator_category _Category; 7770: const bool __simple = (__is_trivial(_ValueTypeI) 7770: && __is_pointer<_II>::__value 7770: && __is_pointer<_OI>::__value 7770: && __are_same<_ValueTypeI, _ValueTypeO>::__value); 7770: 7770: return std::__copy_move<_IsMove, __simple, 7770: _Category>::__copy_m(__first, __last, __result); 7770: } 7770: 7770: 7770: 7770: template 7770: struct char_traits; 7770: 7770: template 7770: class istreambuf_iterator; 7770: 7770: template 7770: class ostreambuf_iterator; 7770: 7770: template 7770: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 7770: ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type 7770: __copy_move_a2(_CharT*, _CharT*, 7770: ostreambuf_iterator<_CharT, char_traits<_CharT> >); 7770: 7770: template 7770: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 7770: ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type 7770: __copy_move_a2(const _CharT*, const _CharT*, 7770: ostreambuf_iterator<_CharT, char_traits<_CharT> >); 7770: 7770: template 7770: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 7770: _CharT*>::__type 7770: __copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >, 7770: istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*); 7770: 7770: template 7770: inline _OI 7770: __copy_move_a2(_II __first, _II __last, _OI __result) 7770: { 7770: return _OI(std::__copy_move_a<_IsMove>(std::__niter_base(__first), 7770: std::__niter_base(__last), 7770: std::__niter_base(__result))); 7770: } 7770: # 444 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: inline _OI 7770: copy(_II __first, _II __last, _OI __result) 7770: { 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return (std::__copy_move_a2<__is_move_iterator<_II>::__value> 7770: (std::__miter_base(__first), std::__miter_base(__last), 7770: __result)); 7770: } 7770: # 477 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: inline _OI 7770: move(_II __first, _II __last, _OI __result) 7770: { 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__copy_move_a2(std::__miter_base(__first), 7770: std::__miter_base(__last), __result); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct __copy_move_backward 7770: { 7770: template 7770: static _BI2 7770: __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) 7770: { 7770: while (__first != __last) 7770: *--__result = *--__last; 7770: return __result; 7770: } 7770: }; 7770: 7770: 7770: template 7770: struct __copy_move_backward 7770: { 7770: template 7770: static _BI2 7770: __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) 7770: { 7770: while (__first != __last) 7770: *--__result = std::move(*--__last); 7770: return __result; 7770: } 7770: }; 7770: 7770: 7770: template<> 7770: struct __copy_move_backward 7770: { 7770: template 7770: static _BI2 7770: __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) 7770: { 7770: typename iterator_traits<_BI1>::difference_type __n; 7770: for (__n = __last - __first; __n > 0; --__n) 7770: *--__result = *--__last; 7770: return __result; 7770: } 7770: }; 7770: 7770: 7770: template<> 7770: struct __copy_move_backward 7770: { 7770: template 7770: static _BI2 7770: __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) 7770: { 7770: typename iterator_traits<_BI1>::difference_type __n; 7770: for (__n = __last - __first; __n > 0; --__n) 7770: *--__result = std::move(*--__last); 7770: return __result; 7770: } 7770: }; 7770: 7770: 7770: template 7770: struct __copy_move_backward<_IsMove, true, random_access_iterator_tag> 7770: { 7770: template 7770: static _Tp* 7770: __copy_move_b(const _Tp* __first, const _Tp* __last, _Tp* __result) 7770: { 7770: 7770: using __assignable = conditional<_IsMove, 7770: is_move_assignable<_Tp>, 7770: is_copy_assignable<_Tp>>; 7770: 7770: static_assert( __assignable::type::value, "type is not assignable" ); 7770: 7770: const ptrdiff_t _Num = __last - __first; 7770: if (_Num) 7770: __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num); 7770: return __result - _Num; 7770: } 7770: }; 7770: 7770: template 7770: inline _BI2 7770: __copy_move_backward_a(_BI1 __first, _BI1 __last, _BI2 __result) 7770: { 7770: typedef typename iterator_traits<_BI1>::value_type _ValueType1; 7770: typedef typename iterator_traits<_BI2>::value_type _ValueType2; 7770: typedef typename iterator_traits<_BI1>::iterator_category _Category; 7770: const bool __simple = (__is_trivial(_ValueType1) 7770: && __is_pointer<_BI1>::__value 7770: && __is_pointer<_BI2>::__value 7770: && __are_same<_ValueType1, _ValueType2>::__value); 7770: 7770: return std::__copy_move_backward<_IsMove, __simple, 7770: _Category>::__copy_move_b(__first, 7770: __last, 7770: __result); 7770: } 7770: 7770: template 7770: inline _BI2 7770: __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result) 7770: { 7770: return _BI2(std::__copy_move_backward_a<_IsMove> 7770: (std::__niter_base(__first), std::__niter_base(__last), 7770: std::__niter_base(__result))); 7770: } 7770: # 620 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: inline _BI2 7770: copy_backward(_BI1 __first, _BI1 __last, _BI2 __result) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return (std::__copy_move_backward_a2<__is_move_iterator<_BI1>::__value> 7770: (std::__miter_base(__first), std::__miter_base(__last), 7770: __result)); 7770: } 7770: # 656 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: inline _BI2 7770: move_backward(_BI1 __first, _BI1 __last, _BI2 __result) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__copy_move_backward_a2(std::__miter_base(__first), 7770: std::__miter_base(__last), 7770: __result); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline typename 7770: __gnu_cxx::__enable_if::__value, void>::__type 7770: __fill_a(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Tp& __value) 7770: { 7770: for (; __first != __last; ++__first) 7770: *__first = __value; 7770: } 7770: 7770: template 7770: inline typename 7770: __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type 7770: __fill_a(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Tp& __value) 7770: { 7770: const _Tp __tmp = __value; 7770: for (; __first != __last; ++__first) 7770: *__first = __tmp; 7770: } 7770: 7770: 7770: template 7770: inline typename 7770: __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, void>::__type 7770: __fill_a(_Tp* __first, _Tp* __last, const _Tp& __c) 7770: { 7770: const _Tp __tmp = __c; 7770: if (const size_t __len = __last - __first) 7770: __builtin_memset(__first, static_cast(__tmp), __len); 7770: } 7770: # 722 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: inline void 7770: fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) 7770: { 7770: 7770: 7770: 7770: ; 7770: 7770: std::__fill_a(std::__niter_base(__first), std::__niter_base(__last), 7770: __value); 7770: } 7770: 7770: template 7770: inline typename 7770: __gnu_cxx::__enable_if::__value, _OutputIterator>::__type 7770: __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value) 7770: { 7770: for (__decltype(__n + 0) __niter = __n; 7770: __niter > 0; --__niter, (void) ++__first) 7770: *__first = __value; 7770: return __first; 7770: } 7770: 7770: template 7770: inline typename 7770: __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type 7770: __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value) 7770: { 7770: const _Tp __tmp = __value; 7770: for (__decltype(__n + 0) __niter = __n; 7770: __niter > 0; --__niter, (void) ++__first) 7770: *__first = __tmp; 7770: return __first; 7770: } 7770: 7770: template 7770: inline typename 7770: __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, _Tp*>::__type 7770: __fill_n_a(_Tp* __first, _Size __n, const _Tp& __c) 7770: { 7770: std::__fill_a(__first, __first + __n, __c); 7770: return __first + __n; 7770: } 7770: # 782 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: inline _OI 7770: fill_n(_OI __first, _Size __n, const _Tp& __value) 7770: { 7770: 7770: 7770: 7770: return _OI(std::__fill_n_a(std::__niter_base(__first), __n, __value)); 7770: } 7770: 7770: template 7770: struct __equal 7770: { 7770: template 7770: static bool 7770: equal(_II1 __first1, _II1 __last1, _II2 __first2) 7770: { 7770: for (; __first1 != __last1; ++__first1, (void) ++__first2) 7770: if (!(*__first1 == *__first2)) 7770: return false; 7770: return true; 7770: } 7770: }; 7770: 7770: template<> 7770: struct __equal 7770: { 7770: template 7770: static bool 7770: equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2) 7770: { 7770: if (const size_t __len = (__last1 - __first1)) 7770: return !__builtin_memcmp(__first1, __first2, sizeof(_Tp) * __len); 7770: return true; 7770: } 7770: }; 7770: 7770: template 7770: inline bool 7770: __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2) 7770: { 7770: typedef typename iterator_traits<_II1>::value_type _ValueType1; 7770: typedef typename iterator_traits<_II2>::value_type _ValueType2; 7770: const bool __simple = ((__is_integer<_ValueType1>::__value 7770: || __is_pointer<_ValueType1>::__value) 7770: && __is_pointer<_II1>::__value 7770: && __is_pointer<_II2>::__value 7770: && __are_same<_ValueType1, _ValueType2>::__value); 7770: 7770: return std::__equal<__simple>::equal(__first1, __last1, __first2); 7770: } 7770: 7770: template 7770: struct __lc_rai 7770: { 7770: template 7770: static _II1 7770: __newlast1(_II1, _II1 __last1, _II2, _II2) 7770: { return __last1; } 7770: 7770: template 7770: static bool 7770: __cnd2(_II __first, _II __last) 7770: { return __first != __last; } 7770: }; 7770: 7770: template<> 7770: struct __lc_rai 7770: { 7770: template 7770: static _RAI1 7770: __newlast1(_RAI1 __first1, _RAI1 __last1, 7770: _RAI2 __first2, _RAI2 __last2) 7770: { 7770: const typename iterator_traits<_RAI1>::difference_type 7770: __diff1 = __last1 - __first1; 7770: const typename iterator_traits<_RAI2>::difference_type 7770: __diff2 = __last2 - __first2; 7770: return __diff2 < __diff1 ? __first1 + __diff2 : __last1; 7770: } 7770: 7770: template 7770: static bool 7770: __cnd2(_RAI, _RAI) 7770: { return true; } 7770: }; 7770: 7770: template 7770: bool 7770: __lexicographical_compare_impl(_II1 __first1, _II1 __last1, 7770: _II2 __first2, _II2 __last2, 7770: _Compare __comp) 7770: { 7770: typedef typename iterator_traits<_II1>::iterator_category _Category1; 7770: typedef typename iterator_traits<_II2>::iterator_category _Category2; 7770: typedef std::__lc_rai<_Category1, _Category2> __rai_type; 7770: 7770: __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2); 7770: for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2); 7770: ++__first1, (void)++__first2) 7770: { 7770: if (__comp(__first1, __first2)) 7770: return true; 7770: if (__comp(__first2, __first1)) 7770: return false; 7770: } 7770: return __first1 == __last1 && __first2 != __last2; 7770: } 7770: 7770: template 7770: struct __lexicographical_compare 7770: { 7770: template 7770: static bool __lc(_II1, _II1, _II2, _II2); 7770: }; 7770: 7770: template 7770: template 7770: bool 7770: __lexicographical_compare<_BoolType>:: 7770: __lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) 7770: { 7770: return std::__lexicographical_compare_impl(__first1, __last1, 7770: __first2, __last2, 7770: __gnu_cxx::__ops::__iter_less_iter()); 7770: } 7770: 7770: template<> 7770: struct __lexicographical_compare 7770: { 7770: template 7770: static bool 7770: __lc(const _Tp* __first1, const _Tp* __last1, 7770: const _Up* __first2, const _Up* __last2) 7770: { 7770: const size_t __len1 = __last1 - __first1; 7770: const size_t __len2 = __last2 - __first2; 7770: if (const size_t __len = std::min(__len1, __len2)) 7770: if (int __result = __builtin_memcmp(__first1, __first2, __len)) 7770: return __result < 0; 7770: return __len1 < __len2; 7770: } 7770: }; 7770: 7770: template 7770: inline bool 7770: __lexicographical_compare_aux(_II1 __first1, _II1 __last1, 7770: _II2 __first2, _II2 __last2) 7770: { 7770: typedef typename iterator_traits<_II1>::value_type _ValueType1; 7770: typedef typename iterator_traits<_II2>::value_type _ValueType2; 7770: const bool __simple = 7770: (__is_byte<_ValueType1>::__value && __is_byte<_ValueType2>::__value 7770: && !__gnu_cxx::__numeric_traits<_ValueType1>::__is_signed 7770: && !__gnu_cxx::__numeric_traits<_ValueType2>::__is_signed 7770: && __is_pointer<_II1>::__value 7770: && __is_pointer<_II2>::__value); 7770: 7770: return std::__lexicographical_compare<__simple>::__lc(__first1, __last1, 7770: __first2, __last2); 7770: } 7770: 7770: template 7770: _ForwardIterator 7770: __lower_bound(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Tp& __val, _Compare __comp) 7770: { 7770: typedef typename iterator_traits<_ForwardIterator>::difference_type 7770: _DistanceType; 7770: 7770: _DistanceType __len = std::distance(__first, __last); 7770: 7770: while (__len > 0) 7770: { 7770: _DistanceType __half = __len >> 1; 7770: _ForwardIterator __middle = __first; 7770: std::advance(__middle, __half); 7770: if (__comp(__middle, __val)) 7770: { 7770: __first = __middle; 7770: ++__first; 7770: __len = __len - __half - 1; 7770: } 7770: else 7770: __len = __half; 7770: } 7770: return __first; 7770: } 7770: # 982 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: inline _ForwardIterator 7770: lower_bound(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Tp& __val) 7770: { 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__lower_bound(__first, __last, __val, 7770: __gnu_cxx::__ops::__iter_less_val()); 7770: } 7770: 7770: 7770: 7770: inline constexpr int 7770: __lg(int __n) 7770: { return sizeof(int) * 8 - 1 - __builtin_clz(__n); } 7770: 7770: inline constexpr unsigned 7770: __lg(unsigned __n) 7770: { return sizeof(int) * 8 - 1 - __builtin_clz(__n); } 7770: 7770: inline constexpr long 7770: __lg(long __n) 7770: { return sizeof(long) * 8 - 1 - __builtin_clzl(__n); } 7770: 7770: inline constexpr unsigned long 7770: __lg(unsigned long __n) 7770: { return sizeof(long) * 8 - 1 - __builtin_clzl(__n); } 7770: 7770: inline constexpr long long 7770: __lg(long long __n) 7770: { return sizeof(long long) * 8 - 1 - __builtin_clzll(__n); } 7770: 7770: inline constexpr unsigned long long 7770: __lg(unsigned long long __n) 7770: { return sizeof(long long) * 8 - 1 - __builtin_clzll(__n); } 7770: 7770: 7770: # 1037 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: inline bool 7770: equal(_II1 __first1, _II1 __last1, _II2 __first2) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__equal_aux(std::__niter_base(__first1), 7770: std::__niter_base(__last1), 7770: std::__niter_base(__first2)); 7770: } 7770: # 1069 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: inline bool 7770: equal(_IIter1 __first1, _IIter1 __last1, 7770: _IIter2 __first2, _BinaryPredicate __binary_pred) 7770: { 7770: 7770: 7770: 7770: ; 7770: 7770: for (; __first1 != __last1; ++__first1, (void)++__first2) 7770: if (!bool(__binary_pred(*__first1, *__first2))) 7770: return false; 7770: return true; 7770: } 7770: 7770: 7770: 7770: template 7770: inline bool 7770: __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) 7770: { 7770: using _RATag = random_access_iterator_tag; 7770: using _Cat1 = typename iterator_traits<_II1>::iterator_category; 7770: using _Cat2 = typename iterator_traits<_II2>::iterator_category; 7770: using _RAIters = __and_, is_same<_Cat2, _RATag>>; 7770: if (_RAIters()) 7770: { 7770: auto __d1 = std::distance(__first1, __last1); 7770: auto __d2 = std::distance(__first2, __last2); 7770: if (__d1 != __d2) 7770: return false; 7770: return std::equal(__first1, __last1, __first2); 7770: } 7770: 7770: for (; __first1 != __last1 && __first2 != __last2; 7770: ++__first1, (void)++__first2) 7770: if (!(*__first1 == *__first2)) 7770: return false; 7770: return __first1 == __last1 && __first2 == __last2; 7770: } 7770: 7770: 7770: template 7770: inline bool 7770: __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2, 7770: _BinaryPredicate __binary_pred) 7770: { 7770: using _RATag = random_access_iterator_tag; 7770: using _Cat1 = typename iterator_traits<_II1>::iterator_category; 7770: using _Cat2 = typename iterator_traits<_II2>::iterator_category; 7770: using _RAIters = __and_, is_same<_Cat2, _RATag>>; 7770: if (_RAIters()) 7770: { 7770: auto __d1 = std::distance(__first1, __last1); 7770: auto __d2 = std::distance(__first2, __last2); 7770: if (__d1 != __d2) 7770: return false; 7770: return std::equal(__first1, __last1, __first2, 7770: __binary_pred); 7770: } 7770: 7770: for (; __first1 != __last1 && __first2 != __last2; 7770: ++__first1, (void)++__first2) 7770: if (!bool(__binary_pred(*__first1, *__first2))) 7770: return false; 7770: return __first1 == __last1 && __first2 == __last2; 7770: } 7770: # 1156 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: inline bool 7770: equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__equal4(__first1, __last1, __first2, __last2); 7770: } 7770: # 1188 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: inline bool 7770: equal(_IIter1 __first1, _IIter1 __last1, 7770: _IIter2 __first2, _IIter2 __last2, _BinaryPredicate __binary_pred) 7770: { 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__equal4(__first1, __last1, __first2, __last2, 7770: __binary_pred); 7770: } 7770: # 1219 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: inline bool 7770: lexicographical_compare(_II1 __first1, _II1 __last1, 7770: _II2 __first2, _II2 __last2) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__lexicographical_compare_aux(std::__niter_base(__first1), 7770: std::__niter_base(__last1), 7770: std::__niter_base(__first2), 7770: std::__niter_base(__last2)); 7770: } 7770: # 1255 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: inline bool 7770: lexicographical_compare(_II1 __first1, _II1 __last1, 7770: _II2 __first2, _II2 __last2, _Compare __comp) 7770: { 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__lexicographical_compare_impl 7770: (__first1, __last1, __first2, __last2, 7770: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 7770: } 7770: 7770: template 7770: pair<_InputIterator1, _InputIterator2> 7770: __mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _BinaryPredicate __binary_pred) 7770: { 7770: while (__first1 != __last1 && __binary_pred(__first1, __first2)) 7770: { 7770: ++__first1; 7770: ++__first2; 7770: } 7770: return pair<_InputIterator1, _InputIterator2>(__first1, __first2); 7770: } 7770: # 1298 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: inline pair<_InputIterator1, _InputIterator2> 7770: mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__mismatch(__first1, __last1, __first2, 7770: __gnu_cxx::__ops::__iter_equal_to_iter()); 7770: } 7770: # 1331 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: inline pair<_InputIterator1, _InputIterator2> 7770: mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _BinaryPredicate __binary_pred) 7770: { 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__mismatch(__first1, __last1, __first2, 7770: __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); 7770: } 7770: 7770: 7770: 7770: template 7770: pair<_InputIterator1, _InputIterator2> 7770: __mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2, 7770: _BinaryPredicate __binary_pred) 7770: { 7770: while (__first1 != __last1 && __first2 != __last2 7770: && __binary_pred(__first1, __first2)) 7770: { 7770: ++__first1; 7770: ++__first2; 7770: } 7770: return pair<_InputIterator1, _InputIterator2>(__first1, __first2); 7770: } 7770: # 1378 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: inline pair<_InputIterator1, _InputIterator2> 7770: mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__mismatch(__first1, __last1, __first2, __last2, 7770: __gnu_cxx::__ops::__iter_equal_to_iter()); 7770: } 7770: # 1413 "/usr/include/c++/8/bits/stl_algobase.h" 3 7770: template 7770: inline pair<_InputIterator1, _InputIterator2> 7770: mismatch(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2, 7770: _BinaryPredicate __binary_pred) 7770: { 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__mismatch(__first1, __last1, __first2, __last2, 7770: __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); 7770: } 7770: 7770: 7770: 7770: 7770: } 7770: # 62 "/usr/include/c++/8/algorithm" 2 3 7770: # 1 "/usr/include/c++/8/bits/stl_algo.h" 1 3 7770: # 59 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: # 1 "/usr/include/c++/8/cstdlib" 1 3 7770: # 39 "/usr/include/c++/8/cstdlib" 3 7770: 7770: # 40 "/usr/include/c++/8/cstdlib" 3 7770: # 75 "/usr/include/c++/8/cstdlib" 3 7770: # 1 "/usr/include/stdlib.h" 1 3 4 7770: # 25 "/usr/include/stdlib.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/libc-header-start.h" 1 3 4 7770: # 26 "/usr/include/stdlib.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stddef.h" 1 3 4 7770: # 32 "/usr/include/stdlib.h" 2 3 4 7770: 7770: extern "C" { 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/waitflags.h" 1 3 4 7770: # 52 "/usr/include/aarch64-linux-gnu/bits/waitflags.h" 3 4 7770: typedef enum 7770: { 7770: P_ALL, 7770: P_PID, 7770: P_PGID 7770: } idtype_t; 7770: # 40 "/usr/include/stdlib.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/waitstatus.h" 1 3 4 7770: # 41 "/usr/include/stdlib.h" 2 3 4 7770: # 55 "/usr/include/stdlib.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/floatn.h" 1 3 4 7770: # 56 "/usr/include/stdlib.h" 2 3 4 7770: 7770: 7770: typedef struct 7770: { 7770: int quot; 7770: int rem; 7770: } div_t; 7770: 7770: 7770: 7770: typedef struct 7770: { 7770: long int quot; 7770: long int rem; 7770: } ldiv_t; 7770: 7770: 7770: 7770: 7770: 7770: __extension__ typedef struct 7770: { 7770: long long int quot; 7770: long long int rem; 7770: } lldiv_t; 7770: # 97 "/usr/include/stdlib.h" 3 4 7770: extern size_t __ctype_get_mb_cur_max (void) throw () __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: extern double atof (const char *__nptr) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 7770: 7770: extern int atoi (const char *__nptr) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 7770: 7770: extern long int atol (const char *__nptr) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: __extension__ extern long long int atoll (const char *__nptr) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: extern double strtod (const char *__restrict __nptr, 7770: char **__restrict __endptr) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: extern float strtof (const char *__restrict __nptr, 7770: char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: extern long double strtold (const char *__restrict __nptr, 7770: char **__restrict __endptr) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: # 139 "/usr/include/stdlib.h" 3 4 7770: extern long int strtol (const char *__restrict __nptr, 7770: char **__restrict __endptr, int __base) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: extern unsigned long int strtoul (const char *__restrict __nptr, 7770: char **__restrict __endptr, int __base) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: __extension__ 7770: extern long long int strtoq (const char *__restrict __nptr, 7770: char **__restrict __endptr, int __base) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: __extension__ 7770: extern unsigned long long int strtouq (const char *__restrict __nptr, 7770: char **__restrict __endptr, int __base) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: 7770: __extension__ 7770: extern long long int strtoll (const char *__restrict __nptr, 7770: char **__restrict __endptr, int __base) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: __extension__ 7770: extern unsigned long long int strtoull (const char *__restrict __nptr, 7770: char **__restrict __endptr, int __base) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: 7770: extern int strfromd (char *__dest, size_t __size, const char *__format, 7770: double __f) 7770: throw () __attribute__ ((__nonnull__ (3))); 7770: 7770: extern int strfromf (char *__dest, size_t __size, const char *__format, 7770: float __f) 7770: throw () __attribute__ ((__nonnull__ (3))); 7770: 7770: extern int strfroml (char *__dest, size_t __size, const char *__format, 7770: long double __f) 7770: throw () __attribute__ ((__nonnull__ (3))); 7770: # 199 "/usr/include/stdlib.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/types/locale_t.h" 1 3 4 7770: # 22 "/usr/include/aarch64-linux-gnu/bits/types/locale_t.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h" 1 3 4 7770: # 28 "/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h" 3 4 7770: struct __locale_struct 7770: { 7770: 7770: struct __locale_data *__locales[13]; 7770: 7770: 7770: const unsigned short int *__ctype_b; 7770: const int *__ctype_tolower; 7770: const int *__ctype_toupper; 7770: 7770: 7770: const char *__names[13]; 7770: }; 7770: 7770: typedef struct __locale_struct *__locale_t; 7770: # 23 "/usr/include/aarch64-linux-gnu/bits/types/locale_t.h" 2 3 4 7770: 7770: typedef __locale_t locale_t; 7770: # 200 "/usr/include/stdlib.h" 2 3 4 7770: 7770: extern long int strtol_l (const char *__restrict __nptr, 7770: char **__restrict __endptr, int __base, 7770: locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))); 7770: 7770: extern unsigned long int strtoul_l (const char *__restrict __nptr, 7770: char **__restrict __endptr, 7770: int __base, locale_t __loc) 7770: throw () __attribute__ ((__nonnull__ (1, 4))); 7770: 7770: __extension__ 7770: extern long long int strtoll_l (const char *__restrict __nptr, 7770: char **__restrict __endptr, int __base, 7770: locale_t __loc) 7770: throw () __attribute__ ((__nonnull__ (1, 4))); 7770: 7770: __extension__ 7770: extern unsigned long long int strtoull_l (const char *__restrict __nptr, 7770: char **__restrict __endptr, 7770: int __base, locale_t __loc) 7770: throw () __attribute__ ((__nonnull__ (1, 4))); 7770: 7770: extern double strtod_l (const char *__restrict __nptr, 7770: char **__restrict __endptr, locale_t __loc) 7770: throw () __attribute__ ((__nonnull__ (1, 3))); 7770: 7770: extern float strtof_l (const char *__restrict __nptr, 7770: char **__restrict __endptr, locale_t __loc) 7770: throw () __attribute__ ((__nonnull__ (1, 3))); 7770: 7770: extern long double strtold_l (const char *__restrict __nptr, 7770: char **__restrict __endptr, 7770: locale_t __loc) 7770: throw () __attribute__ ((__nonnull__ (1, 3))); 7770: # 245 "/usr/include/stdlib.h" 3 4 7770: extern __inline __attribute__ ((__gnu_inline__)) int 7770: __attribute__ ((__leaf__)) atoi (const char *__nptr) throw () 7770: { 7770: return (int) strtol (__nptr, (char **) __null, 10); 7770: } 7770: extern __inline __attribute__ ((__gnu_inline__)) long int 7770: __attribute__ ((__leaf__)) atol (const char *__nptr) throw () 7770: { 7770: return strtol (__nptr, (char **) __null, 10); 7770: } 7770: 7770: 7770: __extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int 7770: __attribute__ ((__leaf__)) atoll (const char *__nptr) throw () 7770: { 7770: return strtoll (__nptr, (char **) __null, 10); 7770: } 7770: # 270 "/usr/include/stdlib.h" 3 4 7770: extern char *l64a (long int __n) throw () __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: extern long int a64l (const char *__s) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/sys/types.h" 1 3 4 7770: # 27 "/usr/include/aarch64-linux-gnu/sys/types.h" 3 4 7770: extern "C" { 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/types.h" 1 3 4 7770: # 27 "/usr/include/aarch64-linux-gnu/bits/types.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/wordsize.h" 1 3 4 7770: # 28 "/usr/include/aarch64-linux-gnu/bits/types.h" 2 3 4 7770: 7770: 7770: typedef unsigned char __u_char; 7770: typedef unsigned short int __u_short; 7770: typedef unsigned int __u_int; 7770: typedef unsigned long int __u_long; 7770: 7770: 7770: typedef signed char __int8_t; 7770: typedef unsigned char __uint8_t; 7770: typedef signed short int __int16_t; 7770: typedef unsigned short int __uint16_t; 7770: typedef signed int __int32_t; 7770: typedef unsigned int __uint32_t; 7770: 7770: typedef signed long int __int64_t; 7770: typedef unsigned long int __uint64_t; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef long int __quad_t; 7770: typedef unsigned long int __u_quad_t; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef long int __intmax_t; 7770: typedef unsigned long int __uintmax_t; 7770: # 130 "/usr/include/aarch64-linux-gnu/bits/types.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/typesizes.h" 1 3 4 7770: # 131 "/usr/include/aarch64-linux-gnu/bits/types.h" 2 3 4 7770: 7770: 7770: typedef unsigned long int __dev_t; 7770: typedef unsigned int __uid_t; 7770: typedef unsigned int __gid_t; 7770: typedef unsigned long int __ino_t; 7770: typedef unsigned long int __ino64_t; 7770: typedef unsigned int __mode_t; 7770: typedef unsigned int __nlink_t; 7770: typedef long int __off_t; 7770: typedef long int __off64_t; 7770: typedef int __pid_t; 7770: typedef struct { int __val[2]; } __fsid_t; 7770: typedef long int __clock_t; 7770: typedef unsigned long int __rlim_t; 7770: typedef unsigned long int __rlim64_t; 7770: typedef unsigned int __id_t; 7770: typedef long int __time_t; 7770: typedef unsigned int __useconds_t; 7770: typedef long int __suseconds_t; 7770: 7770: typedef int __daddr_t; 7770: typedef int __key_t; 7770: 7770: 7770: typedef int __clockid_t; 7770: 7770: 7770: typedef void * __timer_t; 7770: 7770: 7770: typedef int __blksize_t; 7770: 7770: 7770: 7770: 7770: typedef long int __blkcnt_t; 7770: typedef long int __blkcnt64_t; 7770: 7770: 7770: typedef unsigned long int __fsblkcnt_t; 7770: typedef unsigned long int __fsblkcnt64_t; 7770: 7770: 7770: typedef unsigned long int __fsfilcnt_t; 7770: typedef unsigned long int __fsfilcnt64_t; 7770: 7770: 7770: typedef long int __fsword_t; 7770: 7770: typedef long int __ssize_t; 7770: 7770: 7770: typedef long int __syscall_slong_t; 7770: 7770: typedef unsigned long int __syscall_ulong_t; 7770: 7770: 7770: 7770: typedef __off64_t __loff_t; 7770: typedef __quad_t *__qaddr_t; 7770: typedef char *__caddr_t; 7770: 7770: 7770: typedef long int __intptr_t; 7770: 7770: 7770: typedef unsigned int __socklen_t; 7770: 7770: 7770: 7770: 7770: typedef int __sig_atomic_t; 7770: # 30 "/usr/include/aarch64-linux-gnu/sys/types.h" 2 3 4 7770: 7770: 7770: 7770: typedef __u_char u_char; 7770: typedef __u_short u_short; 7770: typedef __u_int u_int; 7770: typedef __u_long u_long; 7770: typedef __quad_t quad_t; 7770: typedef __u_quad_t u_quad_t; 7770: typedef __fsid_t fsid_t; 7770: 7770: 7770: 7770: 7770: typedef __loff_t loff_t; 7770: 7770: 7770: 7770: typedef __ino_t ino_t; 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef __ino64_t ino64_t; 7770: 7770: 7770: 7770: 7770: typedef __dev_t dev_t; 7770: 7770: 7770: 7770: 7770: typedef __gid_t gid_t; 7770: 7770: 7770: 7770: 7770: typedef __mode_t mode_t; 7770: 7770: 7770: 7770: 7770: typedef __nlink_t nlink_t; 7770: 7770: 7770: 7770: 7770: typedef __uid_t uid_t; 7770: 7770: 7770: 7770: 7770: 7770: typedef __off_t off_t; 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef __off64_t off64_t; 7770: 7770: 7770: 7770: 7770: typedef __pid_t pid_t; 7770: 7770: 7770: 7770: 7770: 7770: typedef __id_t id_t; 7770: 7770: 7770: 7770: 7770: typedef __ssize_t ssize_t; 7770: 7770: 7770: 7770: 7770: 7770: typedef __daddr_t daddr_t; 7770: typedef __caddr_t caddr_t; 7770: 7770: 7770: 7770: 7770: 7770: typedef __key_t key_t; 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/types/clock_t.h" 1 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef __clock_t clock_t; 7770: # 128 "/usr/include/aarch64-linux-gnu/sys/types.h" 2 3 4 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/types/clockid_t.h" 1 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef __clockid_t clockid_t; 7770: # 130 "/usr/include/aarch64-linux-gnu/sys/types.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/types/time_t.h" 1 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef __time_t time_t; 7770: # 131 "/usr/include/aarch64-linux-gnu/sys/types.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/types/timer_t.h" 1 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef __timer_t timer_t; 7770: # 132 "/usr/include/aarch64-linux-gnu/sys/types.h" 2 3 4 7770: 7770: 7770: 7770: typedef __useconds_t useconds_t; 7770: 7770: 7770: 7770: typedef __suseconds_t suseconds_t; 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stddef.h" 1 3 4 7770: # 146 "/usr/include/aarch64-linux-gnu/sys/types.h" 2 3 4 7770: 7770: 7770: 7770: typedef unsigned long int ulong; 7770: typedef unsigned short int ushort; 7770: typedef unsigned int uint; 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/stdint-intn.h" 1 3 4 7770: # 24 "/usr/include/aarch64-linux-gnu/bits/stdint-intn.h" 3 4 7770: typedef __int8_t int8_t; 7770: typedef __int16_t int16_t; 7770: typedef __int32_t int32_t; 7770: typedef __int64_t int64_t; 7770: # 157 "/usr/include/aarch64-linux-gnu/sys/types.h" 2 3 4 7770: # 178 "/usr/include/aarch64-linux-gnu/sys/types.h" 3 4 7770: typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); 7770: typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); 7770: typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); 7770: typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); 7770: 7770: typedef int register_t __attribute__ ((__mode__ (__word__))); 7770: # 194 "/usr/include/aarch64-linux-gnu/sys/types.h" 3 4 7770: # 1 "/usr/include/endian.h" 1 3 4 7770: # 36 "/usr/include/endian.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/endian.h" 1 3 4 7770: # 37 "/usr/include/endian.h" 2 3 4 7770: # 60 "/usr/include/endian.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/byteswap.h" 1 3 4 7770: # 34 "/usr/include/aarch64-linux-gnu/bits/byteswap.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/byteswap-16.h" 1 3 4 7770: # 35 "/usr/include/aarch64-linux-gnu/bits/byteswap.h" 2 3 4 7770: # 43 "/usr/include/aarch64-linux-gnu/bits/byteswap.h" 3 4 7770: static __inline unsigned int 7770: __bswap_32 (unsigned int __bsx) 7770: { 7770: return __builtin_bswap32 (__bsx); 7770: } 7770: # 74 "/usr/include/aarch64-linux-gnu/bits/byteswap.h" 3 4 7770: static __inline __uint64_t 7770: __bswap_64 (__uint64_t __bsx) 7770: { 7770: return __builtin_bswap64 (__bsx); 7770: } 7770: # 61 "/usr/include/endian.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/uintn-identity.h" 1 3 4 7770: # 32 "/usr/include/aarch64-linux-gnu/bits/uintn-identity.h" 3 4 7770: static __inline __uint16_t 7770: __uint16_identity (__uint16_t __x) 7770: { 7770: return __x; 7770: } 7770: 7770: static __inline __uint32_t 7770: __uint32_identity (__uint32_t __x) 7770: { 7770: return __x; 7770: } 7770: 7770: static __inline __uint64_t 7770: __uint64_identity (__uint64_t __x) 7770: { 7770: return __x; 7770: } 7770: # 62 "/usr/include/endian.h" 2 3 4 7770: # 195 "/usr/include/aarch64-linux-gnu/sys/types.h" 2 3 4 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/sys/select.h" 1 3 4 7770: # 30 "/usr/include/aarch64-linux-gnu/sys/select.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/select.h" 1 3 4 7770: # 31 "/usr/include/aarch64-linux-gnu/sys/select.h" 2 3 4 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/types/sigset_t.h" 1 3 4 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h" 1 3 4 7770: 7770: 7770: 7770: 7770: typedef struct 7770: { 7770: unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; 7770: } __sigset_t; 7770: # 5 "/usr/include/aarch64-linux-gnu/bits/types/sigset_t.h" 2 3 4 7770: 7770: 7770: typedef __sigset_t sigset_t; 7770: # 34 "/usr/include/aarch64-linux-gnu/sys/select.h" 2 3 4 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h" 1 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: struct timeval 7770: { 7770: __time_t tv_sec; 7770: __suseconds_t tv_usec; 7770: }; 7770: # 38 "/usr/include/aarch64-linux-gnu/sys/select.h" 2 3 4 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h" 1 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: struct timespec 7770: { 7770: __time_t tv_sec; 7770: __syscall_slong_t tv_nsec; 7770: }; 7770: # 40 "/usr/include/aarch64-linux-gnu/sys/select.h" 2 3 4 7770: # 49 "/usr/include/aarch64-linux-gnu/sys/select.h" 3 4 7770: typedef long int __fd_mask; 7770: # 59 "/usr/include/aarch64-linux-gnu/sys/select.h" 3 4 7770: typedef struct 7770: { 7770: 7770: 7770: 7770: __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; 7770: 7770: 7770: 7770: 7770: 7770: } fd_set; 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef __fd_mask fd_mask; 7770: # 91 "/usr/include/aarch64-linux-gnu/sys/select.h" 3 4 7770: extern "C" { 7770: # 101 "/usr/include/aarch64-linux-gnu/sys/select.h" 3 4 7770: extern int select (int __nfds, fd_set *__restrict __readfds, 7770: fd_set *__restrict __writefds, 7770: fd_set *__restrict __exceptfds, 7770: struct timeval *__restrict __timeout); 7770: # 113 "/usr/include/aarch64-linux-gnu/sys/select.h" 3 4 7770: extern int pselect (int __nfds, fd_set *__restrict __readfds, 7770: fd_set *__restrict __writefds, 7770: fd_set *__restrict __exceptfds, 7770: const struct timespec *__restrict __timeout, 7770: const __sigset_t *__restrict __sigmask); 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/select2.h" 1 3 4 7770: # 24 "/usr/include/aarch64-linux-gnu/bits/select2.h" 3 4 7770: extern long int __fdelt_chk (long int __d); 7770: extern long int __fdelt_warn (long int __d) 7770: __attribute__((__warning__ ("bit outside of fd_set selected"))); 7770: # 124 "/usr/include/aarch64-linux-gnu/sys/select.h" 2 3 4 7770: 7770: 7770: } 7770: # 198 "/usr/include/aarch64-linux-gnu/sys/types.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/sys/sysmacros.h" 1 3 4 7770: # 41 "/usr/include/aarch64-linux-gnu/sys/sysmacros.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/sysmacros.h" 1 3 4 7770: # 42 "/usr/include/aarch64-linux-gnu/sys/sysmacros.h" 2 3 4 7770: # 71 "/usr/include/aarch64-linux-gnu/sys/sysmacros.h" 3 4 7770: extern "C" { 7770: 7770: extern unsigned int gnu_dev_major (__dev_t __dev) throw () __attribute__ ((__const__)); 7770: extern unsigned int gnu_dev_minor (__dev_t __dev) throw () __attribute__ ((__const__)); 7770: extern __dev_t gnu_dev_makedev (unsigned int __major, unsigned int __minor) throw () __attribute__ ((__const__)); 7770: 7770: 7770: 7770: __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; } 7770: __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; } 7770: __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; } 7770: 7770: 7770: 7770: } 7770: # 206 "/usr/include/aarch64-linux-gnu/sys/types.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef __blksize_t blksize_t; 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef __blkcnt_t blkcnt_t; 7770: 7770: 7770: 7770: typedef __fsblkcnt_t fsblkcnt_t; 7770: 7770: 7770: 7770: typedef __fsfilcnt_t fsfilcnt_t; 7770: # 246 "/usr/include/aarch64-linux-gnu/sys/types.h" 3 4 7770: typedef __blkcnt64_t blkcnt64_t; 7770: typedef __fsblkcnt64_t fsblkcnt64_t; 7770: typedef __fsfilcnt64_t fsfilcnt64_t; 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h" 1 3 4 7770: # 23 "/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h" 1 3 4 7770: # 58 "/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h" 1 3 4 7770: # 52 "/usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h" 3 4 7770: struct __pthread_rwlock_arch_t 7770: { 7770: unsigned int __readers; 7770: unsigned int __writers; 7770: unsigned int __wrphase_futex; 7770: unsigned int __writers_futex; 7770: unsigned int __pad3; 7770: unsigned int __pad4; 7770: int __cur_writer; 7770: int __shared; 7770: unsigned long int __pad1; 7770: unsigned long int __pad2; 7770: unsigned int __flags; 7770: }; 7770: # 59 "/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h" 2 3 4 7770: 7770: 7770: 7770: 7770: typedef struct __pthread_internal_list 7770: { 7770: struct __pthread_internal_list *__prev; 7770: struct __pthread_internal_list *__next; 7770: } __pthread_list_t; 7770: # 99 "/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h" 3 4 7770: struct __pthread_mutex_s 7770: { 7770: int __lock ; 7770: unsigned int __count; 7770: int __owner; 7770: 7770: unsigned int __nusers; 7770: 7770: 7770: 7770: int __kind; 7770: 7770: 7770: int __spins; 7770: __pthread_list_t __list; 7770: # 123 "/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h" 3 4 7770: 7770: }; 7770: 7770: 7770: 7770: 7770: struct __pthread_cond_s 7770: { 7770: __extension__ union 7770: { 7770: __extension__ unsigned long long int __wseq; 7770: struct 7770: { 7770: unsigned int __low; 7770: unsigned int __high; 7770: } __wseq32; 7770: }; 7770: __extension__ union 7770: { 7770: __extension__ unsigned long long int __g1_start; 7770: struct 7770: { 7770: unsigned int __low; 7770: unsigned int __high; 7770: } __g1_start32; 7770: }; 7770: unsigned int __g_refs[2] ; 7770: unsigned int __g_size[2]; 7770: unsigned int __g1_orig_size; 7770: unsigned int __wrefs; 7770: unsigned int __g_signals[2]; 7770: }; 7770: # 24 "/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h" 2 3 4 7770: 7770: 7770: 7770: typedef unsigned long int pthread_t; 7770: 7770: 7770: 7770: 7770: typedef union 7770: { 7770: char __size[8]; 7770: int __align; 7770: } pthread_mutexattr_t; 7770: 7770: 7770: 7770: 7770: typedef union 7770: { 7770: char __size[8]; 7770: int __align; 7770: } pthread_condattr_t; 7770: 7770: 7770: 7770: typedef unsigned int pthread_key_t; 7770: 7770: 7770: 7770: typedef int pthread_once_t; 7770: 7770: 7770: union pthread_attr_t 7770: { 7770: char __size[64]; 7770: long int __align; 7770: }; 7770: 7770: typedef union pthread_attr_t pthread_attr_t; 7770: 7770: 7770: 7770: 7770: typedef union 7770: { 7770: struct __pthread_mutex_s __data; 7770: char __size[48]; 7770: long int __align; 7770: } pthread_mutex_t; 7770: 7770: 7770: typedef union 7770: { 7770: struct __pthread_cond_s __data; 7770: char __size[48]; 7770: __extension__ long long int __align; 7770: } pthread_cond_t; 7770: 7770: 7770: 7770: 7770: 7770: typedef union 7770: { 7770: struct __pthread_rwlock_arch_t __data; 7770: char __size[56]; 7770: long int __align; 7770: } pthread_rwlock_t; 7770: 7770: typedef union 7770: { 7770: char __size[8]; 7770: long int __align; 7770: } pthread_rwlockattr_t; 7770: 7770: 7770: 7770: 7770: 7770: typedef volatile int pthread_spinlock_t; 7770: 7770: 7770: 7770: 7770: typedef union 7770: { 7770: char __size[32]; 7770: long int __align; 7770: } pthread_barrier_t; 7770: 7770: typedef union 7770: { 7770: char __size[8]; 7770: int __align; 7770: } pthread_barrierattr_t; 7770: # 255 "/usr/include/aarch64-linux-gnu/sys/types.h" 2 3 4 7770: 7770: 7770: } 7770: # 280 "/usr/include/stdlib.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern long int random (void) throw (); 7770: 7770: 7770: extern void srandom (unsigned int __seed) throw (); 7770: 7770: 7770: 7770: 7770: 7770: extern char *initstate (unsigned int __seed, char *__statebuf, 7770: size_t __statelen) throw () __attribute__ ((__nonnull__ (2))); 7770: 7770: 7770: 7770: extern char *setstate (char *__statebuf) throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: struct random_data 7770: { 7770: int32_t *fptr; 7770: int32_t *rptr; 7770: int32_t *state; 7770: int rand_type; 7770: int rand_deg; 7770: int rand_sep; 7770: int32_t *end_ptr; 7770: }; 7770: 7770: extern int random_r (struct random_data *__restrict __buf, 7770: int32_t *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: extern int srandom_r (unsigned int __seed, struct random_data *__buf) 7770: throw () __attribute__ ((__nonnull__ (2))); 7770: 7770: extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, 7770: size_t __statelen, 7770: struct random_data *__restrict __buf) 7770: throw () __attribute__ ((__nonnull__ (2, 4))); 7770: 7770: extern int setstate_r (char *__restrict __statebuf, 7770: struct random_data *__restrict __buf) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: 7770: 7770: 7770: extern int rand (void) throw (); 7770: 7770: extern void srand (unsigned int __seed) throw (); 7770: 7770: 7770: 7770: extern int rand_r (unsigned int *__seed) throw (); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern double drand48 (void) throw (); 7770: extern double erand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern long int lrand48 (void) throw (); 7770: extern long int nrand48 (unsigned short int __xsubi[3]) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern long int mrand48 (void) throw (); 7770: extern long int jrand48 (unsigned short int __xsubi[3]) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern void srand48 (long int __seedval) throw (); 7770: extern unsigned short int *seed48 (unsigned short int __seed16v[3]) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: extern void lcong48 (unsigned short int __param[7]) throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: 7770: 7770: struct drand48_data 7770: { 7770: unsigned short int __x[3]; 7770: unsigned short int __old_x[3]; 7770: unsigned short int __c; 7770: unsigned short int __init; 7770: __extension__ unsigned long long int __a; 7770: 7770: }; 7770: 7770: 7770: extern int drand48_r (struct drand48_data *__restrict __buffer, 7770: double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); 7770: extern int erand48_r (unsigned short int __xsubi[3], 7770: struct drand48_data *__restrict __buffer, 7770: double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int lrand48_r (struct drand48_data *__restrict __buffer, 7770: long int *__restrict __result) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: extern int nrand48_r (unsigned short int __xsubi[3], 7770: struct drand48_data *__restrict __buffer, 7770: long int *__restrict __result) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int mrand48_r (struct drand48_data *__restrict __buffer, 7770: long int *__restrict __result) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: extern int jrand48_r (unsigned short int __xsubi[3], 7770: struct drand48_data *__restrict __buffer, 7770: long int *__restrict __result) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int srand48_r (long int __seedval, struct drand48_data *__buffer) 7770: throw () __attribute__ ((__nonnull__ (2))); 7770: 7770: extern int seed48_r (unsigned short int __seed16v[3], 7770: struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: extern int lcong48_r (unsigned short int __param[7], 7770: struct drand48_data *__buffer) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: 7770: 7770: extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); 7770: 7770: extern void *calloc (size_t __nmemb, size_t __size) 7770: throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern void *realloc (void *__ptr, size_t __size) 7770: throw () __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) 7770: throw () __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: extern void free (void *__ptr) throw (); 7770: 7770: 7770: # 1 "/usr/include/alloca.h" 1 3 4 7770: # 24 "/usr/include/alloca.h" 3 4 7770: # 1 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stddef.h" 1 3 4 7770: # 25 "/usr/include/alloca.h" 2 3 4 7770: 7770: extern "C" { 7770: 7770: 7770: 7770: 7770: 7770: extern void *alloca (size_t __size) throw (); 7770: 7770: 7770: 7770: 7770: 7770: } 7770: # 452 "/usr/include/stdlib.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) 7770: throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: extern void *aligned_alloc (size_t __alignment, size_t __size) 7770: throw () __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: extern void abort (void) throw () __attribute__ ((__noreturn__)); 7770: 7770: 7770: 7770: extern int atexit (void (*__func) (void)) throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: 7770: extern "C++" int at_quick_exit (void (*__func) (void)) 7770: throw () __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1))); 7770: # 492 "/usr/include/stdlib.h" 3 4 7770: extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: 7770: 7770: extern void exit (int __status) throw () __attribute__ ((__noreturn__)); 7770: 7770: 7770: 7770: 7770: 7770: extern void quick_exit (int __status) throw () __attribute__ ((__noreturn__)); 7770: 7770: 7770: 7770: 7770: 7770: extern void _Exit (int __status) throw () __attribute__ ((__noreturn__)); 7770: 7770: 7770: 7770: 7770: extern char *getenv (const char *__name) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: extern char *secure_getenv (const char *__name) 7770: throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int putenv (char *__string) throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: 7770: 7770: extern int setenv (const char *__name, const char *__value, int __replace) 7770: throw () __attribute__ ((__nonnull__ (2))); 7770: 7770: 7770: extern int unsetenv (const char *__name) throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int clearenv (void) throw (); 7770: # 557 "/usr/include/stdlib.h" 3 4 7770: extern char *mktemp (char *__template) throw () __attribute__ ((__nonnull__ (1))); 7770: # 570 "/usr/include/stdlib.h" 3 4 7770: extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 7770: # 580 "/usr/include/stdlib.h" 3 4 7770: extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 7770: # 592 "/usr/include/stdlib.h" 3 4 7770: extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 7770: # 602 "/usr/include/stdlib.h" 3 4 7770: extern int mkstemps64 (char *__template, int __suffixlen) 7770: __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 7770: # 613 "/usr/include/stdlib.h" 3 4 7770: extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 7770: # 624 "/usr/include/stdlib.h" 3 4 7770: extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 7770: # 634 "/usr/include/stdlib.h" 3 4 7770: extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 7770: # 644 "/usr/include/stdlib.h" 3 4 7770: extern int mkostemps (char *__template, int __suffixlen, int __flags) 7770: __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 7770: # 656 "/usr/include/stdlib.h" 3 4 7770: extern int mkostemps64 (char *__template, int __suffixlen, int __flags) 7770: __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 7770: # 666 "/usr/include/stdlib.h" 3 4 7770: extern int system (const char *__command) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: 7770: extern char *canonicalize_file_name (const char *__name) 7770: throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 7770: # 682 "/usr/include/stdlib.h" 3 4 7770: extern char *realpath (const char *__restrict __name, 7770: char *__restrict __resolved) throw () __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef int (*__compar_fn_t) (const void *, const void *); 7770: 7770: 7770: typedef __compar_fn_t comparison_fn_t; 7770: 7770: 7770: 7770: typedef int (*__compar_d_fn_t) (const void *, const void *, void *); 7770: 7770: 7770: 7770: 7770: extern void *bsearch (const void *__key, const void *__base, 7770: size_t __nmemb, size_t __size, __compar_fn_t __compar) 7770: __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h" 1 3 4 7770: # 19 "/usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h" 3 4 7770: extern __inline __attribute__ ((__gnu_inline__)) void * 7770: bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, 7770: __compar_fn_t __compar) 7770: { 7770: size_t __l, __u, __idx; 7770: const void *__p; 7770: int __comparison; 7770: 7770: __l = 0; 7770: __u = __nmemb; 7770: while (__l < __u) 7770: { 7770: __idx = (__l + __u) / 2; 7770: __p = (void *) (((const char *) __base) + (__idx * __size)); 7770: __comparison = (*__compar) (__key, __p); 7770: if (__comparison < 0) 7770: __u = __idx; 7770: else if (__comparison > 0) 7770: __l = __idx + 1; 7770: else 7770: return (void *) __p; 7770: } 7770: 7770: return __null; 7770: } 7770: # 708 "/usr/include/stdlib.h" 2 3 4 7770: 7770: 7770: 7770: 7770: extern void qsort (void *__base, size_t __nmemb, size_t __size, 7770: __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); 7770: 7770: extern void qsort_r (void *__base, size_t __nmemb, size_t __size, 7770: __compar_d_fn_t __compar, void *__arg) 7770: __attribute__ ((__nonnull__ (1, 4))); 7770: 7770: 7770: 7770: 7770: extern int abs (int __x) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 7770: extern long int labs (long int __x) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: __extension__ extern long long int llabs (long long int __x) 7770: throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern div_t div (int __numer, int __denom) 7770: throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 7770: extern ldiv_t ldiv (long int __numer, long int __denom) 7770: throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: __extension__ extern lldiv_t lldiv (long long int __numer, 7770: long long int __denom) 7770: throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); 7770: # 754 "/usr/include/stdlib.h" 3 4 7770: extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, 7770: int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, 7770: int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: extern char *gcvt (double __value, int __ndigit, char *__buf) 7770: throw () __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: extern char *qecvt (long double __value, int __ndigit, 7770: int *__restrict __decpt, int *__restrict __sign) 7770: throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); 7770: extern char *qfcvt (long double __value, int __ndigit, 7770: int *__restrict __decpt, int *__restrict __sign) 7770: throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); 7770: extern char *qgcvt (long double __value, int __ndigit, char *__buf) 7770: throw () __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, 7770: int *__restrict __sign, char *__restrict __buf, 7770: size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); 7770: extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, 7770: int *__restrict __sign, char *__restrict __buf, 7770: size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); 7770: 7770: extern int qecvt_r (long double __value, int __ndigit, 7770: int *__restrict __decpt, int *__restrict __sign, 7770: char *__restrict __buf, size_t __len) 7770: throw () __attribute__ ((__nonnull__ (3, 4, 5))); 7770: extern int qfcvt_r (long double __value, int __ndigit, 7770: int *__restrict __decpt, int *__restrict __sign, 7770: char *__restrict __buf, size_t __len) 7770: throw () __attribute__ ((__nonnull__ (3, 4, 5))); 7770: 7770: 7770: 7770: 7770: 7770: extern int mblen (const char *__s, size_t __n) throw (); 7770: 7770: 7770: extern int mbtowc (wchar_t *__restrict __pwc, 7770: const char *__restrict __s, size_t __n) throw (); 7770: 7770: 7770: extern int wctomb (char *__s, wchar_t __wchar) throw (); 7770: 7770: 7770: 7770: extern size_t mbstowcs (wchar_t *__restrict __pwcs, 7770: const char *__restrict __s, size_t __n) throw (); 7770: 7770: extern size_t wcstombs (char *__restrict __s, 7770: const wchar_t *__restrict __pwcs, size_t __n) 7770: throw (); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int rpmatch (const char *__response) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); 7770: # 839 "/usr/include/stdlib.h" 3 4 7770: extern int getsubopt (char **__restrict __optionp, 7770: char *const *__restrict __tokens, 7770: char **__restrict __valuep) 7770: throw () __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: 7770: extern void setkey (const char *__key) throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int posix_openpt (int __oflag) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int grantpt (int __fd) throw (); 7770: 7770: 7770: 7770: extern int unlockpt (int __fd) throw (); 7770: 7770: 7770: 7770: 7770: extern char *ptsname (int __fd) throw () __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int ptsname_r (int __fd, char *__buf, size_t __buflen) 7770: throw () __attribute__ ((__nonnull__ (2))); 7770: 7770: 7770: extern int getpt (void); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int getloadavg (double __loadavg[], int __nelem) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: # 901 "/usr/include/stdlib.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/stdlib-float.h" 1 3 4 7770: # 24 "/usr/include/aarch64-linux-gnu/bits/stdlib-float.h" 3 4 7770: extern __inline __attribute__ ((__gnu_inline__)) double 7770: __attribute__ ((__leaf__)) atof (const char *__nptr) throw () 7770: { 7770: return strtod (__nptr, (char **) __null); 7770: } 7770: # 902 "/usr/include/stdlib.h" 2 3 4 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/stdlib.h" 1 3 4 7770: # 23 "/usr/include/aarch64-linux-gnu/bits/stdlib.h" 3 4 7770: extern char *__realpath_chk (const char *__restrict __name, 7770: char *__restrict __resolved, 7770: size_t __resolvedlen) throw () __attribute__ ((__warn_unused_result__)); 7770: extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) throw () __asm__ ("" "realpath") 7770: 7770: __attribute__ ((__warn_unused_result__)); 7770: extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) throw () __asm__ ("" "__realpath_chk") 7770: 7770: 7770: __attribute__ ((__warn_unused_result__)) 7770: __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer"))) 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * 7770: __attribute__ ((__leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) throw () 7770: { 7770: if (__builtin_object_size (__resolved, 2 > 1) != (size_t) -1) 7770: { 7770: 7770: 7770: 7770: 7770: return __realpath_chk (__name, __resolved, __builtin_object_size (__resolved, 2 > 1)); 7770: } 7770: 7770: return __realpath_alias (__name, __resolved); 7770: } 7770: 7770: 7770: extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen, 7770: size_t __nreal) throw () __attribute__ ((__nonnull__ (2))); 7770: extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) throw () __asm__ ("" "ptsname_r") 7770: 7770: __attribute__ ((__nonnull__ (2))); 7770: extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) throw () __asm__ ("" "__ptsname_r_chk") 7770: 7770: 7770: __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf"))) 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: __attribute__ ((__leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) throw () 7770: { 7770: if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) 7770: { 7770: if (!__builtin_constant_p (__buflen)) 7770: return __ptsname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); 7770: if (__buflen > __builtin_object_size (__buf, 2 > 1)) 7770: return __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); 7770: } 7770: return __ptsname_r_alias (__fd, __buf, __buflen); 7770: } 7770: 7770: 7770: extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen) 7770: throw () __attribute__ ((__warn_unused_result__)); 7770: extern int __wctomb_alias (char *__s, wchar_t __wchar) throw () __asm__ ("" "wctomb") 7770: __attribute__ ((__warn_unused_result__)); 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int 7770: __attribute__ ((__leaf__)) wctomb (char *__s, wchar_t __wchar) throw () 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1)) 7770: return __wctomb_chk (__s, __wchar, __builtin_object_size (__s, 2 > 1)); 7770: return __wctomb_alias (__s, __wchar); 7770: } 7770: 7770: 7770: extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, 7770: const char *__restrict __src, 7770: size_t __len, size_t __dstlen) throw (); 7770: extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) throw () __asm__ ("" "mbstowcs") 7770: 7770: 7770: ; 7770: extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) throw () __asm__ ("" "__mbstowcs_chk") 7770: 7770: 7770: 7770: __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 7770: __attribute__ ((__leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) throw () 7770: 7770: { 7770: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 7770: { 7770: if (!__builtin_constant_p (__len)) 7770: return __mbstowcs_chk (__dst, __src, __len, 7770: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 7770: 7770: if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) 7770: return __mbstowcs_chk_warn (__dst, __src, __len, 7770: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 7770: } 7770: return __mbstowcs_alias (__dst, __src, __len); 7770: } 7770: 7770: 7770: extern size_t __wcstombs_chk (char *__restrict __dst, 7770: const wchar_t *__restrict __src, 7770: size_t __len, size_t __dstlen) throw (); 7770: extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) throw () __asm__ ("" "wcstombs") 7770: 7770: 7770: ; 7770: extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) throw () __asm__ ("" "__wcstombs_chk") 7770: 7770: 7770: 7770: __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len"))); 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 7770: __attribute__ ((__leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) throw () 7770: 7770: { 7770: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 7770: { 7770: if (!__builtin_constant_p (__len)) 7770: return __wcstombs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)); 7770: if (__len > __builtin_object_size (__dst, 2 > 1)) 7770: return __wcstombs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)); 7770: } 7770: return __wcstombs_alias (__dst, __src, __len); 7770: } 7770: # 906 "/usr/include/stdlib.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: } 7770: # 76 "/usr/include/c++/8/cstdlib" 2 3 7770: 7770: # 1 "/usr/include/c++/8/bits/std_abs.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/std_abs.h" 3 7770: 7770: # 34 "/usr/include/c++/8/bits/std_abs.h" 3 7770: # 46 "/usr/include/c++/8/bits/std_abs.h" 3 7770: extern "C++" 7770: { 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: using ::abs; 7770: 7770: 7770: inline long 7770: abs(long __i) { return __builtin_labs(__i); } 7770: 7770: 7770: 7770: inline long long 7770: abs(long long __x) { return __builtin_llabs (__x); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: inline constexpr double 7770: abs(double __x) 7770: { return __builtin_fabs(__x); } 7770: 7770: inline constexpr float 7770: abs(float __x) 7770: { return __builtin_fabsf(__x); } 7770: 7770: inline constexpr long double 7770: abs(long double __x) 7770: { return __builtin_fabsl(__x); } 7770: # 106 "/usr/include/c++/8/bits/std_abs.h" 3 7770: 7770: } 7770: } 7770: # 78 "/usr/include/c++/8/cstdlib" 2 3 7770: # 118 "/usr/include/c++/8/cstdlib" 3 7770: extern "C++" 7770: { 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: using ::div_t; 7770: using ::ldiv_t; 7770: 7770: using ::abort; 7770: using ::atexit; 7770: 7770: 7770: using ::at_quick_exit; 7770: 7770: 7770: using ::atof; 7770: using ::atoi; 7770: using ::atol; 7770: using ::bsearch; 7770: using ::calloc; 7770: using ::div; 7770: using ::exit; 7770: using ::free; 7770: using ::getenv; 7770: using ::labs; 7770: using ::ldiv; 7770: using ::malloc; 7770: 7770: using ::mblen; 7770: using ::mbstowcs; 7770: using ::mbtowc; 7770: 7770: using ::qsort; 7770: 7770: 7770: using ::quick_exit; 7770: 7770: 7770: using ::rand; 7770: using ::realloc; 7770: using ::srand; 7770: using ::strtod; 7770: using ::strtol; 7770: using ::strtoul; 7770: using ::system; 7770: 7770: using ::wcstombs; 7770: using ::wctomb; 7770: 7770: 7770: 7770: inline ldiv_t 7770: div(long __i, long __j) { return ldiv(__i, __j); } 7770: 7770: 7770: 7770: 7770: } 7770: # 189 "/usr/include/c++/8/cstdlib" 3 7770: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: using ::lldiv_t; 7770: 7770: 7770: 7770: 7770: 7770: using ::_Exit; 7770: 7770: 7770: 7770: using ::llabs; 7770: 7770: inline lldiv_t 7770: div(long long __n, long long __d) 7770: { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } 7770: 7770: using ::lldiv; 7770: # 221 "/usr/include/c++/8/cstdlib" 3 7770: using ::atoll; 7770: using ::strtoll; 7770: using ::strtoull; 7770: 7770: using ::strtof; 7770: using ::strtold; 7770: 7770: 7770: } 7770: 7770: namespace std 7770: { 7770: 7770: using ::__gnu_cxx::lldiv_t; 7770: 7770: using ::__gnu_cxx::_Exit; 7770: 7770: using ::__gnu_cxx::llabs; 7770: using ::__gnu_cxx::div; 7770: using ::__gnu_cxx::lldiv; 7770: 7770: using ::__gnu_cxx::atoll; 7770: using ::__gnu_cxx::strtof; 7770: using ::__gnu_cxx::strtoll; 7770: using ::__gnu_cxx::strtoull; 7770: using ::__gnu_cxx::strtold; 7770: } 7770: 7770: 7770: 7770: } 7770: # 60 "/usr/include/c++/8/bits/stl_algo.h" 2 3 7770: # 1 "/usr/include/c++/8/bits/algorithmfwd.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/algorithmfwd.h" 3 7770: 7770: # 34 "/usr/include/c++/8/bits/algorithmfwd.h" 3 7770: # 42 "/usr/include/c++/8/bits/algorithmfwd.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 195 "/usr/include/c++/8/bits/algorithmfwd.h" 3 7770: template 7770: bool 7770: all_of(_IIter, _IIter, _Predicate); 7770: 7770: template 7770: bool 7770: any_of(_IIter, _IIter, _Predicate); 7770: 7770: 7770: template 7770: bool 7770: binary_search(_FIter, _FIter, const _Tp&); 7770: 7770: template 7770: bool 7770: binary_search(_FIter, _FIter, const _Tp&, _Compare); 7770: 7770: 7770: template 7770: constexpr 7770: const _Tp& 7770: clamp(const _Tp&, const _Tp&, const _Tp&); 7770: 7770: template 7770: constexpr 7770: const _Tp& 7770: clamp(const _Tp&, const _Tp&, const _Tp&, _Compare); 7770: 7770: 7770: template 7770: _OIter 7770: copy(_IIter, _IIter, _OIter); 7770: 7770: template 7770: _BIter2 7770: copy_backward(_BIter1, _BIter1, _BIter2); 7770: 7770: 7770: template 7770: _OIter 7770: copy_if(_IIter, _IIter, _OIter, _Predicate); 7770: 7770: template 7770: _OIter 7770: copy_n(_IIter, _Size, _OIter); 7770: 7770: 7770: 7770: 7770: 7770: template 7770: pair<_FIter, _FIter> 7770: equal_range(_FIter, _FIter, const _Tp&); 7770: 7770: template 7770: pair<_FIter, _FIter> 7770: equal_range(_FIter, _FIter, const _Tp&, _Compare); 7770: 7770: template 7770: void 7770: fill(_FIter, _FIter, const _Tp&); 7770: 7770: template 7770: _OIter 7770: fill_n(_OIter, _Size, const _Tp&); 7770: 7770: 7770: 7770: template 7770: _FIter1 7770: find_end(_FIter1, _FIter1, _FIter2, _FIter2); 7770: 7770: template 7770: _FIter1 7770: find_end(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); 7770: 7770: 7770: 7770: 7770: 7770: template 7770: _IIter 7770: find_if_not(_IIter, _IIter, _Predicate); 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: bool 7770: includes(_IIter1, _IIter1, _IIter2, _IIter2); 7770: 7770: template 7770: bool 7770: includes(_IIter1, _IIter1, _IIter2, _IIter2, _Compare); 7770: 7770: template 7770: void 7770: inplace_merge(_BIter, _BIter, _BIter); 7770: 7770: template 7770: void 7770: inplace_merge(_BIter, _BIter, _BIter, _Compare); 7770: 7770: 7770: template 7770: bool 7770: is_heap(_RAIter, _RAIter); 7770: 7770: template 7770: bool 7770: is_heap(_RAIter, _RAIter, _Compare); 7770: 7770: template 7770: _RAIter 7770: is_heap_until(_RAIter, _RAIter); 7770: 7770: template 7770: _RAIter 7770: is_heap_until(_RAIter, _RAIter, _Compare); 7770: 7770: template 7770: bool 7770: is_partitioned(_IIter, _IIter, _Predicate); 7770: 7770: template 7770: bool 7770: is_permutation(_FIter1, _FIter1, _FIter2); 7770: 7770: template 7770: bool 7770: is_permutation(_FIter1, _FIter1, _FIter2, _BinaryPredicate); 7770: 7770: template 7770: bool 7770: is_sorted(_FIter, _FIter); 7770: 7770: template 7770: bool 7770: is_sorted(_FIter, _FIter, _Compare); 7770: 7770: template 7770: _FIter 7770: is_sorted_until(_FIter, _FIter); 7770: 7770: template 7770: _FIter 7770: is_sorted_until(_FIter, _FIter, _Compare); 7770: 7770: 7770: template 7770: void 7770: iter_swap(_FIter1, _FIter2); 7770: 7770: template 7770: _FIter 7770: lower_bound(_FIter, _FIter, const _Tp&); 7770: 7770: template 7770: _FIter 7770: lower_bound(_FIter, _FIter, const _Tp&, _Compare); 7770: 7770: template 7770: void 7770: make_heap(_RAIter, _RAIter); 7770: 7770: template 7770: void 7770: make_heap(_RAIter, _RAIter, _Compare); 7770: 7770: template 7770: constexpr 7770: const _Tp& 7770: max(const _Tp&, const _Tp&); 7770: 7770: template 7770: constexpr 7770: const _Tp& 7770: max(const _Tp&, const _Tp&, _Compare); 7770: 7770: 7770: 7770: 7770: template 7770: constexpr 7770: const _Tp& 7770: min(const _Tp&, const _Tp&); 7770: 7770: template 7770: constexpr 7770: const _Tp& 7770: min(const _Tp&, const _Tp&, _Compare); 7770: 7770: 7770: 7770: 7770: template 7770: constexpr 7770: pair 7770: minmax(const _Tp&, const _Tp&); 7770: 7770: template 7770: constexpr 7770: pair 7770: minmax(const _Tp&, const _Tp&, _Compare); 7770: 7770: template 7770: constexpr 7770: pair<_FIter, _FIter> 7770: minmax_element(_FIter, _FIter); 7770: 7770: template 7770: constexpr 7770: pair<_FIter, _FIter> 7770: minmax_element(_FIter, _FIter, _Compare); 7770: 7770: template 7770: constexpr 7770: _Tp 7770: min(initializer_list<_Tp>); 7770: 7770: template 7770: constexpr 7770: _Tp 7770: min(initializer_list<_Tp>, _Compare); 7770: 7770: template 7770: constexpr 7770: _Tp 7770: max(initializer_list<_Tp>); 7770: 7770: template 7770: constexpr 7770: _Tp 7770: max(initializer_list<_Tp>, _Compare); 7770: 7770: template 7770: constexpr 7770: pair<_Tp, _Tp> 7770: minmax(initializer_list<_Tp>); 7770: 7770: template 7770: constexpr 7770: pair<_Tp, _Tp> 7770: minmax(initializer_list<_Tp>, _Compare); 7770: 7770: 7770: 7770: 7770: template 7770: bool 7770: next_permutation(_BIter, _BIter); 7770: 7770: template 7770: bool 7770: next_permutation(_BIter, _BIter, _Compare); 7770: 7770: 7770: template 7770: bool 7770: none_of(_IIter, _IIter, _Predicate); 7770: 7770: 7770: 7770: 7770: 7770: template 7770: _RAIter 7770: partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter); 7770: 7770: template 7770: _RAIter 7770: partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter, _Compare); 7770: 7770: 7770: 7770: 7770: template 7770: pair<_OIter1, _OIter2> 7770: partition_copy(_IIter, _IIter, _OIter1, _OIter2, _Predicate); 7770: 7770: template 7770: _FIter 7770: partition_point(_FIter, _FIter, _Predicate); 7770: 7770: 7770: template 7770: void 7770: pop_heap(_RAIter, _RAIter); 7770: 7770: template 7770: void 7770: pop_heap(_RAIter, _RAIter, _Compare); 7770: 7770: template 7770: bool 7770: prev_permutation(_BIter, _BIter); 7770: 7770: template 7770: bool 7770: prev_permutation(_BIter, _BIter, _Compare); 7770: 7770: template 7770: void 7770: push_heap(_RAIter, _RAIter); 7770: 7770: template 7770: void 7770: push_heap(_RAIter, _RAIter, _Compare); 7770: 7770: 7770: 7770: template 7770: _FIter 7770: remove(_FIter, _FIter, const _Tp&); 7770: 7770: template 7770: _FIter 7770: remove_if(_FIter, _FIter, _Predicate); 7770: 7770: template 7770: _OIter 7770: remove_copy(_IIter, _IIter, _OIter, const _Tp&); 7770: 7770: template 7770: _OIter 7770: remove_copy_if(_IIter, _IIter, _OIter, _Predicate); 7770: 7770: 7770: 7770: template 7770: _OIter 7770: replace_copy(_IIter, _IIter, _OIter, const _Tp&, const _Tp&); 7770: 7770: template 7770: _OIter 7770: replace_copy_if(_Iter, _Iter, _OIter, _Predicate, const _Tp&); 7770: 7770: 7770: 7770: template 7770: void 7770: reverse(_BIter, _BIter); 7770: 7770: template 7770: _OIter 7770: reverse_copy(_BIter, _BIter, _OIter); 7770: 7770: inline namespace _V2 7770: { 7770: template 7770: _FIter 7770: rotate(_FIter, _FIter, _FIter); 7770: } 7770: 7770: template 7770: _OIter 7770: rotate_copy(_FIter, _FIter, _FIter, _OIter); 7770: # 565 "/usr/include/c++/8/bits/algorithmfwd.h" 3 7770: template 7770: void 7770: shuffle(_RAIter, _RAIter, _UGenerator&&); 7770: 7770: 7770: template 7770: void 7770: sort_heap(_RAIter, _RAIter); 7770: 7770: template 7770: void 7770: sort_heap(_RAIter, _RAIter, _Compare); 7770: 7770: template 7770: _BIter 7770: stable_partition(_BIter, _BIter, _Predicate); 7770: # 594 "/usr/include/c++/8/bits/algorithmfwd.h" 3 7770: template 7770: _FIter2 7770: swap_ranges(_FIter1, _FIter1, _FIter2); 7770: 7770: 7770: 7770: template 7770: _FIter 7770: unique(_FIter, _FIter); 7770: 7770: template 7770: _FIter 7770: unique(_FIter, _FIter, _BinaryPredicate); 7770: 7770: 7770: 7770: template 7770: _FIter 7770: upper_bound(_FIter, _FIter, const _Tp&); 7770: 7770: template 7770: _FIter 7770: upper_bound(_FIter, _FIter, const _Tp&, _Compare); 7770: 7770: 7770: 7770: template 7770: _FIter 7770: adjacent_find(_FIter, _FIter); 7770: 7770: template 7770: _FIter 7770: adjacent_find(_FIter, _FIter, _BinaryPredicate); 7770: 7770: template 7770: typename iterator_traits<_IIter>::difference_type 7770: count(_IIter, _IIter, const _Tp&); 7770: 7770: template 7770: typename iterator_traits<_IIter>::difference_type 7770: count_if(_IIter, _IIter, _Predicate); 7770: 7770: template 7770: bool 7770: equal(_IIter1, _IIter1, _IIter2); 7770: 7770: template 7770: bool 7770: equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate); 7770: 7770: template 7770: _IIter 7770: find(_IIter, _IIter, const _Tp&); 7770: 7770: template 7770: _FIter1 7770: find_first_of(_FIter1, _FIter1, _FIter2, _FIter2); 7770: 7770: template 7770: _FIter1 7770: find_first_of(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); 7770: 7770: template 7770: _IIter 7770: find_if(_IIter, _IIter, _Predicate); 7770: 7770: template 7770: _Funct 7770: for_each(_IIter, _IIter, _Funct); 7770: 7770: template 7770: void 7770: generate(_FIter, _FIter, _Generator); 7770: 7770: template 7770: _OIter 7770: generate_n(_OIter, _Size, _Generator); 7770: 7770: template 7770: bool 7770: lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2); 7770: 7770: template 7770: bool 7770: lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2, _Compare); 7770: 7770: template 7770: constexpr 7770: _FIter 7770: max_element(_FIter, _FIter); 7770: 7770: template 7770: constexpr 7770: _FIter 7770: max_element(_FIter, _FIter, _Compare); 7770: 7770: template 7770: _OIter 7770: merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); 7770: 7770: template 7770: _OIter 7770: merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); 7770: 7770: template 7770: constexpr 7770: _FIter 7770: min_element(_FIter, _FIter); 7770: 7770: template 7770: constexpr 7770: _FIter 7770: min_element(_FIter, _FIter, _Compare); 7770: 7770: template 7770: pair<_IIter1, _IIter2> 7770: mismatch(_IIter1, _IIter1, _IIter2); 7770: 7770: template 7770: pair<_IIter1, _IIter2> 7770: mismatch(_IIter1, _IIter1, _IIter2, _BinaryPredicate); 7770: 7770: template 7770: void 7770: nth_element(_RAIter, _RAIter, _RAIter); 7770: 7770: template 7770: void 7770: nth_element(_RAIter, _RAIter, _RAIter, _Compare); 7770: 7770: template 7770: void 7770: partial_sort(_RAIter, _RAIter, _RAIter); 7770: 7770: template 7770: void 7770: partial_sort(_RAIter, _RAIter, _RAIter, _Compare); 7770: 7770: template 7770: _BIter 7770: partition(_BIter, _BIter, _Predicate); 7770: 7770: template 7770: void 7770: random_shuffle(_RAIter, _RAIter); 7770: 7770: template 7770: void 7770: random_shuffle(_RAIter, _RAIter, 7770: 7770: _Generator&&); 7770: 7770: 7770: 7770: 7770: template 7770: void 7770: replace(_FIter, _FIter, const _Tp&, const _Tp&); 7770: 7770: template 7770: void 7770: replace_if(_FIter, _FIter, _Predicate, const _Tp&); 7770: 7770: template 7770: _FIter1 7770: search(_FIter1, _FIter1, _FIter2, _FIter2); 7770: 7770: template 7770: _FIter1 7770: search(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); 7770: 7770: template 7770: _FIter 7770: search_n(_FIter, _FIter, _Size, const _Tp&); 7770: 7770: template 7770: _FIter 7770: search_n(_FIter, _FIter, _Size, const _Tp&, _BinaryPredicate); 7770: 7770: template 7770: _OIter 7770: set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); 7770: 7770: template 7770: _OIter 7770: set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); 7770: 7770: template 7770: _OIter 7770: set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); 7770: 7770: template 7770: _OIter 7770: set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); 7770: 7770: template 7770: _OIter 7770: set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); 7770: 7770: template 7770: _OIter 7770: set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, 7770: _OIter, _Compare); 7770: 7770: template 7770: _OIter 7770: set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); 7770: 7770: template 7770: _OIter 7770: set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); 7770: 7770: template 7770: void 7770: sort(_RAIter, _RAIter); 7770: 7770: template 7770: void 7770: sort(_RAIter, _RAIter, _Compare); 7770: 7770: template 7770: void 7770: stable_sort(_RAIter, _RAIter); 7770: 7770: template 7770: void 7770: stable_sort(_RAIter, _RAIter, _Compare); 7770: 7770: template 7770: _OIter 7770: transform(_IIter, _IIter, _OIter, _UnaryOperation); 7770: 7770: template 7770: _OIter 7770: transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation); 7770: 7770: template 7770: _OIter 7770: unique_copy(_IIter, _IIter, _OIter); 7770: 7770: template 7770: _OIter 7770: unique_copy(_IIter, _IIter, _OIter, _BinaryPredicate); 7770: 7770: 7770: 7770: } 7770: # 61 "/usr/include/c++/8/bits/stl_algo.h" 2 3 7770: # 1 "/usr/include/c++/8/bits/stl_heap.h" 1 3 7770: # 62 "/usr/include/c++/8/bits/stl_heap.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: _Distance 7770: __is_heap_until(_RandomAccessIterator __first, _Distance __n, 7770: _Compare& __comp) 7770: { 7770: _Distance __parent = 0; 7770: for (_Distance __child = 1; __child < __n; ++__child) 7770: { 7770: if (__comp(__first + __parent, __first + __child)) 7770: return __child; 7770: if ((__child & 1) == 0) 7770: ++__parent; 7770: } 7770: return __n; 7770: } 7770: 7770: 7770: 7770: template 7770: inline bool 7770: __is_heap(_RandomAccessIterator __first, _Distance __n) 7770: { 7770: __gnu_cxx::__ops::_Iter_less_iter __comp; 7770: return std::__is_heap_until(__first, __n, __comp) == __n; 7770: } 7770: 7770: template 7770: inline bool 7770: __is_heap(_RandomAccessIterator __first, _Compare __comp, _Distance __n) 7770: { 7770: typedef __decltype(__comp) _Cmp; 7770: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 7770: return std::__is_heap_until(__first, __n, __cmp) == __n; 7770: } 7770: 7770: template 7770: inline bool 7770: __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 7770: { return std::__is_heap(__first, std::distance(__first, __last)); } 7770: 7770: template 7770: inline bool 7770: __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 7770: _Compare __comp) 7770: { 7770: return std::__is_heap(__first, std::move(__comp), 7770: std::distance(__first, __last)); 7770: } 7770: 7770: 7770: 7770: 7770: template 7770: void 7770: __push_heap(_RandomAccessIterator __first, 7770: _Distance __holeIndex, _Distance __topIndex, _Tp __value, 7770: _Compare& __comp) 7770: { 7770: _Distance __parent = (__holeIndex - 1) / 2; 7770: while (__holeIndex > __topIndex && __comp(__first + __parent, __value)) 7770: { 7770: *(__first + __holeIndex) = std::move(*(__first + __parent)); 7770: __holeIndex = __parent; 7770: __parent = (__holeIndex - 1) / 2; 7770: } 7770: *(__first + __holeIndex) = std::move(__value); 7770: } 7770: # 152 "/usr/include/c++/8/bits/stl_heap.h" 3 7770: template 7770: inline void 7770: push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 7770: { 7770: typedef typename iterator_traits<_RandomAccessIterator>::value_type 7770: _ValueType; 7770: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 7770: _DistanceType; 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: 7770: __gnu_cxx::__ops::_Iter_less_val __comp; 7770: _ValueType __value = std::move(*(__last - 1)); 7770: std::__push_heap(__first, _DistanceType((__last - __first) - 1), 7770: _DistanceType(0), std::move(__value), __comp); 7770: } 7770: # 187 "/usr/include/c++/8/bits/stl_heap.h" 3 7770: template 7770: inline void 7770: push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 7770: _Compare __comp) 7770: { 7770: typedef typename iterator_traits<_RandomAccessIterator>::value_type 7770: _ValueType; 7770: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 7770: _DistanceType; 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: 7770: __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp))) 7770: __cmp(std::move(__comp)); 7770: _ValueType __value = std::move(*(__last - 1)); 7770: std::__push_heap(__first, _DistanceType((__last - __first) - 1), 7770: _DistanceType(0), std::move(__value), __cmp); 7770: } 7770: 7770: template 7770: void 7770: __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, 7770: _Distance __len, _Tp __value, _Compare __comp) 7770: { 7770: const _Distance __topIndex = __holeIndex; 7770: _Distance __secondChild = __holeIndex; 7770: while (__secondChild < (__len - 1) / 2) 7770: { 7770: __secondChild = 2 * (__secondChild + 1); 7770: if (__comp(__first + __secondChild, 7770: __first + (__secondChild - 1))) 7770: __secondChild--; 7770: *(__first + __holeIndex) = std::move(*(__first + __secondChild)); 7770: __holeIndex = __secondChild; 7770: } 7770: if ((__len & 1) == 0 && __secondChild == (__len - 2) / 2) 7770: { 7770: __secondChild = 2 * (__secondChild + 1); 7770: *(__first + __holeIndex) = std::move(*(__first + (__secondChild - 1))) 7770: ; 7770: __holeIndex = __secondChild - 1; 7770: } 7770: __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp))) 7770: __cmp(std::move(__comp)); 7770: std::__push_heap(__first, __holeIndex, __topIndex, 7770: std::move(__value), __cmp); 7770: } 7770: 7770: template 7770: inline void 7770: __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 7770: _RandomAccessIterator __result, _Compare& __comp) 7770: { 7770: typedef typename iterator_traits<_RandomAccessIterator>::value_type 7770: _ValueType; 7770: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 7770: _DistanceType; 7770: 7770: _ValueType __value = std::move(*__result); 7770: *__result = std::move(*__first); 7770: std::__adjust_heap(__first, _DistanceType(0), 7770: _DistanceType(__last - __first), 7770: std::move(__value), __comp); 7770: } 7770: # 269 "/usr/include/c++/8/bits/stl_heap.h" 3 7770: template 7770: inline void 7770: pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: ; 7770: 7770: if (__last - __first > 1) 7770: { 7770: --__last; 7770: __gnu_cxx::__ops::_Iter_less_iter __comp; 7770: std::__pop_heap(__first, __last, __last, __comp); 7770: } 7770: } 7770: # 302 "/usr/include/c++/8/bits/stl_heap.h" 3 7770: template 7770: inline void 7770: pop_heap(_RandomAccessIterator __first, 7770: _RandomAccessIterator __last, _Compare __comp) 7770: { 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: ; 7770: 7770: if (__last - __first > 1) 7770: { 7770: typedef __decltype(__comp) _Cmp; 7770: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 7770: --__last; 7770: std::__pop_heap(__first, __last, __last, __cmp); 7770: } 7770: } 7770: 7770: template 7770: void 7770: __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 7770: _Compare& __comp) 7770: { 7770: typedef typename iterator_traits<_RandomAccessIterator>::value_type 7770: _ValueType; 7770: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 7770: _DistanceType; 7770: 7770: if (__last - __first < 2) 7770: return; 7770: 7770: const _DistanceType __len = __last - __first; 7770: _DistanceType __parent = (__len - 2) / 2; 7770: while (true) 7770: { 7770: _ValueType __value = std::move(*(__first + __parent)); 7770: std::__adjust_heap(__first, __parent, __len, std::move(__value), 7770: __comp); 7770: if (__parent == 0) 7770: return; 7770: __parent--; 7770: } 7770: } 7770: # 358 "/usr/include/c++/8/bits/stl_heap.h" 3 7770: template 7770: inline void 7770: make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: __gnu_cxx::__ops::_Iter_less_iter __comp; 7770: std::__make_heap(__first, __last, __comp); 7770: } 7770: # 384 "/usr/include/c++/8/bits/stl_heap.h" 3 7770: template 7770: inline void 7770: make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 7770: _Compare __comp) 7770: { 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: typedef __decltype(__comp) _Cmp; 7770: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 7770: std::__make_heap(__first, __last, __cmp); 7770: } 7770: 7770: template 7770: void 7770: __sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 7770: _Compare& __comp) 7770: { 7770: while (__last - __first > 1) 7770: { 7770: --__last; 7770: std::__pop_heap(__first, __last, __last, __comp); 7770: } 7770: } 7770: # 420 "/usr/include/c++/8/bits/stl_heap.h" 3 7770: template 7770: inline void 7770: sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: 7770: __gnu_cxx::__ops::_Iter_less_iter __comp; 7770: std::__sort_heap(__first, __last, __comp); 7770: } 7770: # 447 "/usr/include/c++/8/bits/stl_heap.h" 3 7770: template 7770: inline void 7770: sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 7770: _Compare __comp) 7770: { 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: 7770: typedef __decltype(__comp) _Cmp; 7770: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 7770: std::__sort_heap(__first, __last, __cmp); 7770: } 7770: # 475 "/usr/include/c++/8/bits/stl_heap.h" 3 7770: template 7770: inline _RandomAccessIterator 7770: is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: __gnu_cxx::__ops::_Iter_less_iter __comp; 7770: return __first + 7770: std::__is_heap_until(__first, std::distance(__first, __last), __comp); 7770: } 7770: # 503 "/usr/include/c++/8/bits/stl_heap.h" 3 7770: template 7770: inline _RandomAccessIterator 7770: is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last, 7770: _Compare __comp) 7770: { 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: typedef __decltype(__comp) _Cmp; 7770: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 7770: return __first 7770: + std::__is_heap_until(__first, std::distance(__first, __last), __cmp); 7770: } 7770: # 527 "/usr/include/c++/8/bits/stl_heap.h" 3 7770: template 7770: inline bool 7770: is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) 7770: { return std::is_heap_until(__first, __last) == __last; } 7770: # 540 "/usr/include/c++/8/bits/stl_heap.h" 3 7770: template 7770: inline bool 7770: is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, 7770: _Compare __comp) 7770: { 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: const auto __dist = std::distance(__first, __last); 7770: typedef __decltype(__comp) _Cmp; 7770: __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); 7770: return std::__is_heap_until(__first, __dist, __cmp) == __dist; 7770: } 7770: 7770: 7770: 7770: } 7770: # 62 "/usr/include/c++/8/bits/stl_algo.h" 2 3 7770: # 1 "/usr/include/c++/8/bits/stl_tempbuf.h" 1 3 7770: # 60 "/usr/include/c++/8/bits/stl_tempbuf.h" 3 7770: # 1 "/usr/include/c++/8/bits/stl_construct.h" 1 3 7770: # 61 "/usr/include/c++/8/bits/stl_construct.h" 3 7770: # 1 "/usr/include/c++/8/ext/alloc_traits.h" 1 3 7770: # 32 "/usr/include/c++/8/ext/alloc_traits.h" 3 7770: 7770: # 33 "/usr/include/c++/8/ext/alloc_traits.h" 3 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/alloc_traits.h" 1 3 7770: # 35 "/usr/include/c++/8/bits/alloc_traits.h" 3 7770: # 1 "/usr/include/c++/8/bits/memoryfwd.h" 1 3 7770: # 46 "/usr/include/c++/8/bits/memoryfwd.h" 3 7770: 7770: # 47 "/usr/include/c++/8/bits/memoryfwd.h" 3 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 63 "/usr/include/c++/8/bits/memoryfwd.h" 3 7770: template 7770: class allocator; 7770: 7770: template<> 7770: class allocator; 7770: 7770: 7770: template 7770: struct uses_allocator; 7770: 7770: 7770: 7770: 7770: } 7770: # 36 "/usr/include/c++/8/bits/alloc_traits.h" 2 3 7770: 7770: 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: struct __allocator_traits_base 7770: { 7770: template 7770: struct __rebind : __replace_first_arg<_Tp, _Up> { }; 7770: 7770: template 7770: struct __rebind<_Tp, _Up, 7770: __void_t::other>> 7770: { using type = typename _Tp::template rebind<_Up>::other; }; 7770: 7770: protected: 7770: template 7770: using __pointer = typename _Tp::pointer; 7770: template 7770: using __c_pointer = typename _Tp::const_pointer; 7770: template 7770: using __v_pointer = typename _Tp::void_pointer; 7770: template 7770: using __cv_pointer = typename _Tp::const_void_pointer; 7770: template 7770: using __pocca = typename _Tp::propagate_on_container_copy_assignment; 7770: template 7770: using __pocma = typename _Tp::propagate_on_container_move_assignment; 7770: template 7770: using __pocs = typename _Tp::propagate_on_container_swap; 7770: template 7770: using __equal = typename _Tp::is_always_equal; 7770: }; 7770: 7770: template 7770: using __alloc_rebind 7770: = typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct allocator_traits : __allocator_traits_base 7770: { 7770: 7770: typedef _Alloc allocator_type; 7770: 7770: typedef typename _Alloc::value_type value_type; 7770: 7770: 7770: 7770: 7770: 7770: 7770: using pointer = __detected_or_t; 7770: 7770: private: 7770: 7770: template class _Func, typename _Tp, typename = void> 7770: struct _Ptr 7770: { 7770: using type = typename pointer_traits::template rebind<_Tp>; 7770: }; 7770: 7770: template class _Func, typename _Tp> 7770: struct _Ptr<_Func, _Tp, __void_t<_Func<_Alloc>>> 7770: { 7770: using type = _Func<_Alloc>; 7770: }; 7770: 7770: 7770: template 7770: struct _Diff 7770: { using type = typename pointer_traits<_PtrT>::difference_type; }; 7770: 7770: template 7770: struct _Diff<_A2, _PtrT, __void_t> 7770: { using type = typename _A2::difference_type; }; 7770: 7770: 7770: template 7770: struct _Size : make_unsigned<_DiffT> { }; 7770: 7770: template 7770: struct _Size<_A2, _DiffT, __void_t> 7770: { using type = typename _A2::size_type; }; 7770: 7770: public: 7770: 7770: 7770: 7770: 7770: 7770: 7770: using const_pointer = typename _Ptr<__c_pointer, const value_type>::type; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: using void_pointer = typename _Ptr<__v_pointer, void>::type; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: using const_void_pointer = typename _Ptr<__cv_pointer, const void>::type; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: using difference_type = typename _Diff<_Alloc, pointer>::type; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: using size_type = typename _Size<_Alloc, difference_type>::type; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: using propagate_on_container_copy_assignment 7770: = __detected_or_t; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: using propagate_on_container_move_assignment 7770: = __detected_or_t; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: using propagate_on_container_swap 7770: = __detected_or_t; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: using is_always_equal 7770: = __detected_or_t::type, __equal, _Alloc>; 7770: 7770: template 7770: using rebind_alloc = __alloc_rebind<_Alloc, _Tp>; 7770: template 7770: using rebind_traits = allocator_traits>; 7770: 7770: private: 7770: template 7770: static auto 7770: _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer __hint, int) 7770: -> decltype(__a.allocate(__n, __hint)) 7770: { return __a.allocate(__n, __hint); } 7770: 7770: template 7770: static pointer 7770: _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer, ...) 7770: { return __a.allocate(__n); } 7770: 7770: template 7770: struct __construct_helper 7770: { 7770: template()->construct( 7770: std::declval<_Tp*>(), std::declval<_Args>()...))> 7770: static true_type __test(int); 7770: 7770: template 7770: static false_type __test(...); 7770: 7770: using type = decltype(__test<_Alloc>(0)); 7770: }; 7770: 7770: template 7770: using __has_construct 7770: = typename __construct_helper<_Tp, _Args...>::type; 7770: 7770: template 7770: static _Require<__has_construct<_Tp, _Args...>> 7770: _S_construct(_Alloc& __a, _Tp* __p, _Args&&... __args) 7770: { __a.construct(__p, std::forward<_Args>(__args)...); } 7770: 7770: template 7770: static 7770: _Require<__and_<__not_<__has_construct<_Tp, _Args...>>, 7770: is_constructible<_Tp, _Args...>>> 7770: _S_construct(_Alloc&, _Tp* __p, _Args&&... __args) 7770: { ::new((void*)__p) _Tp(std::forward<_Args>(__args)...); } 7770: 7770: template 7770: static auto 7770: _S_destroy(_Alloc2& __a, _Tp* __p, int) 7770: -> decltype(__a.destroy(__p)) 7770: { __a.destroy(__p); } 7770: 7770: template 7770: static void 7770: _S_destroy(_Alloc2&, _Tp* __p, ...) 7770: { __p->~_Tp(); } 7770: 7770: template 7770: static auto 7770: _S_max_size(_Alloc2& __a, int) 7770: -> decltype(__a.max_size()) 7770: { return __a.max_size(); } 7770: 7770: template 7770: static size_type 7770: _S_max_size(_Alloc2&, ...) 7770: { 7770: 7770: 7770: return __gnu_cxx::__numeric_traits::__max 7770: / sizeof(value_type); 7770: } 7770: 7770: template 7770: static auto 7770: _S_select(_Alloc2& __a, int) 7770: -> decltype(__a.select_on_container_copy_construction()) 7770: { return __a.select_on_container_copy_construction(); } 7770: 7770: template 7770: static _Alloc2 7770: _S_select(_Alloc2& __a, ...) 7770: { return __a; } 7770: 7770: public: 7770: # 299 "/usr/include/c++/8/bits/alloc_traits.h" 3 7770: static pointer 7770: allocate(_Alloc& __a, size_type __n) 7770: { return __a.allocate(__n); } 7770: # 314 "/usr/include/c++/8/bits/alloc_traits.h" 3 7770: static pointer 7770: allocate(_Alloc& __a, size_type __n, const_void_pointer __hint) 7770: { return _S_allocate(__a, __n, __hint, 0); } 7770: # 326 "/usr/include/c++/8/bits/alloc_traits.h" 3 7770: static void 7770: deallocate(_Alloc& __a, pointer __p, size_type __n) 7770: { __a.deallocate(__p, __n); } 7770: # 341 "/usr/include/c++/8/bits/alloc_traits.h" 3 7770: template 7770: static auto construct(_Alloc& __a, _Tp* __p, _Args&&... __args) 7770: -> decltype(_S_construct(__a, __p, std::forward<_Args>(__args)...)) 7770: { _S_construct(__a, __p, std::forward<_Args>(__args)...); } 7770: # 354 "/usr/include/c++/8/bits/alloc_traits.h" 3 7770: template 7770: static void destroy(_Alloc& __a, _Tp* __p) 7770: { _S_destroy(__a, __p, 0); } 7770: # 366 "/usr/include/c++/8/bits/alloc_traits.h" 3 7770: static size_type max_size(const _Alloc& __a) noexcept 7770: { return _S_max_size(__a, 0); } 7770: # 377 "/usr/include/c++/8/bits/alloc_traits.h" 3 7770: static _Alloc 7770: select_on_container_copy_construction(const _Alloc& __rhs) 7770: { return _S_select(__rhs, 0); } 7770: }; 7770: 7770: 7770: template 7770: struct allocator_traits> 7770: { 7770: 7770: using allocator_type = allocator<_Tp>; 7770: 7770: using value_type = _Tp; 7770: 7770: 7770: using pointer = _Tp*; 7770: 7770: 7770: using const_pointer = const _Tp*; 7770: 7770: 7770: using void_pointer = void*; 7770: 7770: 7770: using const_void_pointer = const void*; 7770: 7770: 7770: using difference_type = std::ptrdiff_t; 7770: 7770: 7770: using size_type = std::size_t; 7770: 7770: 7770: using propagate_on_container_copy_assignment = false_type; 7770: 7770: 7770: using propagate_on_container_move_assignment = true_type; 7770: 7770: 7770: using propagate_on_container_swap = false_type; 7770: 7770: 7770: using is_always_equal = true_type; 7770: 7770: template 7770: using rebind_alloc = allocator<_Up>; 7770: 7770: template 7770: using rebind_traits = allocator_traits>; 7770: # 434 "/usr/include/c++/8/bits/alloc_traits.h" 3 7770: static pointer 7770: allocate(allocator_type& __a, size_type __n) 7770: { return __a.allocate(__n); } 7770: # 448 "/usr/include/c++/8/bits/alloc_traits.h" 3 7770: static pointer 7770: allocate(allocator_type& __a, size_type __n, const_void_pointer __hint) 7770: { return __a.allocate(__n, __hint); } 7770: # 460 "/usr/include/c++/8/bits/alloc_traits.h" 3 7770: static void 7770: deallocate(allocator_type& __a, pointer __p, size_type __n) 7770: { __a.deallocate(__p, __n); } 7770: # 472 "/usr/include/c++/8/bits/alloc_traits.h" 3 7770: template 7770: static void 7770: construct(allocator_type& __a, _Up* __p, _Args&&... __args) 7770: { __a.construct(__p, std::forward<_Args>(__args)...); } 7770: # 484 "/usr/include/c++/8/bits/alloc_traits.h" 3 7770: template 7770: static void 7770: destroy(allocator_type& __a, _Up* __p) 7770: { __a.destroy(__p); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: static size_type 7770: max_size(const allocator_type& __a) noexcept 7770: { return __a.max_size(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: static allocator_type 7770: select_on_container_copy_construction(const allocator_type& __rhs) 7770: { return __rhs; } 7770: }; 7770: 7770: 7770: template 7770: inline void 7770: __do_alloc_on_copy(_Alloc& __one, const _Alloc& __two, true_type) 7770: { __one = __two; } 7770: 7770: template 7770: inline void 7770: __do_alloc_on_copy(_Alloc&, const _Alloc&, false_type) 7770: { } 7770: 7770: template 7770: inline void __alloc_on_copy(_Alloc& __one, const _Alloc& __two) 7770: { 7770: typedef allocator_traits<_Alloc> __traits; 7770: typedef typename __traits::propagate_on_container_copy_assignment __pocca; 7770: __do_alloc_on_copy(__one, __two, __pocca()); 7770: } 7770: 7770: template 7770: inline _Alloc __alloc_on_copy(const _Alloc& __a) 7770: { 7770: typedef allocator_traits<_Alloc> __traits; 7770: return __traits::select_on_container_copy_construction(__a); 7770: } 7770: 7770: template 7770: inline void __do_alloc_on_move(_Alloc& __one, _Alloc& __two, true_type) 7770: { __one = std::move(__two); } 7770: 7770: template 7770: inline void __do_alloc_on_move(_Alloc&, _Alloc&, false_type) 7770: { } 7770: 7770: template 7770: inline void __alloc_on_move(_Alloc& __one, _Alloc& __two) 7770: { 7770: typedef allocator_traits<_Alloc> __traits; 7770: typedef typename __traits::propagate_on_container_move_assignment __pocma; 7770: __do_alloc_on_move(__one, __two, __pocma()); 7770: } 7770: 7770: template 7770: inline void __do_alloc_on_swap(_Alloc& __one, _Alloc& __two, true_type) 7770: { 7770: using std::swap; 7770: swap(__one, __two); 7770: } 7770: 7770: template 7770: inline void __do_alloc_on_swap(_Alloc&, _Alloc&, false_type) 7770: { } 7770: 7770: template 7770: inline void __alloc_on_swap(_Alloc& __one, _Alloc& __two) 7770: { 7770: typedef allocator_traits<_Alloc> __traits; 7770: typedef typename __traits::propagate_on_container_swap __pocs; 7770: __do_alloc_on_swap(__one, __two, __pocs()); 7770: } 7770: 7770: template 7770: class __is_copy_insertable_impl 7770: { 7770: typedef allocator_traits<_Alloc> _Traits; 7770: 7770: template(), 7770: std::declval<_Up*>(), 7770: std::declval()))> 7770: static true_type 7770: _M_select(int); 7770: 7770: template 7770: static false_type 7770: _M_select(...); 7770: 7770: public: 7770: typedef decltype(_M_select(0)) type; 7770: }; 7770: 7770: 7770: template 7770: struct __is_copy_insertable 7770: : __is_copy_insertable_impl<_Alloc>::type 7770: { }; 7770: 7770: 7770: template 7770: struct __is_copy_insertable> 7770: : is_copy_constructible<_Tp> 7770: { }; 7770: 7770: 7770: 7770: template 7770: struct __is_allocator : false_type { }; 7770: 7770: template 7770: struct __is_allocator<_Alloc, 7770: __void_t().allocate(size_t{}))>> 7770: : true_type { }; 7770: 7770: template 7770: using _RequireAllocator 7770: = typename enable_if<__is_allocator<_Alloc>::value, _Alloc>::type; 7770: 7770: 7770: 7770: } 7770: # 37 "/usr/include/c++/8/ext/alloc_traits.h" 2 3 7770: 7770: 7770: 7770: 7770: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct __alloc_traits 7770: 7770: : std::allocator_traits<_Alloc> 7770: 7770: { 7770: typedef _Alloc allocator_type; 7770: 7770: typedef std::allocator_traits<_Alloc> _Base_type; 7770: typedef typename _Base_type::value_type value_type; 7770: typedef typename _Base_type::pointer pointer; 7770: typedef typename _Base_type::const_pointer const_pointer; 7770: typedef typename _Base_type::size_type size_type; 7770: typedef typename _Base_type::difference_type difference_type; 7770: 7770: typedef value_type& reference; 7770: typedef const value_type& const_reference; 7770: using _Base_type::allocate; 7770: using _Base_type::deallocate; 7770: using _Base_type::construct; 7770: using _Base_type::destroy; 7770: using _Base_type::max_size; 7770: 7770: private: 7770: template 7770: using __is_custom_pointer 7770: = std::__and_, 7770: std::__not_>>; 7770: 7770: public: 7770: 7770: template 7770: static typename std::enable_if<__is_custom_pointer<_Ptr>::value>::type 7770: construct(_Alloc& __a, _Ptr __p, _Args&&... __args) 7770: { 7770: _Base_type::construct(__a, std::__to_address(__p), 7770: std::forward<_Args>(__args)...); 7770: } 7770: 7770: 7770: template 7770: static typename std::enable_if<__is_custom_pointer<_Ptr>::value>::type 7770: destroy(_Alloc& __a, _Ptr __p) 7770: { _Base_type::destroy(__a, std::__to_address(__p)); } 7770: 7770: static _Alloc _S_select_on_copy(const _Alloc& __a) 7770: { return _Base_type::select_on_container_copy_construction(__a); } 7770: 7770: static void _S_on_swap(_Alloc& __a, _Alloc& __b) 7770: { std::__alloc_on_swap(__a, __b); } 7770: 7770: static constexpr bool _S_propagate_on_copy_assign() 7770: { return _Base_type::propagate_on_container_copy_assignment::value; } 7770: 7770: static constexpr bool _S_propagate_on_move_assign() 7770: { return _Base_type::propagate_on_container_move_assignment::value; } 7770: 7770: static constexpr bool _S_propagate_on_swap() 7770: { return _Base_type::propagate_on_container_swap::value; } 7770: 7770: static constexpr bool _S_always_equal() 7770: { return _Base_type::is_always_equal::value; } 7770: 7770: static constexpr bool _S_nothrow_move() 7770: { return _S_propagate_on_move_assign() || _S_always_equal(); } 7770: 7770: template 7770: struct rebind 7770: { typedef typename _Base_type::template rebind_alloc<_Tp> other; }; 7770: # 158 "/usr/include/c++/8/ext/alloc_traits.h" 3 7770: }; 7770: 7770: 7770: } 7770: # 62 "/usr/include/c++/8/bits/stl_construct.h" 2 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline void 7770: _Construct(_T1* __p, _Args&&... __args) 7770: { ::new(static_cast(__p)) _T1(std::forward<_Args>(__args)...); } 7770: # 87 "/usr/include/c++/8/bits/stl_construct.h" 3 7770: template 7770: inline void 7770: _Construct_novalue(_T1* __p) 7770: { ::new(static_cast(__p)) _T1; } 7770: 7770: 7770: 7770: 7770: template 7770: inline void 7770: _Destroy(_Tp* __pointer) 7770: { __pointer->~_Tp(); } 7770: 7770: template 7770: struct _Destroy_aux 7770: { 7770: template 7770: static void 7770: __destroy(_ForwardIterator __first, _ForwardIterator __last) 7770: { 7770: for (; __first != __last; ++__first) 7770: std::_Destroy(std::__addressof(*__first)); 7770: } 7770: }; 7770: 7770: template<> 7770: struct _Destroy_aux 7770: { 7770: template 7770: static void 7770: __destroy(_ForwardIterator, _ForwardIterator) { } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline void 7770: _Destroy(_ForwardIterator __first, _ForwardIterator __last) 7770: { 7770: typedef typename iterator_traits<_ForwardIterator>::value_type 7770: _Value_type; 7770: 7770: 7770: static_assert(is_destructible<_Value_type>::value, 7770: "value type is destructible"); 7770: 7770: std::_Destroy_aux<__has_trivial_destructor(_Value_type)>:: 7770: __destroy(__first, __last); 7770: } 7770: 7770: template 7770: struct _Destroy_n_aux 7770: { 7770: template 7770: static _ForwardIterator 7770: __destroy_n(_ForwardIterator __first, _Size __count) 7770: { 7770: for (; __count > 0; (void)++__first, --__count) 7770: std::_Destroy(std::__addressof(*__first)); 7770: return __first; 7770: } 7770: }; 7770: 7770: template<> 7770: struct _Destroy_n_aux 7770: { 7770: template 7770: static _ForwardIterator 7770: __destroy_n(_ForwardIterator __first, _Size __count) 7770: { 7770: std::advance(__first, __count); 7770: return __first; 7770: } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline _ForwardIterator 7770: _Destroy_n(_ForwardIterator __first, _Size __count) 7770: { 7770: typedef typename iterator_traits<_ForwardIterator>::value_type 7770: _Value_type; 7770: 7770: 7770: static_assert(is_destructible<_Value_type>::value, 7770: "value type is destructible"); 7770: 7770: return std::_Destroy_n_aux<__has_trivial_destructor(_Value_type)>:: 7770: __destroy_n(__first, __count); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: void 7770: _Destroy(_ForwardIterator __first, _ForwardIterator __last, 7770: _Allocator& __alloc) 7770: { 7770: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 7770: for (; __first != __last; ++__first) 7770: __traits::destroy(__alloc, std::__addressof(*__first)); 7770: } 7770: 7770: template 7770: inline void 7770: _Destroy(_ForwardIterator __first, _ForwardIterator __last, 7770: allocator<_Tp>&) 7770: { 7770: _Destroy(__first, __last); 7770: } 7770: 7770: 7770: template 7770: inline void 7770: destroy_at(_Tp* __location) 7770: { 7770: std::_Destroy(__location); 7770: } 7770: 7770: template 7770: inline void 7770: destroy(_ForwardIterator __first, _ForwardIterator __last) 7770: { 7770: std::_Destroy(__first, __last); 7770: } 7770: 7770: template 7770: inline _ForwardIterator 7770: destroy_n(_ForwardIterator __first, _Size __count) 7770: { 7770: return std::_Destroy_n(__first, __count); 7770: } 7770: 7770: 7770: 7770: } 7770: # 61 "/usr/include/c++/8/bits/stl_tempbuf.h" 2 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 83 "/usr/include/c++/8/bits/stl_tempbuf.h" 3 7770: template 7770: pair<_Tp*, ptrdiff_t> 7770: get_temporary_buffer(ptrdiff_t __len) noexcept 7770: { 7770: const ptrdiff_t __max = 7770: __gnu_cxx::__numeric_traits::__max / sizeof(_Tp); 7770: if (__len > __max) 7770: __len = __max; 7770: 7770: while (__len > 0) 7770: { 7770: _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp), 7770: std::nothrow)); 7770: if (__tmp != 0) 7770: return std::pair<_Tp*, ptrdiff_t>(__tmp, __len); 7770: __len /= 2; 7770: } 7770: return std::pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0); 7770: } 7770: # 110 "/usr/include/c++/8/bits/stl_tempbuf.h" 3 7770: template 7770: inline void 7770: return_temporary_buffer(_Tp* __p) 7770: { ::operator delete(__p, std::nothrow); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: class _Temporary_buffer 7770: { 7770: 7770: 7770: 7770: public: 7770: typedef _Tp value_type; 7770: typedef value_type* pointer; 7770: typedef pointer iterator; 7770: typedef ptrdiff_t size_type; 7770: 7770: protected: 7770: size_type _M_original_len; 7770: size_type _M_len; 7770: pointer _M_buffer; 7770: 7770: public: 7770: 7770: size_type 7770: size() const 7770: { return _M_len; } 7770: 7770: 7770: size_type 7770: requested_size() const 7770: { return _M_original_len; } 7770: 7770: 7770: iterator 7770: begin() 7770: { return _M_buffer; } 7770: 7770: 7770: iterator 7770: end() 7770: { return _M_buffer + _M_len; } 7770: 7770: 7770: 7770: 7770: 7770: _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last); 7770: 7770: ~_Temporary_buffer() 7770: { 7770: std::_Destroy(_M_buffer, _M_buffer + _M_len); 7770: std::return_temporary_buffer(_M_buffer); 7770: } 7770: 7770: private: 7770: 7770: _Temporary_buffer(const _Temporary_buffer&); 7770: 7770: void 7770: operator=(const _Temporary_buffer&); 7770: }; 7770: 7770: 7770: template 7770: struct __uninitialized_construct_buf_dispatch 7770: { 7770: template 7770: static void 7770: __ucr(_Pointer __first, _Pointer __last, 7770: _ForwardIterator __seed) 7770: { 7770: if(__first == __last) 7770: return; 7770: 7770: _Pointer __cur = __first; 7770: if (true) 7770: { 7770: std::_Construct(std::__addressof(*__first), 7770: std::move(*__seed)); 7770: _Pointer __prev = __cur; 7770: ++__cur; 7770: for(; __cur != __last; ++__cur, ++__prev) 7770: std::_Construct(std::__addressof(*__cur), 7770: std::move(*__prev)); 7770: *__seed = std::move(*__prev); 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__first, __cur); 7770: ; 7770: } 7770: } 7770: }; 7770: 7770: template<> 7770: struct __uninitialized_construct_buf_dispatch 7770: { 7770: template 7770: static void 7770: __ucr(_Pointer, _Pointer, _ForwardIterator) { } 7770: }; 7770: # 229 "/usr/include/c++/8/bits/stl_tempbuf.h" 3 7770: template 7770: inline void 7770: __uninitialized_construct_buf(_Pointer __first, _Pointer __last, 7770: _ForwardIterator __seed) 7770: { 7770: typedef typename std::iterator_traits<_Pointer>::value_type 7770: _ValueType; 7770: 7770: std::__uninitialized_construct_buf_dispatch< 7770: __has_trivial_constructor(_ValueType)>:: 7770: __ucr(__first, __last, __seed); 7770: } 7770: 7770: template 7770: _Temporary_buffer<_ForwardIterator, _Tp>:: 7770: _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last) 7770: : _M_original_len(std::distance(__first, __last)), 7770: _M_len(0), _M_buffer(0) 7770: { 7770: if (true) 7770: { 7770: std::pair __p(std::get_temporary_buffer< 7770: value_type>(_M_original_len)); 7770: _M_buffer = __p.first; 7770: _M_len = __p.second; 7770: if (_M_buffer) 7770: std::__uninitialized_construct_buf(_M_buffer, _M_buffer + _M_len, 7770: __first); 7770: } 7770: if (false) 7770: { 7770: std::return_temporary_buffer(_M_buffer); 7770: _M_buffer = 0; 7770: _M_len = 0; 7770: ; 7770: } 7770: } 7770: 7770: 7770: } 7770: # 63 "/usr/include/c++/8/bits/stl_algo.h" 2 3 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/uniform_int_dist.h" 1 3 7770: # 35 "/usr/include/c++/8/bits/uniform_int_dist.h" 3 7770: # 1 "/usr/include/c++/8/limits" 1 3 7770: # 40 "/usr/include/c++/8/limits" 3 7770: 7770: # 41 "/usr/include/c++/8/limits" 3 7770: # 158 "/usr/include/c++/8/limits" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: enum float_round_style 7770: { 7770: round_indeterminate = -1, 7770: round_toward_zero = 0, 7770: round_to_nearest = 1, 7770: round_toward_infinity = 2, 7770: round_toward_neg_infinity = 3 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: enum float_denorm_style 7770: { 7770: 7770: denorm_indeterminate = -1, 7770: 7770: denorm_absent = 0, 7770: 7770: denorm_present = 1 7770: }; 7770: # 202 "/usr/include/c++/8/limits" 3 7770: struct __numeric_limits_base 7770: { 7770: 7770: 7770: static constexpr bool is_specialized = false; 7770: 7770: 7770: 7770: 7770: static constexpr int digits = 0; 7770: 7770: 7770: static constexpr int digits10 = 0; 7770: 7770: 7770: 7770: 7770: static constexpr int max_digits10 = 0; 7770: 7770: 7770: 7770: static constexpr bool is_signed = false; 7770: 7770: 7770: static constexpr bool is_integer = false; 7770: 7770: 7770: 7770: 7770: static constexpr bool is_exact = false; 7770: 7770: 7770: 7770: static constexpr int radix = 0; 7770: 7770: 7770: 7770: static constexpr int min_exponent = 0; 7770: 7770: 7770: 7770: static constexpr int min_exponent10 = 0; 7770: 7770: 7770: 7770: 7770: static constexpr int max_exponent = 0; 7770: 7770: 7770: 7770: static constexpr int max_exponent10 = 0; 7770: 7770: 7770: static constexpr bool has_infinity = false; 7770: 7770: 7770: 7770: static constexpr bool has_quiet_NaN = false; 7770: 7770: 7770: 7770: static constexpr bool has_signaling_NaN = false; 7770: 7770: 7770: static constexpr float_denorm_style has_denorm = denorm_absent; 7770: 7770: 7770: 7770: static constexpr bool has_denorm_loss = false; 7770: 7770: 7770: 7770: static constexpr bool is_iec559 = false; 7770: 7770: 7770: 7770: 7770: static constexpr bool is_bounded = false; 7770: # 288 "/usr/include/c++/8/limits" 3 7770: static constexpr bool is_modulo = false; 7770: 7770: 7770: static constexpr bool traps = false; 7770: 7770: 7770: static constexpr bool tinyness_before = false; 7770: 7770: 7770: 7770: 7770: static constexpr float_round_style round_style = 7770: round_toward_zero; 7770: }; 7770: # 311 "/usr/include/c++/8/limits" 3 7770: template 7770: struct numeric_limits : public __numeric_limits_base 7770: { 7770: 7770: 7770: static constexpr _Tp 7770: min() noexcept { return _Tp(); } 7770: 7770: 7770: static constexpr _Tp 7770: max() noexcept { return _Tp(); } 7770: 7770: 7770: 7770: 7770: static constexpr _Tp 7770: lowest() noexcept { return _Tp(); } 7770: 7770: 7770: 7770: 7770: static constexpr _Tp 7770: epsilon() noexcept { return _Tp(); } 7770: 7770: 7770: static constexpr _Tp 7770: round_error() noexcept { return _Tp(); } 7770: 7770: 7770: static constexpr _Tp 7770: infinity() noexcept { return _Tp(); } 7770: 7770: 7770: 7770: static constexpr _Tp 7770: quiet_NaN() noexcept { return _Tp(); } 7770: 7770: 7770: 7770: static constexpr _Tp 7770: signaling_NaN() noexcept { return _Tp(); } 7770: 7770: 7770: 7770: 7770: static constexpr _Tp 7770: denorm_min() noexcept { return _Tp(); } 7770: }; 7770: 7770: 7770: 7770: 7770: template 7770: struct numeric_limits 7770: : public numeric_limits<_Tp> { }; 7770: 7770: template 7770: struct numeric_limits 7770: : public numeric_limits<_Tp> { }; 7770: 7770: template 7770: struct numeric_limits 7770: : public numeric_limits<_Tp> { }; 7770: # 382 "/usr/include/c++/8/limits" 3 7770: template<> 7770: struct numeric_limits 7770: { 7770: static constexpr bool is_specialized = true; 7770: 7770: static constexpr bool 7770: min() noexcept { return false; } 7770: 7770: static constexpr bool 7770: max() noexcept { return true; } 7770: 7770: 7770: static constexpr bool 7770: lowest() noexcept { return min(); } 7770: 7770: static constexpr int digits = 1; 7770: static constexpr int digits10 = 0; 7770: 7770: static constexpr int max_digits10 = 0; 7770: 7770: static constexpr bool is_signed = false; 7770: static constexpr bool is_integer = true; 7770: static constexpr bool is_exact = true; 7770: static constexpr int radix = 2; 7770: 7770: static constexpr bool 7770: epsilon() noexcept { return false; } 7770: 7770: static constexpr bool 7770: round_error() noexcept { return false; } 7770: 7770: static constexpr int min_exponent = 0; 7770: static constexpr int min_exponent10 = 0; 7770: static constexpr int max_exponent = 0; 7770: static constexpr int max_exponent10 = 0; 7770: 7770: static constexpr bool has_infinity = false; 7770: static constexpr bool has_quiet_NaN = false; 7770: static constexpr bool has_signaling_NaN = false; 7770: static constexpr float_denorm_style has_denorm 7770: = denorm_absent; 7770: static constexpr bool has_denorm_loss = false; 7770: 7770: static constexpr bool 7770: infinity() noexcept { return false; } 7770: 7770: static constexpr bool 7770: quiet_NaN() noexcept { return false; } 7770: 7770: static constexpr bool 7770: signaling_NaN() noexcept { return false; } 7770: 7770: static constexpr bool 7770: denorm_min() noexcept { return false; } 7770: 7770: static constexpr bool is_iec559 = false; 7770: static constexpr bool is_bounded = true; 7770: static constexpr bool is_modulo = false; 7770: 7770: 7770: 7770: 7770: static constexpr bool traps = true; 7770: static constexpr bool tinyness_before = false; 7770: static constexpr float_round_style round_style 7770: = round_toward_zero; 7770: }; 7770: 7770: 7770: template<> 7770: struct numeric_limits 7770: { 7770: static constexpr bool is_specialized = true; 7770: 7770: static constexpr char 7770: 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); } 7770: 7770: static constexpr char 7770: max() noexcept { return (((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char)0); } 7770: 7770: 7770: static constexpr char 7770: lowest() noexcept { return min(); } 7770: 7770: 7770: static constexpr int digits = (sizeof(char) * 8 - ((char)(-1) < 0)); 7770: static constexpr int digits10 = ((sizeof(char) * 8 - ((char)(-1) < 0)) * 643L / 2136); 7770: 7770: static constexpr int max_digits10 = 0; 7770: 7770: static constexpr bool is_signed = ((char)(-1) < 0); 7770: static constexpr bool is_integer = true; 7770: static constexpr bool is_exact = true; 7770: static constexpr int radix = 2; 7770: 7770: static constexpr char 7770: epsilon() noexcept { return 0; } 7770: 7770: static constexpr char 7770: round_error() noexcept { return 0; } 7770: 7770: static constexpr int min_exponent = 0; 7770: static constexpr int min_exponent10 = 0; 7770: static constexpr int max_exponent = 0; 7770: static constexpr int max_exponent10 = 0; 7770: 7770: static constexpr bool has_infinity = false; 7770: static constexpr bool has_quiet_NaN = false; 7770: static constexpr bool has_signaling_NaN = false; 7770: static constexpr float_denorm_style has_denorm 7770: = denorm_absent; 7770: static constexpr bool has_denorm_loss = false; 7770: 7770: static constexpr 7770: char infinity() noexcept { return char(); } 7770: 7770: static constexpr char 7770: quiet_NaN() noexcept { return char(); } 7770: 7770: static constexpr char 7770: signaling_NaN() noexcept { return char(); } 7770: 7770: static constexpr char 7770: denorm_min() noexcept { return static_cast(0); } 7770: 7770: static constexpr bool is_iec559 = false; 7770: static constexpr bool is_bounded = true; 7770: static constexpr bool is_modulo = !is_signed; 7770: 7770: static constexpr bool traps = true; 7770: static constexpr bool tinyness_before = false; 7770: static constexpr float_round_style round_style 7770: = round_toward_zero; 7770: }; 7770: 7770: 7770: template<> 7770: struct numeric_limits 7770: { 7770: static constexpr bool is_specialized = true; 7770: 7770: static constexpr signed char 7770: min() noexcept { return -0x7f - 1; } 7770: 7770: static constexpr signed char 7770: max() noexcept { return 0x7f; } 7770: 7770: 7770: static constexpr signed char 7770: lowest() noexcept { return min(); } 7770: 7770: 7770: static constexpr int digits = (sizeof(signed char) * 8 - ((signed char)(-1) < 0)); 7770: static constexpr int digits10 7770: = ((sizeof(signed char) * 8 - ((signed char)(-1) < 0)) * 643L / 2136); 7770: 7770: static constexpr int max_digits10 = 0; 7770: 7770: static constexpr bool is_signed = true; 7770: static constexpr bool is_integer = true; 7770: static constexpr bool is_exact = true; 7770: static constexpr int radix = 2; 7770: 7770: static constexpr signed char 7770: epsilon() noexcept { return 0; } 7770: 7770: static constexpr signed char 7770: round_error() noexcept { return 0; } 7770: 7770: static constexpr int min_exponent = 0; 7770: static constexpr int min_exponent10 = 0; 7770: static constexpr int max_exponent = 0; 7770: static constexpr int max_exponent10 = 0; 7770: 7770: static constexpr bool has_infinity = false; 7770: static constexpr bool has_quiet_NaN = false; 7770: static constexpr bool has_signaling_NaN = false; 7770: static constexpr float_denorm_style has_denorm 7770: = denorm_absent; 7770: static constexpr bool has_denorm_loss = false; 7770: 7770: static constexpr signed char 7770: infinity() noexcept { return static_cast(0); } 7770: 7770: static constexpr signed char 7770: quiet_NaN() noexcept { return static_cast(0); } 7770: 7770: static constexpr signed char 7770: signaling_NaN() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr signed char 7770: denorm_min() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr bool is_iec559 = false; 7770: static constexpr bool is_bounded = true; 7770: static constexpr bool is_modulo = false; 7770: 7770: static constexpr bool traps = true; 7770: static constexpr bool tinyness_before = false; 7770: static constexpr float_round_style round_style 7770: = round_toward_zero; 7770: }; 7770: 7770: 7770: template<> 7770: struct numeric_limits 7770: { 7770: static constexpr bool is_specialized = true; 7770: 7770: static constexpr unsigned char 7770: min() noexcept { return 0; } 7770: 7770: static constexpr unsigned char 7770: max() noexcept { return 0x7f * 2U + 1; } 7770: 7770: 7770: static constexpr unsigned char 7770: lowest() noexcept { return min(); } 7770: 7770: 7770: static constexpr int digits 7770: = (sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)); 7770: static constexpr int digits10 7770: = ((sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)) * 643L / 2136); 7770: 7770: static constexpr int max_digits10 = 0; 7770: 7770: static constexpr bool is_signed = false; 7770: static constexpr bool is_integer = true; 7770: static constexpr bool is_exact = true; 7770: static constexpr int radix = 2; 7770: 7770: static constexpr unsigned char 7770: epsilon() noexcept { return 0; } 7770: 7770: static constexpr unsigned char 7770: round_error() noexcept { return 0; } 7770: 7770: static constexpr int min_exponent = 0; 7770: static constexpr int min_exponent10 = 0; 7770: static constexpr int max_exponent = 0; 7770: static constexpr int max_exponent10 = 0; 7770: 7770: static constexpr bool has_infinity = false; 7770: static constexpr bool has_quiet_NaN = false; 7770: static constexpr bool has_signaling_NaN = false; 7770: static constexpr float_denorm_style has_denorm 7770: = denorm_absent; 7770: static constexpr bool has_denorm_loss = false; 7770: 7770: static constexpr unsigned char 7770: infinity() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr unsigned char 7770: quiet_NaN() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr unsigned char 7770: signaling_NaN() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr unsigned char 7770: denorm_min() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr bool is_iec559 = false; 7770: static constexpr bool is_bounded = true; 7770: static constexpr bool is_modulo = true; 7770: 7770: static constexpr bool traps = true; 7770: static constexpr bool tinyness_before = false; 7770: static constexpr float_round_style round_style 7770: = round_toward_zero; 7770: }; 7770: 7770: 7770: template<> 7770: struct numeric_limits 7770: { 7770: static constexpr bool is_specialized = true; 7770: 7770: static constexpr wchar_t 7770: 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); } 7770: 7770: static constexpr wchar_t 7770: 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); } 7770: 7770: 7770: static constexpr wchar_t 7770: lowest() noexcept { return min(); } 7770: 7770: 7770: static constexpr int digits = (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)); 7770: static constexpr int digits10 7770: = ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) * 643L / 2136); 7770: 7770: static constexpr int max_digits10 = 0; 7770: 7770: static constexpr bool is_signed = ((wchar_t)(-1) < 0); 7770: static constexpr bool is_integer = true; 7770: static constexpr bool is_exact = true; 7770: static constexpr int radix = 2; 7770: 7770: static constexpr wchar_t 7770: epsilon() noexcept { return 0; } 7770: 7770: static constexpr wchar_t 7770: round_error() noexcept { return 0; } 7770: 7770: static constexpr int min_exponent = 0; 7770: static constexpr int min_exponent10 = 0; 7770: static constexpr int max_exponent = 0; 7770: static constexpr int max_exponent10 = 0; 7770: 7770: static constexpr bool has_infinity = false; 7770: static constexpr bool has_quiet_NaN = false; 7770: static constexpr bool has_signaling_NaN = false; 7770: static constexpr float_denorm_style has_denorm 7770: = denorm_absent; 7770: static constexpr bool has_denorm_loss = false; 7770: 7770: static constexpr wchar_t 7770: infinity() noexcept { return wchar_t(); } 7770: 7770: static constexpr wchar_t 7770: quiet_NaN() noexcept { return wchar_t(); } 7770: 7770: static constexpr wchar_t 7770: signaling_NaN() noexcept { return wchar_t(); } 7770: 7770: static constexpr wchar_t 7770: denorm_min() noexcept { return wchar_t(); } 7770: 7770: static constexpr bool is_iec559 = false; 7770: static constexpr bool is_bounded = true; 7770: static constexpr bool is_modulo = !is_signed; 7770: 7770: static constexpr bool traps = true; 7770: static constexpr bool tinyness_before = false; 7770: static constexpr float_round_style round_style 7770: = round_toward_zero; 7770: }; 7770: 7770: 7770: 7770: template<> 7770: struct numeric_limits 7770: { 7770: static constexpr bool is_specialized = true; 7770: 7770: static constexpr char16_t 7770: 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); } 7770: 7770: static constexpr char16_t 7770: 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); } 7770: 7770: static constexpr char16_t 7770: lowest() noexcept { return min(); } 7770: 7770: static constexpr int digits = (sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)); 7770: static constexpr int digits10 = ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) * 643L / 2136); 7770: static constexpr int max_digits10 = 0; 7770: static constexpr bool is_signed = ((char16_t)(-1) < 0); 7770: static constexpr bool is_integer = true; 7770: static constexpr bool is_exact = true; 7770: static constexpr int radix = 2; 7770: 7770: static constexpr char16_t 7770: epsilon() noexcept { return 0; } 7770: 7770: static constexpr char16_t 7770: round_error() noexcept { return 0; } 7770: 7770: static constexpr int min_exponent = 0; 7770: static constexpr int min_exponent10 = 0; 7770: static constexpr int max_exponent = 0; 7770: static constexpr int max_exponent10 = 0; 7770: 7770: static constexpr bool has_infinity = false; 7770: static constexpr bool has_quiet_NaN = false; 7770: static constexpr bool has_signaling_NaN = false; 7770: static constexpr float_denorm_style has_denorm = denorm_absent; 7770: static constexpr bool has_denorm_loss = false; 7770: 7770: static constexpr char16_t 7770: infinity() noexcept { return char16_t(); } 7770: 7770: static constexpr char16_t 7770: quiet_NaN() noexcept { return char16_t(); } 7770: 7770: static constexpr char16_t 7770: signaling_NaN() noexcept { return char16_t(); } 7770: 7770: static constexpr char16_t 7770: denorm_min() noexcept { return char16_t(); } 7770: 7770: static constexpr bool is_iec559 = false; 7770: static constexpr bool is_bounded = true; 7770: static constexpr bool is_modulo = !is_signed; 7770: 7770: static constexpr bool traps = true; 7770: static constexpr bool tinyness_before = false; 7770: static constexpr float_round_style round_style = round_toward_zero; 7770: }; 7770: 7770: 7770: template<> 7770: struct numeric_limits 7770: { 7770: static constexpr bool is_specialized = true; 7770: 7770: static constexpr char32_t 7770: 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); } 7770: 7770: static constexpr char32_t 7770: 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); } 7770: 7770: static constexpr char32_t 7770: lowest() noexcept { return min(); } 7770: 7770: static constexpr int digits = (sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)); 7770: static constexpr int digits10 = ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) * 643L / 2136); 7770: static constexpr int max_digits10 = 0; 7770: static constexpr bool is_signed = ((char32_t)(-1) < 0); 7770: static constexpr bool is_integer = true; 7770: static constexpr bool is_exact = true; 7770: static constexpr int radix = 2; 7770: 7770: static constexpr char32_t 7770: epsilon() noexcept { return 0; } 7770: 7770: static constexpr char32_t 7770: round_error() noexcept { return 0; } 7770: 7770: static constexpr int min_exponent = 0; 7770: static constexpr int min_exponent10 = 0; 7770: static constexpr int max_exponent = 0; 7770: static constexpr int max_exponent10 = 0; 7770: 7770: static constexpr bool has_infinity = false; 7770: static constexpr bool has_quiet_NaN = false; 7770: static constexpr bool has_signaling_NaN = false; 7770: static constexpr float_denorm_style has_denorm = denorm_absent; 7770: static constexpr bool has_denorm_loss = false; 7770: 7770: static constexpr char32_t 7770: infinity() noexcept { return char32_t(); } 7770: 7770: static constexpr char32_t 7770: quiet_NaN() noexcept { return char32_t(); } 7770: 7770: static constexpr char32_t 7770: signaling_NaN() noexcept { return char32_t(); } 7770: 7770: static constexpr char32_t 7770: denorm_min() noexcept { return char32_t(); } 7770: 7770: static constexpr bool is_iec559 = false; 7770: static constexpr bool is_bounded = true; 7770: static constexpr bool is_modulo = !is_signed; 7770: 7770: static constexpr bool traps = true; 7770: static constexpr bool tinyness_before = false; 7770: static constexpr float_round_style round_style = round_toward_zero; 7770: }; 7770: 7770: 7770: 7770: template<> 7770: struct numeric_limits 7770: { 7770: static constexpr bool is_specialized = true; 7770: 7770: static constexpr short 7770: min() noexcept { return -0x7fff - 1; } 7770: 7770: static constexpr short 7770: max() noexcept { return 0x7fff; } 7770: 7770: 7770: static constexpr short 7770: lowest() noexcept { return min(); } 7770: 7770: 7770: static constexpr int digits = (sizeof(short) * 8 - ((short)(-1) < 0)); 7770: static constexpr int digits10 = ((sizeof(short) * 8 - ((short)(-1) < 0)) * 643L / 2136); 7770: 7770: static constexpr int max_digits10 = 0; 7770: 7770: static constexpr bool is_signed = true; 7770: static constexpr bool is_integer = true; 7770: static constexpr bool is_exact = true; 7770: static constexpr int radix = 2; 7770: 7770: static constexpr short 7770: epsilon() noexcept { return 0; } 7770: 7770: static constexpr short 7770: round_error() noexcept { return 0; } 7770: 7770: static constexpr int min_exponent = 0; 7770: static constexpr int min_exponent10 = 0; 7770: static constexpr int max_exponent = 0; 7770: static constexpr int max_exponent10 = 0; 7770: 7770: static constexpr bool has_infinity = false; 7770: static constexpr bool has_quiet_NaN = false; 7770: static constexpr bool has_signaling_NaN = false; 7770: static constexpr float_denorm_style has_denorm 7770: = denorm_absent; 7770: static constexpr bool has_denorm_loss = false; 7770: 7770: static constexpr short 7770: infinity() noexcept { return short(); } 7770: 7770: static constexpr short 7770: quiet_NaN() noexcept { return short(); } 7770: 7770: static constexpr short 7770: signaling_NaN() noexcept { return short(); } 7770: 7770: static constexpr short 7770: denorm_min() noexcept { return short(); } 7770: 7770: static constexpr bool is_iec559 = false; 7770: static constexpr bool is_bounded = true; 7770: static constexpr bool is_modulo = false; 7770: 7770: static constexpr bool traps = true; 7770: static constexpr bool tinyness_before = false; 7770: static constexpr float_round_style round_style 7770: = round_toward_zero; 7770: }; 7770: 7770: 7770: template<> 7770: struct numeric_limits 7770: { 7770: static constexpr bool is_specialized = true; 7770: 7770: static constexpr unsigned short 7770: min() noexcept { return 0; } 7770: 7770: static constexpr unsigned short 7770: max() noexcept { return 0x7fff * 2U + 1; } 7770: 7770: 7770: static constexpr unsigned short 7770: lowest() noexcept { return min(); } 7770: 7770: 7770: static constexpr int digits 7770: = (sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)); 7770: static constexpr int digits10 7770: = ((sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)) * 643L / 2136); 7770: 7770: static constexpr int max_digits10 = 0; 7770: 7770: static constexpr bool is_signed = false; 7770: static constexpr bool is_integer = true; 7770: static constexpr bool is_exact = true; 7770: static constexpr int radix = 2; 7770: 7770: static constexpr unsigned short 7770: epsilon() noexcept { return 0; } 7770: 7770: static constexpr unsigned short 7770: round_error() noexcept { return 0; } 7770: 7770: static constexpr int min_exponent = 0; 7770: static constexpr int min_exponent10 = 0; 7770: static constexpr int max_exponent = 0; 7770: static constexpr int max_exponent10 = 0; 7770: 7770: static constexpr bool has_infinity = false; 7770: static constexpr bool has_quiet_NaN = false; 7770: static constexpr bool has_signaling_NaN = false; 7770: static constexpr float_denorm_style has_denorm 7770: = denorm_absent; 7770: static constexpr bool has_denorm_loss = false; 7770: 7770: static constexpr unsigned short 7770: infinity() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr unsigned short 7770: quiet_NaN() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr unsigned short 7770: signaling_NaN() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr unsigned short 7770: denorm_min() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr bool is_iec559 = false; 7770: static constexpr bool is_bounded = true; 7770: static constexpr bool is_modulo = true; 7770: 7770: static constexpr bool traps = true; 7770: static constexpr bool tinyness_before = false; 7770: static constexpr float_round_style round_style 7770: = round_toward_zero; 7770: }; 7770: 7770: 7770: template<> 7770: struct numeric_limits 7770: { 7770: static constexpr bool is_specialized = true; 7770: 7770: static constexpr int 7770: min() noexcept { return -0x7fffffff - 1; } 7770: 7770: static constexpr int 7770: max() noexcept { return 0x7fffffff; } 7770: 7770: 7770: static constexpr int 7770: lowest() noexcept { return min(); } 7770: 7770: 7770: static constexpr int digits = (sizeof(int) * 8 - ((int)(-1) < 0)); 7770: static constexpr int digits10 = ((sizeof(int) * 8 - ((int)(-1) < 0)) * 643L / 2136); 7770: 7770: static constexpr int max_digits10 = 0; 7770: 7770: static constexpr bool is_signed = true; 7770: static constexpr bool is_integer = true; 7770: static constexpr bool is_exact = true; 7770: static constexpr int radix = 2; 7770: 7770: static constexpr int 7770: epsilon() noexcept { return 0; } 7770: 7770: static constexpr int 7770: round_error() noexcept { return 0; } 7770: 7770: static constexpr int min_exponent = 0; 7770: static constexpr int min_exponent10 = 0; 7770: static constexpr int max_exponent = 0; 7770: static constexpr int max_exponent10 = 0; 7770: 7770: static constexpr bool has_infinity = false; 7770: static constexpr bool has_quiet_NaN = false; 7770: static constexpr bool has_signaling_NaN = false; 7770: static constexpr float_denorm_style has_denorm 7770: = denorm_absent; 7770: static constexpr bool has_denorm_loss = false; 7770: 7770: static constexpr int 7770: infinity() noexcept { return static_cast(0); } 7770: 7770: static constexpr int 7770: quiet_NaN() noexcept { return static_cast(0); } 7770: 7770: static constexpr int 7770: signaling_NaN() noexcept { return static_cast(0); } 7770: 7770: static constexpr int 7770: denorm_min() noexcept { return static_cast(0); } 7770: 7770: static constexpr bool is_iec559 = false; 7770: static constexpr bool is_bounded = true; 7770: static constexpr bool is_modulo = false; 7770: 7770: static constexpr bool traps = true; 7770: static constexpr bool tinyness_before = false; 7770: static constexpr float_round_style round_style 7770: = round_toward_zero; 7770: }; 7770: 7770: 7770: template<> 7770: struct numeric_limits 7770: { 7770: static constexpr bool is_specialized = true; 7770: 7770: static constexpr unsigned int 7770: min() noexcept { return 0; } 7770: 7770: static constexpr unsigned int 7770: max() noexcept { return 0x7fffffff * 2U + 1; } 7770: 7770: 7770: static constexpr unsigned int 7770: lowest() noexcept { return min(); } 7770: 7770: 7770: static constexpr int digits 7770: = (sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)); 7770: static constexpr int digits10 7770: = ((sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)) * 643L / 2136); 7770: 7770: static constexpr int max_digits10 = 0; 7770: 7770: static constexpr bool is_signed = false; 7770: static constexpr bool is_integer = true; 7770: static constexpr bool is_exact = true; 7770: static constexpr int radix = 2; 7770: 7770: static constexpr unsigned int 7770: epsilon() noexcept { return 0; } 7770: 7770: static constexpr unsigned int 7770: round_error() noexcept { return 0; } 7770: 7770: static constexpr int min_exponent = 0; 7770: static constexpr int min_exponent10 = 0; 7770: static constexpr int max_exponent = 0; 7770: static constexpr int max_exponent10 = 0; 7770: 7770: static constexpr bool has_infinity = false; 7770: static constexpr bool has_quiet_NaN = false; 7770: static constexpr bool has_signaling_NaN = false; 7770: static constexpr float_denorm_style has_denorm 7770: = denorm_absent; 7770: static constexpr bool has_denorm_loss = false; 7770: 7770: static constexpr unsigned int 7770: infinity() noexcept { return static_cast(0); } 7770: 7770: static constexpr unsigned int 7770: quiet_NaN() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr unsigned int 7770: signaling_NaN() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr unsigned int 7770: denorm_min() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr bool is_iec559 = false; 7770: static constexpr bool is_bounded = true; 7770: static constexpr bool is_modulo = true; 7770: 7770: static constexpr bool traps = true; 7770: static constexpr bool tinyness_before = false; 7770: static constexpr float_round_style round_style 7770: = round_toward_zero; 7770: }; 7770: 7770: 7770: template<> 7770: struct numeric_limits 7770: { 7770: static constexpr bool is_specialized = true; 7770: 7770: static constexpr long 7770: min() noexcept { return -0x7fffffffffffffffL - 1; } 7770: 7770: static constexpr long 7770: max() noexcept { return 0x7fffffffffffffffL; } 7770: 7770: 7770: static constexpr long 7770: lowest() noexcept { return min(); } 7770: 7770: 7770: static constexpr int digits = (sizeof(long) * 8 - ((long)(-1) < 0)); 7770: static constexpr int digits10 = ((sizeof(long) * 8 - ((long)(-1) < 0)) * 643L / 2136); 7770: 7770: static constexpr int max_digits10 = 0; 7770: 7770: static constexpr bool is_signed = true; 7770: static constexpr bool is_integer = true; 7770: static constexpr bool is_exact = true; 7770: static constexpr int radix = 2; 7770: 7770: static constexpr long 7770: epsilon() noexcept { return 0; } 7770: 7770: static constexpr long 7770: round_error() noexcept { return 0; } 7770: 7770: static constexpr int min_exponent = 0; 7770: static constexpr int min_exponent10 = 0; 7770: static constexpr int max_exponent = 0; 7770: static constexpr int max_exponent10 = 0; 7770: 7770: static constexpr bool has_infinity = false; 7770: static constexpr bool has_quiet_NaN = false; 7770: static constexpr bool has_signaling_NaN = false; 7770: static constexpr float_denorm_style has_denorm 7770: = denorm_absent; 7770: static constexpr bool has_denorm_loss = false; 7770: 7770: static constexpr long 7770: infinity() noexcept { return static_cast(0); } 7770: 7770: static constexpr long 7770: quiet_NaN() noexcept { return static_cast(0); } 7770: 7770: static constexpr long 7770: signaling_NaN() noexcept { return static_cast(0); } 7770: 7770: static constexpr long 7770: denorm_min() noexcept { return static_cast(0); } 7770: 7770: static constexpr bool is_iec559 = false; 7770: static constexpr bool is_bounded = true; 7770: static constexpr bool is_modulo = false; 7770: 7770: static constexpr bool traps = true; 7770: static constexpr bool tinyness_before = false; 7770: static constexpr float_round_style round_style 7770: = round_toward_zero; 7770: }; 7770: 7770: 7770: template<> 7770: struct numeric_limits 7770: { 7770: static constexpr bool is_specialized = true; 7770: 7770: static constexpr unsigned long 7770: min() noexcept { return 0; } 7770: 7770: static constexpr unsigned long 7770: max() noexcept { return 0x7fffffffffffffffL * 2UL + 1; } 7770: 7770: 7770: static constexpr unsigned long 7770: lowest() noexcept { return min(); } 7770: 7770: 7770: static constexpr int digits 7770: = (sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)); 7770: static constexpr int digits10 7770: = ((sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)) * 643L / 2136); 7770: 7770: static constexpr int max_digits10 = 0; 7770: 7770: static constexpr bool is_signed = false; 7770: static constexpr bool is_integer = true; 7770: static constexpr bool is_exact = true; 7770: static constexpr int radix = 2; 7770: 7770: static constexpr unsigned long 7770: epsilon() noexcept { return 0; } 7770: 7770: static constexpr unsigned long 7770: round_error() noexcept { return 0; } 7770: 7770: static constexpr int min_exponent = 0; 7770: static constexpr int min_exponent10 = 0; 7770: static constexpr int max_exponent = 0; 7770: static constexpr int max_exponent10 = 0; 7770: 7770: static constexpr bool has_infinity = false; 7770: static constexpr bool has_quiet_NaN = false; 7770: static constexpr bool has_signaling_NaN = false; 7770: static constexpr float_denorm_style has_denorm 7770: = denorm_absent; 7770: static constexpr bool has_denorm_loss = false; 7770: 7770: static constexpr unsigned long 7770: infinity() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr unsigned long 7770: quiet_NaN() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr unsigned long 7770: signaling_NaN() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr unsigned long 7770: denorm_min() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr bool is_iec559 = false; 7770: static constexpr bool is_bounded = true; 7770: static constexpr bool is_modulo = true; 7770: 7770: static constexpr bool traps = true; 7770: static constexpr bool tinyness_before = false; 7770: static constexpr float_round_style round_style 7770: = round_toward_zero; 7770: }; 7770: 7770: 7770: template<> 7770: struct numeric_limits 7770: { 7770: static constexpr bool is_specialized = true; 7770: 7770: static constexpr long long 7770: min() noexcept { return -0x7fffffffffffffffLL - 1; } 7770: 7770: static constexpr long long 7770: max() noexcept { return 0x7fffffffffffffffLL; } 7770: 7770: 7770: static constexpr long long 7770: lowest() noexcept { return min(); } 7770: 7770: 7770: static constexpr int digits 7770: = (sizeof(long long) * 8 - ((long long)(-1) < 0)); 7770: static constexpr int digits10 7770: = ((sizeof(long long) * 8 - ((long long)(-1) < 0)) * 643L / 2136); 7770: 7770: static constexpr int max_digits10 = 0; 7770: 7770: static constexpr bool is_signed = true; 7770: static constexpr bool is_integer = true; 7770: static constexpr bool is_exact = true; 7770: static constexpr int radix = 2; 7770: 7770: static constexpr long long 7770: epsilon() noexcept { return 0; } 7770: 7770: static constexpr long long 7770: round_error() noexcept { return 0; } 7770: 7770: static constexpr int min_exponent = 0; 7770: static constexpr int min_exponent10 = 0; 7770: static constexpr int max_exponent = 0; 7770: static constexpr int max_exponent10 = 0; 7770: 7770: static constexpr bool has_infinity = false; 7770: static constexpr bool has_quiet_NaN = false; 7770: static constexpr bool has_signaling_NaN = false; 7770: static constexpr float_denorm_style has_denorm 7770: = denorm_absent; 7770: static constexpr bool has_denorm_loss = false; 7770: 7770: static constexpr long long 7770: infinity() noexcept { return static_cast(0); } 7770: 7770: static constexpr long long 7770: quiet_NaN() noexcept { return static_cast(0); } 7770: 7770: static constexpr long long 7770: signaling_NaN() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr long long 7770: denorm_min() noexcept { return static_cast(0); } 7770: 7770: static constexpr bool is_iec559 = false; 7770: static constexpr bool is_bounded = true; 7770: static constexpr bool is_modulo = false; 7770: 7770: static constexpr bool traps = true; 7770: static constexpr bool tinyness_before = false; 7770: static constexpr float_round_style round_style 7770: = round_toward_zero; 7770: }; 7770: 7770: 7770: template<> 7770: struct numeric_limits 7770: { 7770: static constexpr bool is_specialized = true; 7770: 7770: static constexpr unsigned long long 7770: min() noexcept { return 0; } 7770: 7770: static constexpr unsigned long long 7770: max() noexcept { return 0x7fffffffffffffffLL * 2ULL + 1; } 7770: 7770: 7770: static constexpr unsigned long long 7770: lowest() noexcept { return min(); } 7770: 7770: 7770: static constexpr int digits 7770: = (sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)); 7770: static constexpr int digits10 7770: = ((sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)) * 643L / 2136); 7770: 7770: static constexpr int max_digits10 = 0; 7770: 7770: static constexpr bool is_signed = false; 7770: static constexpr bool is_integer = true; 7770: static constexpr bool is_exact = true; 7770: static constexpr int radix = 2; 7770: 7770: static constexpr unsigned long long 7770: epsilon() noexcept { return 0; } 7770: 7770: static constexpr unsigned long long 7770: round_error() noexcept { return 0; } 7770: 7770: static constexpr int min_exponent = 0; 7770: static constexpr int min_exponent10 = 0; 7770: static constexpr int max_exponent = 0; 7770: static constexpr int max_exponent10 = 0; 7770: 7770: static constexpr bool has_infinity = false; 7770: static constexpr bool has_quiet_NaN = false; 7770: static constexpr bool has_signaling_NaN = false; 7770: static constexpr float_denorm_style has_denorm 7770: = denorm_absent; 7770: static constexpr bool has_denorm_loss = false; 7770: 7770: static constexpr unsigned long long 7770: infinity() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr unsigned long long 7770: quiet_NaN() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr unsigned long long 7770: signaling_NaN() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr unsigned long long 7770: denorm_min() noexcept 7770: { return static_cast(0); } 7770: 7770: static constexpr bool is_iec559 = false; 7770: static constexpr bool is_bounded = true; 7770: static constexpr bool is_modulo = true; 7770: 7770: static constexpr bool traps = true; 7770: static constexpr bool tinyness_before = false; 7770: static constexpr float_round_style round_style 7770: = round_toward_zero; 7770: }; 7770: # 1593 "/usr/include/c++/8/limits" 3 7770: template<> 7770: struct numeric_limits 7770: { 7770: static constexpr bool is_specialized = true; 7770: 7770: static constexpr float 7770: min() noexcept { return 1.17549435082228750796873653722224568e-38F; } 7770: 7770: static constexpr float 7770: max() noexcept { return 3.40282346638528859811704183484516925e+38F; } 7770: 7770: 7770: static constexpr float 7770: lowest() noexcept { return -3.40282346638528859811704183484516925e+38F; } 7770: 7770: 7770: static constexpr int digits = 24; 7770: static constexpr int digits10 = 6; 7770: 7770: static constexpr int max_digits10 7770: = (2 + (24) * 643L / 2136); 7770: 7770: static constexpr bool is_signed = true; 7770: static constexpr bool is_integer = false; 7770: static constexpr bool is_exact = false; 7770: static constexpr int radix = 2; 7770: 7770: static constexpr float 7770: epsilon() noexcept { return 1.19209289550781250000000000000000000e-7F; } 7770: 7770: static constexpr float 7770: round_error() noexcept { return 0.5F; } 7770: 7770: static constexpr int min_exponent = (-125); 7770: static constexpr int min_exponent10 = (-37); 7770: static constexpr int max_exponent = 128; 7770: static constexpr int max_exponent10 = 38; 7770: 7770: static constexpr bool has_infinity = 1; 7770: static constexpr bool has_quiet_NaN = 1; 7770: static constexpr bool has_signaling_NaN = has_quiet_NaN; 7770: static constexpr float_denorm_style has_denorm 7770: = bool(1) ? denorm_present : denorm_absent; 7770: static constexpr bool has_denorm_loss 7770: = false; 7770: 7770: static constexpr float 7770: infinity() noexcept { return __builtin_huge_valf(); } 7770: 7770: static constexpr float 7770: quiet_NaN() noexcept { return __builtin_nanf(""); } 7770: 7770: static constexpr float 7770: signaling_NaN() noexcept { return __builtin_nansf(""); } 7770: 7770: static constexpr float 7770: denorm_min() noexcept { return 1.40129846432481707092372958328991613e-45F; } 7770: 7770: static constexpr bool is_iec559 7770: = has_infinity && has_quiet_NaN && has_denorm == denorm_present; 7770: static constexpr bool is_bounded = true; 7770: static constexpr bool is_modulo = false; 7770: 7770: static constexpr bool traps = false; 7770: static constexpr bool tinyness_before 7770: = false; 7770: static constexpr float_round_style round_style 7770: = round_to_nearest; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template<> 7770: struct numeric_limits 7770: { 7770: static constexpr bool is_specialized = true; 7770: 7770: static constexpr double 7770: min() noexcept { return double(2.22507385850720138309023271733240406e-308L); } 7770: 7770: static constexpr double 7770: max() noexcept { return double(1.79769313486231570814527423731704357e+308L); } 7770: 7770: 7770: static constexpr double 7770: lowest() noexcept { return -double(1.79769313486231570814527423731704357e+308L); } 7770: 7770: 7770: static constexpr int digits = 53; 7770: static constexpr int digits10 = 15; 7770: 7770: static constexpr int max_digits10 7770: = (2 + (53) * 643L / 2136); 7770: 7770: static constexpr bool is_signed = true; 7770: static constexpr bool is_integer = false; 7770: static constexpr bool is_exact = false; 7770: static constexpr int radix = 2; 7770: 7770: static constexpr double 7770: epsilon() noexcept { return double(2.22044604925031308084726333618164062e-16L); } 7770: 7770: static constexpr double 7770: round_error() noexcept { return 0.5; } 7770: 7770: static constexpr int min_exponent = (-1021); 7770: static constexpr int min_exponent10 = (-307); 7770: static constexpr int max_exponent = 1024; 7770: static constexpr int max_exponent10 = 308; 7770: 7770: static constexpr bool has_infinity = 1; 7770: static constexpr bool has_quiet_NaN = 1; 7770: static constexpr bool has_signaling_NaN = has_quiet_NaN; 7770: static constexpr float_denorm_style has_denorm 7770: = bool(1) ? denorm_present : denorm_absent; 7770: static constexpr bool has_denorm_loss 7770: = false; 7770: 7770: static constexpr double 7770: infinity() noexcept { return __builtin_huge_val(); } 7770: 7770: static constexpr double 7770: quiet_NaN() noexcept { return __builtin_nan(""); } 7770: 7770: static constexpr double 7770: signaling_NaN() noexcept { return __builtin_nans(""); } 7770: 7770: static constexpr double 7770: denorm_min() noexcept { return double(4.94065645841246544176568792868221372e-324L); } 7770: 7770: static constexpr bool is_iec559 7770: = has_infinity && has_quiet_NaN && has_denorm == denorm_present; 7770: static constexpr bool is_bounded = true; 7770: static constexpr bool is_modulo = false; 7770: 7770: static constexpr bool traps = false; 7770: static constexpr bool tinyness_before 7770: = false; 7770: static constexpr float_round_style round_style 7770: = round_to_nearest; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template<> 7770: struct numeric_limits 7770: { 7770: static constexpr bool is_specialized = true; 7770: 7770: static constexpr long double 7770: min() noexcept { return 3.36210314311209350626267781732175260e-4932L; } 7770: 7770: static constexpr long double 7770: max() noexcept { return 1.18973149535723176508575932662800702e+4932L; } 7770: 7770: 7770: static constexpr long double 7770: lowest() noexcept { return -1.18973149535723176508575932662800702e+4932L; } 7770: 7770: 7770: static constexpr int digits = 113; 7770: static constexpr int digits10 = 33; 7770: 7770: static constexpr int max_digits10 7770: = (2 + (113) * 643L / 2136); 7770: 7770: static constexpr bool is_signed = true; 7770: static constexpr bool is_integer = false; 7770: static constexpr bool is_exact = false; 7770: static constexpr int radix = 2; 7770: 7770: static constexpr long double 7770: epsilon() noexcept { return 1.92592994438723585305597794258492732e-34L; } 7770: 7770: static constexpr long double 7770: round_error() noexcept { return 0.5L; } 7770: 7770: static constexpr int min_exponent = (-16381); 7770: static constexpr int min_exponent10 = (-4931); 7770: static constexpr int max_exponent = 16384; 7770: static constexpr int max_exponent10 = 4932; 7770: 7770: static constexpr bool has_infinity = 1; 7770: static constexpr bool has_quiet_NaN = 1; 7770: static constexpr bool has_signaling_NaN = has_quiet_NaN; 7770: static constexpr float_denorm_style has_denorm 7770: = bool(1) ? denorm_present : denorm_absent; 7770: static constexpr bool has_denorm_loss 7770: = false; 7770: 7770: static constexpr long double 7770: infinity() noexcept { return __builtin_huge_vall(); } 7770: 7770: static constexpr long double 7770: quiet_NaN() noexcept { return __builtin_nanl(""); } 7770: 7770: static constexpr long double 7770: signaling_NaN() noexcept { return __builtin_nansl(""); } 7770: 7770: static constexpr long double 7770: denorm_min() noexcept { return 6.47517511943802511092443895822764655e-4966L; } 7770: 7770: static constexpr bool is_iec559 7770: = has_infinity && has_quiet_NaN && has_denorm == denorm_present; 7770: static constexpr bool is_bounded = true; 7770: static constexpr bool is_modulo = false; 7770: 7770: static constexpr bool traps = false; 7770: static constexpr bool tinyness_before = 7770: false; 7770: static constexpr float_round_style round_style = 7770: round_to_nearest; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: } 7770: # 36 "/usr/include/c++/8/bits/uniform_int_dist.h" 2 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: namespace __detail 7770: { 7770: 7770: template 7770: inline bool 7770: _Power_of_2(_Tp __x) 7770: { 7770: return ((__x - 1) & __x) == 0; 7770: } 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: class uniform_int_distribution 7770: { 7770: static_assert(std::is_integral<_IntType>::value, 7770: "template argument must be an integral type"); 7770: 7770: public: 7770: 7770: typedef _IntType result_type; 7770: 7770: struct param_type 7770: { 7770: typedef uniform_int_distribution<_IntType> distribution_type; 7770: 7770: explicit 7770: param_type(_IntType __a = 0, 7770: _IntType __b = std::numeric_limits<_IntType>::max()) 7770: : _M_a(__a), _M_b(__b) 7770: { 7770: ; 7770: } 7770: 7770: result_type 7770: a() const 7770: { return _M_a; } 7770: 7770: result_type 7770: b() const 7770: { return _M_b; } 7770: 7770: friend bool 7770: operator==(const param_type& __p1, const param_type& __p2) 7770: { return __p1._M_a == __p2._M_a && __p1._M_b == __p2._M_b; } 7770: 7770: friend bool 7770: operator!=(const param_type& __p1, const param_type& __p2) 7770: { return !(__p1 == __p2); } 7770: 7770: private: 7770: _IntType _M_a; 7770: _IntType _M_b; 7770: }; 7770: 7770: public: 7770: 7770: 7770: 7770: explicit 7770: uniform_int_distribution(_IntType __a = 0, 7770: _IntType __b = std::numeric_limits<_IntType>::max()) 7770: : _M_param(__a, __b) 7770: { } 7770: 7770: explicit 7770: uniform_int_distribution(const param_type& __p) 7770: : _M_param(__p) 7770: { } 7770: 7770: 7770: 7770: 7770: 7770: 7770: void 7770: reset() { } 7770: 7770: result_type 7770: a() const 7770: { return _M_param.a(); } 7770: 7770: result_type 7770: b() const 7770: { return _M_param.b(); } 7770: 7770: 7770: 7770: 7770: param_type 7770: param() const 7770: { return _M_param; } 7770: 7770: 7770: 7770: 7770: 7770: void 7770: param(const param_type& __param) 7770: { _M_param = __param; } 7770: 7770: 7770: 7770: 7770: result_type 7770: min() const 7770: { return this->a(); } 7770: 7770: 7770: 7770: 7770: result_type 7770: max() const 7770: { return this->b(); } 7770: 7770: 7770: 7770: 7770: template 7770: result_type 7770: operator()(_UniformRandomNumberGenerator& __urng) 7770: { return this->operator()(__urng, _M_param); } 7770: 7770: template 7770: result_type 7770: operator()(_UniformRandomNumberGenerator& __urng, 7770: const param_type& __p); 7770: 7770: template 7770: void 7770: __generate(_ForwardIterator __f, _ForwardIterator __t, 7770: _UniformRandomNumberGenerator& __urng) 7770: { this->__generate(__f, __t, __urng, _M_param); } 7770: 7770: template 7770: void 7770: __generate(_ForwardIterator __f, _ForwardIterator __t, 7770: _UniformRandomNumberGenerator& __urng, 7770: const param_type& __p) 7770: { this->__generate_impl(__f, __t, __urng, __p); } 7770: 7770: template 7770: void 7770: __generate(result_type* __f, result_type* __t, 7770: _UniformRandomNumberGenerator& __urng, 7770: const param_type& __p) 7770: { this->__generate_impl(__f, __t, __urng, __p); } 7770: 7770: 7770: 7770: 7770: 7770: friend bool 7770: operator==(const uniform_int_distribution& __d1, 7770: const uniform_int_distribution& __d2) 7770: { return __d1._M_param == __d2._M_param; } 7770: 7770: private: 7770: template 7770: void 7770: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, 7770: _UniformRandomNumberGenerator& __urng, 7770: const param_type& __p); 7770: 7770: param_type _M_param; 7770: }; 7770: 7770: template 7770: template 7770: typename uniform_int_distribution<_IntType>::result_type 7770: uniform_int_distribution<_IntType>:: 7770: operator()(_UniformRandomNumberGenerator& __urng, 7770: const param_type& __param) 7770: { 7770: typedef typename _UniformRandomNumberGenerator::result_type 7770: _Gresult_type; 7770: typedef typename std::make_unsigned::type __utype; 7770: typedef typename std::common_type<_Gresult_type, __utype>::type 7770: __uctype; 7770: 7770: const __uctype __urngmin = __urng.min(); 7770: const __uctype __urngmax = __urng.max(); 7770: const __uctype __urngrange = __urngmax - __urngmin; 7770: const __uctype __urange 7770: = __uctype(__param.b()) - __uctype(__param.a()); 7770: 7770: __uctype __ret; 7770: 7770: if (__urngrange > __urange) 7770: { 7770: 7770: const __uctype __uerange = __urange + 1; 7770: const __uctype __scaling = __urngrange / __uerange; 7770: const __uctype __past = __uerange * __scaling; 7770: do 7770: __ret = __uctype(__urng()) - __urngmin; 7770: while (__ret >= __past); 7770: __ret /= __scaling; 7770: } 7770: else if (__urngrange < __urange) 7770: { 7770: # 264 "/usr/include/c++/8/bits/uniform_int_dist.h" 3 7770: __uctype __tmp; 7770: do 7770: { 7770: const __uctype __uerngrange = __urngrange + 1; 7770: __tmp = (__uerngrange * operator() 7770: (__urng, param_type(0, __urange / __uerngrange))); 7770: __ret = __tmp + (__uctype(__urng()) - __urngmin); 7770: } 7770: while (__ret > __urange || __ret < __tmp); 7770: } 7770: else 7770: __ret = __uctype(__urng()) - __urngmin; 7770: 7770: return __ret + __param.a(); 7770: } 7770: 7770: 7770: template 7770: template 7770: void 7770: uniform_int_distribution<_IntType>:: 7770: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, 7770: _UniformRandomNumberGenerator& __urng, 7770: const param_type& __param) 7770: { 7770: 7770: typedef typename _UniformRandomNumberGenerator::result_type 7770: _Gresult_type; 7770: typedef typename std::make_unsigned::type __utype; 7770: typedef typename std::common_type<_Gresult_type, __utype>::type 7770: __uctype; 7770: 7770: const __uctype __urngmin = __urng.min(); 7770: const __uctype __urngmax = __urng.max(); 7770: const __uctype __urngrange = __urngmax - __urngmin; 7770: const __uctype __urange 7770: = __uctype(__param.b()) - __uctype(__param.a()); 7770: 7770: __uctype __ret; 7770: 7770: if (__urngrange > __urange) 7770: { 7770: if (__detail::_Power_of_2(__urngrange + 1) 7770: && __detail::_Power_of_2(__urange + 1)) 7770: { 7770: while (__f != __t) 7770: { 7770: __ret = __uctype(__urng()) - __urngmin; 7770: *__f++ = (__ret & __urange) + __param.a(); 7770: } 7770: } 7770: else 7770: { 7770: 7770: const __uctype __uerange = __urange + 1; 7770: const __uctype __scaling = __urngrange / __uerange; 7770: const __uctype __past = __uerange * __scaling; 7770: while (__f != __t) 7770: { 7770: do 7770: __ret = __uctype(__urng()) - __urngmin; 7770: while (__ret >= __past); 7770: *__f++ = __ret / __scaling + __param.a(); 7770: } 7770: } 7770: } 7770: else if (__urngrange < __urange) 7770: { 7770: # 348 "/usr/include/c++/8/bits/uniform_int_dist.h" 3 7770: __uctype __tmp; 7770: while (__f != __t) 7770: { 7770: do 7770: { 7770: const __uctype __uerngrange = __urngrange + 1; 7770: __tmp = (__uerngrange * operator() 7770: (__urng, param_type(0, __urange / __uerngrange))); 7770: __ret = __tmp + (__uctype(__urng()) - __urngmin); 7770: } 7770: while (__ret > __urange || __ret < __tmp); 7770: *__f++ = __ret; 7770: } 7770: } 7770: else 7770: while (__f != __t) 7770: *__f++ = __uctype(__urng()) - __urngmin + __param.a(); 7770: } 7770: 7770: 7770: 7770: 7770: } 7770: # 67 "/usr/include/c++/8/bits/stl_algo.h" 2 3 7770: 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: template 7770: void 7770: __move_median_to_first(_Iterator __result,_Iterator __a, _Iterator __b, 7770: _Iterator __c, _Compare __comp) 7770: { 7770: if (__comp(__a, __b)) 7770: { 7770: if (__comp(__b, __c)) 7770: std::iter_swap(__result, __b); 7770: else if (__comp(__a, __c)) 7770: std::iter_swap(__result, __c); 7770: else 7770: std::iter_swap(__result, __a); 7770: } 7770: else if (__comp(__a, __c)) 7770: std::iter_swap(__result, __a); 7770: else if (__comp(__b, __c)) 7770: std::iter_swap(__result, __c); 7770: else 7770: std::iter_swap(__result, __b); 7770: } 7770: 7770: 7770: template 7770: inline _InputIterator 7770: __find_if(_InputIterator __first, _InputIterator __last, 7770: _Predicate __pred, input_iterator_tag) 7770: { 7770: while (__first != __last && !__pred(__first)) 7770: ++__first; 7770: return __first; 7770: } 7770: 7770: 7770: template 7770: _RandomAccessIterator 7770: __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last, 7770: _Predicate __pred, random_access_iterator_tag) 7770: { 7770: typename iterator_traits<_RandomAccessIterator>::difference_type 7770: __trip_count = (__last - __first) >> 2; 7770: 7770: for (; __trip_count > 0; --__trip_count) 7770: { 7770: if (__pred(__first)) 7770: return __first; 7770: ++__first; 7770: 7770: if (__pred(__first)) 7770: return __first; 7770: ++__first; 7770: 7770: if (__pred(__first)) 7770: return __first; 7770: ++__first; 7770: 7770: if (__pred(__first)) 7770: return __first; 7770: ++__first; 7770: } 7770: 7770: switch (__last - __first) 7770: { 7770: case 3: 7770: if (__pred(__first)) 7770: return __first; 7770: ++__first; 7770: case 2: 7770: if (__pred(__first)) 7770: return __first; 7770: ++__first; 7770: case 1: 7770: if (__pred(__first)) 7770: return __first; 7770: ++__first; 7770: case 0: 7770: default: 7770: return __last; 7770: } 7770: } 7770: 7770: template 7770: inline _Iterator 7770: __find_if(_Iterator __first, _Iterator __last, _Predicate __pred) 7770: { 7770: return __find_if(__first, __last, __pred, 7770: std::__iterator_category(__first)); 7770: } 7770: 7770: 7770: template 7770: inline _InputIterator 7770: __find_if_not(_InputIterator __first, _InputIterator __last, 7770: _Predicate __pred) 7770: { 7770: return std::__find_if(__first, __last, 7770: __gnu_cxx::__ops::__negate(__pred), 7770: std::__iterator_category(__first)); 7770: } 7770: 7770: 7770: 7770: 7770: template 7770: _InputIterator 7770: __find_if_not_n(_InputIterator __first, _Distance& __len, _Predicate __pred) 7770: { 7770: for (; __len; --__len, (void) ++__first) 7770: if (!__pred(__first)) 7770: break; 7770: return __first; 7770: } 7770: # 202 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: _ForwardIterator1 7770: __search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 7770: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 7770: _BinaryPredicate __predicate) 7770: { 7770: 7770: if (__first1 == __last1 || __first2 == __last2) 7770: return __first1; 7770: 7770: 7770: _ForwardIterator2 __p1(__first2); 7770: if (++__p1 == __last2) 7770: return std::__find_if(__first1, __last1, 7770: __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2)); 7770: 7770: 7770: _ForwardIterator2 __p; 7770: _ForwardIterator1 __current = __first1; 7770: 7770: for (;;) 7770: { 7770: __first1 = 7770: std::__find_if(__first1, __last1, 7770: __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2)); 7770: 7770: if (__first1 == __last1) 7770: return __last1; 7770: 7770: __p = __p1; 7770: __current = __first1; 7770: if (++__current == __last1) 7770: return __last1; 7770: 7770: while (__predicate(__current, __p)) 7770: { 7770: if (++__p == __last2) 7770: return __first1; 7770: if (++__current == __last1) 7770: return __last1; 7770: } 7770: ++__first1; 7770: } 7770: return __first1; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: _ForwardIterator 7770: __search_n_aux(_ForwardIterator __first, _ForwardIterator __last, 7770: _Integer __count, _UnaryPredicate __unary_pred, 7770: std::forward_iterator_tag) 7770: { 7770: __first = std::__find_if(__first, __last, __unary_pred); 7770: while (__first != __last) 7770: { 7770: typename iterator_traits<_ForwardIterator>::difference_type 7770: __n = __count; 7770: _ForwardIterator __i = __first; 7770: ++__i; 7770: while (__i != __last && __n != 1 && __unary_pred(__i)) 7770: { 7770: ++__i; 7770: --__n; 7770: } 7770: if (__n == 1) 7770: return __first; 7770: if (__i == __last) 7770: return __last; 7770: __first = std::__find_if(++__i, __last, __unary_pred); 7770: } 7770: return __last; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: _RandomAccessIter 7770: __search_n_aux(_RandomAccessIter __first, _RandomAccessIter __last, 7770: _Integer __count, _UnaryPredicate __unary_pred, 7770: std::random_access_iterator_tag) 7770: { 7770: typedef typename std::iterator_traits<_RandomAccessIter>::difference_type 7770: _DistanceType; 7770: 7770: _DistanceType __tailSize = __last - __first; 7770: _DistanceType __remainder = __count; 7770: 7770: while (__remainder <= __tailSize) 7770: { 7770: __first += __remainder; 7770: __tailSize -= __remainder; 7770: 7770: 7770: _RandomAccessIter __backTrack = __first; 7770: while (__unary_pred(--__backTrack)) 7770: { 7770: if (--__remainder == 0) 7770: return (__first - __count); 7770: } 7770: __remainder = __count + 1 - (__first - __backTrack); 7770: } 7770: return __last; 7770: } 7770: 7770: template 7770: _ForwardIterator 7770: __search_n(_ForwardIterator __first, _ForwardIterator __last, 7770: _Integer __count, 7770: _UnaryPredicate __unary_pred) 7770: { 7770: if (__count <= 0) 7770: return __first; 7770: 7770: if (__count == 1) 7770: return std::__find_if(__first, __last, __unary_pred); 7770: 7770: return std::__search_n_aux(__first, __last, __count, __unary_pred, 7770: std::__iterator_category(__first)); 7770: } 7770: 7770: 7770: template 7770: _ForwardIterator1 7770: __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 7770: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 7770: forward_iterator_tag, forward_iterator_tag, 7770: _BinaryPredicate __comp) 7770: { 7770: if (__first2 == __last2) 7770: return __last1; 7770: 7770: _ForwardIterator1 __result = __last1; 7770: while (1) 7770: { 7770: _ForwardIterator1 __new_result 7770: = std::__search(__first1, __last1, __first2, __last2, __comp); 7770: if (__new_result == __last1) 7770: return __result; 7770: else 7770: { 7770: __result = __new_result; 7770: __first1 = __new_result; 7770: ++__first1; 7770: } 7770: } 7770: } 7770: 7770: 7770: template 7770: _BidirectionalIterator1 7770: __find_end(_BidirectionalIterator1 __first1, 7770: _BidirectionalIterator1 __last1, 7770: _BidirectionalIterator2 __first2, 7770: _BidirectionalIterator2 __last2, 7770: bidirectional_iterator_tag, bidirectional_iterator_tag, 7770: _BinaryPredicate __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1; 7770: typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2; 7770: 7770: _RevIterator1 __rlast1(__first1); 7770: _RevIterator2 __rlast2(__first2); 7770: _RevIterator1 __rresult = std::__search(_RevIterator1(__last1), __rlast1, 7770: _RevIterator2(__last2), __rlast2, 7770: __comp); 7770: 7770: if (__rresult == __rlast1) 7770: return __last1; 7770: else 7770: { 7770: _BidirectionalIterator1 __result = __rresult.base(); 7770: std::advance(__result, -std::distance(__first2, __last2)); 7770: return __result; 7770: } 7770: } 7770: # 423 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator1 7770: find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 7770: _ForwardIterator2 __first2, _ForwardIterator2 __last2) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__find_end(__first1, __last1, __first2, __last2, 7770: std::__iterator_category(__first1), 7770: std::__iterator_category(__first2), 7770: __gnu_cxx::__ops::__iter_equal_to_iter()); 7770: } 7770: # 471 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator1 7770: find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 7770: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 7770: _BinaryPredicate __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__find_end(__first1, __last1, __first2, __last2, 7770: std::__iterator_category(__first1), 7770: std::__iterator_category(__first2), 7770: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 7770: } 7770: # 506 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline bool 7770: all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) 7770: { return __last == std::find_if_not(__first, __last, __pred); } 7770: # 523 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline bool 7770: none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) 7770: { return __last == std::find_if(__first, __last, __pred); } 7770: # 541 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline bool 7770: any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) 7770: { return !std::none_of(__first, __last, __pred); } 7770: # 556 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _InputIterator 7770: find_if_not(_InputIterator __first, _InputIterator __last, 7770: _Predicate __pred) 7770: { 7770: 7770: 7770: 7770: 7770: ; 7770: return std::__find_if_not(__first, __last, 7770: __gnu_cxx::__ops::__pred_iter(__pred)); 7770: } 7770: # 580 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline bool 7770: is_partitioned(_InputIterator __first, _InputIterator __last, 7770: _Predicate __pred) 7770: { 7770: __first = std::find_if_not(__first, __last, __pred); 7770: if (__first == __last) 7770: return true; 7770: ++__first; 7770: return std::none_of(__first, __last, __pred); 7770: } 7770: # 601 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: _ForwardIterator 7770: partition_point(_ForwardIterator __first, _ForwardIterator __last, 7770: _Predicate __pred) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: typedef typename iterator_traits<_ForwardIterator>::difference_type 7770: _DistanceType; 7770: 7770: _DistanceType __len = std::distance(__first, __last); 7770: _DistanceType __half; 7770: _ForwardIterator __middle; 7770: 7770: while (__len > 0) 7770: { 7770: __half = __len >> 1; 7770: __middle = __first; 7770: std::advance(__middle, __half); 7770: if (__pred(*__middle)) 7770: { 7770: __first = __middle; 7770: ++__first; 7770: __len = __len - __half - 1; 7770: } 7770: else 7770: __len = __half; 7770: } 7770: return __first; 7770: } 7770: 7770: 7770: template 7770: _OutputIterator 7770: __remove_copy_if(_InputIterator __first, _InputIterator __last, 7770: _OutputIterator __result, _Predicate __pred) 7770: { 7770: for (; __first != __last; ++__first) 7770: if (!__pred(__first)) 7770: { 7770: *__result = *__first; 7770: ++__result; 7770: } 7770: return __result; 7770: } 7770: # 668 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _OutputIterator 7770: remove_copy(_InputIterator __first, _InputIterator __last, 7770: _OutputIterator __result, const _Tp& __value) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__remove_copy_if(__first, __last, __result, 7770: __gnu_cxx::__ops::__iter_equals_val(__value)); 7770: } 7770: # 700 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _OutputIterator 7770: remove_copy_if(_InputIterator __first, _InputIterator __last, 7770: _OutputIterator __result, _Predicate __pred) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__remove_copy_if(__first, __last, __result, 7770: __gnu_cxx::__ops::__pred_iter(__pred)); 7770: } 7770: # 734 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: _OutputIterator 7770: copy_if(_InputIterator __first, _InputIterator __last, 7770: _OutputIterator __result, _Predicate __pred) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: for (; __first != __last; ++__first) 7770: if (__pred(*__first)) 7770: { 7770: *__result = *__first; 7770: ++__result; 7770: } 7770: return __result; 7770: } 7770: 7770: template 7770: _OutputIterator 7770: __copy_n(_InputIterator __first, _Size __n, 7770: _OutputIterator __result, input_iterator_tag) 7770: { 7770: if (__n > 0) 7770: { 7770: while (true) 7770: { 7770: *__result = *__first; 7770: ++__result; 7770: if (--__n > 0) 7770: ++__first; 7770: else 7770: break; 7770: } 7770: } 7770: return __result; 7770: } 7770: 7770: template 7770: inline _OutputIterator 7770: __copy_n(_RandomAccessIterator __first, _Size __n, 7770: _OutputIterator __result, random_access_iterator_tag) 7770: { return std::copy(__first, __first + __n, __result); } 7770: # 797 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _OutputIterator 7770: copy_n(_InputIterator __first, _Size __n, _OutputIterator __result) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: return std::__copy_n(__first, __n, __result, 7770: std::__iterator_category(__first)); 7770: } 7770: # 825 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: pair<_OutputIterator1, _OutputIterator2> 7770: partition_copy(_InputIterator __first, _InputIterator __last, 7770: _OutputIterator1 __out_true, _OutputIterator2 __out_false, 7770: _Predicate __pred) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: for (; __first != __last; ++__first) 7770: if (__pred(*__first)) 7770: { 7770: *__out_true = *__first; 7770: ++__out_true; 7770: } 7770: else 7770: { 7770: *__out_false = *__first; 7770: ++__out_false; 7770: } 7770: 7770: return pair<_OutputIterator1, _OutputIterator2>(__out_true, __out_false); 7770: } 7770: 7770: 7770: template 7770: _ForwardIterator 7770: __remove_if(_ForwardIterator __first, _ForwardIterator __last, 7770: _Predicate __pred) 7770: { 7770: __first = std::__find_if(__first, __last, __pred); 7770: if (__first == __last) 7770: return __first; 7770: _ForwardIterator __result = __first; 7770: ++__first; 7770: for (; __first != __last; ++__first) 7770: if (!__pred(__first)) 7770: { 7770: *__result = std::move(*__first); 7770: ++__result; 7770: } 7770: return __result; 7770: } 7770: # 894 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator 7770: remove(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Tp& __value) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__remove_if(__first, __last, 7770: __gnu_cxx::__ops::__iter_equals_val(__value)); 7770: } 7770: # 927 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator 7770: remove_if(_ForwardIterator __first, _ForwardIterator __last, 7770: _Predicate __pred) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__remove_if(__first, __last, 7770: __gnu_cxx::__ops::__pred_iter(__pred)); 7770: } 7770: 7770: template 7770: _ForwardIterator 7770: __adjacent_find(_ForwardIterator __first, _ForwardIterator __last, 7770: _BinaryPredicate __binary_pred) 7770: { 7770: if (__first == __last) 7770: return __last; 7770: _ForwardIterator __next = __first; 7770: while (++__next != __last) 7770: { 7770: if (__binary_pred(__first, __next)) 7770: return __first; 7770: __first = __next; 7770: } 7770: return __last; 7770: } 7770: 7770: template 7770: _ForwardIterator 7770: __unique(_ForwardIterator __first, _ForwardIterator __last, 7770: _BinaryPredicate __binary_pred) 7770: { 7770: 7770: __first = std::__adjacent_find(__first, __last, __binary_pred); 7770: if (__first == __last) 7770: return __last; 7770: 7770: 7770: _ForwardIterator __dest = __first; 7770: ++__first; 7770: while (++__first != __last) 7770: if (!__binary_pred(__dest, __first)) 7770: *++__dest = std::move(*__first); 7770: return ++__dest; 7770: } 7770: # 993 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator 7770: unique(_ForwardIterator __first, _ForwardIterator __last) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__unique(__first, __last, 7770: __gnu_cxx::__ops::__iter_equal_to_iter()); 7770: } 7770: # 1023 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator 7770: unique(_ForwardIterator __first, _ForwardIterator __last, 7770: _BinaryPredicate __binary_pred) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__unique(__first, __last, 7770: __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: _OutputIterator 7770: __unique_copy(_ForwardIterator __first, _ForwardIterator __last, 7770: _OutputIterator __result, _BinaryPredicate __binary_pred, 7770: forward_iterator_tag, output_iterator_tag) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: _ForwardIterator __next = __first; 7770: *__result = *__first; 7770: while (++__next != __last) 7770: if (!__binary_pred(__first, __next)) 7770: { 7770: __first = __next; 7770: *++__result = *__first; 7770: } 7770: return ++__result; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: _OutputIterator 7770: __unique_copy(_InputIterator __first, _InputIterator __last, 7770: _OutputIterator __result, _BinaryPredicate __binary_pred, 7770: input_iterator_tag, output_iterator_tag) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: typename iterator_traits<_InputIterator>::value_type __value = *__first; 7770: __decltype(__gnu_cxx::__ops::__iter_comp_val(__binary_pred)) 7770: __rebound_pred 7770: = __gnu_cxx::__ops::__iter_comp_val(__binary_pred); 7770: *__result = __value; 7770: while (++__first != __last) 7770: if (!__rebound_pred(__first, __value)) 7770: { 7770: __value = *__first; 7770: *++__result = __value; 7770: } 7770: return ++__result; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: _ForwardIterator 7770: __unique_copy(_InputIterator __first, _InputIterator __last, 7770: _ForwardIterator __result, _BinaryPredicate __binary_pred, 7770: input_iterator_tag, forward_iterator_tag) 7770: { 7770: 7770: 7770: 7770: 7770: *__result = *__first; 7770: while (++__first != __last) 7770: if (!__binary_pred(__result, __first)) 7770: *++__result = *__first; 7770: return ++__result; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: void 7770: __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last, 7770: bidirectional_iterator_tag) 7770: { 7770: while (true) 7770: if (__first == __last || __first == --__last) 7770: return; 7770: else 7770: { 7770: std::iter_swap(__first, __last); 7770: ++__first; 7770: } 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: void 7770: __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last, 7770: random_access_iterator_tag) 7770: { 7770: if (__first == __last) 7770: return; 7770: --__last; 7770: while (__first < __last) 7770: { 7770: std::iter_swap(__first, __last); 7770: ++__first; 7770: --__last; 7770: } 7770: } 7770: # 1178 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline void 7770: reverse(_BidirectionalIterator __first, _BidirectionalIterator __last) 7770: { 7770: 7770: 7770: 7770: ; 7770: std::__reverse(__first, __last, std::__iterator_category(__first)); 7770: } 7770: # 1205 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: _OutputIterator 7770: reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last, 7770: _OutputIterator __result) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: while (__first != __last) 7770: { 7770: --__last; 7770: *__result = *__last; 7770: ++__result; 7770: } 7770: return __result; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: _EuclideanRingElement 7770: __gcd(_EuclideanRingElement __m, _EuclideanRingElement __n) 7770: { 7770: while (__n != 0) 7770: { 7770: _EuclideanRingElement __t = __m % __n; 7770: __m = __n; 7770: __n = __t; 7770: } 7770: return __m; 7770: } 7770: 7770: inline namespace _V2 7770: { 7770: 7770: 7770: template 7770: _ForwardIterator 7770: __rotate(_ForwardIterator __first, 7770: _ForwardIterator __middle, 7770: _ForwardIterator __last, 7770: forward_iterator_tag) 7770: { 7770: if (__first == __middle) 7770: return __last; 7770: else if (__last == __middle) 7770: return __first; 7770: 7770: _ForwardIterator __first2 = __middle; 7770: do 7770: { 7770: std::iter_swap(__first, __first2); 7770: ++__first; 7770: ++__first2; 7770: if (__first == __middle) 7770: __middle = __first2; 7770: } 7770: while (__first2 != __last); 7770: 7770: _ForwardIterator __ret = __first; 7770: 7770: __first2 = __middle; 7770: 7770: while (__first2 != __last) 7770: { 7770: std::iter_swap(__first, __first2); 7770: ++__first; 7770: ++__first2; 7770: if (__first == __middle) 7770: __middle = __first2; 7770: else if (__first2 == __last) 7770: __first2 = __middle; 7770: } 7770: return __ret; 7770: } 7770: 7770: 7770: template 7770: _BidirectionalIterator 7770: __rotate(_BidirectionalIterator __first, 7770: _BidirectionalIterator __middle, 7770: _BidirectionalIterator __last, 7770: bidirectional_iterator_tag) 7770: { 7770: 7770: 7770: 7770: 7770: if (__first == __middle) 7770: return __last; 7770: else if (__last == __middle) 7770: return __first; 7770: 7770: std::__reverse(__first, __middle, bidirectional_iterator_tag()); 7770: std::__reverse(__middle, __last, bidirectional_iterator_tag()); 7770: 7770: while (__first != __middle && __middle != __last) 7770: { 7770: std::iter_swap(__first, --__last); 7770: ++__first; 7770: } 7770: 7770: if (__first == __middle) 7770: { 7770: std::__reverse(__middle, __last, bidirectional_iterator_tag()); 7770: return __last; 7770: } 7770: else 7770: { 7770: std::__reverse(__first, __middle, bidirectional_iterator_tag()); 7770: return __first; 7770: } 7770: } 7770: 7770: 7770: template 7770: _RandomAccessIterator 7770: __rotate(_RandomAccessIterator __first, 7770: _RandomAccessIterator __middle, 7770: _RandomAccessIterator __last, 7770: random_access_iterator_tag) 7770: { 7770: 7770: 7770: 7770: 7770: if (__first == __middle) 7770: return __last; 7770: else if (__last == __middle) 7770: return __first; 7770: 7770: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 7770: _Distance; 7770: typedef typename iterator_traits<_RandomAccessIterator>::value_type 7770: _ValueType; 7770: 7770: _Distance __n = __last - __first; 7770: _Distance __k = __middle - __first; 7770: 7770: if (__k == __n - __k) 7770: { 7770: std::swap_ranges(__first, __middle, __middle); 7770: return __middle; 7770: } 7770: 7770: _RandomAccessIterator __p = __first; 7770: _RandomAccessIterator __ret = __first + (__last - __middle); 7770: 7770: for (;;) 7770: { 7770: if (__k < __n - __k) 7770: { 7770: if (__is_pod(_ValueType) && __k == 1) 7770: { 7770: _ValueType __t = std::move(*__p); 7770: std::move(__p + 1, __p + __n, __p); 7770: *(__p + __n - 1) = std::move(__t); 7770: return __ret; 7770: } 7770: _RandomAccessIterator __q = __p + __k; 7770: for (_Distance __i = 0; __i < __n - __k; ++ __i) 7770: { 7770: std::iter_swap(__p, __q); 7770: ++__p; 7770: ++__q; 7770: } 7770: __n %= __k; 7770: if (__n == 0) 7770: return __ret; 7770: std::swap(__n, __k); 7770: __k = __n - __k; 7770: } 7770: else 7770: { 7770: __k = __n - __k; 7770: if (__is_pod(_ValueType) && __k == 1) 7770: { 7770: _ValueType __t = std::move(*(__p + __n - 1)); 7770: std::move_backward(__p, __p + __n - 1, __p + __n); 7770: *__p = std::move(__t); 7770: return __ret; 7770: } 7770: _RandomAccessIterator __q = __p + __n; 7770: __p = __q - __k; 7770: for (_Distance __i = 0; __i < __n - __k; ++ __i) 7770: { 7770: --__p; 7770: --__q; 7770: std::iter_swap(__p, __q); 7770: } 7770: __n %= __k; 7770: if (__n == 0) 7770: return __ret; 7770: std::swap(__n, __k); 7770: } 7770: } 7770: } 7770: # 1432 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator 7770: rotate(_ForwardIterator __first, _ForwardIterator __middle, 7770: _ForwardIterator __last) 7770: { 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__rotate(__first, __middle, __last, 7770: std::__iterator_category(__first)); 7770: } 7770: 7770: } 7770: # 1469 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _OutputIterator 7770: rotate_copy(_ForwardIterator __first, _ForwardIterator __middle, 7770: _ForwardIterator __last, _OutputIterator __result) 7770: { 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::copy(__first, __middle, 7770: std::copy(__middle, __last, __result)); 7770: } 7770: 7770: 7770: template 7770: _ForwardIterator 7770: __partition(_ForwardIterator __first, _ForwardIterator __last, 7770: _Predicate __pred, forward_iterator_tag) 7770: { 7770: if (__first == __last) 7770: return __first; 7770: 7770: while (__pred(*__first)) 7770: if (++__first == __last) 7770: return __first; 7770: 7770: _ForwardIterator __next = __first; 7770: 7770: while (++__next != __last) 7770: if (__pred(*__next)) 7770: { 7770: std::iter_swap(__first, __next); 7770: ++__first; 7770: } 7770: 7770: return __first; 7770: } 7770: 7770: 7770: template 7770: _BidirectionalIterator 7770: __partition(_BidirectionalIterator __first, _BidirectionalIterator __last, 7770: _Predicate __pred, bidirectional_iterator_tag) 7770: { 7770: while (true) 7770: { 7770: while (true) 7770: if (__first == __last) 7770: return __first; 7770: else if (__pred(*__first)) 7770: ++__first; 7770: else 7770: break; 7770: --__last; 7770: while (true) 7770: if (__first == __last) 7770: return __first; 7770: else if (!bool(__pred(*__last))) 7770: --__last; 7770: else 7770: break; 7770: std::iter_swap(__first, __last); 7770: ++__first; 7770: } 7770: } 7770: # 1546 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: _ForwardIterator 7770: __stable_partition_adaptive(_ForwardIterator __first, 7770: _ForwardIterator __last, 7770: _Predicate __pred, _Distance __len, 7770: _Pointer __buffer, 7770: _Distance __buffer_size) 7770: { 7770: if (__len == 1) 7770: return __first; 7770: 7770: if (__len <= __buffer_size) 7770: { 7770: _ForwardIterator __result1 = __first; 7770: _Pointer __result2 = __buffer; 7770: 7770: 7770: 7770: 7770: *__result2 = std::move(*__first); 7770: ++__result2; 7770: ++__first; 7770: for (; __first != __last; ++__first) 7770: if (__pred(__first)) 7770: { 7770: *__result1 = std::move(*__first); 7770: ++__result1; 7770: } 7770: else 7770: { 7770: *__result2 = std::move(*__first); 7770: ++__result2; 7770: } 7770: 7770: std::move(__buffer, __result2, __result1); 7770: return __result1; 7770: } 7770: 7770: _ForwardIterator __middle = __first; 7770: std::advance(__middle, __len / 2); 7770: _ForwardIterator __left_split = 7770: std::__stable_partition_adaptive(__first, __middle, __pred, 7770: __len / 2, __buffer, 7770: __buffer_size); 7770: 7770: 7770: 7770: _Distance __right_len = __len - __len / 2; 7770: _ForwardIterator __right_split = 7770: std::__find_if_not_n(__middle, __right_len, __pred); 7770: 7770: if (__right_len) 7770: __right_split = 7770: std::__stable_partition_adaptive(__right_split, __last, __pred, 7770: __right_len, 7770: __buffer, __buffer_size); 7770: 7770: std::rotate(__left_split, __middle, __right_split); 7770: std::advance(__left_split, std::distance(__middle, __right_split)); 7770: return __left_split; 7770: } 7770: 7770: template 7770: _ForwardIterator 7770: __stable_partition(_ForwardIterator __first, _ForwardIterator __last, 7770: _Predicate __pred) 7770: { 7770: __first = std::__find_if_not(__first, __last, __pred); 7770: 7770: if (__first == __last) 7770: return __first; 7770: 7770: typedef typename iterator_traits<_ForwardIterator>::value_type 7770: _ValueType; 7770: typedef typename iterator_traits<_ForwardIterator>::difference_type 7770: _DistanceType; 7770: 7770: _Temporary_buffer<_ForwardIterator, _ValueType> __buf(__first, __last); 7770: return 7770: std::__stable_partition_adaptive(__first, __last, __pred, 7770: _DistanceType(__buf.requested_size()), 7770: __buf.begin(), 7770: _DistanceType(__buf.size())); 7770: } 7770: # 1649 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator 7770: stable_partition(_ForwardIterator __first, _ForwardIterator __last, 7770: _Predicate __pred) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__stable_partition(__first, __last, 7770: __gnu_cxx::__ops::__pred_iter(__pred)); 7770: } 7770: 7770: 7770: template 7770: void 7770: __heap_select(_RandomAccessIterator __first, 7770: _RandomAccessIterator __middle, 7770: _RandomAccessIterator __last, _Compare __comp) 7770: { 7770: std::__make_heap(__first, __middle, __comp); 7770: for (_RandomAccessIterator __i = __middle; __i < __last; ++__i) 7770: if (__comp(__i, __first)) 7770: std::__pop_heap(__first, __middle, __i, __comp); 7770: } 7770: 7770: 7770: 7770: template 7770: _RandomAccessIterator 7770: __partial_sort_copy(_InputIterator __first, _InputIterator __last, 7770: _RandomAccessIterator __result_first, 7770: _RandomAccessIterator __result_last, 7770: _Compare __comp) 7770: { 7770: typedef typename iterator_traits<_InputIterator>::value_type 7770: _InputValueType; 7770: typedef iterator_traits<_RandomAccessIterator> _RItTraits; 7770: typedef typename _RItTraits::difference_type _DistanceType; 7770: 7770: if (__result_first == __result_last) 7770: return __result_last; 7770: _RandomAccessIterator __result_real_last = __result_first; 7770: while (__first != __last && __result_real_last != __result_last) 7770: { 7770: *__result_real_last = *__first; 7770: ++__result_real_last; 7770: ++__first; 7770: } 7770: 7770: std::__make_heap(__result_first, __result_real_last, __comp); 7770: while (__first != __last) 7770: { 7770: if (__comp(__first, __result_first)) 7770: std::__adjust_heap(__result_first, _DistanceType(0), 7770: _DistanceType(__result_real_last 7770: - __result_first), 7770: _InputValueType(*__first), __comp); 7770: ++__first; 7770: } 7770: std::__sort_heap(__result_first, __result_real_last, __comp); 7770: return __result_real_last; 7770: } 7770: # 1735 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _RandomAccessIterator 7770: partial_sort_copy(_InputIterator __first, _InputIterator __last, 7770: _RandomAccessIterator __result_first, 7770: _RandomAccessIterator __result_last) 7770: { 7770: # 1749 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: 7770: return std::__partial_sort_copy(__first, __last, 7770: __result_first, __result_last, 7770: __gnu_cxx::__ops::__iter_less_iter()); 7770: } 7770: # 1784 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _RandomAccessIterator 7770: partial_sort_copy(_InputIterator __first, _InputIterator __last, 7770: _RandomAccessIterator __result_first, 7770: _RandomAccessIterator __result_last, 7770: _Compare __comp) 7770: { 7770: # 1800 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: 7770: return std::__partial_sort_copy(__first, __last, 7770: __result_first, __result_last, 7770: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 7770: } 7770: 7770: 7770: template 7770: void 7770: __unguarded_linear_insert(_RandomAccessIterator __last, 7770: _Compare __comp) 7770: { 7770: typename iterator_traits<_RandomAccessIterator>::value_type 7770: __val = std::move(*__last); 7770: _RandomAccessIterator __next = __last; 7770: --__next; 7770: while (__comp(__val, __next)) 7770: { 7770: *__last = std::move(*__next); 7770: __last = __next; 7770: --__next; 7770: } 7770: *__last = std::move(__val); 7770: } 7770: 7770: 7770: template 7770: void 7770: __insertion_sort(_RandomAccessIterator __first, 7770: _RandomAccessIterator __last, _Compare __comp) 7770: { 7770: if (__first == __last) return; 7770: 7770: for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) 7770: { 7770: if (__comp(__i, __first)) 7770: { 7770: typename iterator_traits<_RandomAccessIterator>::value_type 7770: __val = std::move(*__i); 7770: std::move_backward(__first, __i, __i + 1); 7770: *__first = std::move(__val); 7770: } 7770: else 7770: std::__unguarded_linear_insert(__i, 7770: __gnu_cxx::__ops::__val_comp_iter(__comp)); 7770: } 7770: } 7770: 7770: 7770: template 7770: inline void 7770: __unguarded_insertion_sort(_RandomAccessIterator __first, 7770: _RandomAccessIterator __last, _Compare __comp) 7770: { 7770: for (_RandomAccessIterator __i = __first; __i != __last; ++__i) 7770: std::__unguarded_linear_insert(__i, 7770: __gnu_cxx::__ops::__val_comp_iter(__comp)); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: enum { _S_threshold = 16 }; 7770: 7770: 7770: template 7770: void 7770: __final_insertion_sort(_RandomAccessIterator __first, 7770: _RandomAccessIterator __last, _Compare __comp) 7770: { 7770: if (__last - __first > int(_S_threshold)) 7770: { 7770: std::__insertion_sort(__first, __first + int(_S_threshold), __comp); 7770: std::__unguarded_insertion_sort(__first + int(_S_threshold), __last, 7770: __comp); 7770: } 7770: else 7770: std::__insertion_sort(__first, __last, __comp); 7770: } 7770: 7770: 7770: template 7770: _RandomAccessIterator 7770: __unguarded_partition(_RandomAccessIterator __first, 7770: _RandomAccessIterator __last, 7770: _RandomAccessIterator __pivot, _Compare __comp) 7770: { 7770: while (true) 7770: { 7770: while (__comp(__first, __pivot)) 7770: ++__first; 7770: --__last; 7770: while (__comp(__pivot, __last)) 7770: --__last; 7770: if (!(__first < __last)) 7770: return __first; 7770: std::iter_swap(__first, __last); 7770: ++__first; 7770: } 7770: } 7770: 7770: 7770: template 7770: inline _RandomAccessIterator 7770: __unguarded_partition_pivot(_RandomAccessIterator __first, 7770: _RandomAccessIterator __last, _Compare __comp) 7770: { 7770: _RandomAccessIterator __mid = __first + (__last - __first) / 2; 7770: std::__move_median_to_first(__first, __first + 1, __mid, __last - 1, 7770: __comp); 7770: return std::__unguarded_partition(__first + 1, __last, __first, __comp); 7770: } 7770: 7770: template 7770: inline void 7770: __partial_sort(_RandomAccessIterator __first, 7770: _RandomAccessIterator __middle, 7770: _RandomAccessIterator __last, 7770: _Compare __comp) 7770: { 7770: std::__heap_select(__first, __middle, __last, __comp); 7770: std::__sort_heap(__first, __middle, __comp); 7770: } 7770: 7770: 7770: template 7770: void 7770: __introsort_loop(_RandomAccessIterator __first, 7770: _RandomAccessIterator __last, 7770: _Size __depth_limit, _Compare __comp) 7770: { 7770: while (__last - __first > int(_S_threshold)) 7770: { 7770: if (__depth_limit == 0) 7770: { 7770: std::__partial_sort(__first, __last, __last, __comp); 7770: return; 7770: } 7770: --__depth_limit; 7770: _RandomAccessIterator __cut = 7770: std::__unguarded_partition_pivot(__first, __last, __comp); 7770: std::__introsort_loop(__cut, __last, __depth_limit, __comp); 7770: __last = __cut; 7770: } 7770: } 7770: 7770: 7770: 7770: template 7770: inline void 7770: __sort(_RandomAccessIterator __first, _RandomAccessIterator __last, 7770: _Compare __comp) 7770: { 7770: if (__first != __last) 7770: { 7770: std::__introsort_loop(__first, __last, 7770: std::__lg(__last - __first) * 2, 7770: __comp); 7770: std::__final_insertion_sort(__first, __last, __comp); 7770: } 7770: } 7770: 7770: template 7770: void 7770: __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth, 7770: _RandomAccessIterator __last, _Size __depth_limit, 7770: _Compare __comp) 7770: { 7770: while (__last - __first > 3) 7770: { 7770: if (__depth_limit == 0) 7770: { 7770: std::__heap_select(__first, __nth + 1, __last, __comp); 7770: 7770: std::iter_swap(__first, __nth); 7770: return; 7770: } 7770: --__depth_limit; 7770: _RandomAccessIterator __cut = 7770: std::__unguarded_partition_pivot(__first, __last, __comp); 7770: if (__cut <= __nth) 7770: __first = __cut; 7770: else 7770: __last = __cut; 7770: } 7770: std::__insertion_sort(__first, __last, __comp); 7770: } 7770: # 2021 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator 7770: lower_bound(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Tp& __val, _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__lower_bound(__first, __last, __val, 7770: __gnu_cxx::__ops::__iter_comp_val(__comp)); 7770: } 7770: 7770: template 7770: _ForwardIterator 7770: __upper_bound(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Tp& __val, _Compare __comp) 7770: { 7770: typedef typename iterator_traits<_ForwardIterator>::difference_type 7770: _DistanceType; 7770: 7770: _DistanceType __len = std::distance(__first, __last); 7770: 7770: while (__len > 0) 7770: { 7770: _DistanceType __half = __len >> 1; 7770: _ForwardIterator __middle = __first; 7770: std::advance(__middle, __half); 7770: if (__comp(__val, __middle)) 7770: __len = __half; 7770: else 7770: { 7770: __first = __middle; 7770: ++__first; 7770: __len = __len - __half - 1; 7770: } 7770: } 7770: return __first; 7770: } 7770: # 2075 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator 7770: upper_bound(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Tp& __val) 7770: { 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__upper_bound(__first, __last, __val, 7770: __gnu_cxx::__ops::__val_less_iter()); 7770: } 7770: # 2105 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator 7770: upper_bound(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Tp& __val, _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__upper_bound(__first, __last, __val, 7770: __gnu_cxx::__ops::__val_comp_iter(__comp)); 7770: } 7770: 7770: template 7770: pair<_ForwardIterator, _ForwardIterator> 7770: __equal_range(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Tp& __val, 7770: _CompareItTp __comp_it_val, _CompareTpIt __comp_val_it) 7770: { 7770: typedef typename iterator_traits<_ForwardIterator>::difference_type 7770: _DistanceType; 7770: 7770: _DistanceType __len = std::distance(__first, __last); 7770: 7770: while (__len > 0) 7770: { 7770: _DistanceType __half = __len >> 1; 7770: _ForwardIterator __middle = __first; 7770: std::advance(__middle, __half); 7770: if (__comp_it_val(__middle, __val)) 7770: { 7770: __first = __middle; 7770: ++__first; 7770: __len = __len - __half - 1; 7770: } 7770: else if (__comp_val_it(__val, __middle)) 7770: __len = __half; 7770: else 7770: { 7770: _ForwardIterator __left 7770: = std::__lower_bound(__first, __middle, __val, __comp_it_val); 7770: std::advance(__first, __len); 7770: _ForwardIterator __right 7770: = std::__upper_bound(++__middle, __first, __val, __comp_val_it); 7770: return pair<_ForwardIterator, _ForwardIterator>(__left, __right); 7770: } 7770: } 7770: return pair<_ForwardIterator, _ForwardIterator>(__first, __first); 7770: } 7770: # 2176 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline pair<_ForwardIterator, _ForwardIterator> 7770: equal_range(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Tp& __val) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__equal_range(__first, __last, __val, 7770: __gnu_cxx::__ops::__iter_less_val(), 7770: __gnu_cxx::__ops::__val_less_iter()); 7770: } 7770: # 2212 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline pair<_ForwardIterator, _ForwardIterator> 7770: equal_range(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Tp& __val, _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: ; 7770: 7770: return std::__equal_range(__first, __last, __val, 7770: __gnu_cxx::__ops::__iter_comp_val(__comp), 7770: __gnu_cxx::__ops::__val_comp_iter(__comp)); 7770: } 7770: # 2245 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: bool 7770: binary_search(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Tp& __val) 7770: { 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: _ForwardIterator __i 7770: = std::__lower_bound(__first, __last, __val, 7770: __gnu_cxx::__ops::__iter_less_val()); 7770: return __i != __last && !(__val < *__i); 7770: } 7770: # 2278 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: bool 7770: binary_search(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Tp& __val, _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: ; 7770: 7770: _ForwardIterator __i 7770: = std::__lower_bound(__first, __last, __val, 7770: __gnu_cxx::__ops::__iter_comp_val(__comp)); 7770: return __i != __last && !bool(__comp(__val, *__i)); 7770: } 7770: 7770: 7770: 7770: 7770: template 7770: void 7770: __move_merge_adaptive(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2, 7770: _OutputIterator __result, _Compare __comp) 7770: { 7770: while (__first1 != __last1 && __first2 != __last2) 7770: { 7770: if (__comp(__first2, __first1)) 7770: { 7770: *__result = std::move(*__first2); 7770: ++__first2; 7770: } 7770: else 7770: { 7770: *__result = std::move(*__first1); 7770: ++__first1; 7770: } 7770: ++__result; 7770: } 7770: if (__first1 != __last1) 7770: std::move(__first1, __last1, __result); 7770: } 7770: 7770: 7770: template 7770: void 7770: __move_merge_adaptive_backward(_BidirectionalIterator1 __first1, 7770: _BidirectionalIterator1 __last1, 7770: _BidirectionalIterator2 __first2, 7770: _BidirectionalIterator2 __last2, 7770: _BidirectionalIterator3 __result, 7770: _Compare __comp) 7770: { 7770: if (__first1 == __last1) 7770: { 7770: std::move_backward(__first2, __last2, __result); 7770: return; 7770: } 7770: else if (__first2 == __last2) 7770: return; 7770: 7770: --__last1; 7770: --__last2; 7770: while (true) 7770: { 7770: if (__comp(__last2, __last1)) 7770: { 7770: *--__result = std::move(*__last1); 7770: if (__first1 == __last1) 7770: { 7770: std::move_backward(__first2, ++__last2, __result); 7770: return; 7770: } 7770: --__last1; 7770: } 7770: else 7770: { 7770: *--__result = std::move(*__last2); 7770: if (__first2 == __last2) 7770: return; 7770: --__last2; 7770: } 7770: } 7770: } 7770: 7770: 7770: template 7770: _BidirectionalIterator1 7770: __rotate_adaptive(_BidirectionalIterator1 __first, 7770: _BidirectionalIterator1 __middle, 7770: _BidirectionalIterator1 __last, 7770: _Distance __len1, _Distance __len2, 7770: _BidirectionalIterator2 __buffer, 7770: _Distance __buffer_size) 7770: { 7770: _BidirectionalIterator2 __buffer_end; 7770: if (__len1 > __len2 && __len2 <= __buffer_size) 7770: { 7770: if (__len2) 7770: { 7770: __buffer_end = std::move(__middle, __last, __buffer); 7770: std::move_backward(__first, __middle, __last); 7770: return std::move(__buffer, __buffer_end, __first); 7770: } 7770: else 7770: return __first; 7770: } 7770: else if (__len1 <= __buffer_size) 7770: { 7770: if (__len1) 7770: { 7770: __buffer_end = std::move(__first, __middle, __buffer); 7770: std::move(__middle, __last, __first); 7770: return std::move_backward(__buffer, __buffer_end, __last); 7770: } 7770: else 7770: return __last; 7770: } 7770: else 7770: { 7770: std::rotate(__first, __middle, __last); 7770: std::advance(__first, std::distance(__middle, __last)); 7770: return __first; 7770: } 7770: } 7770: 7770: 7770: template 7770: void 7770: __merge_adaptive(_BidirectionalIterator __first, 7770: _BidirectionalIterator __middle, 7770: _BidirectionalIterator __last, 7770: _Distance __len1, _Distance __len2, 7770: _Pointer __buffer, _Distance __buffer_size, 7770: _Compare __comp) 7770: { 7770: if (__len1 <= __len2 && __len1 <= __buffer_size) 7770: { 7770: _Pointer __buffer_end = std::move(__first, __middle, __buffer); 7770: std::__move_merge_adaptive(__buffer, __buffer_end, __middle, __last, 7770: __first, __comp); 7770: } 7770: else if (__len2 <= __buffer_size) 7770: { 7770: _Pointer __buffer_end = std::move(__middle, __last, __buffer); 7770: std::__move_merge_adaptive_backward(__first, __middle, __buffer, 7770: __buffer_end, __last, __comp); 7770: } 7770: else 7770: { 7770: _BidirectionalIterator __first_cut = __first; 7770: _BidirectionalIterator __second_cut = __middle; 7770: _Distance __len11 = 0; 7770: _Distance __len22 = 0; 7770: if (__len1 > __len2) 7770: { 7770: __len11 = __len1 / 2; 7770: std::advance(__first_cut, __len11); 7770: __second_cut 7770: = std::__lower_bound(__middle, __last, *__first_cut, 7770: __gnu_cxx::__ops::__iter_comp_val(__comp)); 7770: __len22 = std::distance(__middle, __second_cut); 7770: } 7770: else 7770: { 7770: __len22 = __len2 / 2; 7770: std::advance(__second_cut, __len22); 7770: __first_cut 7770: = std::__upper_bound(__first, __middle, *__second_cut, 7770: __gnu_cxx::__ops::__val_comp_iter(__comp)); 7770: __len11 = std::distance(__first, __first_cut); 7770: } 7770: 7770: _BidirectionalIterator __new_middle 7770: = std::__rotate_adaptive(__first_cut, __middle, __second_cut, 7770: __len1 - __len11, __len22, __buffer, 7770: __buffer_size); 7770: std::__merge_adaptive(__first, __first_cut, __new_middle, __len11, 7770: __len22, __buffer, __buffer_size, __comp); 7770: std::__merge_adaptive(__new_middle, __second_cut, __last, 7770: __len1 - __len11, 7770: __len2 - __len22, __buffer, 7770: __buffer_size, __comp); 7770: } 7770: } 7770: 7770: 7770: template 7770: void 7770: __merge_without_buffer(_BidirectionalIterator __first, 7770: _BidirectionalIterator __middle, 7770: _BidirectionalIterator __last, 7770: _Distance __len1, _Distance __len2, 7770: _Compare __comp) 7770: { 7770: if (__len1 == 0 || __len2 == 0) 7770: return; 7770: 7770: if (__len1 + __len2 == 2) 7770: { 7770: if (__comp(__middle, __first)) 7770: std::iter_swap(__first, __middle); 7770: return; 7770: } 7770: 7770: _BidirectionalIterator __first_cut = __first; 7770: _BidirectionalIterator __second_cut = __middle; 7770: _Distance __len11 = 0; 7770: _Distance __len22 = 0; 7770: if (__len1 > __len2) 7770: { 7770: __len11 = __len1 / 2; 7770: std::advance(__first_cut, __len11); 7770: __second_cut 7770: = std::__lower_bound(__middle, __last, *__first_cut, 7770: __gnu_cxx::__ops::__iter_comp_val(__comp)); 7770: __len22 = std::distance(__middle, __second_cut); 7770: } 7770: else 7770: { 7770: __len22 = __len2 / 2; 7770: std::advance(__second_cut, __len22); 7770: __first_cut 7770: = std::__upper_bound(__first, __middle, *__second_cut, 7770: __gnu_cxx::__ops::__val_comp_iter(__comp)); 7770: __len11 = std::distance(__first, __first_cut); 7770: } 7770: 7770: std::rotate(__first_cut, __middle, __second_cut); 7770: _BidirectionalIterator __new_middle = __first_cut; 7770: std::advance(__new_middle, std::distance(__middle, __second_cut)); 7770: std::__merge_without_buffer(__first, __first_cut, __new_middle, 7770: __len11, __len22, __comp); 7770: std::__merge_without_buffer(__new_middle, __second_cut, __last, 7770: __len1 - __len11, __len2 - __len22, __comp); 7770: } 7770: 7770: template 7770: void 7770: __inplace_merge(_BidirectionalIterator __first, 7770: _BidirectionalIterator __middle, 7770: _BidirectionalIterator __last, 7770: _Compare __comp) 7770: { 7770: typedef typename iterator_traits<_BidirectionalIterator>::value_type 7770: _ValueType; 7770: typedef typename iterator_traits<_BidirectionalIterator>::difference_type 7770: _DistanceType; 7770: 7770: if (__first == __middle || __middle == __last) 7770: return; 7770: 7770: const _DistanceType __len1 = std::distance(__first, __middle); 7770: const _DistanceType __len2 = std::distance(__middle, __last); 7770: 7770: typedef _Temporary_buffer<_BidirectionalIterator, _ValueType> _TmpBuf; 7770: _TmpBuf __buf(__first, __last); 7770: 7770: if (__buf.begin() == 0) 7770: std::__merge_without_buffer 7770: (__first, __middle, __last, __len1, __len2, __comp); 7770: else 7770: std::__merge_adaptive 7770: (__first, __middle, __last, __len1, __len2, __buf.begin(), 7770: _DistanceType(__buf.size()), __comp); 7770: } 7770: # 2572 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline void 7770: inplace_merge(_BidirectionalIterator __first, 7770: _BidirectionalIterator __middle, 7770: _BidirectionalIterator __last) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: 7770: std::__inplace_merge(__first, __middle, __last, 7770: __gnu_cxx::__ops::__iter_less_iter()); 7770: } 7770: # 2613 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline void 7770: inplace_merge(_BidirectionalIterator __first, 7770: _BidirectionalIterator __middle, 7770: _BidirectionalIterator __last, 7770: _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: 7770: std::__inplace_merge(__first, __middle, __last, 7770: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 7770: } 7770: 7770: 7770: 7770: template 7770: _OutputIterator 7770: __move_merge(_InputIterator __first1, _InputIterator __last1, 7770: _InputIterator __first2, _InputIterator __last2, 7770: _OutputIterator __result, _Compare __comp) 7770: { 7770: while (__first1 != __last1 && __first2 != __last2) 7770: { 7770: if (__comp(__first2, __first1)) 7770: { 7770: *__result = std::move(*__first2); 7770: ++__first2; 7770: } 7770: else 7770: { 7770: *__result = std::move(*__first1); 7770: ++__first1; 7770: } 7770: ++__result; 7770: } 7770: return std::move(__first2, __last2, std::move(__first1, __last1, __result)) 7770: 7770: ; 7770: } 7770: 7770: template 7770: void 7770: __merge_sort_loop(_RandomAccessIterator1 __first, 7770: _RandomAccessIterator1 __last, 7770: _RandomAccessIterator2 __result, _Distance __step_size, 7770: _Compare __comp) 7770: { 7770: const _Distance __two_step = 2 * __step_size; 7770: 7770: while (__last - __first >= __two_step) 7770: { 7770: __result = std::__move_merge(__first, __first + __step_size, 7770: __first + __step_size, 7770: __first + __two_step, 7770: __result, __comp); 7770: __first += __two_step; 7770: } 7770: __step_size = std::min(_Distance(__last - __first), __step_size); 7770: 7770: std::__move_merge(__first, __first + __step_size, 7770: __first + __step_size, __last, __result, __comp); 7770: } 7770: 7770: template 7770: void 7770: __chunk_insertion_sort(_RandomAccessIterator __first, 7770: _RandomAccessIterator __last, 7770: _Distance __chunk_size, _Compare __comp) 7770: { 7770: while (__last - __first >= __chunk_size) 7770: { 7770: std::__insertion_sort(__first, __first + __chunk_size, __comp); 7770: __first += __chunk_size; 7770: } 7770: std::__insertion_sort(__first, __last, __comp); 7770: } 7770: 7770: enum { _S_chunk_size = 7 }; 7770: 7770: template 7770: void 7770: __merge_sort_with_buffer(_RandomAccessIterator __first, 7770: _RandomAccessIterator __last, 7770: _Pointer __buffer, _Compare __comp) 7770: { 7770: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 7770: _Distance; 7770: 7770: const _Distance __len = __last - __first; 7770: const _Pointer __buffer_last = __buffer + __len; 7770: 7770: _Distance __step_size = _S_chunk_size; 7770: std::__chunk_insertion_sort(__first, __last, __step_size, __comp); 7770: 7770: while (__step_size < __len) 7770: { 7770: std::__merge_sort_loop(__first, __last, __buffer, 7770: __step_size, __comp); 7770: __step_size *= 2; 7770: std::__merge_sort_loop(__buffer, __buffer_last, __first, 7770: __step_size, __comp); 7770: __step_size *= 2; 7770: } 7770: } 7770: 7770: template 7770: void 7770: __stable_sort_adaptive(_RandomAccessIterator __first, 7770: _RandomAccessIterator __last, 7770: _Pointer __buffer, _Distance __buffer_size, 7770: _Compare __comp) 7770: { 7770: const _Distance __len = (__last - __first + 1) / 2; 7770: const _RandomAccessIterator __middle = __first + __len; 7770: if (__len > __buffer_size) 7770: { 7770: std::__stable_sort_adaptive(__first, __middle, __buffer, 7770: __buffer_size, __comp); 7770: std::__stable_sort_adaptive(__middle, __last, __buffer, 7770: __buffer_size, __comp); 7770: } 7770: else 7770: { 7770: std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp); 7770: std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp); 7770: } 7770: std::__merge_adaptive(__first, __middle, __last, 7770: _Distance(__middle - __first), 7770: _Distance(__last - __middle), 7770: __buffer, __buffer_size, 7770: __comp); 7770: } 7770: 7770: 7770: template 7770: void 7770: __inplace_stable_sort(_RandomAccessIterator __first, 7770: _RandomAccessIterator __last, _Compare __comp) 7770: { 7770: if (__last - __first < 15) 7770: { 7770: std::__insertion_sort(__first, __last, __comp); 7770: return; 7770: } 7770: _RandomAccessIterator __middle = __first + (__last - __first) / 2; 7770: std::__inplace_stable_sort(__first, __middle, __comp); 7770: std::__inplace_stable_sort(__middle, __last, __comp); 7770: std::__merge_without_buffer(__first, __middle, __last, 7770: __middle - __first, 7770: __last - __middle, 7770: __comp); 7770: } 7770: # 2785 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: bool 7770: __includes(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2, 7770: _Compare __comp) 7770: { 7770: while (__first1 != __last1 && __first2 != __last2) 7770: if (__comp(__first2, __first1)) 7770: return false; 7770: else if (__comp(__first1, __first2)) 7770: ++__first1; 7770: else 7770: { 7770: ++__first1; 7770: ++__first2; 7770: } 7770: 7770: return __first2 == __last2; 7770: } 7770: # 2824 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline bool 7770: includes(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: ; 7770: 7770: return std::__includes(__first1, __last1, __first2, __last2, 7770: __gnu_cxx::__ops::__iter_less_iter()); 7770: } 7770: # 2868 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline bool 7770: includes(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2, 7770: _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: ; 7770: 7770: return std::__includes(__first1, __last1, __first2, __last2, 7770: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 7770: } 7770: # 2903 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: bool 7770: __next_permutation(_BidirectionalIterator __first, 7770: _BidirectionalIterator __last, _Compare __comp) 7770: { 7770: if (__first == __last) 7770: return false; 7770: _BidirectionalIterator __i = __first; 7770: ++__i; 7770: if (__i == __last) 7770: return false; 7770: __i = __last; 7770: --__i; 7770: 7770: for(;;) 7770: { 7770: _BidirectionalIterator __ii = __i; 7770: --__i; 7770: if (__comp(__i, __ii)) 7770: { 7770: _BidirectionalIterator __j = __last; 7770: while (!__comp(__i, --__j)) 7770: {} 7770: std::iter_swap(__i, __j); 7770: std::__reverse(__ii, __last, 7770: std::__iterator_category(__first)); 7770: return true; 7770: } 7770: if (__i == __first) 7770: { 7770: std::__reverse(__first, __last, 7770: std::__iterator_category(__first)); 7770: return false; 7770: } 7770: } 7770: } 7770: # 2952 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline bool 7770: next_permutation(_BidirectionalIterator __first, 7770: _BidirectionalIterator __last) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__next_permutation 7770: (__first, __last, __gnu_cxx::__ops::__iter_less_iter()); 7770: } 7770: # 2984 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline bool 7770: next_permutation(_BidirectionalIterator __first, 7770: _BidirectionalIterator __last, _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__next_permutation 7770: (__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); 7770: } 7770: 7770: template 7770: bool 7770: __prev_permutation(_BidirectionalIterator __first, 7770: _BidirectionalIterator __last, _Compare __comp) 7770: { 7770: if (__first == __last) 7770: return false; 7770: _BidirectionalIterator __i = __first; 7770: ++__i; 7770: if (__i == __last) 7770: return false; 7770: __i = __last; 7770: --__i; 7770: 7770: for(;;) 7770: { 7770: _BidirectionalIterator __ii = __i; 7770: --__i; 7770: if (__comp(__ii, __i)) 7770: { 7770: _BidirectionalIterator __j = __last; 7770: while (!__comp(--__j, __i)) 7770: {} 7770: std::iter_swap(__i, __j); 7770: std::__reverse(__ii, __last, 7770: std::__iterator_category(__first)); 7770: return true; 7770: } 7770: if (__i == __first) 7770: { 7770: std::__reverse(__first, __last, 7770: std::__iterator_category(__first)); 7770: return false; 7770: } 7770: } 7770: } 7770: # 3052 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline bool 7770: prev_permutation(_BidirectionalIterator __first, 7770: _BidirectionalIterator __last) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__prev_permutation(__first, __last, 7770: __gnu_cxx::__ops::__iter_less_iter()); 7770: } 7770: # 3084 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline bool 7770: prev_permutation(_BidirectionalIterator __first, 7770: _BidirectionalIterator __last, _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__prev_permutation(__first, __last, 7770: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 7770: } 7770: 7770: 7770: 7770: 7770: template 7770: _OutputIterator 7770: __replace_copy_if(_InputIterator __first, _InputIterator __last, 7770: _OutputIterator __result, 7770: _Predicate __pred, const _Tp& __new_value) 7770: { 7770: for (; __first != __last; ++__first, (void)++__result) 7770: if (__pred(__first)) 7770: *__result = __new_value; 7770: else 7770: *__result = *__first; 7770: return __result; 7770: } 7770: # 3134 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _OutputIterator 7770: replace_copy(_InputIterator __first, _InputIterator __last, 7770: _OutputIterator __result, 7770: const _Tp& __old_value, const _Tp& __new_value) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__replace_copy_if(__first, __last, __result, 7770: __gnu_cxx::__ops::__iter_equals_val(__old_value), 7770: __new_value); 7770: } 7770: # 3168 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _OutputIterator 7770: replace_copy_if(_InputIterator __first, _InputIterator __last, 7770: _OutputIterator __result, 7770: _Predicate __pred, const _Tp& __new_value) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__replace_copy_if(__first, __last, __result, 7770: __gnu_cxx::__ops::__pred_iter(__pred), 7770: __new_value); 7770: } 7770: 7770: template 7770: typename iterator_traits<_InputIterator>::difference_type 7770: __count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) 7770: { 7770: typename iterator_traits<_InputIterator>::difference_type __n = 0; 7770: for (; __first != __last; ++__first) 7770: if (__pred(__first)) 7770: ++__n; 7770: return __n; 7770: } 7770: # 3207 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline bool 7770: is_sorted(_ForwardIterator __first, _ForwardIterator __last) 7770: { return std::is_sorted_until(__first, __last) == __last; } 7770: # 3221 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline bool 7770: is_sorted(_ForwardIterator __first, _ForwardIterator __last, 7770: _Compare __comp) 7770: { return std::is_sorted_until(__first, __last, __comp) == __last; } 7770: 7770: template 7770: _ForwardIterator 7770: __is_sorted_until(_ForwardIterator __first, _ForwardIterator __last, 7770: _Compare __comp) 7770: { 7770: if (__first == __last) 7770: return __last; 7770: 7770: _ForwardIterator __next = __first; 7770: for (++__next; __next != __last; __first = __next, (void)++__next) 7770: if (__comp(__next, __first)) 7770: return __next; 7770: return __next; 7770: } 7770: # 3250 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator 7770: is_sorted_until(_ForwardIterator __first, _ForwardIterator __last) 7770: { 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__is_sorted_until(__first, __last, 7770: __gnu_cxx::__ops::__iter_less_iter()); 7770: } 7770: # 3274 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator 7770: is_sorted_until(_ForwardIterator __first, _ForwardIterator __last, 7770: _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__is_sorted_until(__first, __last, 7770: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 7770: } 7770: # 3299 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: constexpr 7770: inline pair 7770: minmax(const _Tp& __a, const _Tp& __b) 7770: { 7770: 7770: 7770: 7770: return __b < __a ? pair(__b, __a) 7770: : pair(__a, __b); 7770: } 7770: # 3320 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: constexpr 7770: inline pair 7770: minmax(const _Tp& __a, const _Tp& __b, _Compare __comp) 7770: { 7770: return __comp(__b, __a) ? pair(__b, __a) 7770: : pair(__a, __b); 7770: } 7770: 7770: template 7770: constexpr 7770: pair<_ForwardIterator, _ForwardIterator> 7770: __minmax_element(_ForwardIterator __first, _ForwardIterator __last, 7770: _Compare __comp) 7770: { 7770: _ForwardIterator __next = __first; 7770: if (__first == __last 7770: || ++__next == __last) 7770: return std::make_pair(__first, __first); 7770: 7770: _ForwardIterator __min{}, __max{}; 7770: if (__comp(__next, __first)) 7770: { 7770: __min = __next; 7770: __max = __first; 7770: } 7770: else 7770: { 7770: __min = __first; 7770: __max = __next; 7770: } 7770: 7770: __first = __next; 7770: ++__first; 7770: 7770: while (__first != __last) 7770: { 7770: __next = __first; 7770: if (++__next == __last) 7770: { 7770: if (__comp(__first, __min)) 7770: __min = __first; 7770: else if (!__comp(__first, __max)) 7770: __max = __first; 7770: break; 7770: } 7770: 7770: if (__comp(__next, __first)) 7770: { 7770: if (__comp(__next, __min)) 7770: __min = __next; 7770: if (!__comp(__first, __max)) 7770: __max = __first; 7770: } 7770: else 7770: { 7770: if (__comp(__first, __min)) 7770: __min = __first; 7770: if (!__comp(__next, __max)) 7770: __max = __next; 7770: } 7770: 7770: __first = __next; 7770: ++__first; 7770: } 7770: 7770: return std::make_pair(__min, __max); 7770: } 7770: # 3400 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: constexpr 7770: inline pair<_ForwardIterator, _ForwardIterator> 7770: minmax_element(_ForwardIterator __first, _ForwardIterator __last) 7770: { 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__minmax_element(__first, __last, 7770: __gnu_cxx::__ops::__iter_less_iter()); 7770: } 7770: # 3428 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: constexpr 7770: inline pair<_ForwardIterator, _ForwardIterator> 7770: minmax_element(_ForwardIterator __first, _ForwardIterator __last, 7770: _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__minmax_element(__first, __last, 7770: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 7770: } 7770: 7770: 7770: template 7770: constexpr 7770: inline _Tp 7770: min(initializer_list<_Tp> __l) 7770: { return *std::min_element(__l.begin(), __l.end()); } 7770: 7770: template 7770: constexpr 7770: inline _Tp 7770: min(initializer_list<_Tp> __l, _Compare __comp) 7770: { return *std::min_element(__l.begin(), __l.end(), __comp); } 7770: 7770: template 7770: constexpr 7770: inline _Tp 7770: max(initializer_list<_Tp> __l) 7770: { return *std::max_element(__l.begin(), __l.end()); } 7770: 7770: template 7770: constexpr 7770: inline _Tp 7770: max(initializer_list<_Tp> __l, _Compare __comp) 7770: { return *std::max_element(__l.begin(), __l.end(), __comp); } 7770: 7770: template 7770: constexpr 7770: inline pair<_Tp, _Tp> 7770: minmax(initializer_list<_Tp> __l) 7770: { 7770: pair __p = 7770: std::minmax_element(__l.begin(), __l.end()); 7770: return std::make_pair(*__p.first, *__p.second); 7770: } 7770: 7770: template 7770: constexpr 7770: inline pair<_Tp, _Tp> 7770: minmax(initializer_list<_Tp> __l, _Compare __comp) 7770: { 7770: pair __p = 7770: std::minmax_element(__l.begin(), __l.end(), __comp); 7770: return std::make_pair(*__p.first, *__p.second); 7770: } 7770: 7770: template 7770: bool 7770: __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 7770: _ForwardIterator2 __first2, _BinaryPredicate __pred) 7770: { 7770: 7770: 7770: for (; __first1 != __last1; ++__first1, (void)++__first2) 7770: if (!__pred(__first1, __first2)) 7770: break; 7770: 7770: if (__first1 == __last1) 7770: return true; 7770: 7770: 7770: 7770: _ForwardIterator2 __last2 = __first2; 7770: std::advance(__last2, std::distance(__first1, __last1)); 7770: for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan) 7770: { 7770: if (__scan != std::__find_if(__first1, __scan, 7770: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))) 7770: continue; 7770: 7770: auto __matches 7770: = std::__count_if(__first2, __last2, 7770: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)); 7770: if (0 == __matches || 7770: std::__count_if(__scan, __last1, 7770: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)) 7770: != __matches) 7770: return false; 7770: } 7770: return true; 7770: } 7770: # 3540 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline bool 7770: is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 7770: _ForwardIterator2 __first2) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__is_permutation(__first1, __last1, __first2, 7770: __gnu_cxx::__ops::__iter_equal_to_iter()); 7770: } 7770: # 3571 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline bool 7770: is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 7770: _ForwardIterator2 __first2, _BinaryPredicate __pred) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__is_permutation(__first1, __last1, __first2, 7770: __gnu_cxx::__ops::__iter_comp_iter(__pred)); 7770: } 7770: 7770: 7770: template 7770: bool 7770: __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 7770: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 7770: _BinaryPredicate __pred) 7770: { 7770: using _Cat1 7770: = typename iterator_traits<_ForwardIterator1>::iterator_category; 7770: using _Cat2 7770: = typename iterator_traits<_ForwardIterator2>::iterator_category; 7770: using _It1_is_RA = is_same<_Cat1, random_access_iterator_tag>; 7770: using _It2_is_RA = is_same<_Cat2, random_access_iterator_tag>; 7770: constexpr bool __ra_iters = _It1_is_RA() && _It2_is_RA(); 7770: if (__ra_iters) 7770: { 7770: auto __d1 = std::distance(__first1, __last1); 7770: auto __d2 = std::distance(__first2, __last2); 7770: if (__d1 != __d2) 7770: return false; 7770: } 7770: 7770: 7770: 7770: for (; __first1 != __last1 && __first2 != __last2; 7770: ++__first1, (void)++__first2) 7770: if (!__pred(__first1, __first2)) 7770: break; 7770: 7770: if (__ra_iters) 7770: { 7770: if (__first1 == __last1) 7770: return true; 7770: } 7770: else 7770: { 7770: auto __d1 = std::distance(__first1, __last1); 7770: auto __d2 = std::distance(__first2, __last2); 7770: if (__d1 == 0 && __d2 == 0) 7770: return true; 7770: if (__d1 != __d2) 7770: return false; 7770: } 7770: 7770: for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan) 7770: { 7770: if (__scan != std::__find_if(__first1, __scan, 7770: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))) 7770: continue; 7770: 7770: auto __matches = std::__count_if(__first2, __last2, 7770: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)); 7770: if (0 == __matches 7770: || std::__count_if(__scan, __last1, 7770: __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)) 7770: != __matches) 7770: return false; 7770: } 7770: return true; 7770: } 7770: # 3664 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline bool 7770: is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 7770: _ForwardIterator2 __first2, _ForwardIterator2 __last2) 7770: { 7770: ; 7770: ; 7770: 7770: return 7770: std::__is_permutation(__first1, __last1, __first2, __last2, 7770: __gnu_cxx::__ops::__iter_equal_to_iter()); 7770: } 7770: # 3691 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline bool 7770: is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 7770: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 7770: _BinaryPredicate __pred) 7770: { 7770: ; 7770: ; 7770: 7770: return std::__is_permutation(__first1, __last1, __first2, __last2, 7770: __gnu_cxx::__ops::__iter_comp_iter(__pred)); 7770: } 7770: # 3717 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: constexpr const _Tp& 7770: clamp(const _Tp& __val, const _Tp& __lo, const _Tp& __hi) 7770: { 7770: ; 7770: return (__val < __lo) ? __lo : (__hi < __val) ? __hi : __val; 7770: } 7770: # 3735 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: constexpr const _Tp& 7770: clamp(const _Tp& __val, const _Tp& __lo, const _Tp& __hi, _Compare __comp) 7770: { 7770: ; 7770: return __comp(__val, __lo) ? __lo : __comp(__hi, __val) ? __hi : __val; 7770: } 7770: # 3767 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: pair<_IntType, _IntType> 7770: __gen_two_uniform_ints(_IntType __b0, _IntType __b1, 7770: _UniformRandomBitGenerator&& __g) 7770: { 7770: _IntType __x 7770: = uniform_int_distribution<_IntType>{0, (__b0 * __b1) - 1}(__g); 7770: return std::make_pair(__x / __b1, __x % __b1); 7770: } 7770: # 3789 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: void 7770: shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last, 7770: _UniformRandomNumberGenerator&& __g) 7770: { 7770: 7770: 7770: 7770: ; 7770: 7770: if (__first == __last) 7770: return; 7770: 7770: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 7770: _DistanceType; 7770: 7770: typedef typename std::make_unsigned<_DistanceType>::type __ud_type; 7770: typedef typename std::uniform_int_distribution<__ud_type> __distr_type; 7770: typedef typename __distr_type::param_type __p_type; 7770: 7770: typedef typename remove_reference<_UniformRandomNumberGenerator>::type 7770: _Gen; 7770: typedef typename common_type::type 7770: __uc_type; 7770: 7770: const __uc_type __urngrange = __g.max() - __g.min(); 7770: const __uc_type __urange = __uc_type(__last - __first); 7770: 7770: if (__urngrange / __urange >= __urange) 7770: 7770: { 7770: _RandomAccessIterator __i = __first + 1; 7770: 7770: 7770: 7770: 7770: 7770: if ((__urange % 2) == 0) 7770: { 7770: __distr_type __d{0, 1}; 7770: std::iter_swap(__i++, __first + __d(__g)); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: while (__i != __last) 7770: { 7770: const __uc_type __swap_range = __uc_type(__i - __first) + 1; 7770: 7770: const pair<__uc_type, __uc_type> __pospos = 7770: __gen_two_uniform_ints(__swap_range, __swap_range + 1, __g); 7770: 7770: std::iter_swap(__i++, __first + __pospos.first); 7770: std::iter_swap(__i++, __first + __pospos.second); 7770: } 7770: 7770: return; 7770: } 7770: 7770: __distr_type __d; 7770: 7770: for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) 7770: std::iter_swap(__i, __first + __d(__g, __p_type(0, __i - __first))); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: # 3874 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: _Function 7770: for_each(_InputIterator __first, _InputIterator __last, _Function __f) 7770: { 7770: 7770: 7770: ; 7770: for (; __first != __last; ++__first) 7770: __f(*__first); 7770: return __f; 7770: } 7770: # 3895 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _InputIterator 7770: find(_InputIterator __first, _InputIterator __last, 7770: const _Tp& __val) 7770: { 7770: 7770: 7770: 7770: 7770: ; 7770: return std::__find_if(__first, __last, 7770: __gnu_cxx::__ops::__iter_equals_val(__val)); 7770: } 7770: # 3919 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _InputIterator 7770: find_if(_InputIterator __first, _InputIterator __last, 7770: _Predicate __pred) 7770: { 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__find_if(__first, __last, 7770: __gnu_cxx::__ops::__pred_iter(__pred)); 7770: } 7770: # 3950 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: _InputIterator 7770: find_first_of(_InputIterator __first1, _InputIterator __last1, 7770: _ForwardIterator __first2, _ForwardIterator __last2) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: for (; __first1 != __last1; ++__first1) 7770: for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) 7770: if (*__first1 == *__iter) 7770: return __first1; 7770: return __last1; 7770: } 7770: # 3990 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: _InputIterator 7770: find_first_of(_InputIterator __first1, _InputIterator __last1, 7770: _ForwardIterator __first2, _ForwardIterator __last2, 7770: _BinaryPredicate __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: for (; __first1 != __last1; ++__first1) 7770: for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) 7770: if (__comp(*__first1, *__iter)) 7770: return __first1; 7770: return __last1; 7770: } 7770: # 4022 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator 7770: adjacent_find(_ForwardIterator __first, _ForwardIterator __last) 7770: { 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__adjacent_find(__first, __last, 7770: __gnu_cxx::__ops::__iter_equal_to_iter()); 7770: } 7770: # 4047 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator 7770: adjacent_find(_ForwardIterator __first, _ForwardIterator __last, 7770: _BinaryPredicate __binary_pred) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__adjacent_find(__first, __last, 7770: __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); 7770: } 7770: # 4072 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline typename iterator_traits<_InputIterator>::difference_type 7770: count(_InputIterator __first, _InputIterator __last, const _Tp& __value) 7770: { 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__count_if(__first, __last, 7770: __gnu_cxx::__ops::__iter_equals_val(__value)); 7770: } 7770: # 4095 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline typename iterator_traits<_InputIterator>::difference_type 7770: count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) 7770: { 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__count_if(__first, __last, 7770: __gnu_cxx::__ops::__pred_iter(__pred)); 7770: } 7770: # 4135 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator1 7770: search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 7770: _ForwardIterator2 __first2, _ForwardIterator2 __last2) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__search(__first1, __last1, __first2, __last2, 7770: __gnu_cxx::__ops::__iter_equal_to_iter()); 7770: } 7770: # 4174 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator1 7770: search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, 7770: _ForwardIterator2 __first2, _ForwardIterator2 __last2, 7770: _BinaryPredicate __predicate) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__search(__first1, __last1, __first2, __last2, 7770: __gnu_cxx::__ops::__iter_comp_iter(__predicate)); 7770: } 7770: # 4209 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator 7770: search_n(_ForwardIterator __first, _ForwardIterator __last, 7770: _Integer __count, const _Tp& __val) 7770: { 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__search_n(__first, __last, __count, 7770: __gnu_cxx::__ops::__iter_equals_val(__val)); 7770: } 7770: # 4242 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator 7770: search_n(_ForwardIterator __first, _ForwardIterator __last, 7770: _Integer __count, const _Tp& __val, 7770: _BinaryPredicate __binary_pred) 7770: { 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__search_n(__first, __last, __count, 7770: __gnu_cxx::__ops::__iter_comp_val(__binary_pred, __val)); 7770: } 7770: # 4267 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator 7770: search(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Searcher& __searcher) 7770: { return __searcher(__first, __last).first; } 7770: # 4290 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: _OutputIterator 7770: transform(_InputIterator __first, _InputIterator __last, 7770: _OutputIterator __result, _UnaryOperation __unary_op) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: for (; __first != __last; ++__first, (void)++__result) 7770: *__result = __unary_op(*__first); 7770: return __result; 7770: } 7770: # 4327 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: _OutputIterator 7770: transform(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _OutputIterator __result, 7770: _BinaryOperation __binary_op) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: for (; __first1 != __last1; ++__first1, (void)++__first2, ++__result) 7770: *__result = __binary_op(*__first1, *__first2); 7770: return __result; 7770: } 7770: # 4360 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: void 7770: replace(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Tp& __old_value, const _Tp& __new_value) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: for (; __first != __last; ++__first) 7770: if (*__first == __old_value) 7770: *__first = __new_value; 7770: } 7770: # 4392 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: void 7770: replace_if(_ForwardIterator __first, _ForwardIterator __last, 7770: _Predicate __pred, const _Tp& __new_value) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: for (; __first != __last; ++__first) 7770: if (__pred(*__first)) 7770: *__first = __new_value; 7770: } 7770: # 4424 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: void 7770: generate(_ForwardIterator __first, _ForwardIterator __last, 7770: _Generator __gen) 7770: { 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: for (; __first != __last; ++__first) 7770: *__first = __gen(); 7770: } 7770: # 4455 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: _OutputIterator 7770: generate_n(_OutputIterator __first, _Size __n, _Generator __gen) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: for (__decltype(__n + 0) __niter = __n; 7770: __niter > 0; --__niter, (void) ++__first) 7770: *__first = __gen(); 7770: return __first; 7770: } 7770: # 4491 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _OutputIterator 7770: unique_copy(_InputIterator __first, _InputIterator __last, 7770: _OutputIterator __result) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: if (__first == __last) 7770: return __result; 7770: return std::__unique_copy(__first, __last, __result, 7770: __gnu_cxx::__ops::__iter_equal_to_iter(), 7770: std::__iterator_category(__first), 7770: std::__iterator_category(__result)); 7770: } 7770: # 4531 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _OutputIterator 7770: unique_copy(_InputIterator __first, _InputIterator __last, 7770: _OutputIterator __result, 7770: _BinaryPredicate __binary_pred) 7770: { 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: if (__first == __last) 7770: return __result; 7770: return std::__unique_copy(__first, __last, __result, 7770: __gnu_cxx::__ops::__iter_comp_iter(__binary_pred), 7770: std::__iterator_category(__first), 7770: std::__iterator_category(__result)); 7770: } 7770: # 4564 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline void 7770: random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last) 7770: { 7770: 7770: 7770: 7770: ; 7770: 7770: if (__first != __last) 7770: for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) 7770: { 7770: 7770: _RandomAccessIterator __j = __first 7770: + std::rand() % ((__i - __first) + 1); 7770: if (__i != __j) 7770: std::iter_swap(__i, __j); 7770: } 7770: } 7770: # 4599 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: void 7770: random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last, 7770: 7770: _RandomNumberGenerator&& __rand) 7770: 7770: 7770: 7770: { 7770: 7770: 7770: 7770: ; 7770: 7770: if (__first == __last) 7770: return; 7770: for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) 7770: { 7770: _RandomAccessIterator __j = __first + __rand((__i - __first) + 1); 7770: if (__i != __j) 7770: std::iter_swap(__i, __j); 7770: } 7770: } 7770: # 4639 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _ForwardIterator 7770: partition(_ForwardIterator __first, _ForwardIterator __last, 7770: _Predicate __pred) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: return std::__partition(__first, __last, __pred, 7770: std::__iterator_category(__first)); 7770: } 7770: # 4672 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline void 7770: partial_sort(_RandomAccessIterator __first, 7770: _RandomAccessIterator __middle, 7770: _RandomAccessIterator __last) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: 7770: std::__partial_sort(__first, __middle, __last, 7770: __gnu_cxx::__ops::__iter_less_iter()); 7770: } 7770: # 4710 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline void 7770: partial_sort(_RandomAccessIterator __first, 7770: _RandomAccessIterator __middle, 7770: _RandomAccessIterator __last, 7770: _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: 7770: std::__partial_sort(__first, __middle, __last, 7770: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 7770: } 7770: # 4746 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline void 7770: nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, 7770: _RandomAccessIterator __last) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: 7770: if (__first == __last || __nth == __last) 7770: return; 7770: 7770: std::__introselect(__first, __nth, __last, 7770: std::__lg(__last - __first) * 2, 7770: __gnu_cxx::__ops::__iter_less_iter()); 7770: } 7770: # 4785 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline void 7770: nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, 7770: _RandomAccessIterator __last, _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: 7770: if (__first == __last || __nth == __last) 7770: return; 7770: 7770: std::__introselect(__first, __nth, __last, 7770: std::__lg(__last - __first) * 2, 7770: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 7770: } 7770: # 4822 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline void 7770: sort(_RandomAccessIterator __first, _RandomAccessIterator __last) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: std::__sort(__first, __last, __gnu_cxx::__ops::__iter_less_iter()); 7770: } 7770: # 4852 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline void 7770: sort(_RandomAccessIterator __first, _RandomAccessIterator __last, 7770: _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); 7770: } 7770: 7770: template 7770: _OutputIterator 7770: __merge(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2, 7770: _OutputIterator __result, _Compare __comp) 7770: { 7770: while (__first1 != __last1 && __first2 != __last2) 7770: { 7770: if (__comp(__first2, __first1)) 7770: { 7770: *__result = *__first2; 7770: ++__first2; 7770: } 7770: else 7770: { 7770: *__result = *__first1; 7770: ++__first1; 7770: } 7770: ++__result; 7770: } 7770: return std::copy(__first2, __last2, 7770: std::copy(__first1, __last1, __result)); 7770: } 7770: # 4913 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _OutputIterator 7770: merge(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2, 7770: _OutputIterator __result) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: ; 7770: 7770: return std::__merge(__first1, __last1, 7770: __first2, __last2, __result, 7770: __gnu_cxx::__ops::__iter_less_iter()); 7770: } 7770: # 4963 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _OutputIterator 7770: merge(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2, 7770: _OutputIterator __result, _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: ; 7770: 7770: return std::__merge(__first1, __last1, 7770: __first2, __last2, __result, 7770: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 7770: } 7770: 7770: template 7770: inline void 7770: __stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, 7770: _Compare __comp) 7770: { 7770: typedef typename iterator_traits<_RandomAccessIterator>::value_type 7770: _ValueType; 7770: typedef typename iterator_traits<_RandomAccessIterator>::difference_type 7770: _DistanceType; 7770: 7770: typedef _Temporary_buffer<_RandomAccessIterator, _ValueType> _TmpBuf; 7770: _TmpBuf __buf(__first, __last); 7770: 7770: if (__buf.begin() == 0) 7770: std::__inplace_stable_sort(__first, __last, __comp); 7770: else 7770: std::__stable_sort_adaptive(__first, __last, __buf.begin(), 7770: _DistanceType(__buf.size()), __comp); 7770: } 7770: # 5027 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline void 7770: stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: std::__stable_sort(__first, __last, 7770: __gnu_cxx::__ops::__iter_less_iter()); 7770: } 7770: # 5061 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline void 7770: stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, 7770: _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: std::__stable_sort(__first, __last, 7770: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 7770: } 7770: 7770: template 7770: _OutputIterator 7770: __set_union(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2, 7770: _OutputIterator __result, _Compare __comp) 7770: { 7770: while (__first1 != __last1 && __first2 != __last2) 7770: { 7770: if (__comp(__first1, __first2)) 7770: { 7770: *__result = *__first1; 7770: ++__first1; 7770: } 7770: else if (__comp(__first2, __first1)) 7770: { 7770: *__result = *__first2; 7770: ++__first2; 7770: } 7770: else 7770: { 7770: *__result = *__first1; 7770: ++__first1; 7770: ++__first2; 7770: } 7770: ++__result; 7770: } 7770: return std::copy(__first2, __last2, 7770: std::copy(__first1, __last1, __result)); 7770: } 7770: # 5130 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _OutputIterator 7770: set_union(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2, 7770: _OutputIterator __result) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: ; 7770: 7770: return std::__set_union(__first1, __last1, 7770: __first2, __last2, __result, 7770: __gnu_cxx::__ops::__iter_less_iter()); 7770: } 7770: # 5180 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _OutputIterator 7770: set_union(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2, 7770: _OutputIterator __result, _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: ; 7770: 7770: return std::__set_union(__first1, __last1, 7770: __first2, __last2, __result, 7770: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 7770: } 7770: 7770: template 7770: _OutputIterator 7770: __set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2, 7770: _OutputIterator __result, _Compare __comp) 7770: { 7770: while (__first1 != __last1 && __first2 != __last2) 7770: if (__comp(__first1, __first2)) 7770: ++__first1; 7770: else if (__comp(__first2, __first1)) 7770: ++__first2; 7770: else 7770: { 7770: *__result = *__first1; 7770: ++__first1; 7770: ++__first2; 7770: ++__result; 7770: } 7770: return __result; 7770: } 7770: # 5251 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _OutputIterator 7770: set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2, 7770: _OutputIterator __result) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: ; 7770: 7770: return std::__set_intersection(__first1, __last1, 7770: __first2, __last2, __result, 7770: __gnu_cxx::__ops::__iter_less_iter()); 7770: } 7770: # 5300 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _OutputIterator 7770: set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2, 7770: _OutputIterator __result, _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: ; 7770: 7770: return std::__set_intersection(__first1, __last1, 7770: __first2, __last2, __result, 7770: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 7770: } 7770: 7770: template 7770: _OutputIterator 7770: __set_difference(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2, 7770: _OutputIterator __result, _Compare __comp) 7770: { 7770: while (__first1 != __last1 && __first2 != __last2) 7770: if (__comp(__first1, __first2)) 7770: { 7770: *__result = *__first1; 7770: ++__first1; 7770: ++__result; 7770: } 7770: else if (__comp(__first2, __first1)) 7770: ++__first2; 7770: else 7770: { 7770: ++__first1; 7770: ++__first2; 7770: } 7770: return std::copy(__first1, __last1, __result); 7770: } 7770: # 5373 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _OutputIterator 7770: set_difference(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2, 7770: _OutputIterator __result) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: ; 7770: 7770: return std::__set_difference(__first1, __last1, 7770: __first2, __last2, __result, 7770: __gnu_cxx::__ops::__iter_less_iter()); 7770: } 7770: # 5424 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _OutputIterator 7770: set_difference(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2, 7770: _OutputIterator __result, _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: ; 7770: 7770: return std::__set_difference(__first1, __last1, 7770: __first2, __last2, __result, 7770: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 7770: } 7770: 7770: template 7770: _OutputIterator 7770: __set_symmetric_difference(_InputIterator1 __first1, 7770: _InputIterator1 __last1, 7770: _InputIterator2 __first2, 7770: _InputIterator2 __last2, 7770: _OutputIterator __result, 7770: _Compare __comp) 7770: { 7770: while (__first1 != __last1 && __first2 != __last2) 7770: if (__comp(__first1, __first2)) 7770: { 7770: *__result = *__first1; 7770: ++__first1; 7770: ++__result; 7770: } 7770: else if (__comp(__first2, __first1)) 7770: { 7770: *__result = *__first2; 7770: ++__first2; 7770: ++__result; 7770: } 7770: else 7770: { 7770: ++__first1; 7770: ++__first2; 7770: } 7770: return std::copy(__first2, __last2, 7770: std::copy(__first1, __last1, __result)); 7770: } 7770: # 5503 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _OutputIterator 7770: set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2, 7770: _OutputIterator __result) 7770: { 7770: 7770: g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qplacesearchresult.o places/qplacesearchresult.cpp 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: ; 7770: 7770: return std::__set_symmetric_difference(__first1, __last1, 7770: __first2, __last2, __result, 7770: __gnu_cxx::__ops::__iter_less_iter()); 7770: } 7770: # 5554 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: inline _OutputIterator 7770: set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _InputIterator2 __last2, 7770: _OutputIterator __result, 7770: _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: ; 7770: ; 7770: 7770: return std::__set_symmetric_difference(__first1, __last1, 7770: __first2, __last2, __result, 7770: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 7770: } 7770: 7770: template 7770: constexpr 7770: _ForwardIterator 7770: __min_element(_ForwardIterator __first, _ForwardIterator __last, 7770: _Compare __comp) 7770: { 7770: if (__first == __last) 7770: return __first; 7770: _ForwardIterator __result = __first; 7770: while (++__first != __last) 7770: if (__comp(__first, __result)) 7770: __result = __first; 7770: return __result; 7770: } 7770: # 5607 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: constexpr 7770: _ForwardIterator 7770: inline min_element(_ForwardIterator __first, _ForwardIterator __last) 7770: { 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__min_element(__first, __last, 7770: __gnu_cxx::__ops::__iter_less_iter()); 7770: } 7770: # 5632 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: constexpr 7770: inline _ForwardIterator 7770: min_element(_ForwardIterator __first, _ForwardIterator __last, 7770: _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__min_element(__first, __last, 7770: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 7770: } 7770: 7770: template 7770: constexpr 7770: _ForwardIterator 7770: __max_element(_ForwardIterator __first, _ForwardIterator __last, 7770: _Compare __comp) 7770: { 7770: if (__first == __last) return __first; 7770: _ForwardIterator __result = __first; 7770: while (++__first != __last) 7770: if (__comp(__result, __first)) 7770: __result = __first; 7770: return __result; 7770: } 7770: # 5671 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: constexpr 7770: inline _ForwardIterator 7770: max_element(_ForwardIterator __first, _ForwardIterator __last) 7770: { 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__max_element(__first, __last, 7770: __gnu_cxx::__ops::__iter_less_iter()); 7770: } 7770: # 5696 "/usr/include/c++/8/bits/stl_algo.h" 3 7770: template 7770: constexpr 7770: inline _ForwardIterator 7770: max_element(_ForwardIterator __first, _ForwardIterator __last, 7770: _Compare __comp) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: ; 7770: 7770: return std::__max_element(__first, __last, 7770: __gnu_cxx::__ops::__iter_comp_iter(__comp)); 7770: } 7770: 7770: 7770: 7770: template 7770: _RandomAccessIterator 7770: __sample(_InputIterator __first, _InputIterator __last, input_iterator_tag, 7770: _RandomAccessIterator __out, random_access_iterator_tag, 7770: _Size __n, _UniformRandomBitGenerator&& __g) 7770: { 7770: using __distrib_type = uniform_int_distribution<_Size>; 7770: using __param_type = typename __distrib_type::param_type; 7770: __distrib_type __d{}; 7770: _Size __sample_sz = 0; 7770: while (__first != __last && __sample_sz != __n) 7770: { 7770: __out[__sample_sz++] = *__first; 7770: ++__first; 7770: } 7770: for (auto __pop_sz = __sample_sz; __first != __last; 7770: ++__first, (void) ++__pop_sz) 7770: { 7770: const auto __k = __d(__g, __param_type{0, __pop_sz}); 7770: if (__k < __n) 7770: __out[__k] = *__first; 7770: } 7770: return __out + __sample_sz; 7770: } 7770: 7770: 7770: template 7770: _OutputIterator 7770: __sample(_ForwardIterator __first, _ForwardIterator __last, 7770: forward_iterator_tag, 7770: _OutputIterator __out, _Cat, 7770: _Size __n, _UniformRandomBitGenerator&& __g) 7770: { 7770: using __distrib_type = uniform_int_distribution<_Size>; 7770: using __param_type = typename __distrib_type::param_type; 7770: using _USize = make_unsigned_t<_Size>; 7770: using _Gen = remove_reference_t<_UniformRandomBitGenerator>; 7770: using __uc_type = common_type_t; 7770: 7770: __distrib_type __d{}; 7770: _Size __unsampled_sz = std::distance(__first, __last); 7770: __n = std::min(__n, __unsampled_sz); 7770: 7770: 7770: 7770: 7770: const __uc_type __urngrange = __g.max() - __g.min(); 7770: if (__urngrange / __uc_type(__unsampled_sz) >= __uc_type(__unsampled_sz)) 7770: 7770: 7770: { 7770: while (__n != 0 && __unsampled_sz >= 2) 7770: { 7770: const pair<_Size, _Size> __p = 7770: __gen_two_uniform_ints(__unsampled_sz, __unsampled_sz - 1, __g); 7770: 7770: --__unsampled_sz; 7770: if (__p.first < __n) 7770: { 7770: *__out++ = *__first; 7770: --__n; 7770: } 7770: 7770: ++__first; 7770: 7770: if (__n == 0) break; 7770: 7770: --__unsampled_sz; 7770: if (__p.second < __n) 7770: { 7770: *__out++ = *__first; 7770: --__n; 7770: } 7770: 7770: ++__first; 7770: } 7770: } 7770: 7770: 7770: 7770: for (; __n != 0; ++__first) 7770: if (__d(__g, __param_type{0, --__unsampled_sz}) < __n) 7770: { 7770: *__out++ = *__first; 7770: --__n; 7770: } 7770: return __out; 7770: } 7770: 7770: 7770: 7770: 7770: template 7770: _SampleIterator 7770: sample(_PopulationIterator __first, _PopulationIterator __last, 7770: _SampleIterator __out, _Distance __n, 7770: _UniformRandomBitGenerator&& __g) 7770: { 7770: using __pop_cat = typename 7770: std::iterator_traits<_PopulationIterator>::iterator_category; 7770: using __samp_cat = typename 7770: std::iterator_traits<_SampleIterator>::iterator_category; 7770: 7770: static_assert( 7770: __or_, 7770: is_convertible<__samp_cat, random_access_iterator_tag>>::value, 7770: "output range must use a RandomAccessIterator when input range" 7770: " does not meet the ForwardIterator requirements"); 7770: 7770: static_assert(is_integral<_Distance>::value, 7770: "sample size must be an integer type"); 7770: 7770: typename iterator_traits<_PopulationIterator>::difference_type __d = __n; 7770: return std:: 7770: __sample(__first, __last, __pop_cat{}, __out, __samp_cat{}, __d, 7770: std::forward<_UniformRandomBitGenerator>(__g)); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: } 7770: # 63 "/usr/include/c++/8/algorithm" 2 3 7770: # 110 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 7770: # 191 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef signed char qint8; 7770: typedef unsigned char quint8; 7770: typedef short qint16; 7770: typedef unsigned short quint16; 7770: typedef int qint32; 7770: typedef unsigned int quint32; 7770: # 213 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: typedef long long qint64; 7770: typedef unsigned long long quint64; 7770: 7770: 7770: typedef qint64 qlonglong; 7770: typedef quint64 qulonglong; 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef unsigned char uchar; 7770: typedef unsigned short ushort; 7770: typedef unsigned int uint; 7770: typedef unsigned long ulong; 7770: 7770: 7770: 7770: 7770: 7770: typedef double qreal; 7770: # 356 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: extern "C" 7770: 7770: __attribute__((visibility("default"))) const char *qVersion(void) noexcept; 7770: # 384 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: namespace QtPrivate { 7770: template 7770: struct AlignOfHelper 7770: { 7770: char c; 7770: T type; 7770: 7770: AlignOfHelper(); 7770: ~AlignOfHelper(); 7770: }; 7770: 7770: template 7770: struct AlignOf_Default 7770: { 7770: enum { Value = sizeof(AlignOfHelper) - sizeof(T) }; 7770: }; 7770: 7770: template struct AlignOf : AlignOf_Default { }; 7770: template struct AlignOf : AlignOf {}; 7770: template struct AlignOf : AlignOf {}; 7770: 7770: 7770: template struct AlignOf : AlignOf {}; 7770: # 424 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: } 7770: # 440 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: template struct QIntegerForSize; 7770: template <> struct QIntegerForSize<1> { typedef quint8 Unsigned; typedef qint8 Signed; }; 7770: template <> struct QIntegerForSize<2> { typedef quint16 Unsigned; typedef qint16 Signed; }; 7770: template <> struct QIntegerForSize<4> { typedef quint32 Unsigned; typedef qint32 Signed; }; 7770: template <> struct QIntegerForSize<8> { typedef quint64 Unsigned; typedef qint64 Signed; }; 7770: 7770: template <> struct QIntegerForSize<16> { __extension__ typedef unsigned __int128 Unsigned; __extension__ typedef __int128 Signed; }; 7770: 7770: template struct QIntegerForSizeof: QIntegerForSize { }; 7770: typedef QIntegerForSize<8>::Signed qregisterint; 7770: typedef QIntegerForSize<8>::Unsigned qregisteruint; 7770: typedef QIntegerForSizeof::Unsigned quintptr; 7770: typedef QIntegerForSizeof::Signed qptrdiff; 7770: typedef qptrdiff qintptr; 7770: # 516 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: typedef int QNoImplicitBoolCast; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: constexpr inline T qAbs(const T &t) { return t >= 0 ? t : -t; } 7770: 7770: constexpr inline int qRound(double d) 7770: { return d >= 0.0 ? int(d + 0.5) : int(d - double(int(d-1)) + 0.5) + int(d-1); } 7770: constexpr inline int qRound(float d) 7770: { return d >= 0.0f ? int(d + 0.5f) : int(d - float(int(d-1)) + 0.5f) + int(d-1); } 7770: 7770: constexpr inline qint64 qRound64(double d) 7770: { return d >= 0.0 ? qint64(d + 0.5) : qint64(d - double(qint64(d-1)) + 0.5) + qint64(d-1); } 7770: constexpr inline qint64 qRound64(float d) 7770: { return d >= 0.0f ? qint64(d + 0.5f) : qint64(d - float(qint64(d-1)) + 0.5f) + qint64(d-1); } 7770: 7770: template 7770: constexpr inline const T &qMin(const T &a, const T &b) { return (a < b) ? a : b; } 7770: template 7770: constexpr inline const T &qMax(const T &a, const T &b) { return (a < b) ? b : a; } 7770: template 7770: constexpr inline const T &qBound(const T &min, const T &val, const T &max) 7770: { return qMax(min, qMin(max, val)); } 7770: # 621 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: class QDataStream; 7770: 7770: inline void qt_noop(void) {} 7770: # 663 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: __attribute__((visibility("default"))) bool qSharedBuild() noexcept; 7770: # 702 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: class QString; 7770: __attribute__((visibility("default"))) QString qt_error_string(int errorCode = -1); 7770: 7770: 7770: __attribute__((__noreturn__)) 7770: 7770: __attribute__((visibility("default"))) void qt_assert(const char *assertion, const char *file, int line) noexcept; 7770: # 723 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: __attribute__((__noreturn__)) 7770: 7770: __attribute__((visibility("default"))) void qt_assert_x(const char *where, const char *what, const char *file, int line) noexcept; 7770: # 756 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: __attribute__((__noreturn__)) __attribute__((visibility("default"))) void qt_check_pointer(const char *, int) noexcept; 7770: __attribute__((visibility("default"))) void qBadAlloc(); 7770: # 769 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: template 7770: inline T *q_check_ptr(T *p) { qt_noop(); return p; } 7770: 7770: typedef void (*QFunctionPointer)(); 7770: 7770: 7770: 7770: 7770: 7770: [[nodiscard]] constexpr static inline __attribute__((__unused__)) bool qFuzzyCompare(double p1, double p2) 7770: { 7770: return (qAbs(p1 - p2) * 1000000000000. <= qMin(qAbs(p1), qAbs(p2))); 7770: } 7770: 7770: [[nodiscard]] constexpr static inline __attribute__((__unused__)) bool qFuzzyCompare(float p1, float p2) 7770: { 7770: return (qAbs(p1 - p2) * 100000.f <= qMin(qAbs(p1), qAbs(p2))); 7770: } 7770: 7770: [[nodiscard]] constexpr static inline __attribute__((__unused__)) bool qFuzzyIsNull(double d) 7770: { 7770: return qAbs(d) <= 0.000000000001; 7770: } 7770: 7770: [[nodiscard]] constexpr static inline __attribute__((__unused__)) bool qFuzzyIsNull(float f) 7770: { 7770: return qAbs(f) <= 0.00001f; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: [[nodiscard]] static inline __attribute__((__unused__)) bool qIsNull(double d) 7770: { 7770: union U { 7770: double d; 7770: quint64 u; 7770: }; 7770: U val; 7770: val.d = d; 7770: return (val.u & static_cast(0x7fffffffffffffffULL)) == 0; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: [[nodiscard]] static inline __attribute__((__unused__)) bool qIsNull(float f) 7770: { 7770: union U { 7770: float f; 7770: quint32 u; 7770: }; 7770: U val; 7770: val.f = f; 7770: return (val.u & 0x7fffffff) == 0; 7770: } 7770: # 850 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: namespace QtPrivate 7770: { 7770: namespace SwapExceptionTester { 7770: using std::swap; 7770: template 7770: void checkSwap(T &t) 7770: noexcept(noexcept(swap(t, t))); 7770: 7770: } 7770: } 7770: 7770: template 7770: inline void qSwap(T &value1, T &value2) 7770: noexcept(noexcept(QtPrivate::SwapExceptionTester::checkSwap(value1))) 7770: { 7770: using std::swap; 7770: swap(value1, value2); 7770: } 7770: # 876 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: __attribute__((visibility("default"))) void *qMallocAligned(size_t size, size_t alignment) __attribute__((alloc_size(1))); 7770: __attribute__((visibility("default"))) void *qReallocAligned(void *ptr, size_t size, size_t oldsize, size_t alignment) __attribute__((alloc_size(2))); 7770: __attribute__((visibility("default"))) void qFreeAligned(void *ptr); 7770: # 918 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: namespace QtPrivate { 7770: template struct QAddConst { typedef const T Type; }; 7770: } 7770: 7770: 7770: template 7770: constexpr typename QtPrivate::QAddConst::Type &qAsConst(T &t) noexcept { return t; } 7770: 7770: template 7770: void qAsConst(const T &&) = delete; 7770: 7770: 7770: 7770: namespace QtPrivate { 7770: 7770: template 7770: class QForeachContainer { 7770: QForeachContainer(const QForeachContainer &) = delete; QForeachContainer &operator=(const QForeachContainer &) = delete; 7770: public: 7770: QForeachContainer(const T &t) : c(t), i(qAsConst(c).begin()), e(qAsConst(c).end()) {} 7770: QForeachContainer(T &&t) : c(std::move(t)), i(qAsConst(c).begin()), e(qAsConst(c).end()) {} 7770: 7770: QForeachContainer(QForeachContainer &&other) 7770: : c(std::move(other.c)), 7770: i(qAsConst(c).begin()), 7770: e(qAsConst(c).end()), 7770: control(std::move(other.control)) 7770: { 7770: } 7770: 7770: QForeachContainer &operator=(QForeachContainer &&other) 7770: { 7770: c = std::move(other.c); 7770: i = qAsConst(c).begin(); 7770: e = qAsConst(c).end(); 7770: control = std::move(other.control); 7770: return *this; 7770: } 7770: 7770: T c; 7770: typename T::const_iterator i, e; 7770: int control = 1; 7770: }; 7770: 7770: template 7770: QForeachContainer::type> qMakeForeachContainer(T &&t) 7770: { 7770: return QForeachContainer::type>(std::forward(t)); 7770: } 7770: 7770: } 7770: # 998 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: template static inline T *qGetPtrHelper(T *ptr) { return ptr; } 7770: template static inline typename Wrapper::pointer qGetPtrHelper(const Wrapper &p) { return p.data(); } 7770: # 1031 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: __attribute__((visibility("default"))) QString qtTrId(const char *id, int n = -1); 7770: # 1063 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: template 7770: struct QNonConstOverload 7770: { 7770: template 7770: constexpr auto operator()(R (T::*ptr)(Args...)) const noexcept -> decltype(ptr) 7770: { return ptr; } 7770: 7770: template 7770: static constexpr auto of(R (T::*ptr)(Args...)) noexcept -> decltype(ptr) 7770: { return ptr; } 7770: }; 7770: 7770: template 7770: struct QConstOverload 7770: { 7770: template 7770: constexpr auto operator()(R (T::*ptr)(Args...) const) const noexcept -> decltype(ptr) 7770: { return ptr; } 7770: 7770: template 7770: static constexpr auto of(R (T::*ptr)(Args...) const) noexcept -> decltype(ptr) 7770: { return ptr; } 7770: }; 7770: 7770: template 7770: struct QOverload : QConstOverload, QNonConstOverload 7770: { 7770: using QConstOverload::of; 7770: using QConstOverload::operator(); 7770: using QNonConstOverload::of; 7770: using QNonConstOverload::operator(); 7770: 7770: template 7770: constexpr auto operator()(R (*ptr)(Args...)) const noexcept -> decltype(ptr) 7770: { return ptr; } 7770: 7770: template 7770: static constexpr auto of(R (*ptr)(Args...)) noexcept -> decltype(ptr) 7770: { return ptr; } 7770: }; 7770: 7770: 7770: template constexpr __attribute__((__unused__)) QOverload qOverload = {}; 7770: template constexpr __attribute__((__unused__)) QConstOverload qConstOverload = {}; 7770: template constexpr __attribute__((__unused__)) QNonConstOverload qNonConstOverload = {}; 7770: 7770: 7770: 7770: 7770: 7770: class QByteArray; 7770: __attribute__((visibility("default"))) QByteArray qgetenv(const char *varName); 7770: __attribute__((visibility("default"))) bool qputenv(const char *varName, const QByteArray& value); 7770: __attribute__((visibility("default"))) bool qunsetenv(const char *varName); 7770: 7770: __attribute__((visibility("default"))) bool qEnvironmentVariableIsEmpty(const char *varName) noexcept; 7770: __attribute__((visibility("default"))) bool qEnvironmentVariableIsSet(const char *varName) noexcept; 7770: __attribute__((visibility("default"))) int qEnvironmentVariableIntValue(const char *varName, bool *ok=nullptr) noexcept; 7770: 7770: inline int qIntCast(double f) { return int(f); } 7770: inline int qIntCast(float f) { return int(f); } 7770: 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) void qsrand(uint seed); 7770: __attribute__((visibility("default"))) int qrand(); 7770: # 1139 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 3 4 7770: namespace QtPrivate { 7770: 7770: template struct QEnableIf; 7770: template struct QEnableIf { typedef T Type; }; 7770: 7770: template struct QConditional { typedef T Type; }; 7770: template struct QConditional { typedef F Type; }; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qtypeinfo.h" 1 3 4 7770: # 41 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qtypeinfo.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 1 3 4 7770: # 42 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qtypeinfo.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: # 56 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qtypeinfo.h" 3 4 7770: template 7770: class QTypeInfo 7770: { 7770: public: 7770: enum { 7770: isSpecialized = std::is_enum::value, 7770: isPointer = false, 7770: isIntegral = std::is_integral::value, 7770: isComplex = !isIntegral && !std::is_enum::value, 7770: isStatic = true, 7770: isRelocatable = std::is_enum::value, 7770: isLarge = (sizeof(T)>sizeof(void*)), 7770: isDummy = false, 7770: sizeOf = sizeof(T) 7770: }; 7770: }; 7770: 7770: template<> 7770: class QTypeInfo 7770: { 7770: public: 7770: enum { 7770: isSpecialized = true, 7770: isPointer = false, 7770: isIntegral = false, 7770: isComplex = false, 7770: isStatic = false, 7770: isRelocatable = false, 7770: isLarge = false, 7770: isDummy = false, 7770: sizeOf = 0 7770: }; 7770: }; 7770: 7770: template 7770: class QTypeInfo 7770: { 7770: public: 7770: enum { 7770: isSpecialized = true, 7770: isPointer = true, 7770: isIntegral = false, 7770: isComplex = false, 7770: isStatic = false, 7770: isRelocatable = true, 7770: isLarge = false, 7770: isDummy = false, 7770: sizeOf = sizeof(T*) 7770: }; 7770: }; 7770: # 122 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qtypeinfo.h" 3 4 7770: template 7770: struct QTypeInfoQuery : public QTypeInfo 7770: { 7770: enum { isRelocatable = !QTypeInfo::isStatic }; 7770: }; 7770: 7770: 7770: template 7770: struct QTypeInfoQuery::isRelocatable || true>::type> : public QTypeInfo 7770: {}; 7770: # 153 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qtypeinfo.h" 3 4 7770: template 7770: class QTypeInfoMerger 7770: { 7770: public: 7770: enum { 7770: isSpecialized = true, 7770: isComplex = QTypeInfoQuery::isComplex || QTypeInfoQuery::isComplex 7770: || QTypeInfoQuery::isComplex || QTypeInfoQuery::isComplex, 7770: isStatic = QTypeInfoQuery::isStatic || QTypeInfoQuery::isStatic 7770: || QTypeInfoQuery::isStatic || QTypeInfoQuery::isStatic, 7770: isRelocatable = QTypeInfoQuery::isRelocatable && QTypeInfoQuery::isRelocatable 7770: && QTypeInfoQuery::isRelocatable && QTypeInfoQuery::isRelocatable, 7770: isLarge = sizeof(T) > sizeof(void*), 7770: isPointer = false, 7770: isIntegral = false, 7770: isDummy = false, 7770: sizeOf = sizeof(T) 7770: }; 7770: }; 7770: # 192 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qtypeinfo.h" 3 4 7770: 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) }; }; 7770: 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) }; }; 7770: 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) }; }; 7770: 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) }; }; 7770: 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) }; }; 7770: 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) }; }; 7770: # 221 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qtypeinfo.h" 3 4 7770: 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) }; }; 7770: 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) }; }; 7770: 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) }; }; 7770: 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) }; }; 7770: # 236 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qtypeinfo.h" 3 4 7770: enum { 7770: Q_COMPLEX_TYPE = 0, 7770: Q_PRIMITIVE_TYPE = 0x1, 7770: Q_STATIC_TYPE = 0, 7770: Q_MOVABLE_TYPE = 0x2, 7770: Q_DUMMY_TYPE = 0x4, 7770: Q_RELOCATABLE_TYPE = 0x8 7770: }; 7770: # 268 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qtypeinfo.h" 3 4 7770: template class QFlags; 7770: template 7770: 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"; } }; 7770: # 300 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qtypeinfo.h" 3 4 7770: 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"; } }; 7770: 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"; } }; 7770: 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"; } }; 7770: 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"; } }; 7770: 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"; } }; 7770: 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"; } }; 7770: 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"; } }; 7770: 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"; } }; 7770: 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"; } }; 7770: 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"; } }; 7770: 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"; } }; 7770: 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"; } }; 7770: 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"; } }; 7770: 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"; } }; 7770: 7770: 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"; } }; 7770: # 331 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qtypeinfo.h" 3 4 7770: 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"; } }; 7770: 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"; } }; 7770: 7770: 7770: 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"; } }; 7770: 7770: 7770: 7770: 7770: # 1153 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsysinfo.h" 1 3 4 7770: # 46 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsysinfo.h" 3 4 7770: 7770: # 69 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsysinfo.h" 3 4 7770: class QString; 7770: class __attribute__((visibility("default"))) QSysInfo { 7770: public: 7770: enum Sizes { 7770: WordSize = (sizeof(void *)<<3) 7770: }; 7770: # 84 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsysinfo.h" 3 4 7770: enum Endian { 7770: BigEndian, 7770: LittleEndian 7770: 7770: 7770: 7770: 7770: 7770: 7770: , ByteOrder = LittleEndian 7770: 7770: 7770: 7770: }; 7770: 7770: 7770: enum __attribute__ ((__deprecated__("Use QOperatingSystemVersion"))) WinVersion { 7770: WV_None = 0x0000, 7770: 7770: WV_32s = 0x0001, 7770: WV_95 = 0x0002, 7770: WV_98 = 0x0003, 7770: WV_Me = 0x0004, 7770: WV_DOS_based= 0x000f, 7770: 7770: 7770: WV_NT = 0x0010, 7770: WV_2000 = 0x0020, 7770: WV_XP = 0x0030, 7770: WV_2003 = 0x0040, 7770: WV_VISTA = 0x0080, 7770: WV_WINDOWS7 = 0x0090, 7770: WV_WINDOWS8 = 0x00a0, 7770: WV_WINDOWS8_1 = 0x00b0, 7770: WV_WINDOWS10 = 0x00c0, 7770: WV_NT_based = 0x00f0, 7770: 7770: 7770: WV_4_0 = WV_NT, 7770: WV_5_0 = WV_2000, 7770: WV_5_1 = WV_XP, 7770: WV_5_2 = WV_2003, 7770: WV_6_0 = WV_VISTA, 7770: WV_6_1 = WV_WINDOWS7, 7770: WV_6_2 = WV_WINDOWS8, 7770: WV_6_3 = WV_WINDOWS8_1, 7770: WV_10_0 = WV_WINDOWS10, 7770: 7770: WV_CE = 0x0100, 7770: WV_CENET = 0x0200, 7770: WV_CE_5 = 0x0300, 7770: WV_CE_6 = 0x0400, 7770: WV_CE_based = 0x0f00 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: enum __attribute__ ((__deprecated__("Use QOperatingSystemVersion"))) MacVersion { 7770: MV_None = 0xffff, 7770: MV_Unknown = 0x0000, 7770: 7770: 7770: MV_9 = (9 == 10 ? 0 + 2 : (9 == 9 ? 1 : 0)), 7770: MV_10_0 = (10 == 10 ? 0 + 2 : (10 == 9 ? 1 : 0)), 7770: MV_10_1 = (10 == 10 ? 1 + 2 : (10 == 9 ? 1 : 0)), 7770: MV_10_2 = (10 == 10 ? 2 + 2 : (10 == 9 ? 1 : 0)), 7770: MV_10_3 = (10 == 10 ? 3 + 2 : (10 == 9 ? 1 : 0)), 7770: MV_10_4 = (10 == 10 ? 4 + 2 : (10 == 9 ? 1 : 0)), 7770: MV_10_5 = (10 == 10 ? 5 + 2 : (10 == 9 ? 1 : 0)), 7770: MV_10_6 = (10 == 10 ? 6 + 2 : (10 == 9 ? 1 : 0)), 7770: MV_10_7 = (10 == 10 ? 7 + 2 : (10 == 9 ? 1 : 0)), 7770: MV_10_8 = (10 == 10 ? 8 + 2 : (10 == 9 ? 1 : 0)), 7770: MV_10_9 = (10 == 10 ? 9 + 2 : (10 == 9 ? 1 : 0)), 7770: MV_10_10 = (10 == 10 ? 10 + 2 : (10 == 9 ? 1 : 0)), 7770: MV_10_11 = (10 == 10 ? 11 + 2 : (10 == 9 ? 1 : 0)), 7770: MV_10_12 = (10 == 10 ? 12 + 2 : (10 == 9 ? 1 : 0)), 7770: 7770: 7770: MV_CHEETAH = MV_10_0, 7770: MV_PUMA = MV_10_1, 7770: MV_JAGUAR = MV_10_2, 7770: MV_PANTHER = MV_10_3, 7770: MV_TIGER = MV_10_4, 7770: MV_LEOPARD = MV_10_5, 7770: MV_SNOWLEOPARD = MV_10_6, 7770: MV_LION = MV_10_7, 7770: MV_MOUNTAINLION = MV_10_8, 7770: MV_MAVERICKS = MV_10_9, 7770: MV_YOSEMITE = MV_10_10, 7770: MV_ELCAPITAN = MV_10_11, 7770: MV_SIERRA = MV_10_12, 7770: 7770: 7770: MV_IOS = 1 << 8, 7770: MV_IOS_4_3 = (QSysInfo::MV_IOS | 4 << 4 | 3), 7770: MV_IOS_5_0 = (QSysInfo::MV_IOS | 5 << 4 | 0), 7770: MV_IOS_5_1 = (QSysInfo::MV_IOS | 5 << 4 | 1), 7770: MV_IOS_6_0 = (QSysInfo::MV_IOS | 6 << 4 | 0), 7770: MV_IOS_6_1 = (QSysInfo::MV_IOS | 6 << 4 | 1), 7770: MV_IOS_7_0 = (QSysInfo::MV_IOS | 7 << 4 | 0), 7770: MV_IOS_7_1 = (QSysInfo::MV_IOS | 7 << 4 | 1), 7770: MV_IOS_8_0 = (QSysInfo::MV_IOS | 8 << 4 | 0), 7770: MV_IOS_8_1 = (QSysInfo::MV_IOS | 8 << 4 | 1), 7770: MV_IOS_8_2 = (QSysInfo::MV_IOS | 8 << 4 | 2), 7770: MV_IOS_8_3 = (QSysInfo::MV_IOS | 8 << 4 | 3), 7770: MV_IOS_8_4 = (QSysInfo::MV_IOS | 8 << 4 | 4), 7770: MV_IOS_9_0 = (QSysInfo::MV_IOS | 9 << 4 | 0), 7770: MV_IOS_9_1 = (QSysInfo::MV_IOS | 9 << 4 | 1), 7770: MV_IOS_9_2 = (QSysInfo::MV_IOS | 9 << 4 | 2), 7770: MV_IOS_9_3 = (QSysInfo::MV_IOS | 9 << 4 | 3), 7770: MV_IOS_10_0 = (QSysInfo::MV_IOS | 10 << 4 | 0), 7770: 7770: 7770: MV_TVOS = 1 << 9, 7770: MV_TVOS_9_0 = (QSysInfo::MV_TVOS | 9 << 4 | 0), 7770: MV_TVOS_9_1 = (QSysInfo::MV_TVOS | 9 << 4 | 1), 7770: MV_TVOS_9_2 = (QSysInfo::MV_TVOS | 9 << 4 | 2), 7770: MV_TVOS_10_0 = (QSysInfo::MV_TVOS | 10 << 4 | 0), 7770: 7770: 7770: MV_WATCHOS = 1 << 10, 7770: MV_WATCHOS_2_0 = (QSysInfo::MV_WATCHOS | 2 << 4 | 0), 7770: MV_WATCHOS_2_1 = (QSysInfo::MV_WATCHOS | 2 << 4 | 1), 7770: MV_WATCHOS_2_2 = (QSysInfo::MV_WATCHOS | 2 << 4 | 2), 7770: MV_WATCHOS_3_0 = (QSysInfo::MV_WATCHOS | 3 << 4 | 0) 7770: }; 7770: 7770: 7770: # 213 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsysinfo.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 213 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsysinfo.h" 3 4 7770: 7770: 7770: # 214 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsysinfo.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 7770: # 214 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsysinfo.h" 3 4 7770: 7770: 7770: 7770: 7770: 7770: static const WinVersion WindowsVersion = WV_None; 7770: static WinVersion windowsVersion() { return WV_None; } 7770: 7770: 7770: 7770: 7770: 7770: static const MacVersion MacintoshVersion = MV_None; 7770: static MacVersion macVersion() { return MV_None; } 7770: 7770: 7770: # 229 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsysinfo.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 229 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsysinfo.h" 3 4 7770: 7770: 7770: 7770: static QString buildCpuArchitecture(); 7770: static QString currentCpuArchitecture(); 7770: static QString buildAbi(); 7770: 7770: static QString kernelType(); 7770: static QString kernelVersion(); 7770: static QString productType(); 7770: static QString productVersion(); 7770: static QString prettyProductName(); 7770: 7770: static QString machineHostName(); 7770: }; 7770: 7770: 7770: 7770: 7770: # 1154 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlogging.h" 1 3 4 7770: # 50 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlogging.h" 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: class QDebug; 7770: class QNoDebug; 7770: 7770: enum QtMsgType { QtDebugMsg, QtWarningMsg, QtCriticalMsg, QtFatalMsg, QtInfoMsg, QtSystemMsg = QtCriticalMsg }; 7770: 7770: class QMessageLogContext 7770: { 7770: QMessageLogContext(const QMessageLogContext &) = delete; QMessageLogContext &operator=(const QMessageLogContext &) = delete; 7770: public: 7770: constexpr QMessageLogContext() 7770: : version(2), line(0), file(nullptr), function(nullptr), category(nullptr) {} 7770: constexpr QMessageLogContext(const char *fileName, int lineNumber, const char *functionName, const char *categoryName) 7770: : version(2), line(lineNumber), file(fileName), function(functionName), category(categoryName) {} 7770: 7770: void copy(const QMessageLogContext &logContext); 7770: 7770: int version; 7770: int line; 7770: const char *file; 7770: const char *function; 7770: const char *category; 7770: 7770: private: 7770: friend class QMessageLogger; 7770: friend class QDebug; 7770: }; 7770: 7770: class QLoggingCategory; 7770: 7770: class __attribute__((visibility("default"))) QMessageLogger 7770: { 7770: QMessageLogger(const QMessageLogger &) = delete; QMessageLogger &operator=(const QMessageLogger &) = delete; 7770: public: 7770: constexpr QMessageLogger() : context() {} 7770: constexpr QMessageLogger(const char *file, int line, const char *function) 7770: : context(file, line, function, "default") {} 7770: constexpr QMessageLogger(const char *file, int line, const char *function, const char *category) 7770: : context(file, line, function, category) {} 7770: 7770: void debug(const char *msg, ...) const __attribute__((format(printf, (2), (3)))); 7770: void noDebug(const char *, ...) const __attribute__((format(printf, (2), (3)))) 7770: {} 7770: void info(const char *msg, ...) const __attribute__((format(printf, (2), (3)))); 7770: void warning(const char *msg, ...) const __attribute__((format(printf, (2), (3)))); 7770: void critical(const char *msg, ...) const __attribute__((format(printf, (2), (3)))); 7770: 7770: typedef const QLoggingCategory &(*CategoryFunction)(); 7770: 7770: void debug(const QLoggingCategory &cat, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 7770: void debug(CategoryFunction catFunc, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 7770: void info(const QLoggingCategory &cat, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 7770: void info(CategoryFunction catFunc, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 7770: void warning(const QLoggingCategory &cat, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 7770: void warning(CategoryFunction catFunc, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 7770: void critical(const QLoggingCategory &cat, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 7770: void critical(CategoryFunction catFunc, const char *msg, ...) const __attribute__((format(printf, (3), (4)))); 7770: 7770: 7770: __attribute__((__noreturn__)) 7770: 7770: void fatal(const char *msg, ...) const noexcept __attribute__((format(printf, (2), (3)))); 7770: 7770: 7770: QDebug debug() const; 7770: QDebug debug(const QLoggingCategory &cat) const; 7770: QDebug debug(CategoryFunction catFunc) const; 7770: QDebug info() const; 7770: QDebug info(const QLoggingCategory &cat) const; 7770: QDebug info(CategoryFunction catFunc) const; 7770: QDebug warning() const; 7770: QDebug warning(const QLoggingCategory &cat) const; 7770: QDebug warning(CategoryFunction catFunc) const; 7770: QDebug critical() const; 7770: QDebug critical(const QLoggingCategory &cat) const; 7770: QDebug critical(CategoryFunction catFunc) const; 7770: 7770: QNoDebug noDebug() const noexcept; 7770: 7770: 7770: private: 7770: QMessageLogContext context; 7770: }; 7770: # 179 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlogging.h" 3 4 7770: __attribute__((visibility("default"))) void qt_message_output(QtMsgType, const QMessageLogContext &context, 7770: const QString &message); 7770: 7770: __attribute__((visibility("default"))) void qErrnoWarning(int code, const char *msg, ...); 7770: __attribute__((visibility("default"))) void qErrnoWarning(const char *msg, ...); 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef void (*QtMessageHandler)(QtMsgType, const QMessageLogContext &, const QString &); 7770: __attribute__((visibility("default"))) QtMessageHandler qInstallMessageHandler(QtMessageHandler); 7770: 7770: __attribute__((visibility("default"))) void qSetMessagePattern(const QString &messagePattern); 7770: __attribute__((visibility("default"))) QString qFormatLogMessage(QtMsgType type, const QMessageLogContext &context, 7770: const QString &buf); 7770: 7770: 7770: # 1155 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qflags.h" 1 3 4 7770: # 49 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qflags.h" 3 4 7770: 7770: 7770: class QDataStream; 7770: 7770: class QFlag 7770: { 7770: int i; 7770: public: 7770: constexpr inline QFlag(int ai) noexcept : i(ai) {} 7770: constexpr inline operator int() const noexcept { return i; } 7770: # 68 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qflags.h" 3 4 7770: constexpr inline QFlag(uint ai) noexcept : i(int(ai)) {} 7770: constexpr inline QFlag(short ai) noexcept : i(int(ai)) {} 7770: constexpr inline QFlag(ushort ai) noexcept : i(int(uint(ai))) {} 7770: constexpr inline operator uint() const noexcept { return uint(i); } 7770: 7770: }; 7770: 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"; } }; 7770: 7770: class QIncompatibleFlag 7770: { 7770: int i; 7770: public: 7770: constexpr inline explicit QIncompatibleFlag(int i) noexcept; 7770: constexpr inline operator int() const noexcept { return i; } 7770: }; 7770: 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"; } }; 7770: 7770: constexpr inline QIncompatibleFlag::QIncompatibleFlag(int ai) noexcept : i(ai) {} 7770: 7770: 7770: 7770: 7770: template 7770: class QFlags 7770: { 7770: static_assert(bool((sizeof(Enum) <= sizeof(int))), "QFlags uses an int as storage, so an enum with underlying " "long long will overflow.") 7770: 7770: ; 7770: static_assert(bool((std::is_enum::value)), "QFlags is only usable on enumeration types."); 7770: 7770: struct Private; 7770: typedef int (Private::*Zero); 7770: template friend QDataStream &operator>>(QDataStream &, QFlags &); 7770: template friend QDataStream &operator<<(QDataStream &, QFlags); 7770: public: 7770: 7770: 7770: 7770: 7770: 7770: typedef typename std::conditional< 7770: std::is_unsigned::type>::value, 7770: unsigned int, 7770: signed int 7770: >::type Int; 7770: 7770: typedef Enum enum_type; 7770: 7770: 7770: 7770: 7770: 7770: constexpr inline QFlags(Enum f) noexcept : i(Int(f)) {} 7770: constexpr inline QFlags(Zero = nullptr) noexcept : i(0) {} 7770: constexpr inline QFlags(QFlag f) noexcept : i(f) {} 7770: 7770: 7770: constexpr inline QFlags(std::initializer_list flags) noexcept 7770: : i(initializer_list_helper(flags.begin(), flags.end())) {} 7770: 7770: 7770: constexpr inline QFlags &operator&=(int mask) noexcept { i &= mask; return *this; } 7770: constexpr inline QFlags &operator&=(uint mask) noexcept { i &= mask; return *this; } 7770: constexpr inline QFlags &operator&=(Enum mask) noexcept { i &= Int(mask); return *this; } 7770: constexpr inline QFlags &operator|=(QFlags f) noexcept { i |= f.i; return *this; } 7770: constexpr inline QFlags &operator|=(Enum f) noexcept { i |= Int(f); return *this; } 7770: constexpr inline QFlags &operator^=(QFlags f) noexcept { i ^= f.i; return *this; } 7770: constexpr inline QFlags &operator^=(Enum f) noexcept { i ^= Int(f); return *this; } 7770: 7770: constexpr inline operator Int() const noexcept { return i; } 7770: 7770: constexpr inline QFlags operator|(QFlags f) const noexcept { return QFlags(QFlag(i | f.i)); } 7770: constexpr inline QFlags operator|(Enum f) const noexcept { return QFlags(QFlag(i | Int(f))); } 7770: constexpr inline QFlags operator^(QFlags f) const noexcept { return QFlags(QFlag(i ^ f.i)); } 7770: constexpr inline QFlags operator^(Enum f) const noexcept { return QFlags(QFlag(i ^ Int(f))); } 7770: constexpr inline QFlags operator&(int mask) const noexcept { return QFlags(QFlag(i & mask)); } 7770: constexpr inline QFlags operator&(uint mask) const noexcept { return QFlags(QFlag(i & mask)); } 7770: constexpr inline QFlags operator&(Enum f) const noexcept { return QFlags(QFlag(i & Int(f))); } 7770: constexpr inline QFlags operator~() const noexcept { return QFlags(QFlag(~i)); } 7770: 7770: constexpr inline bool operator!() const noexcept { return !i; } 7770: 7770: constexpr inline bool testFlag(Enum f) const noexcept { return (i & Int(f)) == Int(f) && (Int(f) != 0 || i == Int(f) ); } 7770: constexpr inline QFlags &setFlag(Enum f, bool on = true) noexcept 7770: { 7770: return on ? (*this |= f) : (*this &= ~f); 7770: } 7770: 7770: private: 7770: 7770: constexpr static inline Int initializer_list_helper(typename std::initializer_list::const_iterator it, 7770: typename std::initializer_list::const_iterator end) 7770: noexcept 7770: { 7770: return (it == end ? Int(0) : (Int(*it) | initializer_list_helper(it + 1, end))); 7770: } 7770: 7770: 7770: Int i; 7770: }; 7770: # 196 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qflags.h" 3 4 7770: 7770: # 1157 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 7770: # 46 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbasicatomic.h" 1 3 4 7770: # 41 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbasicatomic.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 7770: # 42 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbasicatomic.h" 2 3 4 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbasicatomic.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic_cxx11.h" 1 3 4 7770: # 44 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic_cxx11.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qgenericatomic.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qgenericatomic.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qtypeinfo.h" 1 3 4 7770: # 46 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qgenericatomic.h" 2 3 4 7770: 7770: 7770: # 56 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qgenericatomic.h" 3 4 7770: template struct QAtomicOpsSupport { enum { IsSupported = 0 }; }; 7770: template<> struct QAtomicOpsSupport<4> { enum { IsSupported = 1 }; }; 7770: 7770: template struct QAtomicAdditiveType 7770: { 7770: typedef T AdditiveT; 7770: static const int AddScale = 1; 7770: }; 7770: template struct QAtomicAdditiveType 7770: { 7770: typedef qptrdiff AdditiveT; 7770: static const int AddScale = sizeof(T); 7770: }; 7770: 7770: 7770: template struct QGenericAtomicOps 7770: { 7770: template struct AtomicType { typedef T Type; typedef T *PointerType; }; 7770: 7770: template static void acquireMemoryFence(const T &_q_value) noexcept 7770: { 7770: BaseClass::orderedMemoryFence(_q_value); 7770: } 7770: template static void releaseMemoryFence(const T &_q_value) noexcept 7770: { 7770: BaseClass::orderedMemoryFence(_q_value); 7770: } 7770: template static void orderedMemoryFence(const T &) noexcept 7770: { 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T load(const T &_q_value) noexcept 7770: { 7770: return _q_value; 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: void store(T &_q_value, X newValue) noexcept 7770: { 7770: _q_value = newValue; 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T loadAcquire(const T &_q_value) noexcept 7770: { 7770: T tmp = *static_cast(&_q_value); 7770: BaseClass::acquireMemoryFence(_q_value); 7770: return tmp; 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: void storeRelease(T &_q_value, X newValue) noexcept 7770: { 7770: BaseClass::releaseMemoryFence(_q_value); 7770: *static_cast(&_q_value) = newValue; 7770: } 7770: 7770: static inline constexpr bool isReferenceCountingNative() noexcept 7770: { return BaseClass::isFetchAndAddNative(); } 7770: static inline constexpr bool isReferenceCountingWaitFree() noexcept 7770: { return BaseClass::isFetchAndAddWaitFree(); } 7770: template static inline __attribute__((always_inline)) 7770: bool ref(T &_q_value) noexcept 7770: { 7770: return BaseClass::fetchAndAddRelaxed(_q_value, 1) != T(-1); 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: bool deref(T &_q_value) noexcept 7770: { 7770: return BaseClass::fetchAndAddRelaxed(_q_value, -1) != 1; 7770: } 7770: # 141 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qgenericatomic.h" 3 4 7770: template static inline __attribute__((always_inline)) 7770: bool testAndSetAcquire(T &_q_value, X expectedValue, X newValue) noexcept 7770: { 7770: bool tmp = BaseClass::testAndSetRelaxed(_q_value, expectedValue, newValue); 7770: BaseClass::acquireMemoryFence(_q_value); 7770: return tmp; 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: bool testAndSetRelease(T &_q_value, X expectedValue, X newValue) noexcept 7770: { 7770: BaseClass::releaseMemoryFence(_q_value); 7770: return BaseClass::testAndSetRelaxed(_q_value, expectedValue, newValue); 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: bool testAndSetOrdered(T &_q_value, X expectedValue, X newValue) noexcept 7770: { 7770: BaseClass::orderedMemoryFence(_q_value); 7770: return BaseClass::testAndSetRelaxed(_q_value, expectedValue, newValue); 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: bool testAndSetAcquire(T &_q_value, X expectedValue, X newValue, X *currentValue) noexcept 7770: { 7770: bool tmp = BaseClass::testAndSetRelaxed(_q_value, expectedValue, newValue, currentValue); 7770: BaseClass::acquireMemoryFence(_q_value); 7770: return tmp; 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: bool testAndSetRelease(T &_q_value, X expectedValue, X newValue, X *currentValue) noexcept 7770: { 7770: BaseClass::releaseMemoryFence(_q_value); 7770: return BaseClass::testAndSetRelaxed(_q_value, expectedValue, newValue, currentValue); 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: bool testAndSetOrdered(T &_q_value, X expectedValue, X newValue, X *currentValue) noexcept 7770: { 7770: BaseClass::orderedMemoryFence(_q_value); 7770: return BaseClass::testAndSetRelaxed(_q_value, expectedValue, newValue, currentValue); 7770: } 7770: 7770: static inline constexpr bool isFetchAndStoreNative() noexcept { return false; } 7770: static inline constexpr bool isFetchAndStoreWaitFree() noexcept { return false; } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndStoreRelaxed(T &_q_value, X newValue) noexcept 7770: { 7770: 7770: for(;;) { 7770: T tmp = load(_q_value); 7770: if (BaseClass::testAndSetRelaxed(_q_value, tmp, newValue)) 7770: return tmp; 7770: } 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndStoreAcquire(T &_q_value, X newValue) noexcept 7770: { 7770: T tmp = BaseClass::fetchAndStoreRelaxed(_q_value, newValue); 7770: BaseClass::acquireMemoryFence(_q_value); 7770: return tmp; 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndStoreRelease(T &_q_value, X newValue) noexcept 7770: { 7770: BaseClass::releaseMemoryFence(_q_value); 7770: return BaseClass::fetchAndStoreRelaxed(_q_value, newValue); 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndStoreOrdered(T &_q_value, X newValue) noexcept 7770: { 7770: BaseClass::orderedMemoryFence(_q_value); 7770: return BaseClass::fetchAndStoreRelaxed(_q_value, newValue); 7770: } 7770: 7770: static inline constexpr bool isFetchAndAddNative() noexcept { return false; } 7770: static inline constexpr bool isFetchAndAddWaitFree() noexcept { return false; } 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndAddRelaxed(T &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: 7770: for(;;) { 7770: T tmp = BaseClass::load(_q_value); 7770: if (BaseClass::testAndSetRelaxed(_q_value, tmp, T(tmp + valueToAdd))) 7770: return tmp; 7770: } 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndAddAcquire(T &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: T tmp = BaseClass::fetchAndAddRelaxed(_q_value, valueToAdd); 7770: BaseClass::acquireMemoryFence(_q_value); 7770: return tmp; 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndAddRelease(T &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: BaseClass::releaseMemoryFence(_q_value); 7770: return BaseClass::fetchAndAddRelaxed(_q_value, valueToAdd); 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndAddOrdered(T &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: BaseClass::orderedMemoryFence(_q_value); 7770: return BaseClass::fetchAndAddRelaxed(_q_value, valueToAdd); 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndSubRelaxed(T &_q_value, typename QAtomicAdditiveType::AdditiveT operand) noexcept 7770: { 7770: 7770: return fetchAndAddRelaxed(_q_value, -operand); 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndSubAcquire(T &_q_value, typename QAtomicAdditiveType::AdditiveT operand) noexcept 7770: { 7770: T tmp = BaseClass::fetchAndSubRelaxed(_q_value, operand); 7770: BaseClass::acquireMemoryFence(_q_value); 7770: return tmp; 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndSubRelease(T &_q_value, typename QAtomicAdditiveType::AdditiveT operand) noexcept 7770: { 7770: BaseClass::releaseMemoryFence(_q_value); 7770: return BaseClass::fetchAndSubRelaxed(_q_value, operand); 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndSubOrdered(T &_q_value, typename QAtomicAdditiveType::AdditiveT operand) noexcept 7770: { 7770: BaseClass::orderedMemoryFence(_q_value); 7770: return BaseClass::fetchAndSubRelaxed(_q_value, operand); 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndAndRelaxed(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 7770: { 7770: 7770: T tmp = BaseClass::load(_q_value); 7770: for(;;) { 7770: if (BaseClass::testAndSetRelaxed(_q_value, tmp, T(tmp & operand), &tmp)) 7770: return tmp; 7770: } 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndAndAcquire(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 7770: { 7770: T tmp = BaseClass::fetchAndAndRelaxed(_q_value, operand); 7770: BaseClass::acquireMemoryFence(_q_value); 7770: return tmp; 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndAndRelease(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 7770: { 7770: BaseClass::releaseMemoryFence(_q_value); 7770: return BaseClass::fetchAndAndRelaxed(_q_value, operand); 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndAndOrdered(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 7770: { 7770: BaseClass::orderedMemoryFence(_q_value); 7770: return BaseClass::fetchAndAndRelaxed(_q_value, operand); 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndOrRelaxed(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 7770: { 7770: 7770: T tmp = BaseClass::load(_q_value); 7770: for(;;) { 7770: if (BaseClass::testAndSetRelaxed(_q_value, tmp, T(tmp | operand), &tmp)) 7770: return tmp; 7770: } 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndOrAcquire(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 7770: { 7770: T tmp = BaseClass::fetchAndOrRelaxed(_q_value, operand); 7770: BaseClass::acquireMemoryFence(_q_value); 7770: return tmp; 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndOrRelease(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 7770: { 7770: BaseClass::releaseMemoryFence(_q_value); 7770: return BaseClass::fetchAndOrRelaxed(_q_value, operand); 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndOrOrdered(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 7770: { 7770: BaseClass::orderedMemoryFence(_q_value); 7770: return BaseClass::fetchAndOrRelaxed(_q_value, operand); 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndXorRelaxed(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 7770: { 7770: 7770: T tmp = BaseClass::load(_q_value); 7770: for(;;) { 7770: if (BaseClass::testAndSetRelaxed(_q_value, tmp, T(tmp ^ operand), &tmp)) 7770: return tmp; 7770: } 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndXorAcquire(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 7770: { 7770: T tmp = BaseClass::fetchAndXorRelaxed(_q_value, operand); 7770: BaseClass::acquireMemoryFence(_q_value); 7770: return tmp; 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndXorRelease(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 7770: { 7770: BaseClass::releaseMemoryFence(_q_value); 7770: return BaseClass::fetchAndXorRelaxed(_q_value, operand); 7770: } 7770: 7770: template static inline __attribute__((always_inline)) 7770: T fetchAndXorOrdered(T &_q_value, typename std::enable_if::isIntegral, T>::type operand) noexcept 7770: { 7770: BaseClass::orderedMemoryFence(_q_value); 7770: return BaseClass::fetchAndXorRelaxed(_q_value, operand); 7770: } 7770: }; 7770: 7770: 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic_cxx11.h" 2 3 4 7770: # 1 "/usr/include/c++/8/atomic" 1 3 4 7770: # 35 "/usr/include/c++/8/atomic" 3 4 7770: 7770: # 36 "/usr/include/c++/8/atomic" 3 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/atomic_base.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/atomic_base.h" 3 7770: 7770: # 34 "/usr/include/c++/8/bits/atomic_base.h" 3 7770: 7770: 7770: # 1 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stdint.h" 1 3 4 7770: # 9 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stdint.h" 3 4 7770: # 1 "/usr/include/stdint.h" 1 3 4 7770: # 26 "/usr/include/stdint.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/libc-header-start.h" 1 3 4 7770: # 27 "/usr/include/stdint.h" 2 3 4 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/wchar.h" 1 3 4 7770: # 29 "/usr/include/stdint.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/wordsize.h" 1 3 4 7770: # 30 "/usr/include/stdint.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/stdint-uintn.h" 1 3 4 7770: # 24 "/usr/include/aarch64-linux-gnu/bits/stdint-uintn.h" 3 4 7770: typedef __uint8_t uint8_t; 7770: typedef __uint16_t uint16_t; 7770: typedef __uint32_t uint32_t; 7770: typedef __uint64_t uint64_t; 7770: # 38 "/usr/include/stdint.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: typedef signed char int_least8_t; 7770: typedef short int int_least16_t; 7770: typedef int int_least32_t; 7770: 7770: typedef long int int_least64_t; 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef unsigned char uint_least8_t; 7770: typedef unsigned short int uint_least16_t; 7770: typedef unsigned int uint_least32_t; 7770: 7770: typedef unsigned long int uint_least64_t; 7770: # 68 "/usr/include/stdint.h" 3 4 7770: typedef signed char int_fast8_t; 7770: 7770: typedef long int int_fast16_t; 7770: typedef long int int_fast32_t; 7770: typedef long int int_fast64_t; 7770: # 81 "/usr/include/stdint.h" 3 4 7770: typedef unsigned char uint_fast8_t; 7770: 7770: typedef unsigned long int uint_fast16_t; 7770: typedef unsigned long int uint_fast32_t; 7770: typedef unsigned long int uint_fast64_t; 7770: # 97 "/usr/include/stdint.h" 3 4 7770: typedef long int intptr_t; 7770: 7770: 7770: typedef unsigned long int uintptr_t; 7770: # 111 "/usr/include/stdint.h" 3 4 7770: typedef __intmax_t intmax_t; 7770: typedef __uintmax_t uintmax_t; 7770: # 10 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stdint.h" 2 3 4 7770: # 37 "/usr/include/c++/8/bits/atomic_base.h" 2 3 7770: # 1 "/usr/include/c++/8/bits/atomic_lockfree_defines.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/atomic_lockfree_defines.h" 3 7770: 7770: # 34 "/usr/include/c++/8/bits/atomic_lockfree_defines.h" 3 7770: # 38 "/usr/include/c++/8/bits/atomic_base.h" 2 3 7770: 7770: 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 55 "/usr/include/c++/8/bits/atomic_base.h" 3 7770: typedef enum memory_order 7770: { 7770: memory_order_relaxed, 7770: memory_order_consume, 7770: memory_order_acquire, 7770: memory_order_release, 7770: memory_order_acq_rel, 7770: memory_order_seq_cst 7770: } memory_order; 7770: 7770: enum __memory_order_modifier 7770: { 7770: __memory_order_mask = 0x0ffff, 7770: __memory_order_modifier_mask = 0xffff0000, 7770: __memory_order_hle_acquire = 0x10000, 7770: __memory_order_hle_release = 0x20000 7770: }; 7770: 7770: constexpr memory_order 7770: operator|(memory_order __m, __memory_order_modifier __mod) 7770: { 7770: return memory_order(__m | int(__mod)); 7770: } 7770: 7770: constexpr memory_order 7770: operator&(memory_order __m, __memory_order_modifier __mod) 7770: { 7770: return memory_order(__m & int(__mod)); 7770: } 7770: 7770: 7770: constexpr memory_order 7770: __cmpexch_failure_order2(memory_order __m) noexcept 7770: { 7770: return __m == memory_order_acq_rel ? memory_order_acquire 7770: : __m == memory_order_release ? memory_order_relaxed : __m; 7770: } 7770: 7770: constexpr memory_order 7770: __cmpexch_failure_order(memory_order __m) noexcept 7770: { 7770: return memory_order(__cmpexch_failure_order2(__m & __memory_order_mask) 7770: | (__m & __memory_order_modifier_mask)); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) void 7770: atomic_thread_fence(memory_order __m) noexcept 7770: { __atomic_thread_fence(__m); } 7770: 7770: inline __attribute__((__always_inline__)) void 7770: atomic_signal_fence(memory_order __m) noexcept 7770: { __atomic_signal_fence(__m); } 7770: 7770: 7770: template 7770: inline _Tp 7770: kill_dependency(_Tp __y) noexcept 7770: { 7770: _Tp __ret(__y); 7770: return __ret; 7770: } 7770: 7770: 7770: 7770: template 7770: struct __atomic_base; 7770: 7770: 7770: 7770: 7770: template 7770: struct atomic; 7770: 7770: template 7770: struct atomic<_Tp*>; 7770: 7770: 7770: 7770: typedef bool __atomic_flag_data_type; 7770: # 148 "/usr/include/c++/8/bits/atomic_base.h" 3 7770: extern "C" { 7770: 7770: struct __atomic_flag_base 7770: { 7770: __atomic_flag_data_type _M_i; 7770: }; 7770: 7770: } 7770: 7770: 7770: 7770: 7770: struct atomic_flag : public __atomic_flag_base 7770: { 7770: atomic_flag() noexcept = default; 7770: ~atomic_flag() noexcept = default; 7770: atomic_flag(const atomic_flag&) = delete; 7770: atomic_flag& operator=(const atomic_flag&) = delete; 7770: atomic_flag& operator=(const atomic_flag&) volatile = delete; 7770: 7770: 7770: constexpr atomic_flag(bool __i) noexcept 7770: : __atomic_flag_base{ _S_init(__i) } 7770: { } 7770: 7770: inline __attribute__((__always_inline__)) bool 7770: test_and_set(memory_order __m = memory_order_seq_cst) noexcept 7770: { 7770: return __atomic_test_and_set (&_M_i, __m); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) bool 7770: test_and_set(memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { 7770: return __atomic_test_and_set (&_M_i, __m); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) void 7770: clear(memory_order __m = memory_order_seq_cst) noexcept 7770: { 7770: memory_order __b = __m & __memory_order_mask; 7770: ; 7770: ; 7770: ; 7770: 7770: __atomic_clear (&_M_i, __m); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) void 7770: clear(memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { 7770: memory_order __b = __m & __memory_order_mask; 7770: ; 7770: ; 7770: ; 7770: 7770: __atomic_clear (&_M_i, __m); 7770: } 7770: 7770: private: 7770: static constexpr __atomic_flag_data_type 7770: _S_init(bool __i) 7770: { return __i ? 1 : 0; } 7770: }; 7770: # 237 "/usr/include/c++/8/bits/atomic_base.h" 3 7770: template 7770: struct __atomic_base 7770: { 7770: private: 7770: typedef _ITp __int_type; 7770: 7770: static constexpr int _S_alignment = 7770: sizeof(_ITp) > alignof(_ITp) ? sizeof(_ITp) : alignof(_ITp); 7770: 7770: alignas(_S_alignment) __int_type _M_i; 7770: 7770: public: 7770: __atomic_base() noexcept = default; 7770: ~__atomic_base() noexcept = default; 7770: __atomic_base(const __atomic_base&) = delete; 7770: __atomic_base& operator=(const __atomic_base&) = delete; 7770: __atomic_base& operator=(const __atomic_base&) volatile = delete; 7770: 7770: 7770: constexpr __atomic_base(__int_type __i) noexcept : _M_i (__i) { } 7770: 7770: operator __int_type() const noexcept 7770: { return load(); } 7770: 7770: operator __int_type() const volatile noexcept 7770: { return load(); } 7770: 7770: __int_type 7770: operator=(__int_type __i) noexcept 7770: { 7770: store(__i); 7770: return __i; 7770: } 7770: 7770: __int_type 7770: operator=(__int_type __i) volatile noexcept 7770: { 7770: store(__i); 7770: return __i; 7770: } 7770: 7770: __int_type 7770: operator++(int) noexcept 7770: { return fetch_add(1); } 7770: 7770: __int_type 7770: operator++(int) volatile noexcept 7770: { return fetch_add(1); } 7770: 7770: __int_type 7770: operator--(int) noexcept 7770: { return fetch_sub(1); } 7770: 7770: __int_type 7770: operator--(int) volatile noexcept 7770: { return fetch_sub(1); } 7770: 7770: __int_type 7770: operator++() noexcept 7770: { return __atomic_add_fetch(&_M_i, 1, memory_order_seq_cst); } 7770: 7770: __int_type 7770: operator++() volatile noexcept 7770: { return __atomic_add_fetch(&_M_i, 1, memory_order_seq_cst); } 7770: 7770: __int_type 7770: operator--() noexcept 7770: { return __atomic_sub_fetch(&_M_i, 1, memory_order_seq_cst); } 7770: 7770: __int_type 7770: operator--() volatile noexcept 7770: { return __atomic_sub_fetch(&_M_i, 1, memory_order_seq_cst); } 7770: 7770: __int_type 7770: operator+=(__int_type __i) noexcept 7770: { return __atomic_add_fetch(&_M_i, __i, memory_order_seq_cst); } 7770: 7770: __int_type 7770: operator+=(__int_type __i) volatile noexcept 7770: { return __atomic_add_fetch(&_M_i, __i, memory_order_seq_cst); } 7770: 7770: __int_type 7770: operator-=(__int_type __i) noexcept 7770: { return __atomic_sub_fetch(&_M_i, __i, memory_order_seq_cst); } 7770: 7770: __int_type 7770: operator-=(__int_type __i) volatile noexcept 7770: { return __atomic_sub_fetch(&_M_i, __i, memory_order_seq_cst); } 7770: 7770: __int_type 7770: operator&=(__int_type __i) noexcept 7770: { return __atomic_and_fetch(&_M_i, __i, memory_order_seq_cst); } 7770: 7770: __int_type 7770: operator&=(__int_type __i) volatile noexcept 7770: { return __atomic_and_fetch(&_M_i, __i, memory_order_seq_cst); } 7770: 7770: __int_type 7770: operator|=(__int_type __i) noexcept 7770: { return __atomic_or_fetch(&_M_i, __i, memory_order_seq_cst); } 7770: 7770: __int_type 7770: operator|=(__int_type __i) volatile noexcept 7770: { return __atomic_or_fetch(&_M_i, __i, memory_order_seq_cst); } 7770: 7770: __int_type 7770: operator^=(__int_type __i) noexcept 7770: { return __atomic_xor_fetch(&_M_i, __i, memory_order_seq_cst); } 7770: 7770: __int_type 7770: operator^=(__int_type __i) volatile noexcept 7770: { return __atomic_xor_fetch(&_M_i, __i, memory_order_seq_cst); } 7770: 7770: bool 7770: is_lock_free() const noexcept 7770: { 7770: 7770: return __atomic_is_lock_free(sizeof(_M_i), 7770: reinterpret_cast(-__alignof(_M_i))); 7770: } 7770: 7770: bool 7770: is_lock_free() const volatile noexcept 7770: { 7770: 7770: return __atomic_is_lock_free(sizeof(_M_i), 7770: reinterpret_cast(-__alignof(_M_i))); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) void 7770: store(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept 7770: { 7770: memory_order __b = __m & __memory_order_mask; 7770: ; 7770: ; 7770: ; 7770: 7770: __atomic_store_n(&_M_i, __i, __m); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) void 7770: store(__int_type __i, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { 7770: memory_order __b = __m & __memory_order_mask; 7770: ; 7770: ; 7770: ; 7770: 7770: __atomic_store_n(&_M_i, __i, __m); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) __int_type 7770: load(memory_order __m = memory_order_seq_cst) const noexcept 7770: { 7770: memory_order __b = __m & __memory_order_mask; 7770: ; 7770: ; 7770: 7770: return __atomic_load_n(&_M_i, __m); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) __int_type 7770: load(memory_order __m = memory_order_seq_cst) const volatile noexcept 7770: { 7770: memory_order __b = __m & __memory_order_mask; 7770: ; 7770: ; 7770: 7770: return __atomic_load_n(&_M_i, __m); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) __int_type 7770: exchange(__int_type __i, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { 7770: return __atomic_exchange_n(&_M_i, __i, __m); 7770: } 7770: 7770: 7770: inline __attribute__((__always_inline__)) __int_type 7770: exchange(__int_type __i, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { 7770: return __atomic_exchange_n(&_M_i, __i, __m); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) bool 7770: compare_exchange_weak(__int_type& __i1, __int_type __i2, 7770: memory_order __m1, memory_order __m2) noexcept 7770: { 7770: memory_order __b2 = __m2 & __memory_order_mask; 7770: memory_order __b1 = __m1 & __memory_order_mask; 7770: ; 7770: ; 7770: ; 7770: 7770: return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1, __m1, __m2); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) bool 7770: compare_exchange_weak(__int_type& __i1, __int_type __i2, 7770: memory_order __m1, 7770: memory_order __m2) volatile noexcept 7770: { 7770: memory_order __b2 = __m2 & __memory_order_mask; 7770: memory_order __b1 = __m1 & __memory_order_mask; 7770: ; 7770: ; 7770: ; 7770: 7770: return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1, __m1, __m2); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) bool 7770: compare_exchange_weak(__int_type& __i1, __int_type __i2, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { 7770: return compare_exchange_weak(__i1, __i2, __m, 7770: __cmpexch_failure_order(__m)); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) bool 7770: compare_exchange_weak(__int_type& __i1, __int_type __i2, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { 7770: return compare_exchange_weak(__i1, __i2, __m, 7770: __cmpexch_failure_order(__m)); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) bool 7770: compare_exchange_strong(__int_type& __i1, __int_type __i2, 7770: memory_order __m1, memory_order __m2) noexcept 7770: { 7770: memory_order __b2 = __m2 & __memory_order_mask; 7770: memory_order __b1 = __m1 & __memory_order_mask; 7770: ; 7770: ; 7770: ; 7770: 7770: return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0, __m1, __m2); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) bool 7770: compare_exchange_strong(__int_type& __i1, __int_type __i2, 7770: memory_order __m1, 7770: memory_order __m2) volatile noexcept 7770: { 7770: memory_order __b2 = __m2 & __memory_order_mask; 7770: memory_order __b1 = __m1 & __memory_order_mask; 7770: 7770: ; 7770: ; 7770: ; 7770: 7770: return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0, __m1, __m2); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) bool 7770: compare_exchange_strong(__int_type& __i1, __int_type __i2, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { 7770: return compare_exchange_strong(__i1, __i2, __m, 7770: __cmpexch_failure_order(__m)); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) bool 7770: compare_exchange_strong(__int_type& __i1, __int_type __i2, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { 7770: return compare_exchange_strong(__i1, __i2, __m, 7770: __cmpexch_failure_order(__m)); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) __int_type 7770: fetch_add(__int_type __i, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { return __atomic_fetch_add(&_M_i, __i, __m); } 7770: 7770: inline __attribute__((__always_inline__)) __int_type 7770: fetch_add(__int_type __i, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { return __atomic_fetch_add(&_M_i, __i, __m); } 7770: 7770: inline __attribute__((__always_inline__)) __int_type 7770: fetch_sub(__int_type __i, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { return __atomic_fetch_sub(&_M_i, __i, __m); } 7770: 7770: inline __attribute__((__always_inline__)) __int_type 7770: fetch_sub(__int_type __i, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { return __atomic_fetch_sub(&_M_i, __i, __m); } 7770: 7770: inline __attribute__((__always_inline__)) __int_type 7770: fetch_and(__int_type __i, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { return __atomic_fetch_and(&_M_i, __i, __m); } 7770: 7770: inline __attribute__((__always_inline__)) __int_type 7770: fetch_and(__int_type __i, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { return __atomic_fetch_and(&_M_i, __i, __m); } 7770: 7770: inline __attribute__((__always_inline__)) __int_type 7770: fetch_or(__int_type __i, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { return __atomic_fetch_or(&_M_i, __i, __m); } 7770: 7770: inline __attribute__((__always_inline__)) __int_type 7770: fetch_or(__int_type __i, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { return __atomic_fetch_or(&_M_i, __i, __m); } 7770: 7770: inline __attribute__((__always_inline__)) __int_type 7770: fetch_xor(__int_type __i, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { return __atomic_fetch_xor(&_M_i, __i, __m); } 7770: 7770: inline __attribute__((__always_inline__)) __int_type 7770: fetch_xor(__int_type __i, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { return __atomic_fetch_xor(&_M_i, __i, __m); } 7770: }; 7770: 7770: 7770: 7770: template 7770: struct __atomic_base<_PTp*> 7770: { 7770: private: 7770: typedef _PTp* __pointer_type; 7770: 7770: __pointer_type _M_p; 7770: 7770: 7770: constexpr ptrdiff_t 7770: _M_type_size(ptrdiff_t __d) const { return __d * sizeof(_PTp); } 7770: 7770: constexpr ptrdiff_t 7770: _M_type_size(ptrdiff_t __d) const volatile { return __d * sizeof(_PTp); } 7770: 7770: public: 7770: __atomic_base() noexcept = default; 7770: ~__atomic_base() noexcept = default; 7770: __atomic_base(const __atomic_base&) = delete; 7770: __atomic_base& operator=(const __atomic_base&) = delete; 7770: __atomic_base& operator=(const __atomic_base&) volatile = delete; 7770: 7770: 7770: constexpr __atomic_base(__pointer_type __p) noexcept : _M_p (__p) { } 7770: 7770: operator __pointer_type() const noexcept 7770: { return load(); } 7770: 7770: operator __pointer_type() const volatile noexcept 7770: { return load(); } 7770: 7770: __pointer_type 7770: operator=(__pointer_type __p) noexcept 7770: { 7770: store(__p); 7770: return __p; 7770: } 7770: 7770: __pointer_type 7770: operator=(__pointer_type __p) volatile noexcept 7770: { 7770: store(__p); 7770: return __p; 7770: } 7770: 7770: __pointer_type 7770: operator++(int) noexcept 7770: { return fetch_add(1); } 7770: 7770: __pointer_type 7770: operator++(int) volatile noexcept 7770: { return fetch_add(1); } 7770: 7770: __pointer_type 7770: operator--(int) noexcept 7770: { return fetch_sub(1); } 7770: 7770: __pointer_type 7770: operator--(int) volatile noexcept 7770: { return fetch_sub(1); } 7770: 7770: __pointer_type 7770: operator++() noexcept 7770: { return __atomic_add_fetch(&_M_p, _M_type_size(1), 7770: memory_order_seq_cst); } 7770: 7770: __pointer_type 7770: operator++() volatile noexcept 7770: { return __atomic_add_fetch(&_M_p, _M_type_size(1), 7770: memory_order_seq_cst); } 7770: 7770: __pointer_type 7770: operator--() noexcept 7770: { return __atomic_sub_fetch(&_M_p, _M_type_size(1), 7770: memory_order_seq_cst); } 7770: 7770: __pointer_type 7770: operator--() volatile noexcept 7770: { return __atomic_sub_fetch(&_M_p, _M_type_size(1), 7770: memory_order_seq_cst); } 7770: 7770: __pointer_type 7770: operator+=(ptrdiff_t __d) noexcept 7770: { return __atomic_add_fetch(&_M_p, _M_type_size(__d), 7770: memory_order_seq_cst); } 7770: 7770: __pointer_type 7770: operator+=(ptrdiff_t __d) volatile noexcept 7770: { return __atomic_add_fetch(&_M_p, _M_type_size(__d), 7770: memory_order_seq_cst); } 7770: 7770: __pointer_type 7770: operator-=(ptrdiff_t __d) noexcept 7770: { return __atomic_sub_fetch(&_M_p, _M_type_size(__d), 7770: memory_order_seq_cst); } 7770: 7770: __pointer_type 7770: operator-=(ptrdiff_t __d) volatile noexcept 7770: { return __atomic_sub_fetch(&_M_p, _M_type_size(__d), 7770: memory_order_seq_cst); } 7770: 7770: bool 7770: is_lock_free() const noexcept 7770: { 7770: 7770: return __atomic_is_lock_free(sizeof(_M_p), 7770: reinterpret_cast(-__alignof(_M_p))); 7770: } 7770: 7770: bool 7770: is_lock_free() const volatile noexcept 7770: { 7770: 7770: return __atomic_is_lock_free(sizeof(_M_p), 7770: reinterpret_cast(-__alignof(_M_p))); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) void 7770: store(__pointer_type __p, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { 7770: memory_order __b = __m & __memory_order_mask; 7770: 7770: ; 7770: ; 7770: ; 7770: 7770: __atomic_store_n(&_M_p, __p, __m); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) void 7770: store(__pointer_type __p, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { 7770: memory_order __b = __m & __memory_order_mask; 7770: ; 7770: ; 7770: ; 7770: 7770: __atomic_store_n(&_M_p, __p, __m); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) __pointer_type 7770: load(memory_order __m = memory_order_seq_cst) const noexcept 7770: { 7770: memory_order __b = __m & __memory_order_mask; 7770: ; 7770: ; 7770: 7770: return __atomic_load_n(&_M_p, __m); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) __pointer_type 7770: load(memory_order __m = memory_order_seq_cst) const volatile noexcept 7770: { 7770: memory_order __b = __m & __memory_order_mask; 7770: ; 7770: ; 7770: 7770: return __atomic_load_n(&_M_p, __m); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) __pointer_type 7770: exchange(__pointer_type __p, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { 7770: return __atomic_exchange_n(&_M_p, __p, __m); 7770: } 7770: 7770: 7770: inline __attribute__((__always_inline__)) __pointer_type 7770: exchange(__pointer_type __p, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { 7770: return __atomic_exchange_n(&_M_p, __p, __m); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) bool 7770: compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, 7770: memory_order __m1, 7770: memory_order __m2) noexcept 7770: { 7770: memory_order __b2 = __m2 & __memory_order_mask; 7770: memory_order __b1 = __m1 & __memory_order_mask; 7770: ; 7770: ; 7770: ; 7770: 7770: return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0, __m1, __m2); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) bool 7770: compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, 7770: memory_order __m1, 7770: memory_order __m2) volatile noexcept 7770: { 7770: memory_order __b2 = __m2 & __memory_order_mask; 7770: memory_order __b1 = __m1 & __memory_order_mask; 7770: 7770: ; 7770: ; 7770: ; 7770: 7770: return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0, __m1, __m2); 7770: } 7770: 7770: inline __attribute__((__always_inline__)) __pointer_type 7770: fetch_add(ptrdiff_t __d, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { return __atomic_fetch_add(&_M_p, _M_type_size(__d), __m); } 7770: 7770: inline __attribute__((__always_inline__)) __pointer_type 7770: fetch_add(ptrdiff_t __d, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { return __atomic_fetch_add(&_M_p, _M_type_size(__d), __m); } 7770: 7770: inline __attribute__((__always_inline__)) __pointer_type 7770: fetch_sub(ptrdiff_t __d, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), __m); } 7770: 7770: inline __attribute__((__always_inline__)) __pointer_type 7770: fetch_sub(ptrdiff_t __d, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), __m); } 7770: }; 7770: 7770: 7770: 7770: 7770: } 7770: # 42 "/usr/include/c++/8/atomic" 2 3 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 57 "/usr/include/c++/8/atomic" 3 7770: template 7770: struct atomic; 7770: 7770: 7770: 7770: template<> 7770: struct atomic 7770: { 7770: private: 7770: __atomic_base _M_base; 7770: 7770: public: 7770: atomic() noexcept = default; 7770: ~atomic() noexcept = default; 7770: atomic(const atomic&) = delete; 7770: atomic& operator=(const atomic&) = delete; 7770: atomic& operator=(const atomic&) volatile = delete; 7770: 7770: constexpr atomic(bool __i) noexcept : _M_base(__i) { } 7770: 7770: bool 7770: operator=(bool __i) noexcept 7770: { return _M_base.operator=(__i); } 7770: 7770: bool 7770: operator=(bool __i) volatile noexcept 7770: { return _M_base.operator=(__i); } 7770: 7770: operator bool() const noexcept 7770: { return _M_base.load(); } 7770: 7770: operator bool() const volatile noexcept 7770: { return _M_base.load(); } 7770: 7770: bool 7770: is_lock_free() const noexcept { return _M_base.is_lock_free(); } 7770: 7770: bool 7770: is_lock_free() const volatile noexcept { return _M_base.is_lock_free(); } 7770: 7770: 7770: static constexpr bool is_always_lock_free = 2 == 2; 7770: 7770: 7770: void 7770: store(bool __i, memory_order __m = memory_order_seq_cst) noexcept 7770: { _M_base.store(__i, __m); } 7770: 7770: void 7770: store(bool __i, memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { _M_base.store(__i, __m); } 7770: 7770: bool 7770: load(memory_order __m = memory_order_seq_cst) const noexcept 7770: { return _M_base.load(__m); } 7770: 7770: bool 7770: load(memory_order __m = memory_order_seq_cst) const volatile noexcept 7770: { return _M_base.load(__m); } 7770: 7770: bool 7770: exchange(bool __i, memory_order __m = memory_order_seq_cst) noexcept 7770: { return _M_base.exchange(__i, __m); } 7770: 7770: bool 7770: exchange(bool __i, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { return _M_base.exchange(__i, __m); } 7770: 7770: bool 7770: compare_exchange_weak(bool& __i1, bool __i2, memory_order __m1, 7770: memory_order __m2) noexcept 7770: { return _M_base.compare_exchange_weak(__i1, __i2, __m1, __m2); } 7770: 7770: bool 7770: compare_exchange_weak(bool& __i1, bool __i2, memory_order __m1, 7770: memory_order __m2) volatile noexcept 7770: { return _M_base.compare_exchange_weak(__i1, __i2, __m1, __m2); } 7770: 7770: bool 7770: compare_exchange_weak(bool& __i1, bool __i2, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { return _M_base.compare_exchange_weak(__i1, __i2, __m); } 7770: 7770: bool 7770: compare_exchange_weak(bool& __i1, bool __i2, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { return _M_base.compare_exchange_weak(__i1, __i2, __m); } 7770: 7770: bool 7770: compare_exchange_strong(bool& __i1, bool __i2, memory_order __m1, 7770: memory_order __m2) noexcept 7770: { return _M_base.compare_exchange_strong(__i1, __i2, __m1, __m2); } 7770: 7770: bool 7770: compare_exchange_strong(bool& __i1, bool __i2, memory_order __m1, 7770: memory_order __m2) volatile noexcept 7770: { return _M_base.compare_exchange_strong(__i1, __i2, __m1, __m2); } 7770: 7770: bool 7770: compare_exchange_strong(bool& __i1, bool __i2, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { return _M_base.compare_exchange_strong(__i1, __i2, __m); } 7770: 7770: bool 7770: compare_exchange_strong(bool& __i1, bool __i2, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { return _M_base.compare_exchange_strong(__i1, __i2, __m); } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct atomic 7770: { 7770: private: 7770: 7770: static constexpr int _S_min_alignment 7770: = (sizeof(_Tp) & (sizeof(_Tp) - 1)) || sizeof(_Tp) > 16 7770: ? 0 : sizeof(_Tp); 7770: 7770: static constexpr int _S_alignment 7770: = _S_min_alignment > alignof(_Tp) ? _S_min_alignment : alignof(_Tp); 7770: 7770: alignas(_S_alignment) _Tp _M_i; 7770: 7770: static_assert(__is_trivially_copyable(_Tp), 7770: "std::atomic requires a trivially copyable type"); 7770: 7770: static_assert(sizeof(_Tp) > 0, 7770: "Incomplete or zero-sized types are not supported"); 7770: 7770: public: 7770: atomic() noexcept = default; 7770: ~atomic() noexcept = default; 7770: atomic(const atomic&) = delete; 7770: atomic& operator=(const atomic&) = delete; 7770: atomic& operator=(const atomic&) volatile = delete; 7770: 7770: constexpr atomic(_Tp __i) noexcept : _M_i(__i) { } 7770: 7770: operator _Tp() const noexcept 7770: { return load(); } 7770: 7770: operator _Tp() const volatile noexcept 7770: { return load(); } 7770: 7770: _Tp 7770: operator=(_Tp __i) noexcept 7770: { store(__i); return __i; } 7770: 7770: _Tp 7770: operator=(_Tp __i) volatile noexcept 7770: { store(__i); return __i; } 7770: 7770: bool 7770: is_lock_free() const noexcept 7770: { 7770: 7770: return __atomic_is_lock_free(sizeof(_M_i), 7770: reinterpret_cast(-__alignof(_M_i))); 7770: } 7770: 7770: bool 7770: is_lock_free() const volatile noexcept 7770: { 7770: 7770: return __atomic_is_lock_free(sizeof(_M_i), 7770: reinterpret_cast(-__alignof(_M_i))); 7770: } 7770: 7770: 7770: static constexpr bool is_always_lock_free 7770: = __atomic_always_lock_free(sizeof(_M_i), 0); 7770: 7770: 7770: void 7770: store(_Tp __i, memory_order __m = memory_order_seq_cst) noexcept 7770: { __atomic_store(std::__addressof(_M_i), std::__addressof(__i), __m); } 7770: 7770: void 7770: store(_Tp __i, memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { __atomic_store(std::__addressof(_M_i), std::__addressof(__i), __m); } 7770: 7770: _Tp 7770: load(memory_order __m = memory_order_seq_cst) const noexcept 7770: { 7770: alignas(_Tp) unsigned char __buf[sizeof(_Tp)]; 7770: _Tp* __ptr = reinterpret_cast<_Tp*>(__buf); 7770: __atomic_load(std::__addressof(_M_i), __ptr, __m); 7770: return *__ptr; 7770: } 7770: 7770: _Tp 7770: load(memory_order __m = memory_order_seq_cst) const volatile noexcept 7770: { 7770: alignas(_Tp) unsigned char __buf[sizeof(_Tp)]; 7770: _Tp* __ptr = reinterpret_cast<_Tp*>(__buf); 7770: __atomic_load(std::__addressof(_M_i), __ptr, __m); 7770: return *__ptr; 7770: } 7770: 7770: _Tp 7770: exchange(_Tp __i, memory_order __m = memory_order_seq_cst) noexcept 7770: { 7770: alignas(_Tp) unsigned char __buf[sizeof(_Tp)]; 7770: _Tp* __ptr = reinterpret_cast<_Tp*>(__buf); 7770: __atomic_exchange(std::__addressof(_M_i), std::__addressof(__i), 7770: __ptr, __m); 7770: return *__ptr; 7770: } 7770: 7770: _Tp 7770: exchange(_Tp __i, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { 7770: alignas(_Tp) unsigned char __buf[sizeof(_Tp)]; 7770: _Tp* __ptr = reinterpret_cast<_Tp*>(__buf); 7770: __atomic_exchange(std::__addressof(_M_i), std::__addressof(__i), 7770: __ptr, __m); 7770: return *__ptr; 7770: } 7770: 7770: bool 7770: compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s, 7770: memory_order __f) noexcept 7770: { 7770: return __atomic_compare_exchange(std::__addressof(_M_i), 7770: std::__addressof(__e), 7770: std::__addressof(__i), 7770: true, __s, __f); 7770: } 7770: 7770: bool 7770: compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s, 7770: memory_order __f) volatile noexcept 7770: { 7770: return __atomic_compare_exchange(std::__addressof(_M_i), 7770: std::__addressof(__e), 7770: std::__addressof(__i), 7770: true, __s, __f); 7770: } 7770: 7770: bool 7770: compare_exchange_weak(_Tp& __e, _Tp __i, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { return compare_exchange_weak(__e, __i, __m, 7770: __cmpexch_failure_order(__m)); } 7770: 7770: bool 7770: compare_exchange_weak(_Tp& __e, _Tp __i, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { return compare_exchange_weak(__e, __i, __m, 7770: __cmpexch_failure_order(__m)); } 7770: 7770: bool 7770: compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s, 7770: memory_order __f) noexcept 7770: { 7770: return __atomic_compare_exchange(std::__addressof(_M_i), 7770: std::__addressof(__e), 7770: std::__addressof(__i), 7770: false, __s, __f); 7770: } 7770: 7770: bool 7770: compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s, 7770: memory_order __f) volatile noexcept 7770: { 7770: return __atomic_compare_exchange(std::__addressof(_M_i), 7770: std::__addressof(__e), 7770: std::__addressof(__i), 7770: false, __s, __f); 7770: } 7770: 7770: bool 7770: compare_exchange_strong(_Tp& __e, _Tp __i, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { return compare_exchange_strong(__e, __i, __m, 7770: __cmpexch_failure_order(__m)); } 7770: 7770: bool 7770: compare_exchange_strong(_Tp& __e, _Tp __i, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { return compare_exchange_strong(__e, __i, __m, 7770: __cmpexch_failure_order(__m)); } 7770: }; 7770: 7770: 7770: 7770: template 7770: struct atomic<_Tp*> 7770: { 7770: typedef _Tp* __pointer_type; 7770: typedef __atomic_base<_Tp*> __base_type; 7770: __base_type _M_b; 7770: 7770: atomic() noexcept = default; 7770: ~atomic() noexcept = default; 7770: atomic(const atomic&) = delete; 7770: atomic& operator=(const atomic&) = delete; 7770: atomic& operator=(const atomic&) volatile = delete; 7770: 7770: constexpr atomic(__pointer_type __p) noexcept : _M_b(__p) { } 7770: 7770: operator __pointer_type() const noexcept 7770: { return __pointer_type(_M_b); } 7770: 7770: operator __pointer_type() const volatile noexcept 7770: { return __pointer_type(_M_b); } 7770: 7770: __pointer_type 7770: operator=(__pointer_type __p) noexcept 7770: { return _M_b.operator=(__p); } 7770: 7770: __pointer_type 7770: operator=(__pointer_type __p) volatile noexcept 7770: { return _M_b.operator=(__p); } 7770: 7770: __pointer_type 7770: operator++(int) noexcept 7770: { return _M_b++; } 7770: 7770: __pointer_type 7770: operator++(int) volatile noexcept 7770: { return _M_b++; } 7770: 7770: __pointer_type 7770: operator--(int) noexcept 7770: { return _M_b--; } 7770: 7770: __pointer_type 7770: operator--(int) volatile noexcept 7770: { return _M_b--; } 7770: 7770: __pointer_type 7770: operator++() noexcept 7770: { return ++_M_b; } 7770: 7770: __pointer_type 7770: operator++() volatile noexcept 7770: { return ++_M_b; } 7770: 7770: __pointer_type 7770: operator--() noexcept 7770: { return --_M_b; } 7770: 7770: __pointer_type 7770: operator--() volatile noexcept 7770: { return --_M_b; } 7770: 7770: __pointer_type 7770: operator+=(ptrdiff_t __d) noexcept 7770: { return _M_b.operator+=(__d); } 7770: 7770: __pointer_type 7770: operator+=(ptrdiff_t __d) volatile noexcept 7770: { return _M_b.operator+=(__d); } 7770: 7770: __pointer_type 7770: operator-=(ptrdiff_t __d) noexcept 7770: { return _M_b.operator-=(__d); } 7770: 7770: __pointer_type 7770: operator-=(ptrdiff_t __d) volatile noexcept 7770: { return _M_b.operator-=(__d); } 7770: 7770: bool 7770: is_lock_free() const noexcept 7770: { return _M_b.is_lock_free(); } 7770: 7770: bool 7770: is_lock_free() const volatile noexcept 7770: { return _M_b.is_lock_free(); } 7770: 7770: 7770: static constexpr bool is_always_lock_free = 2 == 2; 7770: 7770: 7770: void 7770: store(__pointer_type __p, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { return _M_b.store(__p, __m); } 7770: 7770: void 7770: store(__pointer_type __p, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { return _M_b.store(__p, __m); } 7770: 7770: __pointer_type 7770: load(memory_order __m = memory_order_seq_cst) const noexcept 7770: { return _M_b.load(__m); } 7770: 7770: __pointer_type 7770: load(memory_order __m = memory_order_seq_cst) const volatile noexcept 7770: { return _M_b.load(__m); } 7770: 7770: __pointer_type 7770: exchange(__pointer_type __p, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { return _M_b.exchange(__p, __m); } 7770: 7770: __pointer_type 7770: exchange(__pointer_type __p, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { return _M_b.exchange(__p, __m); } 7770: 7770: bool 7770: compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2, 7770: memory_order __m1, memory_order __m2) noexcept 7770: { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); } 7770: 7770: bool 7770: compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2, 7770: memory_order __m1, 7770: memory_order __m2) volatile noexcept 7770: { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); } 7770: 7770: bool 7770: compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { 7770: return compare_exchange_weak(__p1, __p2, __m, 7770: __cmpexch_failure_order(__m)); 7770: } 7770: 7770: bool 7770: compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { 7770: return compare_exchange_weak(__p1, __p2, __m, 7770: __cmpexch_failure_order(__m)); 7770: } 7770: 7770: bool 7770: compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, 7770: memory_order __m1, memory_order __m2) noexcept 7770: { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); } 7770: 7770: bool 7770: compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, 7770: memory_order __m1, 7770: memory_order __m2) volatile noexcept 7770: { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); } 7770: 7770: bool 7770: compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { 7770: return _M_b.compare_exchange_strong(__p1, __p2, __m, 7770: __cmpexch_failure_order(__m)); 7770: } 7770: 7770: bool 7770: compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { 7770: return _M_b.compare_exchange_strong(__p1, __p2, __m, 7770: __cmpexch_failure_order(__m)); 7770: } 7770: 7770: __pointer_type 7770: fetch_add(ptrdiff_t __d, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { return _M_b.fetch_add(__d, __m); } 7770: 7770: __pointer_type 7770: fetch_add(ptrdiff_t __d, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { return _M_b.fetch_add(__d, __m); } 7770: 7770: __pointer_type 7770: fetch_sub(ptrdiff_t __d, 7770: memory_order __m = memory_order_seq_cst) noexcept 7770: { return _M_b.fetch_sub(__d, __m); } 7770: 7770: __pointer_type 7770: fetch_sub(ptrdiff_t __d, 7770: memory_order __m = memory_order_seq_cst) volatile noexcept 7770: { return _M_b.fetch_sub(__d, __m); } 7770: }; 7770: 7770: 7770: 7770: template<> 7770: struct atomic : __atomic_base 7770: { 7770: typedef char __integral_type; 7770: typedef __atomic_base __base_type; 7770: 7770: atomic() noexcept = default; 7770: ~atomic() noexcept = default; 7770: atomic(const atomic&) = delete; 7770: atomic& operator=(const atomic&) = delete; 7770: atomic& operator=(const atomic&) volatile = delete; 7770: 7770: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 7770: 7770: using __base_type::operator __integral_type; 7770: using __base_type::operator=; 7770: 7770: 7770: static constexpr bool is_always_lock_free = 2 == 2; 7770: 7770: }; 7770: 7770: 7770: template<> 7770: struct atomic : __atomic_base 7770: { 7770: typedef signed char __integral_type; 7770: typedef __atomic_base __base_type; 7770: 7770: atomic() noexcept= default; 7770: ~atomic() noexcept = default; 7770: atomic(const atomic&) = delete; 7770: atomic& operator=(const atomic&) = delete; 7770: atomic& operator=(const atomic&) volatile = delete; 7770: 7770: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 7770: 7770: using __base_type::operator __integral_type; 7770: using __base_type::operator=; 7770: 7770: 7770: static constexpr bool is_always_lock_free = 2 == 2; 7770: 7770: }; 7770: 7770: 7770: template<> 7770: struct atomic : __atomic_base 7770: { 7770: typedef unsigned char __integral_type; 7770: typedef __atomic_base __base_type; 7770: 7770: atomic() noexcept= default; 7770: ~atomic() noexcept = default; 7770: atomic(const atomic&) = delete; 7770: atomic& operator=(const atomic&) = delete; 7770: atomic& operator=(const atomic&) volatile = delete; 7770: 7770: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 7770: 7770: using __base_type::operator __integral_type; 7770: using __base_type::operator=; 7770: 7770: 7770: static constexpr bool is_always_lock_free = 2 == 2; 7770: 7770: }; 7770: 7770: 7770: template<> 7770: struct atomic : __atomic_base 7770: { 7770: typedef short __integral_type; 7770: typedef __atomic_base __base_type; 7770: 7770: atomic() noexcept = default; 7770: ~atomic() noexcept = default; 7770: atomic(const atomic&) = delete; 7770: atomic& operator=(const atomic&) = delete; 7770: atomic& operator=(const atomic&) volatile = delete; 7770: 7770: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 7770: 7770: using __base_type::operator __integral_type; 7770: using __base_type::operator=; 7770: 7770: 7770: static constexpr bool is_always_lock_free = 2 == 2; 7770: 7770: }; 7770: 7770: 7770: template<> 7770: struct atomic : __atomic_base 7770: { 7770: typedef unsigned short __integral_type; 7770: typedef __atomic_base __base_type; 7770: 7770: atomic() noexcept = default; 7770: ~atomic() noexcept = default; 7770: atomic(const atomic&) = delete; 7770: atomic& operator=(const atomic&) = delete; 7770: atomic& operator=(const atomic&) volatile = delete; 7770: 7770: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 7770: 7770: using __base_type::operator __integral_type; 7770: using __base_type::operator=; 7770: 7770: 7770: static constexpr bool is_always_lock_free = 2 == 2; 7770: 7770: }; 7770: 7770: 7770: template<> 7770: struct atomic : __atomic_base 7770: { 7770: typedef int __integral_type; 7770: typedef __atomic_base __base_type; 7770: 7770: atomic() noexcept = default; 7770: ~atomic() noexcept = default; 7770: atomic(const atomic&) = delete; 7770: atomic& operator=(const atomic&) = delete; 7770: atomic& operator=(const atomic&) volatile = delete; 7770: 7770: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 7770: 7770: using __base_type::operator __integral_type; 7770: using __base_type::operator=; 7770: 7770: 7770: static constexpr bool is_always_lock_free = 2 == 2; 7770: 7770: }; 7770: 7770: 7770: template<> 7770: struct atomic : __atomic_base 7770: { 7770: typedef unsigned int __integral_type; 7770: typedef __atomic_base __base_type; 7770: 7770: atomic() noexcept = default; 7770: ~atomic() noexcept = default; 7770: atomic(const atomic&) = delete; 7770: atomic& operator=(const atomic&) = delete; 7770: atomic& operator=(const atomic&) volatile = delete; 7770: 7770: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 7770: 7770: using __base_type::operator __integral_type; 7770: using __base_type::operator=; 7770: 7770: 7770: static constexpr bool is_always_lock_free = 2 == 2; 7770: 7770: }; 7770: 7770: 7770: template<> 7770: struct atomic : __atomic_base 7770: { 7770: typedef long __integral_type; 7770: typedef __atomic_base __base_type; 7770: 7770: atomic() noexcept = default; 7770: ~atomic() noexcept = default; 7770: atomic(const atomic&) = delete; 7770: atomic& operator=(const atomic&) = delete; 7770: atomic& operator=(const atomic&) volatile = delete; 7770: 7770: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 7770: 7770: using __base_type::operator __integral_type; 7770: using __base_type::operator=; 7770: 7770: 7770: static constexpr bool is_always_lock_free = 2 == 2; 7770: 7770: }; 7770: 7770: 7770: template<> 7770: struct atomic : __atomic_base 7770: { 7770: typedef unsigned long __integral_type; 7770: typedef __atomic_base __base_type; 7770: 7770: atomic() noexcept = default; 7770: ~atomic() noexcept = default; 7770: atomic(const atomic&) = delete; 7770: atomic& operator=(const atomic&) = delete; 7770: atomic& operator=(const atomic&) volatile = delete; 7770: 7770: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 7770: 7770: using __base_type::operator __integral_type; 7770: using __base_type::operator=; 7770: 7770: 7770: static constexpr bool is_always_lock_free = 2 == 2; 7770: 7770: }; 7770: 7770: 7770: template<> 7770: struct atomic : __atomic_base 7770: { 7770: typedef long long __integral_type; 7770: typedef __atomic_base __base_type; 7770: 7770: atomic() noexcept = default; 7770: ~atomic() noexcept = default; 7770: atomic(const atomic&) = delete; 7770: atomic& operator=(const atomic&) = delete; 7770: atomic& operator=(const atomic&) volatile = delete; 7770: 7770: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 7770: 7770: using __base_type::operator __integral_type; 7770: using __base_type::operator=; 7770: 7770: 7770: static constexpr bool is_always_lock_free = 2 == 2; 7770: 7770: }; 7770: 7770: 7770: template<> 7770: struct atomic : __atomic_base 7770: { 7770: typedef unsigned long long __integral_type; 7770: typedef __atomic_base __base_type; 7770: 7770: atomic() noexcept = default; 7770: ~atomic() noexcept = default; 7770: atomic(const atomic&) = delete; 7770: atomic& operator=(const atomic&) = delete; 7770: atomic& operator=(const atomic&) volatile = delete; 7770: 7770: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 7770: 7770: using __base_type::operator __integral_type; 7770: using __base_type::operator=; 7770: 7770: 7770: static constexpr bool is_always_lock_free = 2 == 2; 7770: 7770: }; 7770: 7770: 7770: template<> 7770: struct atomic : __atomic_base 7770: { 7770: typedef wchar_t __integral_type; 7770: typedef __atomic_base __base_type; 7770: 7770: atomic() noexcept = default; 7770: ~atomic() noexcept = default; 7770: atomic(const atomic&) = delete; 7770: atomic& operator=(const atomic&) = delete; 7770: atomic& operator=(const atomic&) volatile = delete; 7770: 7770: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 7770: 7770: using __base_type::operator __integral_type; 7770: using __base_type::operator=; 7770: 7770: 7770: static constexpr bool is_always_lock_free = 2 == 2; 7770: 7770: }; 7770: 7770: 7770: template<> 7770: struct atomic : __atomic_base 7770: { 7770: typedef char16_t __integral_type; 7770: typedef __atomic_base __base_type; 7770: 7770: atomic() noexcept = default; 7770: ~atomic() noexcept = default; 7770: atomic(const atomic&) = delete; 7770: atomic& operator=(const atomic&) = delete; 7770: atomic& operator=(const atomic&) volatile = delete; 7770: 7770: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 7770: 7770: using __base_type::operator __integral_type; 7770: using __base_type::operator=; 7770: 7770: 7770: static constexpr bool is_always_lock_free = 2 == 2; 7770: 7770: }; 7770: 7770: 7770: template<> 7770: struct atomic : __atomic_base 7770: { 7770: typedef char32_t __integral_type; 7770: typedef __atomic_base __base_type; 7770: 7770: atomic() noexcept = default; 7770: ~atomic() noexcept = default; 7770: atomic(const atomic&) = delete; 7770: atomic& operator=(const atomic&) = delete; 7770: atomic& operator=(const atomic&) volatile = delete; 7770: 7770: constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } 7770: 7770: using __base_type::operator __integral_type; 7770: using __base_type::operator=; 7770: 7770: 7770: static constexpr bool is_always_lock_free = 2 == 2; 7770: 7770: }; 7770: 7770: 7770: 7770: typedef atomic atomic_bool; 7770: 7770: 7770: typedef atomic atomic_char; 7770: 7770: 7770: typedef atomic atomic_schar; 7770: 7770: 7770: typedef atomic atomic_uchar; 7770: 7770: 7770: typedef atomic atomic_short; 7770: 7770: 7770: typedef atomic atomic_ushort; 7770: 7770: 7770: typedef atomic atomic_int; 7770: 7770: 7770: typedef atomic atomic_uint; 7770: 7770: 7770: typedef atomic atomic_long; 7770: 7770: 7770: typedef atomic atomic_ulong; 7770: 7770: 7770: typedef atomic atomic_llong; 7770: 7770: 7770: typedef atomic atomic_ullong; 7770: 7770: 7770: typedef atomic atomic_wchar_t; 7770: 7770: 7770: typedef atomic atomic_char16_t; 7770: 7770: 7770: typedef atomic atomic_char32_t; 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef atomic atomic_int8_t; 7770: 7770: 7770: typedef atomic atomic_uint8_t; 7770: 7770: 7770: typedef atomic atomic_int16_t; 7770: 7770: 7770: typedef atomic atomic_uint16_t; 7770: 7770: 7770: typedef atomic atomic_int32_t; 7770: 7770: 7770: typedef atomic atomic_uint32_t; 7770: 7770: 7770: typedef atomic atomic_int64_t; 7770: 7770: 7770: typedef atomic atomic_uint64_t; 7770: 7770: 7770: 7770: typedef atomic atomic_int_least8_t; 7770: 7770: 7770: typedef atomic atomic_uint_least8_t; 7770: 7770: 7770: typedef atomic atomic_int_least16_t; 7770: 7770: 7770: typedef atomic atomic_uint_least16_t; 7770: 7770: 7770: typedef atomic atomic_int_least32_t; 7770: 7770: 7770: typedef atomic atomic_uint_least32_t; 7770: 7770: 7770: typedef atomic atomic_int_least64_t; 7770: 7770: 7770: typedef atomic atomic_uint_least64_t; 7770: 7770: 7770: 7770: typedef atomic atomic_int_fast8_t; 7770: 7770: 7770: typedef atomic atomic_uint_fast8_t; 7770: 7770: 7770: typedef atomic atomic_int_fast16_t; 7770: 7770: 7770: typedef atomic atomic_uint_fast16_t; 7770: 7770: 7770: typedef atomic atomic_int_fast32_t; 7770: 7770: 7770: typedef atomic atomic_uint_fast32_t; 7770: 7770: 7770: typedef atomic atomic_int_fast64_t; 7770: 7770: 7770: typedef atomic atomic_uint_fast64_t; 7770: 7770: 7770: 7770: 7770: typedef atomic atomic_intptr_t; 7770: 7770: 7770: typedef atomic atomic_uintptr_t; 7770: 7770: 7770: typedef atomic atomic_size_t; 7770: 7770: 7770: typedef atomic atomic_ptrdiff_t; 7770: 7770: 7770: 7770: typedef atomic atomic_intmax_t; 7770: 7770: 7770: typedef atomic atomic_uintmax_t; 7770: 7770: 7770: 7770: inline bool 7770: atomic_flag_test_and_set_explicit(atomic_flag* __a, 7770: memory_order __m) noexcept 7770: { return __a->test_and_set(__m); } 7770: 7770: inline bool 7770: atomic_flag_test_and_set_explicit(volatile atomic_flag* __a, 7770: memory_order __m) noexcept 7770: { return __a->test_and_set(__m); } 7770: 7770: inline void 7770: atomic_flag_clear_explicit(atomic_flag* __a, memory_order __m) noexcept 7770: { __a->clear(__m); } 7770: 7770: inline void 7770: atomic_flag_clear_explicit(volatile atomic_flag* __a, 7770: memory_order __m) noexcept 7770: { __a->clear(__m); } 7770: 7770: inline bool 7770: atomic_flag_test_and_set(atomic_flag* __a) noexcept 7770: { return atomic_flag_test_and_set_explicit(__a, memory_order_seq_cst); } 7770: 7770: inline bool 7770: atomic_flag_test_and_set(volatile atomic_flag* __a) noexcept 7770: { return atomic_flag_test_and_set_explicit(__a, memory_order_seq_cst); } 7770: 7770: inline void 7770: atomic_flag_clear(atomic_flag* __a) noexcept 7770: { atomic_flag_clear_explicit(__a, memory_order_seq_cst); } 7770: 7770: inline void 7770: atomic_flag_clear(volatile atomic_flag* __a) noexcept 7770: { atomic_flag_clear_explicit(__a, memory_order_seq_cst); } 7770: 7770: 7770: 7770: template 7770: inline bool 7770: atomic_is_lock_free(const atomic<_ITp>* __a) noexcept 7770: { return __a->is_lock_free(); } 7770: 7770: template 7770: inline bool 7770: atomic_is_lock_free(const volatile atomic<_ITp>* __a) noexcept 7770: { return __a->is_lock_free(); } 7770: 7770: template 7770: inline void 7770: atomic_init(atomic<_ITp>* __a, _ITp __i) noexcept 7770: { __a->store(__i, memory_order_relaxed); } 7770: 7770: template 7770: inline void 7770: atomic_init(volatile atomic<_ITp>* __a, _ITp __i) noexcept 7770: { __a->store(__i, memory_order_relaxed); } 7770: 7770: template 7770: inline void 7770: atomic_store_explicit(atomic<_ITp>* __a, _ITp __i, 7770: memory_order __m) noexcept 7770: { __a->store(__i, __m); } 7770: 7770: template 7770: inline void 7770: atomic_store_explicit(volatile atomic<_ITp>* __a, _ITp __i, 7770: memory_order __m) noexcept 7770: { __a->store(__i, __m); } 7770: 7770: template 7770: inline _ITp 7770: atomic_load_explicit(const atomic<_ITp>* __a, memory_order __m) noexcept 7770: { return __a->load(__m); } 7770: 7770: template 7770: inline _ITp 7770: atomic_load_explicit(const volatile atomic<_ITp>* __a, 7770: memory_order __m) noexcept 7770: { return __a->load(__m); } 7770: 7770: template 7770: inline _ITp 7770: atomic_exchange_explicit(atomic<_ITp>* __a, _ITp __i, 7770: memory_order __m) noexcept 7770: { return __a->exchange(__i, __m); } 7770: 7770: template 7770: inline _ITp 7770: atomic_exchange_explicit(volatile atomic<_ITp>* __a, _ITp __i, 7770: memory_order __m) noexcept 7770: { return __a->exchange(__i, __m); } 7770: 7770: template 7770: inline bool 7770: atomic_compare_exchange_weak_explicit(atomic<_ITp>* __a, 7770: _ITp* __i1, _ITp __i2, 7770: memory_order __m1, 7770: memory_order __m2) noexcept 7770: { return __a->compare_exchange_weak(*__i1, __i2, __m1, __m2); } 7770: 7770: template 7770: inline bool 7770: atomic_compare_exchange_weak_explicit(volatile atomic<_ITp>* __a, 7770: _ITp* __i1, _ITp __i2, 7770: memory_order __m1, 7770: memory_order __m2) noexcept 7770: { return __a->compare_exchange_weak(*__i1, __i2, __m1, __m2); } 7770: 7770: template 7770: inline bool 7770: atomic_compare_exchange_strong_explicit(atomic<_ITp>* __a, 7770: _ITp* __i1, _ITp __i2, 7770: memory_order __m1, 7770: memory_order __m2) noexcept 7770: { return __a->compare_exchange_strong(*__i1, __i2, __m1, __m2); } 7770: 7770: template 7770: inline bool 7770: atomic_compare_exchange_strong_explicit(volatile atomic<_ITp>* __a, 7770: _ITp* __i1, _ITp __i2, 7770: memory_order __m1, 7770: memory_order __m2) noexcept 7770: { return __a->compare_exchange_strong(*__i1, __i2, __m1, __m2); } 7770: 7770: 7770: template 7770: inline void 7770: atomic_store(atomic<_ITp>* __a, _ITp __i) noexcept 7770: { atomic_store_explicit(__a, __i, memory_order_seq_cst); } 7770: 7770: template 7770: inline void 7770: atomic_store(volatile atomic<_ITp>* __a, _ITp __i) noexcept 7770: { atomic_store_explicit(__a, __i, memory_order_seq_cst); } 7770: 7770: template 7770: inline _ITp 7770: atomic_load(const atomic<_ITp>* __a) noexcept 7770: { return atomic_load_explicit(__a, memory_order_seq_cst); } 7770: 7770: template 7770: inline _ITp 7770: atomic_load(const volatile atomic<_ITp>* __a) noexcept 7770: { return atomic_load_explicit(__a, memory_order_seq_cst); } 7770: 7770: template 7770: inline _ITp 7770: atomic_exchange(atomic<_ITp>* __a, _ITp __i) noexcept 7770: { return atomic_exchange_explicit(__a, __i, memory_order_seq_cst); } 7770: 7770: template 7770: inline _ITp 7770: atomic_exchange(volatile atomic<_ITp>* __a, _ITp __i) noexcept 7770: { return atomic_exchange_explicit(__a, __i, memory_order_seq_cst); } 7770: 7770: template 7770: inline bool 7770: atomic_compare_exchange_weak(atomic<_ITp>* __a, 7770: _ITp* __i1, _ITp __i2) noexcept 7770: { 7770: return atomic_compare_exchange_weak_explicit(__a, __i1, __i2, 7770: memory_order_seq_cst, 7770: memory_order_seq_cst); 7770: } 7770: 7770: template 7770: inline bool 7770: atomic_compare_exchange_weak(volatile atomic<_ITp>* __a, 7770: _ITp* __i1, _ITp __i2) noexcept 7770: { 7770: return atomic_compare_exchange_weak_explicit(__a, __i1, __i2, 7770: memory_order_seq_cst, 7770: memory_order_seq_cst); 7770: } 7770: 7770: template 7770: inline bool 7770: atomic_compare_exchange_strong(atomic<_ITp>* __a, 7770: _ITp* __i1, _ITp __i2) noexcept 7770: { 7770: return atomic_compare_exchange_strong_explicit(__a, __i1, __i2, 7770: memory_order_seq_cst, 7770: memory_order_seq_cst); 7770: } 7770: 7770: template 7770: inline bool 7770: atomic_compare_exchange_strong(volatile atomic<_ITp>* __a, 7770: _ITp* __i1, _ITp __i2) noexcept 7770: { 7770: return atomic_compare_exchange_strong_explicit(__a, __i1, __i2, 7770: memory_order_seq_cst, 7770: memory_order_seq_cst); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline _ITp 7770: atomic_fetch_add_explicit(__atomic_base<_ITp>* __a, _ITp __i, 7770: memory_order __m) noexcept 7770: { return __a->fetch_add(__i, __m); } 7770: 7770: template 7770: inline _ITp 7770: atomic_fetch_add_explicit(volatile __atomic_base<_ITp>* __a, _ITp __i, 7770: memory_order __m) noexcept 7770: { return __a->fetch_add(__i, __m); } 7770: 7770: template 7770: inline _ITp 7770: atomic_fetch_sub_explicit(__atomic_base<_ITp>* __a, _ITp __i, 7770: memory_order __m) noexcept 7770: { return __a->fetch_sub(__i, __m); } 7770: 7770: template 7770: inline _ITp 7770: atomic_fetch_sub_explicit(volatile __atomic_base<_ITp>* __a, _ITp __i, 7770: memory_order __m) noexcept 7770: { return __a->fetch_sub(__i, __m); } 7770: 7770: template 7770: inline _ITp 7770: atomic_fetch_and_explicit(__atomic_base<_ITp>* __a, _ITp __i, 7770: memory_order __m) noexcept 7770: { return __a->fetch_and(__i, __m); } 7770: 7770: template 7770: inline _ITp 7770: atomic_fetch_and_explicit(volatile __atomic_base<_ITp>* __a, _ITp __i, 7770: memory_order __m) noexcept 7770: { return __a->fetch_and(__i, __m); } 7770: 7770: template 7770: inline _ITp 7770: atomic_fetch_or_explicit(__atomic_base<_ITp>* __a, _ITp __i, 7770: memory_order __m) noexcept 7770: { return __a->fetch_or(__i, __m); } 7770: 7770: template 7770: inline _ITp 7770: atomic_fetch_or_explicit(volatile __atomic_base<_ITp>* __a, _ITp __i, 7770: memory_order __m) noexcept 7770: { return __a->fetch_or(__i, __m); } 7770: 7770: template 7770: inline _ITp 7770: atomic_fetch_xor_explicit(__atomic_base<_ITp>* __a, _ITp __i, 7770: memory_order __m) noexcept 7770: { return __a->fetch_xor(__i, __m); } 7770: 7770: template 7770: inline _ITp 7770: atomic_fetch_xor_explicit(volatile __atomic_base<_ITp>* __a, _ITp __i, 7770: memory_order __m) noexcept 7770: { return __a->fetch_xor(__i, __m); } 7770: 7770: template 7770: inline _ITp 7770: atomic_fetch_add(__atomic_base<_ITp>* __a, _ITp __i) noexcept 7770: { return atomic_fetch_add_explicit(__a, __i, memory_order_seq_cst); } 7770: 7770: template 7770: inline _ITp 7770: atomic_fetch_add(volatile __atomic_base<_ITp>* __a, _ITp __i) noexcept 7770: { return atomic_fetch_add_explicit(__a, __i, memory_order_seq_cst); } 7770: 7770: template 7770: inline _ITp 7770: atomic_fetch_sub(__atomic_base<_ITp>* __a, _ITp __i) noexcept 7770: { return atomic_fetch_sub_explicit(__a, __i, memory_order_seq_cst); } 7770: 7770: template 7770: inline _ITp 7770: atomic_fetch_sub(volatile __atomic_base<_ITp>* __a, _ITp __i) noexcept 7770: { return atomic_fetch_sub_explicit(__a, __i, memory_order_seq_cst); } 7770: 7770: template 7770: inline _ITp 7770: atomic_fetch_and(__atomic_base<_ITp>* __a, _ITp __i) noexcept 7770: { return atomic_fetch_and_explicit(__a, __i, memory_order_seq_cst); } 7770: 7770: template 7770: inline _ITp 7770: atomic_fetch_and(volatile __atomic_base<_ITp>* __a, _ITp __i) noexcept 7770: { return atomic_fetch_and_explicit(__a, __i, memory_order_seq_cst); } 7770: 7770: template 7770: inline _ITp 7770: atomic_fetch_or(__atomic_base<_ITp>* __a, _ITp __i) noexcept 7770: { return atomic_fetch_or_explicit(__a, __i, memory_order_seq_cst); } 7770: 7770: template 7770: inline _ITp 7770: atomic_fetch_or(volatile __atomic_base<_ITp>* __a, _ITp __i) noexcept 7770: { return atomic_fetch_or_explicit(__a, __i, memory_order_seq_cst); } 7770: 7770: template 7770: inline _ITp 7770: atomic_fetch_xor(__atomic_base<_ITp>* __a, _ITp __i) noexcept 7770: { return atomic_fetch_xor_explicit(__a, __i, memory_order_seq_cst); } 7770: 7770: template 7770: inline _ITp 7770: atomic_fetch_xor(volatile __atomic_base<_ITp>* __a, _ITp __i) noexcept 7770: { return atomic_fetch_xor_explicit(__a, __i, memory_order_seq_cst); } 7770: 7770: 7770: 7770: template 7770: inline _ITp* 7770: atomic_fetch_add_explicit(atomic<_ITp*>* __a, ptrdiff_t __d, 7770: memory_order __m) noexcept 7770: { return __a->fetch_add(__d, __m); } 7770: 7770: template 7770: inline _ITp* 7770: atomic_fetch_add_explicit(volatile atomic<_ITp*>* __a, ptrdiff_t __d, 7770: memory_order __m) noexcept 7770: { return __a->fetch_add(__d, __m); } 7770: 7770: template 7770: inline _ITp* 7770: atomic_fetch_add(volatile atomic<_ITp*>* __a, ptrdiff_t __d) noexcept 7770: { return __a->fetch_add(__d); } 7770: 7770: template 7770: inline _ITp* 7770: atomic_fetch_add(atomic<_ITp*>* __a, ptrdiff_t __d) noexcept 7770: { return __a->fetch_add(__d); } 7770: 7770: template 7770: inline _ITp* 7770: atomic_fetch_sub_explicit(volatile atomic<_ITp*>* __a, 7770: ptrdiff_t __d, memory_order __m) noexcept 7770: { return __a->fetch_sub(__d, __m); } 7770: 7770: template 7770: inline _ITp* 7770: atomic_fetch_sub_explicit(atomic<_ITp*>* __a, ptrdiff_t __d, 7770: memory_order __m) noexcept 7770: { return __a->fetch_sub(__d, __m); } 7770: 7770: template 7770: inline _ITp* 7770: atomic_fetch_sub(volatile atomic<_ITp*>* __a, ptrdiff_t __d) noexcept 7770: { return __a->fetch_sub(__d); } 7770: 7770: template 7770: inline _ITp* 7770: atomic_fetch_sub(atomic<_ITp*>* __a, ptrdiff_t __d) noexcept 7770: { return __a->fetch_sub(__d); } 7770: 7770: 7770: 7770: } 7770: # 46 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic_cxx11.h" 2 3 4 7770: 7770: 7770: # 75 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic_cxx11.h" 3 4 7770: template struct QAtomicTraits 7770: { static constexpr inline bool isLockFree(); }; 7770: # 89 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic_cxx11.h" 3 4 7770: template <> constexpr inline bool QAtomicTraits<4>::isLockFree() 7770: { return true; } 7770: # 134 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic_cxx11.h" 3 4 7770: template<> struct QAtomicOpsSupport<1> { enum { IsSupported = 1 }; }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template <> constexpr inline bool QAtomicTraits<1>::isLockFree() 7770: { return true; } 7770: # 162 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic_cxx11.h" 3 4 7770: template<> struct QAtomicOpsSupport<2> { enum { IsSupported = 1 }; }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template <> constexpr inline bool QAtomicTraits<2>::isLockFree() 7770: { return false; } 7770: # 191 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic_cxx11.h" 3 4 7770: template<> struct QAtomicOpsSupport<8> { enum { IsSupported = 1 }; }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template <> constexpr inline bool QAtomicTraits<8>::isLockFree() 7770: { return true; } 7770: # 220 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic_cxx11.h" 3 4 7770: template struct QAtomicOps 7770: { 7770: typedef std::atomic Type; 7770: 7770: template static inline 7770: T load(const std::atomic &_q_value) noexcept 7770: { 7770: return _q_value.load(std::memory_order_relaxed); 7770: } 7770: 7770: template static inline 7770: T load(const volatile std::atomic &_q_value) noexcept 7770: { 7770: return _q_value.load(std::memory_order_relaxed); 7770: } 7770: 7770: template static inline 7770: T loadAcquire(const std::atomic &_q_value) noexcept 7770: { 7770: return _q_value.load(std::memory_order_acquire); 7770: } 7770: 7770: template static inline 7770: T loadAcquire(const volatile std::atomic &_q_value) noexcept 7770: { 7770: return _q_value.load(std::memory_order_acquire); 7770: } 7770: 7770: template static inline 7770: void store(std::atomic &_q_value, T newValue) noexcept 7770: { 7770: _q_value.store(newValue, std::memory_order_relaxed); 7770: } 7770: 7770: template static inline 7770: void storeRelease(std::atomic &_q_value, T newValue) noexcept 7770: { 7770: _q_value.store(newValue, std::memory_order_release); 7770: } 7770: 7770: static inline constexpr bool isReferenceCountingNative() noexcept { return isTestAndSetNative(); } 7770: static inline constexpr bool isReferenceCountingWaitFree() noexcept { return false; } 7770: template 7770: static inline bool ref(std::atomic &_q_value) 7770: { 7770: return ++_q_value != 0; 7770: } 7770: 7770: template 7770: static inline bool deref(std::atomic &_q_value) noexcept 7770: { 7770: return --_q_value != 0; 7770: } 7770: 7770: static inline constexpr bool isTestAndSetNative() noexcept 7770: { return QAtomicTraits::isLockFree(); } 7770: static inline constexpr bool isTestAndSetWaitFree() noexcept { return false; } 7770: 7770: template 7770: static bool testAndSetRelaxed(std::atomic &_q_value, T expectedValue, T newValue, T *currentValue = nullptr) noexcept 7770: { 7770: bool tmp = _q_value.compare_exchange_strong(expectedValue, newValue, std::memory_order_relaxed, std::memory_order_relaxed); 7770: if (currentValue) 7770: *currentValue = expectedValue; 7770: return tmp; 7770: } 7770: 7770: template 7770: static bool testAndSetAcquire(std::atomic &_q_value, T expectedValue, T newValue, T *currentValue = nullptr) noexcept 7770: { 7770: bool tmp = _q_value.compare_exchange_strong(expectedValue, newValue, std::memory_order_acquire, std::memory_order_acquire); 7770: if (currentValue) 7770: *currentValue = expectedValue; 7770: return tmp; 7770: } 7770: 7770: template 7770: static bool testAndSetRelease(std::atomic &_q_value, T expectedValue, T newValue, T *currentValue = nullptr) noexcept 7770: { 7770: bool tmp = _q_value.compare_exchange_strong(expectedValue, newValue, std::memory_order_release, std::memory_order_relaxed); 7770: if (currentValue) 7770: *currentValue = expectedValue; 7770: return tmp; 7770: } 7770: 7770: template 7770: static bool testAndSetOrdered(std::atomic &_q_value, T expectedValue, T newValue, T *currentValue = nullptr) noexcept 7770: { 7770: bool tmp = _q_value.compare_exchange_strong(expectedValue, newValue, std::memory_order_acq_rel, std::memory_order_acquire); 7770: if (currentValue) 7770: *currentValue = expectedValue; 7770: return tmp; 7770: } 7770: 7770: static inline constexpr bool isFetchAndStoreNative() noexcept { return isTestAndSetNative(); } 7770: static inline constexpr bool isFetchAndStoreWaitFree() noexcept { return false; } 7770: 7770: template 7770: static T fetchAndStoreRelaxed(std::atomic &_q_value, T newValue) noexcept 7770: { 7770: return _q_value.exchange(newValue, std::memory_order_relaxed); 7770: } 7770: 7770: template 7770: static T fetchAndStoreAcquire(std::atomic &_q_value, T newValue) noexcept 7770: { 7770: return _q_value.exchange(newValue, std::memory_order_acquire); 7770: } 7770: 7770: template 7770: static T fetchAndStoreRelease(std::atomic &_q_value, T newValue) noexcept 7770: { 7770: return _q_value.exchange(newValue, std::memory_order_release); 7770: } 7770: 7770: template 7770: static T fetchAndStoreOrdered(std::atomic &_q_value, T newValue) noexcept 7770: { 7770: return _q_value.exchange(newValue, std::memory_order_acq_rel); 7770: } 7770: 7770: static inline constexpr bool isFetchAndAddNative() noexcept { return isTestAndSetNative(); } 7770: static inline constexpr bool isFetchAndAddWaitFree() noexcept { return false; } 7770: 7770: template static inline 7770: T fetchAndAddRelaxed(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: return _q_value.fetch_add(valueToAdd, std::memory_order_relaxed); 7770: } 7770: 7770: template static inline 7770: T fetchAndAddAcquire(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: return _q_value.fetch_add(valueToAdd, std::memory_order_acquire); 7770: } 7770: 7770: template static inline 7770: T fetchAndAddRelease(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: return _q_value.fetch_add(valueToAdd, std::memory_order_release); 7770: } 7770: 7770: template static inline 7770: T fetchAndAddOrdered(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: return _q_value.fetch_add(valueToAdd, std::memory_order_acq_rel); 7770: } 7770: 7770: template static inline 7770: T fetchAndSubRelaxed(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: return _q_value.fetch_sub(valueToAdd, std::memory_order_relaxed); 7770: } 7770: 7770: template static inline 7770: T fetchAndSubAcquire(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: return _q_value.fetch_sub(valueToAdd, std::memory_order_acquire); 7770: } 7770: 7770: template static inline 7770: T fetchAndSubRelease(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: return _q_value.fetch_sub(valueToAdd, std::memory_order_release); 7770: } 7770: 7770: template static inline 7770: T fetchAndSubOrdered(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: return _q_value.fetch_sub(valueToAdd, std::memory_order_acq_rel); 7770: } 7770: 7770: template static inline 7770: T fetchAndAndRelaxed(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: return _q_value.fetch_and(valueToAdd, std::memory_order_relaxed); 7770: } 7770: 7770: template static inline 7770: T fetchAndAndAcquire(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: return _q_value.fetch_and(valueToAdd, std::memory_order_acquire); 7770: } 7770: 7770: template static inline 7770: T fetchAndAndRelease(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: return _q_value.fetch_and(valueToAdd, std::memory_order_release); 7770: } 7770: 7770: template static inline 7770: T fetchAndAndOrdered(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: return _q_value.fetch_and(valueToAdd, std::memory_order_acq_rel); 7770: } 7770: 7770: template static inline 7770: T fetchAndOrRelaxed(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: return _q_value.fetch_or(valueToAdd, std::memory_order_relaxed); 7770: } 7770: 7770: template static inline 7770: T fetchAndOrAcquire(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: return _q_value.fetch_or(valueToAdd, std::memory_order_acquire); 7770: } 7770: 7770: template static inline 7770: T fetchAndOrRelease(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: return _q_value.fetch_or(valueToAdd, std::memory_order_release); 7770: } 7770: 7770: template static inline 7770: T fetchAndOrOrdered(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: return _q_value.fetch_or(valueToAdd, std::memory_order_acq_rel); 7770: } 7770: 7770: template static inline 7770: T fetchAndXorRelaxed(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: return _q_value.fetch_xor(valueToAdd, std::memory_order_relaxed); 7770: } 7770: 7770: template static inline 7770: T fetchAndXorAcquire(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: return _q_value.fetch_xor(valueToAdd, std::memory_order_acquire); 7770: } 7770: 7770: template static inline 7770: T fetchAndXorRelease(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: return _q_value.fetch_xor(valueToAdd, std::memory_order_release); 7770: } 7770: 7770: template static inline 7770: T fetchAndXorOrdered(std::atomic &_q_value, typename QAtomicAdditiveType::AdditiveT valueToAdd) noexcept 7770: { 7770: return _q_value.fetch_xor(valueToAdd, std::memory_order_acq_rel); 7770: } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: # 54 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbasicatomic.h" 2 3 4 7770: # 64 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbasicatomic.h" 3 4 7770: 7770: # 64 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbasicatomic.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 64 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbasicatomic.h" 3 4 7770: 7770: 7770: 7770: 7770: # 89 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbasicatomic.h" 3 4 7770: template 7770: class QBasicAtomicInteger 7770: { 7770: public: 7770: typedef QAtomicOps Ops; 7770: 7770: static_assert(bool(QTypeInfo::isIntegral), "template parameter is not an integral type"); 7770: static_assert(bool(QAtomicOpsSupport::IsSupported), "template parameter is an integral of a size not supported on this platform"); 7770: 7770: typename Ops::Type _q_value; 7770: 7770: 7770: 7770: T load() const noexcept { return Ops::load(_q_value); } 7770: void store(T newValue) noexcept { Ops::store(_q_value, newValue); } 7770: 7770: T loadAcquire() const noexcept { return Ops::loadAcquire(_q_value); } 7770: void storeRelease(T newValue) noexcept { Ops::storeRelease(_q_value, newValue); } 7770: operator T() const noexcept { return loadAcquire(); } 7770: T operator=(T newValue) noexcept { storeRelease(newValue); return newValue; } 7770: 7770: static constexpr bool isReferenceCountingNative() noexcept { return Ops::isReferenceCountingNative(); } 7770: static constexpr bool isReferenceCountingWaitFree() noexcept { return Ops::isReferenceCountingWaitFree(); } 7770: 7770: bool ref() noexcept { return Ops::ref(_q_value); } 7770: bool deref() noexcept { return Ops::deref(_q_value); } 7770: 7770: static constexpr bool isTestAndSetNative() noexcept { return Ops::isTestAndSetNative(); } 7770: static constexpr bool isTestAndSetWaitFree() noexcept { return Ops::isTestAndSetWaitFree(); } 7770: 7770: bool testAndSetRelaxed(T expectedValue, T newValue) noexcept 7770: { return Ops::testAndSetRelaxed(_q_value, expectedValue, newValue); } 7770: bool testAndSetAcquire(T expectedValue, T newValue) noexcept 7770: { return Ops::testAndSetAcquire(_q_value, expectedValue, newValue); } 7770: bool testAndSetRelease(T expectedValue, T newValue) noexcept 7770: { return Ops::testAndSetRelease(_q_value, expectedValue, newValue); } 7770: bool testAndSetOrdered(T expectedValue, T newValue) noexcept 7770: { return Ops::testAndSetOrdered(_q_value, expectedValue, newValue); } 7770: 7770: bool testAndSetRelaxed(T expectedValue, T newValue, T ¤tValue) noexcept 7770: { return Ops::testAndSetRelaxed(_q_value, expectedValue, newValue, ¤tValue); } 7770: bool testAndSetAcquire(T expectedValue, T newValue, T ¤tValue) noexcept 7770: { return Ops::testAndSetAcquire(_q_value, expectedValue, newValue, ¤tValue); } 7770: bool testAndSetRelease(T expectedValue, T newValue, T ¤tValue) noexcept 7770: { return Ops::testAndSetRelease(_q_value, expectedValue, newValue, ¤tValue); } 7770: bool testAndSetOrdered(T expectedValue, T newValue, T ¤tValue) noexcept 7770: { return Ops::testAndSetOrdered(_q_value, expectedValue, newValue, ¤tValue); } 7770: 7770: static constexpr bool isFetchAndStoreNative() noexcept { return Ops::isFetchAndStoreNative(); } 7770: static constexpr bool isFetchAndStoreWaitFree() noexcept { return Ops::isFetchAndStoreWaitFree(); } 7770: 7770: T fetchAndStoreRelaxed(T newValue) noexcept 7770: { return Ops::fetchAndStoreRelaxed(_q_value, newValue); } 7770: T fetchAndStoreAcquire(T newValue) noexcept 7770: { return Ops::fetchAndStoreAcquire(_q_value, newValue); } 7770: T fetchAndStoreRelease(T newValue) noexcept 7770: { return Ops::fetchAndStoreRelease(_q_value, newValue); } 7770: T fetchAndStoreOrdered(T newValue) noexcept 7770: { return Ops::fetchAndStoreOrdered(_q_value, newValue); } 7770: 7770: static constexpr bool isFetchAndAddNative() noexcept { return Ops::isFetchAndAddNative(); } 7770: static constexpr bool isFetchAndAddWaitFree() noexcept { return Ops::isFetchAndAddWaitFree(); } 7770: 7770: T fetchAndAddRelaxed(T valueToAdd) noexcept 7770: { return Ops::fetchAndAddRelaxed(_q_value, valueToAdd); } 7770: T fetchAndAddAcquire(T valueToAdd) noexcept 7770: { return Ops::fetchAndAddAcquire(_q_value, valueToAdd); } 7770: T fetchAndAddRelease(T valueToAdd) noexcept 7770: { return Ops::fetchAndAddRelease(_q_value, valueToAdd); } 7770: T fetchAndAddOrdered(T valueToAdd) noexcept 7770: { return Ops::fetchAndAddOrdered(_q_value, valueToAdd); } 7770: 7770: T fetchAndSubRelaxed(T valueToAdd) noexcept 7770: { return Ops::fetchAndSubRelaxed(_q_value, valueToAdd); } 7770: T fetchAndSubAcquire(T valueToAdd) noexcept 7770: { return Ops::fetchAndSubAcquire(_q_value, valueToAdd); } 7770: T fetchAndSubRelease(T valueToAdd) noexcept 7770: { return Ops::fetchAndSubRelease(_q_value, valueToAdd); } 7770: T fetchAndSubOrdered(T valueToAdd) noexcept 7770: { return Ops::fetchAndSubOrdered(_q_value, valueToAdd); } 7770: 7770: T fetchAndAndRelaxed(T valueToAdd) noexcept 7770: { return Ops::fetchAndAndRelaxed(_q_value, valueToAdd); } 7770: T fetchAndAndAcquire(T valueToAdd) noexcept 7770: { return Ops::fetchAndAndAcquire(_q_value, valueToAdd); } 7770: T fetchAndAndRelease(T valueToAdd) noexcept 7770: { return Ops::fetchAndAndRelease(_q_value, valueToAdd); } 7770: T fetchAndAndOrdered(T valueToAdd) noexcept 7770: { return Ops::fetchAndAndOrdered(_q_value, valueToAdd); } 7770: 7770: T fetchAndOrRelaxed(T valueToAdd) noexcept 7770: { return Ops::fetchAndOrRelaxed(_q_value, valueToAdd); } 7770: T fetchAndOrAcquire(T valueToAdd) noexcept 7770: { return Ops::fetchAndOrAcquire(_q_value, valueToAdd); } 7770: T fetchAndOrRelease(T valueToAdd) noexcept 7770: { return Ops::fetchAndOrRelease(_q_value, valueToAdd); } 7770: T fetchAndOrOrdered(T valueToAdd) noexcept 7770: { return Ops::fetchAndOrOrdered(_q_value, valueToAdd); } 7770: 7770: T fetchAndXorRelaxed(T valueToAdd) noexcept 7770: { return Ops::fetchAndXorRelaxed(_q_value, valueToAdd); } 7770: T fetchAndXorAcquire(T valueToAdd) noexcept 7770: { return Ops::fetchAndXorAcquire(_q_value, valueToAdd); } 7770: T fetchAndXorRelease(T valueToAdd) noexcept 7770: { return Ops::fetchAndXorRelease(_q_value, valueToAdd); } 7770: T fetchAndXorOrdered(T valueToAdd) noexcept 7770: { return Ops::fetchAndXorOrdered(_q_value, valueToAdd); } 7770: 7770: T operator++() noexcept 7770: { return fetchAndAddOrdered(1) + 1; } 7770: T operator++(int) noexcept 7770: { return fetchAndAddOrdered(1); } 7770: T operator--() noexcept 7770: { return fetchAndSubOrdered(1) - 1; } 7770: T operator--(int) noexcept 7770: { return fetchAndSubOrdered(1); } 7770: 7770: T operator+=(T v) noexcept 7770: { return fetchAndAddOrdered(v) + v; } 7770: T operator-=(T v) noexcept 7770: { return fetchAndSubOrdered(v) - v; } 7770: T operator&=(T v) noexcept 7770: { return fetchAndAndOrdered(v) & v; } 7770: T operator|=(T v) noexcept 7770: { return fetchAndOrOrdered(v) | v; } 7770: T operator^=(T v) noexcept 7770: { return fetchAndXorOrdered(v) ^ v; } 7770: 7770: 7770: 7770: QBasicAtomicInteger() = default; 7770: constexpr QBasicAtomicInteger(T value) noexcept : _q_value(value) {} 7770: QBasicAtomicInteger(const QBasicAtomicInteger &) = delete; 7770: QBasicAtomicInteger &operator=(const QBasicAtomicInteger &) = delete; 7770: QBasicAtomicInteger &operator=(const QBasicAtomicInteger &) volatile = delete; 7770: 7770: }; 7770: typedef QBasicAtomicInteger QBasicAtomicInt; 7770: 7770: template 7770: class QBasicAtomicPointer 7770: { 7770: public: 7770: typedef X *Type; 7770: typedef QAtomicOps Ops; 7770: typedef typename Ops::Type AtomicType; 7770: 7770: AtomicType _q_value; 7770: 7770: Type load() const noexcept { return Ops::load(_q_value); } 7770: void store(Type newValue) noexcept { Ops::store(_q_value, newValue); } 7770: operator Type() const noexcept { return loadAcquire(); } 7770: Type operator=(Type newValue) noexcept { storeRelease(newValue); return newValue; } 7770: 7770: 7770: Type loadAcquire() const noexcept { return Ops::loadAcquire(_q_value); } 7770: void storeRelease(Type newValue) noexcept { Ops::storeRelease(_q_value, newValue); } 7770: 7770: static constexpr bool isTestAndSetNative() noexcept { return Ops::isTestAndSetNative(); } 7770: static constexpr bool isTestAndSetWaitFree() noexcept { return Ops::isTestAndSetWaitFree(); } 7770: 7770: bool testAndSetRelaxed(Type expectedValue, Type newValue) noexcept 7770: { return Ops::testAndSetRelaxed(_q_value, expectedValue, newValue); } 7770: bool testAndSetAcquire(Type expectedValue, Type newValue) noexcept 7770: { return Ops::testAndSetAcquire(_q_value, expectedValue, newValue); } 7770: bool testAndSetRelease(Type expectedValue, Type newValue) noexcept 7770: { return Ops::testAndSetRelease(_q_value, expectedValue, newValue); } 7770: bool testAndSetOrdered(Type expectedValue, Type newValue) noexcept 7770: { return Ops::testAndSetOrdered(_q_value, expectedValue, newValue); } 7770: 7770: bool testAndSetRelaxed(Type expectedValue, Type newValue, Type ¤tValue) noexcept 7770: { return Ops::testAndSetRelaxed(_q_value, expectedValue, newValue, ¤tValue); } 7770: bool testAndSetAcquire(Type expectedValue, Type newValue, Type ¤tValue) noexcept 7770: { return Ops::testAndSetAcquire(_q_value, expectedValue, newValue, ¤tValue); } 7770: bool testAndSetRelease(Type expectedValue, Type newValue, Type ¤tValue) noexcept 7770: { return Ops::testAndSetRelease(_q_value, expectedValue, newValue, ¤tValue); } 7770: bool testAndSetOrdered(Type expectedValue, Type newValue, Type ¤tValue) noexcept 7770: { return Ops::testAndSetOrdered(_q_value, expectedValue, newValue, ¤tValue); } 7770: 7770: static constexpr bool isFetchAndStoreNative() noexcept { return Ops::isFetchAndStoreNative(); } 7770: static constexpr bool isFetchAndStoreWaitFree() noexcept { return Ops::isFetchAndStoreWaitFree(); } 7770: 7770: Type fetchAndStoreRelaxed(Type newValue) noexcept 7770: { return Ops::fetchAndStoreRelaxed(_q_value, newValue); } 7770: Type fetchAndStoreAcquire(Type newValue) noexcept 7770: { return Ops::fetchAndStoreAcquire(_q_value, newValue); } 7770: Type fetchAndStoreRelease(Type newValue) noexcept 7770: { return Ops::fetchAndStoreRelease(_q_value, newValue); } 7770: Type fetchAndStoreOrdered(Type newValue) noexcept 7770: { return Ops::fetchAndStoreOrdered(_q_value, newValue); } 7770: 7770: static constexpr bool isFetchAndAddNative() noexcept { return Ops::isFetchAndAddNative(); } 7770: static constexpr bool isFetchAndAddWaitFree() noexcept { return Ops::isFetchAndAddWaitFree(); } 7770: 7770: Type fetchAndAddRelaxed(qptrdiff valueToAdd) noexcept 7770: { return Ops::fetchAndAddRelaxed(_q_value, valueToAdd); } 7770: Type fetchAndAddAcquire(qptrdiff valueToAdd) noexcept 7770: { return Ops::fetchAndAddAcquire(_q_value, valueToAdd); } 7770: Type fetchAndAddRelease(qptrdiff valueToAdd) noexcept 7770: { return Ops::fetchAndAddRelease(_q_value, valueToAdd); } 7770: Type fetchAndAddOrdered(qptrdiff valueToAdd) noexcept 7770: { return Ops::fetchAndAddOrdered(_q_value, valueToAdd); } 7770: 7770: Type fetchAndSubRelaxed(qptrdiff valueToAdd) noexcept 7770: { return Ops::fetchAndSubRelaxed(_q_value, valueToAdd); } 7770: Type fetchAndSubAcquire(qptrdiff valueToAdd) noexcept 7770: { return Ops::fetchAndSubAcquire(_q_value, valueToAdd); } 7770: Type fetchAndSubRelease(qptrdiff valueToAdd) noexcept 7770: { return Ops::fetchAndSubRelease(_q_value, valueToAdd); } 7770: Type fetchAndSubOrdered(qptrdiff valueToAdd) noexcept 7770: { return Ops::fetchAndSubOrdered(_q_value, valueToAdd); } 7770: 7770: Type operator++() noexcept 7770: { return fetchAndAddOrdered(1) + 1; } 7770: Type operator++(int) noexcept 7770: { return fetchAndAddOrdered(1); } 7770: Type operator--() noexcept 7770: { return fetchAndSubOrdered(1) - 1; } 7770: Type operator--(int) noexcept 7770: { return fetchAndSubOrdered(1); } 7770: Type operator+=(qptrdiff valueToAdd) noexcept 7770: { return fetchAndAddOrdered(valueToAdd) + valueToAdd; } 7770: Type operator-=(qptrdiff valueToSub) noexcept 7770: { return fetchAndSubOrdered(valueToSub) - valueToSub; } 7770: 7770: 7770: QBasicAtomicPointer() = default; 7770: constexpr QBasicAtomicPointer(Type value) noexcept : _q_value(value) {} 7770: QBasicAtomicPointer(const QBasicAtomicPointer &) = delete; 7770: QBasicAtomicPointer &operator=(const QBasicAtomicPointer &) = delete; 7770: QBasicAtomicPointer &operator=(const QBasicAtomicPointer &) volatile = delete; 7770: 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: # 329 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbasicatomic.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 329 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbasicatomic.h" 3 4 7770: 7770: # 47 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 2 3 4 7770: 7770: 7770: 7770: 7770: # 50 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 50 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 3 4 7770: 7770: 7770: # 51 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wextra" 7770: # 51 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 3 4 7770: 7770: 7770: 7770: template 7770: class QAtomicInteger : public QBasicAtomicInteger 7770: { 7770: public: 7770: 7770: 7770: constexpr QAtomicInteger(T value = 0) noexcept : QBasicAtomicInteger(value) {} 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: inline QAtomicInteger(const QAtomicInteger &other) noexcept 7770: 7770: : QBasicAtomicInteger() 7770: 7770: { 7770: this->storeRelease(other.loadAcquire()); 7770: } 7770: 7770: inline QAtomicInteger &operator=(const QAtomicInteger &other) noexcept 7770: { 7770: this->storeRelease(other.loadAcquire()); 7770: return *this; 7770: } 7770: # 151 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 3 4 7770: }; 7770: 7770: class QAtomicInt : public QAtomicInteger 7770: { 7770: public: 7770: 7770: 7770: 7770: 7770: constexpr 7770: 7770: QAtomicInt(int value = 0) noexcept : QAtomicInteger(value) {} 7770: }; 7770: 7770: 7770: template 7770: class QAtomicPointer : public QBasicAtomicPointer 7770: { 7770: public: 7770: 7770: constexpr QAtomicPointer(T *value = 0) noexcept : QBasicAtomicPointer(value) {} 7770: 7770: 7770: 7770: 7770: 7770: 7770: inline QAtomicPointer(const QAtomicPointer &other) noexcept 7770: 7770: : QBasicAtomicPointer() 7770: 7770: { 7770: this->storeRelease(other.loadAcquire()); 7770: } 7770: 7770: inline QAtomicPointer &operator=(const QAtomicPointer &other) noexcept 7770: { 7770: this->storeRelease(other.loadAcquire()); 7770: return *this; 7770: } 7770: # 222 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 3 4 7770: }; 7770: 7770: 7770: # 224 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 224 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 3 4 7770: 7770: # 236 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 3 4 7770: template 7770: inline void qAtomicAssign(T *&d, T *x) 7770: { 7770: if (d == x) 7770: return; 7770: x->ref.ref(); 7770: if (!d->ref.deref()) 7770: delete d; 7770: d = x; 7770: } 7770: # 255 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 3 4 7770: template 7770: inline void qAtomicDetach(T *&d) 7770: { 7770: if (d->ref.load() == 1) 7770: return; 7770: T *x = d; 7770: d = new T(*d); 7770: if (!x->ref.deref()) 7770: delete x; 7770: } 7770: 7770: 7770: # 1159 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobalstatic.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobalstatic.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 7770: # 46 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobalstatic.h" 2 3 4 7770: 7770: 7770: 7770: namespace QtGlobalStatic { 7770: enum GuardValues { 7770: Destroyed = -2, 7770: Initialized = -1, 7770: Uninitialized = 0, 7770: Initializing = 1 7770: }; 7770: } 7770: # 127 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobalstatic.h" 3 4 7770: template 7770: struct QGlobalStatic 7770: { 7770: typedef T Type; 7770: 7770: bool isDestroyed() const { return guard.load() <= QtGlobalStatic::Destroyed; } 7770: bool exists() const { return guard.load() == QtGlobalStatic::Initialized; } 7770: operator Type *() { if (isDestroyed()) return 0; return innerFunction(); } 7770: Type *operator()() { if (isDestroyed()) return 0; return innerFunction(); } 7770: Type *operator->() 7770: { 7770: do { } while ((false) && (!isDestroyed())); 7770: return innerFunction(); 7770: } 7770: Type &operator*() 7770: { 7770: do { } while ((false) && (!isDestroyed())); 7770: return *innerFunction(); 7770: } 7770: }; 7770: # 161 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobalstatic.h" 3 4 7770: 7770: # 1160 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qnumeric.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qnumeric.h" 3 4 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) bool qIsInf(double d); 7770: __attribute__((visibility("default"))) bool qIsNaN(double d); 7770: __attribute__((visibility("default"))) bool qIsFinite(double d); 7770: __attribute__((visibility("default"))) bool qIsInf(float f); 7770: __attribute__((visibility("default"))) bool qIsNaN(float f); 7770: __attribute__((visibility("default"))) bool qIsFinite(float f); 7770: __attribute__((visibility("default"))) double qSNaN(); 7770: __attribute__((visibility("default"))) double qQNaN(); 7770: __attribute__((visibility("default"))) double qInf(); 7770: 7770: __attribute__((visibility("default"))) quint32 qFloatDistance(float a, float b); 7770: __attribute__((visibility("default"))) quint64 qFloatDistance(double a, double b); 7770: 7770: 7770: 7770: 7770: 7770: 7770: # 1161 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qversiontagging.h" 1 3 4 7770: # 46 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qversiontagging.h" 3 4 7770: 7770: # 88 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qversiontagging.h" 3 4 7770: 7770: # 1162 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 2 3 4 7770: # 42 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 2 3 4 7770: # 44 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvariant.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearray.h" 1 3 4 7770: # 44 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearray.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qrefcount.h" 1 3 4 7770: # 43 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qrefcount.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 7770: # 44 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qrefcount.h" 2 3 4 7770: 7770: 7770: 7770: 7770: namespace QtPrivate 7770: { 7770: 7770: class RefCount 7770: { 7770: public: 7770: inline bool ref() noexcept { 7770: int count = atomic.load(); 7770: 7770: if (count == 0) 7770: return false; 7770: 7770: if (count != -1) 7770: atomic.ref(); 7770: return true; 7770: } 7770: 7770: inline bool deref() noexcept { 7770: int count = atomic.load(); 7770: 7770: if (count == 0) 7770: return false; 7770: 7770: if (count == -1) 7770: return true; 7770: return atomic.deref(); 7770: } 7770: 7770: 7770: bool setSharable(bool sharable) noexcept 7770: { 7770: do { } while ((false) && (!isShared())); 7770: if (sharable) 7770: return atomic.testAndSetRelaxed(0, 1); 7770: else 7770: return atomic.testAndSetRelaxed(1, 0); 7770: } 7770: 7770: bool isSharable() const noexcept 7770: { 7770: 7770: return atomic.load() != 0; 7770: } 7770: 7770: 7770: bool isStatic() const noexcept 7770: { 7770: 7770: return atomic.load() == -1; 7770: } 7770: 7770: bool isShared() const noexcept 7770: { 7770: int count = atomic.load(); 7770: return (count != 1) && (count != 0); 7770: } 7770: 7770: void initializeOwned() noexcept { atomic.store(1); } 7770: void initializeUnsharable() noexcept { atomic.store(0); } 7770: 7770: QBasicAtomicInt atomic; 7770: }; 7770: 7770: } 7770: 7770: 7770: 7770: 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearray.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qnamespace.h" 1 3 4 7770: # 49 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qnamespace.h" 3 4 7770: 7770: 7770: 7770: struct QMetaObject; 7770: const QMetaObject *qt_getQtMetaObject() noexcept; 7770: # 64 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qnamespace.h" 3 4 7770: namespace 7770: 7770: 7770: 7770: Qt { 7770: 7770: 7770: 7770: 7770: 7770: 7770: enum GlobalColor { 7770: color0, 7770: color1, 7770: black, 7770: white, 7770: darkGray, 7770: gray, 7770: lightGray, 7770: red, 7770: green, 7770: blue, 7770: cyan, 7770: magenta, 7770: yellow, 7770: darkRed, 7770: darkGreen, 7770: darkBlue, 7770: darkCyan, 7770: darkMagenta, 7770: darkYellow, 7770: transparent 7770: }; 7770: 7770: enum KeyboardModifier { 7770: NoModifier = 0x00000000, 7770: ShiftModifier = 0x02000000, 7770: ControlModifier = 0x04000000, 7770: AltModifier = 0x08000000, 7770: MetaModifier = 0x10000000, 7770: KeypadModifier = 0x20000000, 7770: GroupSwitchModifier = 0x40000000, 7770: 7770: KeyboardModifierMask = 0xfe000000 7770: }; 7770: typedef QFlags KeyboardModifiers; 7770: 7770: 7770: 7770: 7770: 7770: 7770: enum Modifier { 7770: META = Qt::MetaModifier, 7770: SHIFT = Qt::ShiftModifier, 7770: CTRL = Qt::ControlModifier, 7770: ALT = Qt::AltModifier, 7770: MODIFIER_MASK = KeyboardModifierMask, 7770: UNICODE_ACCEL = 0x00000000 7770: }; 7770: 7770: enum MouseButton { 7770: NoButton = 0x00000000, 7770: LeftButton = 0x00000001, 7770: RightButton = 0x00000002, 7770: MidButton = 0x00000004, 7770: MiddleButton = MidButton, 7770: BackButton = 0x00000008, 7770: XButton1 = BackButton, 7770: ExtraButton1 = XButton1, 7770: ForwardButton = 0x00000010, 7770: XButton2 = ForwardButton, 7770: ExtraButton2 = ForwardButton, 7770: TaskButton = 0x00000020, 7770: ExtraButton3 = TaskButton, 7770: ExtraButton4 = 0x00000040, 7770: ExtraButton5 = 0x00000080, 7770: ExtraButton6 = 0x00000100, 7770: ExtraButton7 = 0x00000200, 7770: ExtraButton8 = 0x00000400, 7770: ExtraButton9 = 0x00000800, 7770: ExtraButton10 = 0x00001000, 7770: ExtraButton11 = 0x00002000, 7770: ExtraButton12 = 0x00004000, 7770: ExtraButton13 = 0x00008000, 7770: ExtraButton14 = 0x00010000, 7770: ExtraButton15 = 0x00020000, 7770: ExtraButton16 = 0x00040000, 7770: ExtraButton17 = 0x00080000, 7770: ExtraButton18 = 0x00100000, 7770: ExtraButton19 = 0x00200000, 7770: ExtraButton20 = 0x00400000, 7770: ExtraButton21 = 0x00800000, 7770: ExtraButton22 = 0x01000000, 7770: ExtraButton23 = 0x02000000, 7770: ExtraButton24 = 0x04000000, 7770: AllButtons = 0x07ffffff, 7770: MaxMouseButton = ExtraButton24, 7770: 7770: MouseButtonMask = 0xffffffff 7770: }; 7770: typedef QFlags MouseButtons; 7770: 7770: enum Orientation { 7770: Horizontal = 0x1, 7770: Vertical = 0x2 7770: }; 7770: 7770: typedef QFlags Orientations; 7770: 7770: enum FocusPolicy { 7770: NoFocus = 0, 7770: TabFocus = 0x1, 7770: ClickFocus = 0x2, 7770: StrongFocus = TabFocus | ClickFocus | 0x8, 7770: WheelFocus = StrongFocus | 0x4 7770: }; 7770: 7770: enum TabFocusBehavior { 7770: NoTabFocus = 0x00, 7770: TabFocusTextControls = 0x01, 7770: TabFocusListControls = 0x02, 7770: TabFocusAllControls = 0xff 7770: }; 7770: 7770: enum SortOrder { 7770: AscendingOrder, 7770: DescendingOrder 7770: }; 7770: 7770: enum TileRule { 7770: StretchTile, 7770: RepeatTile, 7770: RoundTile 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: enum AlignmentFlag { 7770: AlignLeft = 0x0001, 7770: AlignLeading = AlignLeft, 7770: AlignRight = 0x0002, 7770: AlignTrailing = AlignRight, 7770: AlignHCenter = 0x0004, 7770: AlignJustify = 0x0008, 7770: AlignAbsolute = 0x0010, 7770: AlignHorizontal_Mask = AlignLeft | AlignRight | AlignHCenter | AlignJustify | AlignAbsolute, 7770: 7770: AlignTop = 0x0020, 7770: AlignBottom = 0x0040, 7770: AlignVCenter = 0x0080, 7770: AlignBaseline = 0x0100, 7770: 7770: 7770: 7770: 7770: AlignVertical_Mask = AlignTop | AlignBottom | AlignVCenter | AlignBaseline, 7770: 7770: AlignCenter = AlignVCenter | AlignHCenter 7770: }; 7770: 7770: typedef QFlags Alignment; 7770: 7770: enum TextFlag { 7770: TextSingleLine = 0x0100, 7770: TextDontClip = 0x0200, 7770: TextExpandTabs = 0x0400, 7770: TextShowMnemonic = 0x0800, 7770: TextWordWrap = 0x1000, 7770: TextWrapAnywhere = 0x2000, 7770: TextDontPrint = 0x4000, 7770: TextIncludeTrailingSpaces = 0x08000000, 7770: TextHideMnemonic = 0x8000, 7770: TextJustificationForced = 0x10000, 7770: TextForceLeftToRight = 0x20000, 7770: TextForceRightToLeft = 0x40000, 7770: 7770: 7770: TextLongestVariant = 0x80000, 7770: TextBypassShaping = 0x100000 7770: }; 7770: 7770: enum TextElideMode { 7770: ElideLeft, 7770: ElideRight, 7770: ElideMiddle, 7770: ElideNone 7770: }; 7770: 7770: enum WhiteSpaceMode { 7770: WhiteSpaceNormal, 7770: WhiteSpacePre, 7770: WhiteSpaceNoWrap, 7770: WhiteSpaceModeUndefined = -1 7770: }; 7770: 7770: enum HitTestAccuracy { ExactHit, FuzzyHit }; 7770: 7770: enum WindowType { 7770: Widget = 0x00000000, 7770: Window = 0x00000001, 7770: Dialog = 0x00000002 | Window, 7770: Sheet = 0x00000004 | Window, 7770: Drawer = Sheet | Dialog, 7770: Popup = 0x00000008 | Window, 7770: Tool = Popup | Dialog, 7770: ToolTip = Popup | Sheet, 7770: SplashScreen = ToolTip | Dialog, 7770: Desktop = 0x00000010 | Window, 7770: SubWindow = 0x00000012, 7770: ForeignWindow = 0x00000020 | Window, 7770: CoverWindow = 0x00000040 | Window, 7770: 7770: WindowType_Mask = 0x000000ff, 7770: MSWindowsFixedSizeDialogHint = 0x00000100, 7770: MSWindowsOwnDC = 0x00000200, 7770: BypassWindowManagerHint = 0x00000400, 7770: X11BypassWindowManagerHint = BypassWindowManagerHint, 7770: FramelessWindowHint = 0x00000800, 7770: WindowTitleHint = 0x00001000, 7770: WindowSystemMenuHint = 0x00002000, 7770: WindowMinimizeButtonHint = 0x00004000, 7770: WindowMaximizeButtonHint = 0x00008000, 7770: WindowMinMaxButtonsHint = WindowMinimizeButtonHint | WindowMaximizeButtonHint, 7770: WindowContextHelpButtonHint = 0x00010000, 7770: WindowShadeButtonHint = 0x00020000, 7770: WindowStaysOnTopHint = 0x00040000, 7770: WindowTransparentForInput = 0x00080000, 7770: WindowOverridesSystemGestures = 0x00100000, 7770: WindowDoesNotAcceptFocus = 0x00200000, 7770: MaximizeUsingFullscreenGeometryHint = 0x00400000, 7770: 7770: CustomizeWindowHint = 0x02000000, 7770: WindowStaysOnBottomHint = 0x04000000, 7770: WindowCloseButtonHint = 0x08000000, 7770: MacWindowToolBarButtonHint = 0x10000000, 7770: BypassGraphicsProxyWidget = 0x20000000, 7770: NoDropShadowWindowHint = 0x40000000, 7770: WindowFullscreenButtonHint = 0x80000000 7770: }; 7770: 7770: typedef QFlags WindowFlags; 7770: 7770: enum WindowState { 7770: WindowNoState = 0x00000000, 7770: WindowMinimized = 0x00000001, 7770: WindowMaximized = 0x00000002, 7770: WindowFullScreen = 0x00000004, 7770: WindowActive = 0x00000008 7770: }; 7770: 7770: typedef QFlags WindowStates; 7770: 7770: enum ApplicationState { 7770: ApplicationSuspended = 0x00000000, 7770: ApplicationHidden = 0x00000001, 7770: ApplicationInactive = 0x00000002, 7770: ApplicationActive = 0x00000004 7770: }; 7770: 7770: typedef QFlags ApplicationStates; 7770: 7770: enum ScreenOrientation { 7770: PrimaryOrientation = 0x00000000, 7770: PortraitOrientation = 0x00000001, 7770: LandscapeOrientation = 0x00000002, 7770: InvertedPortraitOrientation = 0x00000004, 7770: InvertedLandscapeOrientation = 0x00000008 7770: }; 7770: 7770: typedef QFlags ScreenOrientations; 7770: 7770: enum WidgetAttribute { 7770: WA_Disabled = 0, 7770: WA_UnderMouse = 1, 7770: WA_MouseTracking = 2, 7770: WA_ContentsPropagated = 3, 7770: WA_OpaquePaintEvent = 4, 7770: WA_NoBackground = WA_OpaquePaintEvent, 7770: WA_StaticContents = 5, 7770: WA_LaidOut = 7, 7770: WA_PaintOnScreen = 8, 7770: WA_NoSystemBackground = 9, 7770: WA_UpdatesDisabled = 10, 7770: WA_Mapped = 11, 7770: WA_MacNoClickThrough = 12, 7770: WA_InputMethodEnabled = 14, 7770: WA_WState_Visible = 15, 7770: WA_WState_Hidden = 16, 7770: 7770: WA_ForceDisabled = 32, 7770: WA_KeyCompression = 33, 7770: WA_PendingMoveEvent = 34, 7770: WA_PendingResizeEvent = 35, 7770: WA_SetPalette = 36, 7770: WA_SetFont = 37, 7770: WA_SetCursor = 38, 7770: WA_NoChildEventsFromChildren = 39, 7770: WA_WindowModified = 41, 7770: WA_Resized = 42, 7770: WA_Moved = 43, 7770: WA_PendingUpdate = 44, 7770: WA_InvalidSize = 45, 7770: WA_MacBrushedMetal = 46, 7770: WA_MacMetalStyle = WA_MacBrushedMetal, 7770: WA_CustomWhatsThis = 47, 7770: WA_LayoutOnEntireRect = 48, 7770: WA_OutsideWSRange = 49, 7770: WA_GrabbedShortcut = 50, 7770: WA_TransparentForMouseEvents = 51, 7770: WA_PaintUnclipped = 52, 7770: WA_SetWindowIcon = 53, 7770: WA_NoMouseReplay = 54, 7770: WA_DeleteOnClose = 55, 7770: WA_RightToLeft = 56, 7770: WA_SetLayoutDirection = 57, 7770: WA_NoChildEventsForParent = 58, 7770: WA_ForceUpdatesDisabled = 59, 7770: 7770: WA_WState_Created = 60, 7770: WA_WState_CompressKeys = 61, 7770: WA_WState_InPaintEvent = 62, 7770: WA_WState_Reparented = 63, 7770: WA_WState_ConfigPending = 64, 7770: WA_WState_Polished = 66, 7770: WA_WState_DND = 67, 7770: WA_WState_OwnSizePolicy = 68, 7770: WA_WState_ExplicitShowHide = 69, 7770: 7770: WA_ShowModal = 70, 7770: WA_MouseNoMask = 71, 7770: WA_GroupLeader = 72, 7770: WA_NoMousePropagation = 73, 7770: WA_Hover = 74, 7770: WA_InputMethodTransparent = 75, 7770: WA_QuitOnClose = 76, 7770: 7770: WA_KeyboardFocusChange = 77, 7770: 7770: WA_AcceptDrops = 78, 7770: WA_DropSiteRegistered = 79, 7770: WA_ForceAcceptDrops = WA_DropSiteRegistered, 7770: 7770: WA_WindowPropagation = 80, 7770: 7770: WA_NoX11EventCompression = 81, 7770: WA_TintedBackground = 82, 7770: WA_X11OpenGLOverlay = 83, 7770: WA_AlwaysShowToolTips = 84, 7770: WA_MacOpaqueSizeGrip = 85, 7770: WA_SetStyle = 86, 7770: 7770: WA_SetLocale = 87, 7770: WA_MacShowFocusRect = 88, 7770: 7770: WA_MacNormalSize = 89, 7770: WA_MacSmallSize = 90, 7770: WA_MacMiniSize = 91, 7770: 7770: WA_LayoutUsesWidgetRect = 92, 7770: WA_StyledBackground = 93, 7770: WA_MSWindowsUseDirect3D = 94, 7770: WA_CanHostQMdiSubWindowTitleBar = 95, 7770: 7770: WA_MacAlwaysShowToolWindow = 96, 7770: 7770: WA_StyleSheet = 97, 7770: 7770: WA_ShowWithoutActivating = 98, 7770: 7770: WA_X11BypassTransientForHint = 99, 7770: 7770: WA_NativeWindow = 100, 7770: WA_DontCreateNativeAncestors = 101, 7770: 7770: WA_MacVariableSize = 102, 7770: 7770: WA_DontShowOnScreen = 103, 7770: 7770: 7770: WA_X11NetWmWindowTypeDesktop = 104, 7770: WA_X11NetWmWindowTypeDock = 105, 7770: WA_X11NetWmWindowTypeToolBar = 106, 7770: WA_X11NetWmWindowTypeMenu = 107, 7770: WA_X11NetWmWindowTypeUtility = 108, 7770: WA_X11NetWmWindowTypeSplash = 109, 7770: WA_X11NetWmWindowTypeDialog = 110, 7770: WA_X11NetWmWindowTypeDropDownMenu = 111, 7770: WA_X11NetWmWindowTypePopupMenu = 112, 7770: WA_X11NetWmWindowTypeToolTip = 113, 7770: WA_X11NetWmWindowTypeNotification = 114, 7770: WA_X11NetWmWindowTypeCombo = 115, 7770: WA_X11NetWmWindowTypeDND = 116, 7770: 7770: WA_MacFrameworkScaled = 117, 7770: 7770: WA_SetWindowModality = 118, 7770: WA_WState_WindowOpacitySet = 119, 7770: WA_TranslucentBackground = 120, 7770: 7770: WA_AcceptTouchEvents = 121, 7770: WA_WState_AcceptedTouchBeginEvent = 122, 7770: WA_TouchPadAcceptSingleTouchEvents = 123, 7770: 7770: WA_X11DoNotAcceptFocus = 126, 7770: WA_MacNoShadow = 127, 7770: 7770: WA_AlwaysStackOnTop = 128, 7770: 7770: WA_TabletTracking = 129, 7770: 7770: 7770: WA_AttributeCount 7770: }; 7770: 7770: enum ApplicationAttribute 7770: { 7770: AA_ImmediateWidgetCreation = 0, 7770: AA_MSWindowsUseDirect3DByDefault = 1, 7770: AA_DontShowIconsInMenus = 2, 7770: AA_NativeWindows = 3, 7770: AA_DontCreateNativeWidgetSiblings = 4, 7770: AA_PluginApplication = 5, 7770: AA_MacPluginApplication = AA_PluginApplication, 7770: AA_DontUseNativeMenuBar = 6, 7770: AA_MacDontSwapCtrlAndMeta = 7, 7770: AA_Use96Dpi = 8, 7770: AA_X11InitThreads = 10, 7770: AA_SynthesizeTouchForUnhandledMouseEvents = 11, 7770: AA_SynthesizeMouseForUnhandledTouchEvents = 12, 7770: AA_UseHighDpiPixmaps = 13, 7770: AA_ForceRasterWidgets = 14, 7770: AA_UseDesktopOpenGL = 15, 7770: AA_UseOpenGLES = 16, 7770: AA_UseSoftwareOpenGL = 17, 7770: AA_ShareOpenGLContexts = 18, 7770: AA_SetPalette = 19, 7770: AA_EnableHighDpiScaling = 20, 7770: AA_DisableHighDpiScaling = 21, 7770: AA_UseStyleSheetPropagationInWidgetStyles = 22, 7770: AA_DontUseNativeDialogs = 23, 7770: AA_SynthesizeMouseForUnhandledTabletEvents = 24, 7770: AA_CompressHighFrequencyEvents = 25, 7770: AA_DontCheckOpenGLContextThreadAffinity = 26, 7770: AA_DisableShaderDiskCache = 27, 7770: 7770: 7770: AA_AttributeCount 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: enum ImageConversionFlag { 7770: ColorMode_Mask = 0x00000003, 7770: AutoColor = 0x00000000, 7770: ColorOnly = 0x00000003, 7770: MonoOnly = 0x00000002, 7770: 7770: 7770: AlphaDither_Mask = 0x0000000c, 7770: ThresholdAlphaDither = 0x00000000, 7770: OrderedAlphaDither = 0x00000004, 7770: DiffuseAlphaDither = 0x00000008, 7770: NoAlpha = 0x0000000c, 7770: 7770: Dither_Mask = 0x00000030, 7770: DiffuseDither = 0x00000000, 7770: OrderedDither = 0x00000010, 7770: ThresholdDither = 0x00000020, 7770: 7770: 7770: DitherMode_Mask = 0x000000c0, 7770: AutoDither = 0x00000000, 7770: PreferDither = 0x00000040, 7770: AvoidDither = 0x00000080, 7770: 7770: NoOpaqueDetection = 0x00000100, 7770: NoFormatConversion = 0x00000200 7770: }; 7770: typedef QFlags ImageConversionFlags; 7770: 7770: enum BGMode { 7770: TransparentMode, 7770: OpaqueMode 7770: }; 7770: 7770: enum Key { 7770: Key_Escape = 0x01000000, 7770: Key_Tab = 0x01000001, 7770: Key_Backtab = 0x01000002, 7770: Key_Backspace = 0x01000003, 7770: Key_Return = 0x01000004, 7770: Key_Enter = 0x01000005, 7770: Key_Insert = 0x01000006, 7770: Key_Delete = 0x01000007, 7770: Key_Pause = 0x01000008, 7770: Key_Print = 0x01000009, 7770: Key_SysReq = 0x0100000a, 7770: Key_Clear = 0x0100000b, 7770: Key_Home = 0x01000010, 7770: Key_End = 0x01000011, 7770: Key_Left = 0x01000012, 7770: Key_Up = 0x01000013, 7770: Key_Right = 0x01000014, 7770: Key_Down = 0x01000015, 7770: Key_PageUp = 0x01000016, 7770: Key_PageDown = 0x01000017, 7770: Key_Shift = 0x01000020, 7770: Key_Control = 0x01000021, 7770: Key_Meta = 0x01000022, 7770: Key_Alt = 0x01000023, 7770: Key_CapsLock = 0x01000024, 7770: Key_NumLock = 0x01000025, 7770: Key_ScrollLock = 0x01000026, 7770: Key_F1 = 0x01000030, 7770: Key_F2 = 0x01000031, 7770: Key_F3 = 0x01000032, 7770: Key_F4 = 0x01000033, 7770: Key_F5 = 0x01000034, 7770: Key_F6 = 0x01000035, 7770: Key_F7 = 0x01000036, 7770: Key_F8 = 0x01000037, 7770: Key_F9 = 0x01000038, 7770: Key_F10 = 0x01000039, 7770: Key_F11 = 0x0100003a, 7770: Key_F12 = 0x0100003b, 7770: Key_F13 = 0x0100003c, 7770: Key_F14 = 0x0100003d, 7770: Key_F15 = 0x0100003e, 7770: Key_F16 = 0x0100003f, 7770: Key_F17 = 0x01000040, 7770: Key_F18 = 0x01000041, 7770: Key_F19 = 0x01000042, 7770: Key_F20 = 0x01000043, 7770: Key_F21 = 0x01000044, 7770: Key_F22 = 0x01000045, 7770: Key_F23 = 0x01000046, 7770: Key_F24 = 0x01000047, 7770: Key_F25 = 0x01000048, 7770: Key_F26 = 0x01000049, 7770: Key_F27 = 0x0100004a, 7770: Key_F28 = 0x0100004b, 7770: Key_F29 = 0x0100004c, 7770: Key_F30 = 0x0100004d, 7770: Key_F31 = 0x0100004e, 7770: Key_F32 = 0x0100004f, 7770: Key_F33 = 0x01000050, 7770: Key_F34 = 0x01000051, 7770: Key_F35 = 0x01000052, 7770: Key_Super_L = 0x01000053, 7770: Key_Super_R = 0x01000054, 7770: Key_Menu = 0x01000055, 7770: Key_Hyper_L = 0x01000056, 7770: Key_Hyper_R = 0x01000057, 7770: Key_Help = 0x01000058, 7770: Key_Direction_L = 0x01000059, 7770: Key_Direction_R = 0x01000060, 7770: Key_Space = 0x20, 7770: Key_Any = Key_Space, 7770: Key_Exclam = 0x21, 7770: Key_QuoteDbl = 0x22, 7770: Key_NumberSign = 0x23, 7770: Key_Dollar = 0x24, 7770: Key_Percent = 0x25, 7770: Key_Ampersand = 0x26, 7770: Key_Apostrophe = 0x27, 7770: Key_ParenLeft = 0x28, 7770: Key_ParenRight = 0x29, 7770: Key_Asterisk = 0x2a, 7770: Key_Plus = 0x2b, 7770: Key_Comma = 0x2c, 7770: Key_Minus = 0x2d, 7770: Key_Period = 0x2e, 7770: Key_Slash = 0x2f, 7770: Key_0 = 0x30, 7770: Key_1 = 0x31, 7770: Key_2 = 0x32, 7770: Key_3 = 0x33, 7770: Key_4 = 0x34, 7770: Key_5 = 0x35, 7770: Key_6 = 0x36, 7770: Key_7 = 0x37, 7770: Key_8 = 0x38, 7770: Key_9 = 0x39, 7770: Key_Colon = 0x3a, 7770: Key_Semicolon = 0x3b, 7770: Key_Less = 0x3c, 7770: Key_Equal = 0x3d, 7770: Key_Greater = 0x3e, 7770: Key_Question = 0x3f, 7770: Key_At = 0x40, 7770: Key_A = 0x41, 7770: Key_B = 0x42, 7770: Key_C = 0x43, 7770: Key_D = 0x44, 7770: Key_E = 0x45, 7770: Key_F = 0x46, 7770: Key_G = 0x47, 7770: Key_H = 0x48, 7770: Key_I = 0x49, 7770: Key_J = 0x4a, 7770: Key_K = 0x4b, 7770: Key_L = 0x4c, 7770: Key_M = 0x4d, 7770: Key_N = 0x4e, 7770: Key_O = 0x4f, 7770: Key_P = 0x50, 7770: Key_Q = 0x51, 7770: Key_R = 0x52, 7770: Key_S = 0x53, 7770: Key_T = 0x54, 7770: Key_U = 0x55, 7770: Key_V = 0x56, 7770: Key_W = 0x57, 7770: Key_X = 0x58, 7770: Key_Y = 0x59, 7770: Key_Z = 0x5a, 7770: Key_BracketLeft = 0x5b, 7770: Key_Backslash = 0x5c, 7770: Key_BracketRight = 0x5d, 7770: Key_AsciiCircum = 0x5e, 7770: Key_Underscore = 0x5f, 7770: Key_QuoteLeft = 0x60, 7770: Key_BraceLeft = 0x7b, 7770: Key_Bar = 0x7c, 7770: Key_BraceRight = 0x7d, 7770: Key_AsciiTilde = 0x7e, 7770: 7770: Key_nobreakspace = 0x0a0, 7770: Key_exclamdown = 0x0a1, 7770: Key_cent = 0x0a2, 7770: Key_sterling = 0x0a3, 7770: Key_currency = 0x0a4, 7770: Key_yen = 0x0a5, 7770: Key_brokenbar = 0x0a6, 7770: Key_section = 0x0a7, 7770: Key_diaeresis = 0x0a8, 7770: Key_copyright = 0x0a9, 7770: Key_ordfeminine = 0x0aa, 7770: Key_guillemotleft = 0x0ab, 7770: Key_notsign = 0x0ac, 7770: Key_hyphen = 0x0ad, 7770: Key_registered = 0x0ae, 7770: Key_macron = 0x0af, 7770: Key_degree = 0x0b0, 7770: Key_plusminus = 0x0b1, 7770: Key_twosuperior = 0x0b2, 7770: Key_threesuperior = 0x0b3, 7770: Key_acute = 0x0b4, 7770: Key_mu = 0x0b5, 7770: Key_paragraph = 0x0b6, 7770: Key_periodcentered = 0x0b7, 7770: Key_cedilla = 0x0b8, 7770: Key_onesuperior = 0x0b9, 7770: Key_masculine = 0x0ba, 7770: Key_guillemotright = 0x0bb, 7770: Key_onequarter = 0x0bc, 7770: Key_onehalf = 0x0bd, 7770: Key_threequarters = 0x0be, 7770: Key_questiondown = 0x0bf, 7770: Key_Agrave = 0x0c0, 7770: Key_Aacute = 0x0c1, 7770: Key_Acircumflex = 0x0c2, 7770: Key_Atilde = 0x0c3, 7770: Key_Adiaeresis = 0x0c4, 7770: Key_Aring = 0x0c5, 7770: Key_AE = 0x0c6, 7770: Key_Ccedilla = 0x0c7, 7770: Key_Egrave = 0x0c8, 7770: Key_Eacute = 0x0c9, 7770: Key_Ecircumflex = 0x0ca, 7770: Key_Ediaeresis = 0x0cb, 7770: Key_Igrave = 0x0cc, 7770: Key_Iacute = 0x0cd, 7770: Key_Icircumflex = 0x0ce, 7770: Key_Idiaeresis = 0x0cf, 7770: Key_ETH = 0x0d0, 7770: Key_Ntilde = 0x0d1, 7770: Key_Ograve = 0x0d2, 7770: Key_Oacute = 0x0d3, 7770: Key_Ocircumflex = 0x0d4, 7770: Key_Otilde = 0x0d5, 7770: Key_Odiaeresis = 0x0d6, 7770: Key_multiply = 0x0d7, 7770: Key_Ooblique = 0x0d8, 7770: Key_Ugrave = 0x0d9, 7770: Key_Uacute = 0x0da, 7770: Key_Ucircumflex = 0x0db, 7770: Key_Udiaeresis = 0x0dc, 7770: Key_Yacute = 0x0dd, 7770: Key_THORN = 0x0de, 7770: Key_ssharp = 0x0df, 7770: Key_division = 0x0f7, 7770: Key_ydiaeresis = 0x0ff, 7770: 7770: 7770: 7770: 7770: 7770: 7770: Key_AltGr = 0x01001103, 7770: Key_Multi_key = 0x01001120, 7770: Key_Codeinput = 0x01001137, 7770: Key_SingleCandidate = 0x0100113c, 7770: Key_MultipleCandidate = 0x0100113d, 7770: Key_PreviousCandidate = 0x0100113e, 7770: 7770: 7770: Key_Mode_switch = 0x0100117e, 7770: 7770: 7770: 7770: Key_Kanji = 0x01001121, 7770: Key_Muhenkan = 0x01001122, 7770: 7770: Key_Henkan = 0x01001123, 7770: Key_Romaji = 0x01001124, 7770: Key_Hiragana = 0x01001125, 7770: Key_Katakana = 0x01001126, 7770: Key_Hiragana_Katakana = 0x01001127, 7770: Key_Zenkaku = 0x01001128, 7770: Key_Hankaku = 0x01001129, 7770: Key_Zenkaku_Hankaku = 0x0100112a, 7770: Key_Touroku = 0x0100112b, 7770: Key_Massyo = 0x0100112c, 7770: Key_Kana_Lock = 0x0100112d, 7770: Key_Kana_Shift = 0x0100112e, 7770: Key_Eisu_Shift = 0x0100112f, 7770: Key_Eisu_toggle = 0x01001130, 7770: # 806 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qnamespace.h" 3 4 7770: Key_Hangul = 0x01001131, 7770: Key_Hangul_Start = 0x01001132, 7770: Key_Hangul_End = 0x01001133, 7770: Key_Hangul_Hanja = 0x01001134, 7770: Key_Hangul_Jamo = 0x01001135, 7770: Key_Hangul_Romaja = 0x01001136, 7770: 7770: Key_Hangul_Jeonja = 0x01001138, 7770: Key_Hangul_Banja = 0x01001139, 7770: Key_Hangul_PreHanja = 0x0100113a, 7770: Key_Hangul_PostHanja = 0x0100113b, 7770: 7770: 7770: 7770: Key_Hangul_Special = 0x0100113f, 7770: 7770: 7770: 7770: Key_Dead_Grave = 0x01001250, 7770: Key_Dead_Acute = 0x01001251, 7770: Key_Dead_Circumflex = 0x01001252, 7770: Key_Dead_Tilde = 0x01001253, 7770: Key_Dead_Macron = 0x01001254, 7770: Key_Dead_Breve = 0x01001255, 7770: Key_Dead_Abovedot = 0x01001256, 7770: Key_Dead_Diaeresis = 0x01001257, 7770: Key_Dead_Abovering = 0x01001258, 7770: Key_Dead_Doubleacute = 0x01001259, 7770: Key_Dead_Caron = 0x0100125a, 7770: Key_Dead_Cedilla = 0x0100125b, 7770: Key_Dead_Ogonek = 0x0100125c, 7770: Key_Dead_Iota = 0x0100125d, 7770: Key_Dead_Voiced_Sound = 0x0100125e, 7770: Key_Dead_Semivoiced_Sound = 0x0100125f, 7770: Key_Dead_Belowdot = 0x01001260, 7770: Key_Dead_Hook = 0x01001261, 7770: Key_Dead_Horn = 0x01001262, 7770: 7770: 7770: Key_Back = 0x01000061, 7770: Key_Forward = 0x01000062, 7770: Key_Stop = 0x01000063, 7770: Key_Refresh = 0x01000064, 7770: Key_VolumeDown = 0x01000070, 7770: Key_VolumeMute = 0x01000071, 7770: Key_VolumeUp = 0x01000072, 7770: Key_BassBoost = 0x01000073, 7770: Key_BassUp = 0x01000074, 7770: Key_BassDown = 0x01000075, 7770: Key_TrebleUp = 0x01000076, 7770: Key_TrebleDown = 0x01000077, 7770: Key_MediaPlay = 0x01000080, 7770: Key_MediaStop = 0x01000081, 7770: Key_MediaPrevious = 0x01000082, 7770: Key_MediaNext = 0x01000083, 7770: Key_MediaRecord = 0x01000084, 7770: Key_MediaPause = 0x1000085, 7770: Key_MediaTogglePlayPause = 0x1000086, 7770: Key_HomePage = 0x01000090, 7770: Key_Favorites = 0x01000091, 7770: Key_Search = 0x01000092, 7770: Key_Standby = 0x01000093, 7770: Key_OpenUrl = 0x01000094, 7770: Key_LaunchMail = 0x010000a0, 7770: Key_LaunchMedia = 0x010000a1, 7770: Key_Launch0 = 0x010000a2, 7770: Key_Launch1 = 0x010000a3, 7770: Key_Launch2 = 0x010000a4, 7770: Key_Launch3 = 0x010000a5, 7770: Key_Launch4 = 0x010000a6, 7770: Key_Launch5 = 0x010000a7, 7770: Key_Launch6 = 0x010000a8, 7770: Key_Launch7 = 0x010000a9, 7770: Key_Launch8 = 0x010000aa, 7770: Key_Launch9 = 0x010000ab, 7770: Key_LaunchA = 0x010000ac, 7770: Key_LaunchB = 0x010000ad, 7770: Key_LaunchC = 0x010000ae, 7770: Key_LaunchD = 0x010000af, 7770: Key_LaunchE = 0x010000b0, 7770: Key_LaunchF = 0x010000b1, 7770: Key_MonBrightnessUp = 0x010000b2, 7770: Key_MonBrightnessDown = 0x010000b3, 7770: Key_KeyboardLightOnOff = 0x010000b4, 7770: Key_KeyboardBrightnessUp = 0x010000b5, 7770: Key_KeyboardBrightnessDown = 0x010000b6, 7770: Key_PowerOff = 0x010000b7, 7770: Key_WakeUp = 0x010000b8, 7770: Key_Eject = 0x010000b9, 7770: Key_ScreenSaver = 0x010000ba, 7770: Key_WWW = 0x010000bb, 7770: Key_Memo = 0x010000bc, 7770: Key_LightBulb = 0x010000bd, 7770: Key_Shop = 0x010000be, 7770: Key_History = 0x010000bf, 7770: Key_AddFavorite = 0x010000c0, 7770: Key_HotLinks = 0x010000c1, 7770: Key_BrightnessAdjust = 0x010000c2, 7770: Key_Finance = 0x010000c3, 7770: Key_Community = 0x010000c4, 7770: Key_AudioRewind = 0x010000c5, 7770: Key_BackForward = 0x010000c6, 7770: Key_ApplicationLeft = 0x010000c7, 7770: Key_ApplicationRight = 0x010000c8, 7770: Key_Book = 0x010000c9, 7770: Key_CD = 0x010000ca, 7770: Key_Calculator = 0x010000cb, 7770: Key_ToDoList = 0x010000cc, 7770: Key_ClearGrab = 0x010000cd, 7770: Key_Close = 0x010000ce, 7770: Key_Copy = 0x010000cf, 7770: Key_Cut = 0x010000d0, 7770: Key_Display = 0x010000d1, 7770: Key_DOS = 0x010000d2, 7770: Key_Documents = 0x010000d3, 7770: Key_Excel = 0x010000d4, 7770: Key_Explorer = 0x010000d5, 7770: Key_Game = 0x010000d6, 7770: Key_Go = 0x010000d7, 7770: Key_iTouch = 0x010000d8, 7770: Key_LogOff = 0x010000d9, 7770: Key_Market = 0x010000da, 7770: Key_Meeting = 0x010000db, 7770: Key_MenuKB = 0x010000dc, 7770: Key_MenuPB = 0x010000dd, 7770: Key_MySites = 0x010000de, 7770: Key_News = 0x010000df, 7770: Key_OfficeHome = 0x010000e0, 7770: Key_Option = 0x010000e1, 7770: Key_Paste = 0x010000e2, 7770: Key_Phone = 0x010000e3, 7770: Key_Calendar = 0x010000e4, 7770: Key_Reply = 0x010000e5, 7770: Key_Reload = 0x010000e6, 7770: Key_RotateWindows = 0x010000e7, 7770: Key_RotationPB = 0x010000e8, 7770: Key_RotationKB = 0x010000e9, 7770: Key_Save = 0x010000ea, 7770: Key_Send = 0x010000eb, 7770: Key_Spell = 0x010000ec, 7770: Key_SplitScreen = 0x010000ed, 7770: Key_Support = 0x010000ee, 7770: Key_TaskPane = 0x010000ef, 7770: Key_Terminal = 0x010000f0, 7770: Key_Tools = 0x010000f1, 7770: Key_Travel = 0x010000f2, 7770: Key_Video = 0x010000f3, 7770: Key_Word = 0x010000f4, 7770: Key_Xfer = 0x010000f5, 7770: Key_ZoomIn = 0x010000f6, 7770: Key_ZoomOut = 0x010000f7, 7770: Key_Away = 0x010000f8, 7770: Key_Messenger = 0x010000f9, 7770: Key_WebCam = 0x010000fa, 7770: Key_MailForward = 0x010000fb, 7770: Key_Pictures = 0x010000fc, 7770: Key_Music = 0x010000fd, 7770: Key_Battery = 0x010000fe, 7770: Key_Bluetooth = 0x010000ff, 7770: Key_WLAN = 0x01000100, 7770: Key_UWB = 0x01000101, 7770: Key_AudioForward = 0x01000102, 7770: Key_AudioRepeat = 0x01000103, 7770: Key_AudioRandomPlay = 0x01000104, 7770: Key_Subtitle = 0x01000105, 7770: Key_AudioCycleTrack = 0x01000106, 7770: Key_Time = 0x01000107, 7770: Key_Hibernate = 0x01000108, 7770: Key_View = 0x01000109, 7770: Key_TopMenu = 0x0100010a, 7770: Key_PowerDown = 0x0100010b, 7770: Key_Suspend = 0x0100010c, 7770: Key_ContrastAdjust = 0x0100010d, 7770: 7770: Key_LaunchG = 0x0100010e, 7770: Key_LaunchH = 0x0100010f, 7770: 7770: Key_TouchpadToggle = 0x01000110, 7770: Key_TouchpadOn = 0x01000111, 7770: Key_TouchpadOff = 0x01000112, 7770: 7770: Key_MicMute = 0x01000113, 7770: 7770: Key_Red = 0x01000114, 7770: Key_Green = 0x01000115, 7770: Key_Yellow = 0x01000116, 7770: Key_Blue = 0x01000117, 7770: 7770: Key_ChannelUp = 0x01000118, 7770: Key_ChannelDown = 0x01000119, 7770: 7770: Key_Guide = 0x0100011a, 7770: Key_Info = 0x0100011b, 7770: Key_Settings = 0x0100011c, 7770: 7770: Key_MicVolumeUp = 0x0100011d, 7770: Key_MicVolumeDown = 0x0100011e, 7770: 7770: Key_New = 0x01000120, 7770: Key_Open = 0x01000121, 7770: Key_Find = 0x01000122, 7770: Key_Undo = 0x01000123, 7770: Key_Redo = 0x01000124, 7770: 7770: Key_MediaLast = 0x0100ffff, 7770: 7770: 7770: Key_Select = 0x01010000, 7770: Key_Yes = 0x01010001, 7770: Key_No = 0x01010002, 7770: 7770: 7770: Key_Cancel = 0x01020001, 7770: Key_Printer = 0x01020002, 7770: Key_Execute = 0x01020003, 7770: Key_Sleep = 0x01020004, 7770: Key_Play = 0x01020005, 7770: Key_Zoom = 0x01020006, 7770: 7770: 7770: 7770: Key_Exit = 0x0102000a, 7770: 7770: 7770: Key_Context1 = 0x01100000, 7770: Key_Context2 = 0x01100001, 7770: Key_Context3 = 0x01100002, 7770: Key_Context4 = 0x01100003, 7770: Key_Call = 0x01100004, 7770: Key_Hangup = 0x01100005, 7770: Key_Flip = 0x01100006, 7770: Key_ToggleCallHangup = 0x01100007, 7770: Key_VoiceDial = 0x01100008, 7770: Key_LastNumberRedial = 0x01100009, 7770: 7770: Key_Camera = 0x01100020, 7770: Key_CameraFocus = 0x01100021, 7770: 7770: Key_unknown = 0x01ffffff 7770: }; 7770: 7770: enum ArrowType { 7770: NoArrow, 7770: UpArrow, 7770: DownArrow, 7770: LeftArrow, 7770: RightArrow 7770: }; 7770: 7770: enum PenStyle { 7770: NoPen, 7770: SolidLine, 7770: DashLine, 7770: DotLine, 7770: DashDotLine, 7770: DashDotDotLine, 7770: CustomDashLine 7770: 7770: , MPenStyle = 0x0f 7770: 7770: }; 7770: 7770: enum PenCapStyle { 7770: FlatCap = 0x00, 7770: SquareCap = 0x10, 7770: RoundCap = 0x20, 7770: MPenCapStyle = 0x30 7770: }; 7770: 7770: enum PenJoinStyle { 7770: MiterJoin = 0x00, 7770: BevelJoin = 0x40, 7770: RoundJoin = 0x80, 7770: SvgMiterJoin = 0x100, 7770: MPenJoinStyle = 0x1c0 7770: }; 7770: 7770: enum BrushStyle { 7770: NoBrush, 7770: SolidPattern, 7770: Dense1Pattern, 7770: Dense2Pattern, 7770: Dense3Pattern, 7770: Dense4Pattern, 7770: Dense5Pattern, 7770: Dense6Pattern, 7770: Dense7Pattern, 7770: HorPattern, 7770: VerPattern, 7770: CrossPattern, 7770: BDiagPattern, 7770: FDiagPattern, 7770: DiagCrossPattern, 7770: LinearGradientPattern, 7770: RadialGradientPattern, 7770: ConicalGradientPattern, 7770: TexturePattern = 24 7770: }; 7770: 7770: enum SizeMode { 7770: AbsoluteSize, 7770: RelativeSize 7770: }; 7770: 7770: enum UIEffect { 7770: UI_General, 7770: UI_AnimateMenu, 7770: UI_FadeMenu, 7770: UI_AnimateCombo, 7770: UI_AnimateTooltip, 7770: UI_FadeTooltip, 7770: UI_AnimateToolBox 7770: }; 7770: 7770: enum CursorShape { 7770: ArrowCursor, 7770: UpArrowCursor, 7770: CrossCursor, 7770: WaitCursor, 7770: IBeamCursor, 7770: SizeVerCursor, 7770: SizeHorCursor, 7770: SizeBDiagCursor, 7770: SizeFDiagCursor, 7770: SizeAllCursor, 7770: BlankCursor, 7770: SplitVCursor, 7770: SplitHCursor, 7770: PointingHandCursor, 7770: ForbiddenCursor, 7770: WhatsThisCursor, 7770: BusyCursor, 7770: OpenHandCursor, 7770: ClosedHandCursor, 7770: DragCopyCursor, 7770: DragMoveCursor, 7770: DragLinkCursor, 7770: LastCursor = DragLinkCursor, 7770: BitmapCursor = 24, 7770: CustomCursor = 25 7770: }; 7770: 7770: enum TextFormat { 7770: PlainText, 7770: RichText, 7770: AutoText 7770: }; 7770: 7770: enum AspectRatioMode { 7770: IgnoreAspectRatio, 7770: KeepAspectRatio, 7770: KeepAspectRatioByExpanding 7770: }; 7770: 7770: enum DockWidgetArea { 7770: LeftDockWidgetArea = 0x1, 7770: RightDockWidgetArea = 0x2, 7770: TopDockWidgetArea = 0x4, 7770: BottomDockWidgetArea = 0x8, 7770: 7770: DockWidgetArea_Mask = 0xf, 7770: AllDockWidgetAreas = DockWidgetArea_Mask, 7770: NoDockWidgetArea = 0 7770: }; 7770: enum DockWidgetAreaSizes { 7770: NDockWidgetAreas = 4 7770: }; 7770: 7770: typedef QFlags DockWidgetAreas; 7770: 7770: enum ToolBarArea { 7770: LeftToolBarArea = 0x1, 7770: RightToolBarArea = 0x2, 7770: TopToolBarArea = 0x4, 7770: BottomToolBarArea = 0x8, 7770: 7770: ToolBarArea_Mask = 0xf, 7770: AllToolBarAreas = ToolBarArea_Mask, 7770: NoToolBarArea = 0 7770: }; 7770: 7770: enum ToolBarAreaSizes { 7770: NToolBarAreas = 4 7770: }; 7770: 7770: typedef QFlags ToolBarAreas; 7770: 7770: enum DateFormat { 7770: TextDate, 7770: ISODate, 7770: SystemLocaleDate, 7770: LocalDate = SystemLocaleDate, 7770: LocaleDate, 7770: SystemLocaleShortDate, 7770: SystemLocaleLongDate, 7770: DefaultLocaleShortDate, 7770: DefaultLocaleLongDate, 7770: RFC2822Date, 7770: ISODateWithMs 7770: }; 7770: 7770: enum TimeSpec { 7770: LocalTime, 7770: UTC, 7770: OffsetFromUTC, 7770: TimeZone 7770: }; 7770: 7770: enum DayOfWeek { 7770: Monday = 1, 7770: Tuesday = 2, 7770: Wednesday = 3, 7770: Thursday = 4, 7770: Friday = 5, 7770: Saturday = 6, 7770: Sunday = 7 7770: }; 7770: 7770: enum ScrollBarPolicy { 7770: ScrollBarAsNeeded, 7770: ScrollBarAlwaysOff, 7770: ScrollBarAlwaysOn 7770: }; 7770: 7770: enum CaseSensitivity { 7770: CaseInsensitive, 7770: CaseSensitive 7770: }; 7770: 7770: enum Corner { 7770: TopLeftCorner = 0x00000, 7770: TopRightCorner = 0x00001, 7770: BottomLeftCorner = 0x00002, 7770: BottomRightCorner = 0x00003 7770: }; 7770: 7770: enum Edge { 7770: TopEdge = 0x00001, 7770: LeftEdge = 0x00002, 7770: RightEdge = 0x00004, 7770: BottomEdge = 0x00008 7770: }; 7770: 7770: typedef QFlags Edges; 7770: 7770: enum ConnectionType { 7770: AutoConnection, 7770: DirectConnection, 7770: QueuedConnection, 7770: BlockingQueuedConnection, 7770: UniqueConnection = 0x80 7770: }; 7770: 7770: enum ShortcutContext { 7770: WidgetShortcut, 7770: WindowShortcut, 7770: ApplicationShortcut, 7770: WidgetWithChildrenShortcut 7770: }; 7770: 7770: enum FillRule { 7770: OddEvenFill, 7770: WindingFill 7770: }; 7770: 7770: enum MaskMode { 7770: MaskInColor, 7770: MaskOutColor 7770: }; 7770: 7770: enum ClipOperation { 7770: NoClip, 7770: ReplaceClip, 7770: IntersectClip 7770: }; 7770: 7770: 7770: enum ItemSelectionMode { 7770: ContainsItemShape = 0x0, 7770: IntersectsItemShape = 0x1, 7770: ContainsItemBoundingRect = 0x2, 7770: IntersectsItemBoundingRect = 0x3 7770: }; 7770: 7770: enum ItemSelectionOperation { 7770: ReplaceSelection, 7770: AddToSelection 7770: }; 7770: 7770: enum TransformationMode { 7770: FastTransformation, 7770: SmoothTransformation 7770: }; 7770: 7770: enum Axis { 7770: XAxis, 7770: YAxis, 7770: ZAxis 7770: }; 7770: 7770: enum FocusReason { 7770: MouseFocusReason, 7770: TabFocusReason, 7770: BacktabFocusReason, 7770: ActiveWindowFocusReason, 7770: PopupFocusReason, 7770: ShortcutFocusReason, 7770: MenuBarFocusReason, 7770: OtherFocusReason, 7770: NoFocusReason 7770: }; 7770: 7770: enum ContextMenuPolicy { 7770: NoContextMenu, 7770: DefaultContextMenu, 7770: ActionsContextMenu, 7770: CustomContextMenu, 7770: PreventContextMenu 7770: }; 7770: 7770: enum InputMethodQuery { 7770: ImEnabled = 0x1, 7770: ImCursorRectangle = 0x2, 7770: ImMicroFocus = 0x2, 7770: ImFont = 0x4, 7770: ImCursorPosition = 0x8, 7770: ImSurroundingText = 0x10, 7770: ImCurrentSelection = 0x20, 7770: ImMaximumTextLength = 0x40, 7770: ImAnchorPosition = 0x80, 7770: ImHints = 0x100, 7770: ImPreferredLanguage = 0x200, 7770: 7770: ImAbsolutePosition = 0x400, 7770: ImTextBeforeCursor = 0x800, 7770: ImTextAfterCursor = 0x1000, 7770: ImEnterKeyType = 0x2000, 7770: ImAnchorRectangle = 0x4000, 7770: ImInputItemClipRectangle = 0x8000, 7770: 7770: ImPlatformData = 0x80000000, 7770: ImQueryInput = ImCursorRectangle | ImCursorPosition | ImSurroundingText | 7770: ImCurrentSelection | ImAnchorRectangle | ImAnchorPosition, 7770: ImQueryAll = 0xffffffff 7770: }; 7770: typedef QFlags InputMethodQueries; 7770: 7770: enum InputMethodHint { 7770: ImhNone = 0x0, 7770: 7770: ImhHiddenText = 0x1, 7770: ImhSensitiveData = 0x2, 7770: ImhNoAutoUppercase = 0x4, 7770: ImhPreferNumbers = 0x8, 7770: ImhPreferUppercase = 0x10, 7770: ImhPreferLowercase = 0x20, 7770: ImhNoPredictiveText = 0x40, 7770: 7770: ImhDate = 0x80, 7770: ImhTime = 0x100, 7770: 7770: ImhPreferLatin = 0x200, 7770: 7770: ImhMultiLine = 0x400, 7770: 7770: ImhDigitsOnly = 0x10000, 7770: ImhFormattedNumbersOnly = 0x20000, 7770: ImhUppercaseOnly = 0x40000, 7770: ImhLowercaseOnly = 0x80000, 7770: ImhDialableCharactersOnly = 0x100000, 7770: ImhEmailCharactersOnly = 0x200000, 7770: ImhUrlCharactersOnly = 0x400000, 7770: ImhLatinOnly = 0x800000, 7770: 7770: ImhExclusiveInputMask = 0xffff0000 7770: }; 7770: typedef QFlags InputMethodHints; 7770: 7770: enum EnterKeyType { 7770: EnterKeyDefault, 7770: EnterKeyReturn, 7770: EnterKeyDone, 7770: EnterKeyGo, 7770: EnterKeySend, 7770: EnterKeySearch, 7770: EnterKeyNext, 7770: EnterKeyPrevious 7770: }; 7770: 7770: enum ToolButtonStyle { 7770: ToolButtonIconOnly, 7770: ToolButtonTextOnly, 7770: ToolButtonTextBesideIcon, 7770: ToolButtonTextUnderIcon, 7770: ToolButtonFollowStyle 7770: }; 7770: 7770: enum LayoutDirection { 7770: LeftToRight, 7770: RightToLeft, 7770: LayoutDirectionAuto 7770: }; 7770: 7770: enum AnchorPoint { 7770: AnchorLeft = 0, 7770: AnchorHorizontalCenter, 7770: AnchorRight, 7770: AnchorTop, 7770: AnchorVerticalCenter, 7770: AnchorBottom 7770: }; 7770: 7770: enum FindChildOption { 7770: FindDirectChildrenOnly = 0x0, 7770: FindChildrenRecursively = 0x1 7770: }; 7770: typedef QFlags FindChildOptions; 7770: 7770: enum DropAction { 7770: CopyAction = 0x1, 7770: MoveAction = 0x2, 7770: LinkAction = 0x4, 7770: ActionMask = 0xff, 7770: TargetMoveAction = 0x8002, 7770: IgnoreAction = 0x0 7770: }; 7770: typedef QFlags DropActions; 7770: 7770: enum CheckState { 7770: Unchecked, 7770: PartiallyChecked, 7770: Checked 7770: }; 7770: 7770: enum ItemDataRole { 7770: DisplayRole = 0, 7770: DecorationRole = 1, 7770: EditRole = 2, 7770: ToolTipRole = 3, 7770: StatusTipRole = 4, 7770: WhatsThisRole = 5, 7770: 7770: FontRole = 6, 7770: TextAlignmentRole = 7, 7770: BackgroundColorRole = 8, 7770: BackgroundRole = 8, 7770: TextColorRole = 9, 7770: ForegroundRole = 9, 7770: CheckStateRole = 10, 7770: 7770: AccessibleTextRole = 11, 7770: AccessibleDescriptionRole = 12, 7770: 7770: SizeHintRole = 13, 7770: InitialSortOrderRole = 14, 7770: 7770: DisplayPropertyRole = 27, 7770: DecorationPropertyRole = 28, 7770: ToolTipPropertyRole = 29, 7770: StatusTipPropertyRole = 30, 7770: WhatsThisPropertyRole = 31, 7770: 7770: UserRole = 0x0100 7770: }; 7770: 7770: enum ItemFlag { 7770: NoItemFlags = 0, 7770: ItemIsSelectable = 1, 7770: ItemIsEditable = 2, 7770: ItemIsDragEnabled = 4, 7770: ItemIsDropEnabled = 8, 7770: ItemIsUserCheckable = 16, 7770: ItemIsEnabled = 32, 7770: ItemIsAutoTristate = 64, 7770: 7770: ItemIsTristate = ItemIsAutoTristate, 7770: 7770: ItemNeverHasChildren = 128, 7770: ItemIsUserTristate = 256 7770: }; 7770: typedef QFlags ItemFlags; 7770: 7770: enum MatchFlag { 7770: MatchExactly = 0, 7770: MatchContains = 1, 7770: MatchStartsWith = 2, 7770: MatchEndsWith = 3, 7770: MatchRegExp = 4, 7770: MatchWildcard = 5, 7770: MatchFixedString = 8, 7770: MatchCaseSensitive = 16, 7770: MatchWrap = 32, 7770: MatchRecursive = 64 7770: }; 7770: typedef QFlags MatchFlags; 7770: 7770: typedef void * HANDLE; 7770: 7770: 7770: 7770: 7770: enum WindowModality { 7770: NonModal, 7770: WindowModal, 7770: ApplicationModal 7770: }; 7770: 7770: enum TextInteractionFlag { 7770: NoTextInteraction = 0, 7770: TextSelectableByMouse = 1, 7770: TextSelectableByKeyboard = 2, 7770: LinksAccessibleByMouse = 4, 7770: LinksAccessibleByKeyboard = 8, 7770: TextEditable = 16, 7770: 7770: TextEditorInteraction = TextSelectableByMouse | TextSelectableByKeyboard | TextEditable, 7770: TextBrowserInteraction = TextSelectableByMouse | LinksAccessibleByMouse | LinksAccessibleByKeyboard 7770: }; 7770: typedef QFlags TextInteractionFlags; 7770: 7770: enum EventPriority { 7770: HighEventPriority = 1, 7770: NormalEventPriority = 0, 7770: LowEventPriority = -1 7770: }; 7770: 7770: enum SizeHint { 7770: MinimumSize, 7770: PreferredSize, 7770: MaximumSize, 7770: MinimumDescent, 7770: NSizeHints 7770: }; 7770: 7770: enum WindowFrameSection { 7770: NoSection, 7770: LeftSection, 7770: TopLeftSection, 7770: TopSection, 7770: TopRightSection, 7770: RightSection, 7770: BottomRightSection, 7770: BottomSection, 7770: BottomLeftSection, 7770: TitleBarArea 7770: }; 7770: 7770: 7770: enum class Initialization { 7770: Uninitialized 7770: }; 7770: static constexpr __attribute__((__unused__)) Initialization Uninitialized = Initialization::Uninitialized; 7770: 7770: 7770: 7770: 7770: 7770: 7770: enum CoordinateSystem { 7770: DeviceCoordinates, 7770: LogicalCoordinates 7770: }; 7770: 7770: enum TouchPointState { 7770: TouchPointPressed = 0x01, 7770: TouchPointMoved = 0x02, 7770: TouchPointStationary = 0x04, 7770: TouchPointReleased = 0x08 7770: }; 7770: typedef QFlags TouchPointStates; 7770: 7770: 7770: enum GestureState 7770: { 7770: NoGesture, 7770: GestureStarted = 1, 7770: GestureUpdated = 2, 7770: GestureFinished = 3, 7770: GestureCanceled = 4 7770: }; 7770: 7770: enum GestureType 7770: { 7770: TapGesture = 1, 7770: TapAndHoldGesture = 2, 7770: PanGesture = 3, 7770: PinchGesture = 4, 7770: SwipeGesture = 5, 7770: 7770: CustomGesture = 0x0100, 7770: 7770: LastGestureType = ~0u 7770: }; 7770: 7770: enum GestureFlag 7770: { 7770: DontStartGestureOnChildren = 0x01, 7770: ReceivePartialGestures = 0x02, 7770: IgnoredGesturesPropagateToParent = 0x04 7770: }; 7770: typedef QFlags GestureFlags; 7770: 7770: enum NativeGestureType 7770: { 7770: BeginNativeGesture, 7770: EndNativeGesture, 7770: PanNativeGesture, 7770: ZoomNativeGesture, 7770: SmartZoomNativeGesture, 7770: RotateNativeGesture, 7770: SwipeNativeGesture 7770: }; 7770: 7770: 7770: 7770: enum NavigationMode 7770: { 7770: NavigationModeNone, 7770: NavigationModeKeypadTabOrder, 7770: NavigationModeKeypadDirectional, 7770: NavigationModeCursorAuto, 7770: NavigationModeCursorForceVisible 7770: }; 7770: 7770: enum CursorMoveStyle { 7770: LogicalMoveStyle, 7770: VisualMoveStyle 7770: }; 7770: 7770: enum TimerType { 7770: PreciseTimer, 7770: CoarseTimer, 7770: VeryCoarseTimer 7770: }; 7770: 7770: enum ScrollPhase { 7770: NoScrollPhase = 0, 7770: ScrollBegin, 7770: ScrollUpdate, 7770: ScrollEnd 7770: }; 7770: 7770: enum MouseEventSource { 7770: MouseEventNotSynthesized, 7770: MouseEventSynthesizedBySystem, 7770: MouseEventSynthesizedByQt, 7770: MouseEventSynthesizedByApplication 7770: }; 7770: 7770: enum MouseEventFlag { 7770: MouseEventCreatedDoubleClick = 0x01, 7770: MouseEventFlagMask = 0xFF 7770: }; 7770: typedef QFlags MouseEventFlags; 7770: 7770: enum ChecksumType { 7770: ChecksumIso3309, 7770: ChecksumItuV41 7770: }; 7770: 7770: 7770: 7770: inline const QMetaObject *qt_getEnumMetaObject(ScrollBarPolicy) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ScrollBarPolicy) noexcept { return "ScrollBarPolicy"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(FocusPolicy) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(FocusPolicy) noexcept { return "FocusPolicy"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(ContextMenuPolicy) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ContextMenuPolicy) noexcept { return "ContextMenuPolicy"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(ArrowType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ArrowType) noexcept { return "ArrowType"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(ToolButtonStyle) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ToolButtonStyle) noexcept { return "ToolButtonStyle"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(PenStyle) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(PenStyle) noexcept { return "PenStyle"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(PenCapStyle) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(PenCapStyle) noexcept { return "PenCapStyle"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(PenJoinStyle) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(PenJoinStyle) noexcept { return "PenJoinStyle"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(BrushStyle) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(BrushStyle) noexcept { return "BrushStyle"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(FillRule) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(FillRule) noexcept { return "FillRule"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(MaskMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(MaskMode) noexcept { return "MaskMode"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(BGMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(BGMode) noexcept { return "BGMode"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(ClipOperation) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ClipOperation) noexcept { return "ClipOperation"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(SizeMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(SizeMode) noexcept { return "SizeMode"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(Axis) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Axis) noexcept { return "Axis"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(Corner) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Corner) noexcept { return "Corner"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(Edge) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Edge) noexcept { return "Edge"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(LayoutDirection) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(LayoutDirection) noexcept { return "LayoutDirection"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(SizeHint) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(SizeHint) noexcept { return "SizeHint"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(Orientation) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Orientation) noexcept { return "Orientation"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(DropAction) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(DropAction) noexcept { return "DropAction"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(Alignment) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Alignment) noexcept { return "Alignment"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(TextFlag) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TextFlag) noexcept { return "TextFlag"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(Orientations) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Orientations) noexcept { return "Orientations"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(DropActions) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(DropActions) noexcept { return "DropActions"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(Edges) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Edges) noexcept { return "Edges"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(DockWidgetAreas) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(DockWidgetAreas) noexcept { return "DockWidgetAreas"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(ToolBarAreas) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ToolBarAreas) noexcept { return "ToolBarAreas"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(DockWidgetArea) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(DockWidgetArea) noexcept { return "DockWidgetArea"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(ToolBarArea) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ToolBarArea) noexcept { return "ToolBarArea"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(TextFormat) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TextFormat) noexcept { return "TextFormat"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(TextElideMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TextElideMode) noexcept { return "TextElideMode"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(DateFormat) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(DateFormat) noexcept { return "DateFormat"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(TimeSpec) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TimeSpec) noexcept { return "TimeSpec"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(DayOfWeek) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(DayOfWeek) noexcept { return "DayOfWeek"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(CursorShape) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(CursorShape) noexcept { return "CursorShape"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(GlobalColor) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(GlobalColor) noexcept { return "GlobalColor"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(AspectRatioMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(AspectRatioMode) noexcept { return "AspectRatioMode"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(TransformationMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TransformationMode) noexcept { return "TransformationMode"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(ImageConversionFlags) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ImageConversionFlags) noexcept { return "ImageConversionFlags"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(Key) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(Key) noexcept { return "Key"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(ShortcutContext) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ShortcutContext) noexcept { return "ShortcutContext"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(TextInteractionFlag) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TextInteractionFlag) noexcept { return "TextInteractionFlag"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(TextInteractionFlags) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TextInteractionFlags) noexcept { return "TextInteractionFlags"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(ItemSelectionMode) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ItemSelectionMode) noexcept { return "ItemSelectionMode"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(ItemSelectionOperation) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ItemSelectionOperation) noexcept { return "ItemSelectionOperation"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(ItemFlags) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ItemFlags) noexcept { return "ItemFlags"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(CheckState) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(CheckState) noexcept { return "CheckState"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(ItemDataRole) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ItemDataRole) noexcept { return "ItemDataRole"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(SortOrder) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(SortOrder) noexcept { return "SortOrder"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(CaseSensitivity) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(CaseSensitivity) noexcept { return "CaseSensitivity"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(MatchFlags) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(MatchFlags) noexcept { return "MatchFlags"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(KeyboardModifiers) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(KeyboardModifiers) noexcept { return "KeyboardModifiers"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(MouseButtons) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(MouseButtons) noexcept { return "MouseButtons"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(WindowType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(WindowType) noexcept { return "WindowType"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(WindowState) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(WindowState) noexcept { return "WindowState"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(WindowModality) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(WindowModality) noexcept { return "WindowModality"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(WidgetAttribute) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(WidgetAttribute) noexcept { return "WidgetAttribute"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(ApplicationAttribute) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ApplicationAttribute) noexcept { return "ApplicationAttribute"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(WindowFlags) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(WindowFlags) noexcept { return "WindowFlags"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(WindowStates) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(WindowStates) noexcept { return "WindowStates"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(FocusReason) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(FocusReason) noexcept { return "FocusReason"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(InputMethodHint) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(InputMethodHint) noexcept { return "InputMethodHint"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(InputMethodQuery) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(InputMethodQuery) noexcept { return "InputMethodQuery"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(InputMethodHints) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(InputMethodHints) noexcept { return "InputMethodHints"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(EnterKeyType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(EnterKeyType) noexcept { return "EnterKeyType"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(InputMethodQueries) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(InputMethodQueries) noexcept { return "InputMethodQueries"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(TouchPointStates) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TouchPointStates) noexcept { return "TouchPointStates"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(ScreenOrientation) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ScreenOrientation) noexcept { return "ScreenOrientation"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(ScreenOrientations) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ScreenOrientations) noexcept { return "ScreenOrientations"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(ConnectionType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ConnectionType) noexcept { return "ConnectionType"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(ApplicationState) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ApplicationState) noexcept { return "ApplicationState"; } 7770: 7770: inline const QMetaObject *qt_getEnumMetaObject(GestureState) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(GestureState) noexcept { return "GestureState"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(GestureType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(GestureType) noexcept { return "GestureType"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(NativeGestureType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(NativeGestureType) noexcept { return "NativeGestureType"; } 7770: 7770: inline const QMetaObject *qt_getEnumMetaObject(CursorMoveStyle) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(CursorMoveStyle) noexcept { return "CursorMoveStyle"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(TimerType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TimerType) noexcept { return "TimerType"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(ScrollPhase) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ScrollPhase) noexcept { return "ScrollPhase"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(MouseEventSource) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(MouseEventSource) noexcept { return "MouseEventSource"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(MouseEventFlag) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(MouseEventFlag) noexcept { return "MouseEventFlag"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(ChecksumType) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(ChecksumType) noexcept { return "ChecksumType"; } 7770: inline const QMetaObject *qt_getEnumMetaObject(TabFocusBehavior) noexcept { return qt_getQtMetaObject(); } inline constexpr const char *qt_getEnumName(TabFocusBehavior) noexcept { return "TabFocusBehavior"; } 7770: 7770: 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 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); } 7770: 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); } 7770: 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); } 7770: 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); } 7770: 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); } 7770: 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); } 7770: 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); } 7770: 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); } 7770: 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); } 7770: 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); } 7770: 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); } 7770: 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); } 7770: 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); } 7770: 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); } 7770: 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); } 7770: 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); } 7770: 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); } 7770: 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); } 7770: 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); } 7770: 7770: 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); } 7770: 7770: 7770: typedef bool (*qInternalCallback)(void **); 7770: 7770: class __attribute__((visibility("default"))) QInternal { 7770: public: 7770: enum PaintDeviceFlags { 7770: UnknownDevice = 0x00, 7770: Widget = 0x01, 7770: Pixmap = 0x02, 7770: Image = 0x03, 7770: Printer = 0x04, 7770: Picture = 0x05, 7770: Pbuffer = 0x06, 7770: FramebufferObject = 0x07, 7770: CustomRaster = 0x08, 7770: MacQuartz = 0x09, 7770: PaintBuffer = 0x0a, 7770: OpenGL = 0x0b 7770: }; 7770: enum RelayoutType { 7770: RelayoutNormal, 7770: RelayoutDragging, 7770: RelayoutDropped 7770: }; 7770: 7770: enum DockPosition { 7770: LeftDock, 7770: RightDock, 7770: TopDock, 7770: BottomDock, 7770: DockCount 7770: }; 7770: 7770: enum Callback { 7770: EventNotifyCallback, 7770: LastCallback 7770: }; 7770: static bool registerCallback(Callback, qInternalCallback); 7770: static bool unregisterCallback(Callback, qInternalCallback); 7770: static bool activateCallbacks(Callback, void **); 7770: }; 7770: 7770: 7770: # 46 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearray.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qarraydata.h" 1 3 4 7770: # 44 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qarraydata.h" 3 4 7770: # 1 "/usr/include/string.h" 1 3 4 7770: # 26 "/usr/include/string.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/libc-header-start.h" 1 3 4 7770: # 27 "/usr/include/string.h" 2 3 4 7770: 7770: extern "C" { 7770: 7770: 7770: 7770: 7770: # 1 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stddef.h" 1 3 4 7770: # 34 "/usr/include/string.h" 2 3 4 7770: # 42 "/usr/include/string.h" 3 4 7770: extern void *memcpy (void *__restrict __dest, const void *__restrict __src, 7770: size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern void *memmove (void *__dest, const void *__src, size_t __n) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: 7770: 7770: 7770: extern void *memccpy (void *__restrict __dest, const void *__restrict __src, 7770: int __c, size_t __n) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: 7770: 7770: extern void *memset (void *__s, int __c, size_t __n) throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int memcmp (const void *__s1, const void *__s2, size_t __n) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: 7770: extern "C++" 7770: { 7770: extern void *memchr (void *__s, int __c, size_t __n) 7770: throw () __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 7770: extern const void *memchr (const void *__s, int __c, size_t __n) 7770: throw () __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) void * 7770: memchr (void *__s, int __c, size_t __n) throw () 7770: { 7770: return __builtin_memchr (__s, __c, __n); 7770: } 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const void * 7770: memchr (const void *__s, int __c, size_t __n) throw () 7770: { 7770: return __builtin_memchr (__s, __c, __n); 7770: } 7770: 7770: } 7770: # 98 "/usr/include/string.h" 3 4 7770: extern "C++" void *rawmemchr (void *__s, int __c) 7770: throw () __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 7770: extern "C++" const void *rawmemchr (const void *__s, int __c) 7770: throw () __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern "C++" void *memrchr (void *__s, int __c, size_t __n) 7770: throw () __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 7770: extern "C++" const void *memrchr (const void *__s, int __c, size_t __n) 7770: throw () __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 7770: # 121 "/usr/include/string.h" 3 4 7770: extern char *strcpy (char *__restrict __dest, const char *__restrict __src) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: extern char *strncpy (char *__restrict __dest, 7770: const char *__restrict __src, size_t __n) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern char *strcat (char *__restrict __dest, const char *__restrict __src) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: extern char *strncat (char *__restrict __dest, const char *__restrict __src, 7770: size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int strcmp (const char *__s1, const char *__s2) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: extern int strncmp (const char *__s1, const char *__s2, size_t __n) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int strcoll (const char *__s1, const char *__s2) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: extern size_t strxfrm (char *__restrict __dest, 7770: const char *__restrict __src, size_t __n) 7770: throw () __attribute__ ((__nonnull__ (2))); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); 7770: 7770: 7770: extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, 7770: locale_t __l) throw () __attribute__ ((__nonnull__ (2, 4))); 7770: 7770: 7770: 7770: 7770: 7770: extern char *strdup (const char *__s) 7770: throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern char *strndup (const char *__string, size_t __n) 7770: throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); 7770: # 203 "/usr/include/string.h" 3 4 7770: extern "C++" 7770: { 7770: extern char *strchr (char *__s, int __c) 7770: throw () __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 7770: extern const char *strchr (const char *__s, int __c) 7770: throw () __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 7770: strchr (char *__s, int __c) throw () 7770: { 7770: return __builtin_strchr (__s, __c); 7770: } 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 7770: strchr (const char *__s, int __c) throw () 7770: { 7770: return __builtin_strchr (__s, __c); 7770: } 7770: 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern "C++" 7770: { 7770: extern char *strrchr (char *__s, int __c) 7770: throw () __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 7770: extern const char *strrchr (const char *__s, int __c) 7770: throw () __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 7770: strrchr (char *__s, int __c) throw () 7770: { 7770: return __builtin_strrchr (__s, __c); 7770: } 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 7770: strrchr (const char *__s, int __c) throw () 7770: { 7770: return __builtin_strrchr (__s, __c); 7770: } 7770: 7770: } 7770: # 260 "/usr/include/string.h" 3 4 7770: extern "C++" char *strchrnul (char *__s, int __c) 7770: throw () __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 7770: extern "C++" const char *strchrnul (const char *__s, int __c) 7770: throw () __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 7770: # 272 "/usr/include/string.h" 3 4 7770: extern size_t strcspn (const char *__s, const char *__reject) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern size_t strspn (const char *__s, const char *__accept) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern "C++" 7770: { 7770: extern char *strpbrk (char *__s, const char *__accept) 7770: throw () __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 7770: extern const char *strpbrk (const char *__s, const char *__accept) 7770: throw () __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 7770: strpbrk (char *__s, const char *__accept) throw () 7770: { 7770: return __builtin_strpbrk (__s, __accept); 7770: } 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 7770: strpbrk (const char *__s, const char *__accept) throw () 7770: { 7770: return __builtin_strpbrk (__s, __accept); 7770: } 7770: 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern "C++" 7770: { 7770: extern char *strstr (char *__haystack, const char *__needle) 7770: throw () __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 7770: extern const char *strstr (const char *__haystack, const char *__needle) 7770: throw () __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 7770: strstr (char *__haystack, const char *__needle) throw () 7770: { 7770: return __builtin_strstr (__haystack, __needle); 7770: } 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 7770: strstr (const char *__haystack, const char *__needle) throw () 7770: { 7770: return __builtin_strstr (__haystack, __needle); 7770: } 7770: 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern char *strtok (char *__restrict __s, const char *__restrict __delim) 7770: throw () __attribute__ ((__nonnull__ (2))); 7770: 7770: 7770: 7770: extern char *__strtok_r (char *__restrict __s, 7770: const char *__restrict __delim, 7770: char **__restrict __save_ptr) 7770: throw () __attribute__ ((__nonnull__ (2, 3))); 7770: 7770: extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, 7770: char **__restrict __save_ptr) 7770: throw () __attribute__ ((__nonnull__ (2, 3))); 7770: 7770: 7770: 7770: 7770: 7770: extern "C++" char *strcasestr (char *__haystack, const char *__needle) 7770: throw () __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 7770: extern "C++" const char *strcasestr (const char *__haystack, 7770: const char *__needle) 7770: throw () __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 7770: # 368 "/usr/include/string.h" 3 4 7770: extern void *memmem (const void *__haystack, size_t __haystacklen, 7770: const void *__needle, size_t __needlelen) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))); 7770: 7770: 7770: 7770: extern void *__mempcpy (void *__restrict __dest, 7770: const void *__restrict __src, size_t __n) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: extern void *mempcpy (void *__restrict __dest, 7770: const void *__restrict __src, size_t __n) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: 7770: 7770: extern size_t strlen (const char *__s) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: 7770: extern size_t strnlen (const char *__string, size_t __maxlen) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: 7770: extern char *strerror (int __errnum) throw (); 7770: # 420 "/usr/include/string.h" 3 4 7770: extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) 7770: throw () __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: 7770: extern char *strerror_l (int __errnum, locale_t __l) throw (); 7770: 7770: 7770: 7770: # 1 "/usr/include/strings.h" 1 3 4 7770: # 23 "/usr/include/strings.h" 3 4 7770: # 1 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stddef.h" 1 3 4 7770: # 24 "/usr/include/strings.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern "C" { 7770: 7770: 7770: 7770: extern int bcmp (const void *__s1, const void *__s2, size_t __n) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern void bcopy (const void *__src, void *__dest, size_t __n) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern void bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: extern "C++" 7770: { 7770: extern char *index (char *__s, int __c) 7770: throw () __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 7770: extern const char *index (const char *__s, int __c) 7770: throw () __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 7770: index (char *__s, int __c) throw () 7770: { 7770: return __builtin_index (__s, __c); 7770: } 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 7770: index (const char *__s, int __c) throw () 7770: { 7770: return __builtin_index (__s, __c); 7770: } 7770: 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern "C++" 7770: { 7770: extern char *rindex (char *__s, int __c) 7770: throw () __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 7770: extern const char *rindex (const char *__s, int __c) 7770: throw () __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * 7770: rindex (char *__s, int __c) throw () 7770: { 7770: return __builtin_rindex (__s, __c); 7770: } 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * 7770: rindex (const char *__s, int __c) throw () 7770: { 7770: return __builtin_rindex (__s, __c); 7770: } 7770: 7770: } 7770: # 104 "/usr/include/strings.h" 3 4 7770: extern int ffs (int __i) throw () __attribute__ ((__const__)); 7770: 7770: 7770: 7770: 7770: 7770: extern int ffsl (long int __l) throw () __attribute__ ((__const__)); 7770: __extension__ extern int ffsll (long long int __ll) 7770: throw () __attribute__ ((__const__)); 7770: 7770: 7770: 7770: extern int strcasecmp (const char *__s1, const char *__s2) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); 7770: 7770: 7770: 7770: extern int strncasecmp_l (const char *__s1, const char *__s2, 7770: size_t __n, locale_t __loc) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); 7770: 7770: 7770: } 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/strings_fortified.h" 1 3 4 7770: # 22 "/usr/include/aarch64-linux-gnu/bits/strings_fortified.h" 3 4 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void 7770: __attribute__ ((__leaf__)) bcopy (const void *__src, void *__dest, size_t __len) throw () 7770: { 7770: (void) __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); 7770: } 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void 7770: __attribute__ ((__leaf__)) bzero (void *__dest, size_t __len) throw () 7770: { 7770: (void) __builtin___memset_chk (__dest, '\0', __len, __builtin_object_size (__dest, 0)); 7770: } 7770: # 145 "/usr/include/strings.h" 2 3 4 7770: # 432 "/usr/include/string.h" 2 3 4 7770: 7770: 7770: 7770: extern void explicit_bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: extern char *strsep (char **__restrict __stringp, 7770: const char *__restrict __delim) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: 7770: 7770: extern char *strsignal (int __sig) throw (); 7770: 7770: 7770: extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: 7770: extern char *__stpncpy (char *__restrict __dest, 7770: const char *__restrict __src, size_t __n) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: extern char *stpncpy (char *__restrict __dest, 7770: const char *__restrict __src, size_t __n) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: 7770: 7770: extern int strverscmp (const char *__s1, const char *__s2) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern char *strfry (char *__string) throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern void *memfrob (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern "C++" char *basename (char *__filename) 7770: throw () __asm ("basename") __attribute__ ((__nonnull__ (1))); 7770: extern "C++" const char *basename (const char *__filename) 7770: throw () __asm ("basename") __attribute__ ((__nonnull__ (1))); 7770: # 494 "/usr/include/string.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/string_fortified.h" 1 3 4 7770: # 30 "/usr/include/aarch64-linux-gnu/bits/string_fortified.h" 3 4 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * 7770: __attribute__ ((__leaf__)) memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) throw () 7770: 7770: { 7770: return __builtin___memcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); 7770: } 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * 7770: __attribute__ ((__leaf__)) memmove (void *__dest, const void *__src, size_t __len) throw () 7770: { 7770: return __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); 7770: } 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * 7770: __attribute__ ((__leaf__)) mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) throw () 7770: 7770: { 7770: return __builtin___mempcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); 7770: } 7770: # 58 "/usr/include/aarch64-linux-gnu/bits/string_fortified.h" 3 4 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * 7770: __attribute__ ((__leaf__)) memset (void *__dest, int __ch, size_t __len) throw () 7770: { 7770: # 71 "/usr/include/aarch64-linux-gnu/bits/string_fortified.h" 3 4 7770: return __builtin___memset_chk (__dest, __ch, __len, __builtin_object_size (__dest, 0)); 7770: } 7770: 7770: 7770: 7770: 7770: void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void 7770: __attribute__ ((__leaf__)) explicit_bzero (void *__dest, size_t __len) throw () 7770: { 7770: __explicit_bzero_chk (__dest, __len, __builtin_object_size (__dest, 0)); 7770: } 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 7770: __attribute__ ((__leaf__)) strcpy (char *__restrict __dest, const char *__restrict __src) throw () 7770: { 7770: return __builtin___strcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); 7770: } 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 7770: __attribute__ ((__leaf__)) stpcpy (char *__restrict __dest, const char *__restrict __src) throw () 7770: { 7770: return __builtin___stpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); 7770: } 7770: 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 7770: __attribute__ ((__leaf__)) strncpy (char *__restrict __dest, const char *__restrict __src, size_t __len) throw () 7770: 7770: { 7770: return __builtin___strncpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1)); 7770: } 7770: 7770: 7770: extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n, 7770: size_t __destlen) throw (); 7770: extern char *__stpncpy_alias (char *__dest, const char *__src, size_t __n) throw () __asm__ ("" "stpncpy") 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 7770: __attribute__ ((__leaf__)) stpncpy (char *__dest, const char *__src, size_t __n) throw () 7770: { 7770: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1 7770: && (!__builtin_constant_p (__n) || __n > __builtin_object_size (__dest, 2 > 1))) 7770: return __stpncpy_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1)); 7770: return __stpncpy_alias (__dest, __src, __n); 7770: } 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 7770: __attribute__ ((__leaf__)) strcat (char *__restrict __dest, const char *__restrict __src) throw () 7770: { 7770: return __builtin___strcat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); 7770: } 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * 7770: __attribute__ ((__leaf__)) strncat (char *__restrict __dest, const char *__restrict __src, size_t __len) throw () 7770: 7770: { 7770: return __builtin___strncat_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1)); 7770: } 7770: # 495 "/usr/include/string.h" 2 3 4 7770: 7770: 7770: 7770: } 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qarraydata.h" 2 3 4 7770: 7770: 7770: 7770: struct __attribute__((visibility("default"))) QArrayData 7770: { 7770: QtPrivate::RefCount ref; 7770: int size; 7770: uint alloc : 31; 7770: uint capacityReserved : 1; 7770: 7770: qptrdiff offset; 7770: 7770: void *data() 7770: { 7770: do { } while ((false) && (size == 0 || offset < 0 || size_t(offset) >= sizeof(QArrayData))) 7770: ; 7770: return reinterpret_cast(this) + offset; 7770: } 7770: 7770: const void *data() const 7770: { 7770: do { } while ((false) && (size == 0 || offset < 0 || size_t(offset) >= sizeof(QArrayData))) 7770: ; 7770: return reinterpret_cast(this) + offset; 7770: } 7770: 7770: 7770: 7770: 7770: bool isMutable() const 7770: { 7770: return alloc != 0; 7770: } 7770: 7770: enum AllocationOption { 7770: CapacityReserved = 0x1, 7770: 7770: Unsharable = 0x2, 7770: 7770: RawData = 0x4, 7770: Grow = 0x8, 7770: 7770: Default = 0 7770: }; 7770: 7770: typedef QFlags AllocationOptions; 7770: 7770: size_t detachCapacity(size_t newSize) const 7770: { 7770: if (capacityReserved && newSize < alloc) 7770: return alloc; 7770: return newSize; 7770: } 7770: 7770: AllocationOptions detachFlags() const 7770: { 7770: AllocationOptions result; 7770: if (capacityReserved) 7770: result |= CapacityReserved; 7770: return result; 7770: } 7770: 7770: AllocationOptions cloneFlags() const 7770: { 7770: AllocationOptions result; 7770: if (capacityReserved) 7770: result |= CapacityReserved; 7770: return result; 7770: } 7770: 7770: [[nodiscard]] static QArrayData *allocate(size_t objectSize, size_t alignment, 7770: size_t capacity, AllocationOptions options = Default) noexcept; 7770: [[nodiscard]] static QArrayData *reallocateUnaligned(QArrayData *data, size_t objectSize, 7770: size_t newCapacity, AllocationOptions newOptions = Default) noexcept; 7770: static void deallocate(QArrayData *data, size_t objectSize, 7770: size_t alignment) noexcept; 7770: 7770: static const QArrayData shared_null[2]; 7770: static QArrayData *sharedNull() noexcept { return const_cast(shared_null); } 7770: }; 7770: 7770: 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); } 7770: 7770: template 7770: struct QTypedArrayData 7770: : QArrayData 7770: { 7770: # 202 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qarraydata.h" 3 4 7770: typedef T* iterator; 7770: typedef const T* const_iterator; 7770: 7770: 7770: T *data() { return static_cast(QArrayData::data()); } 7770: const T *data() const { return static_cast(QArrayData::data()); } 7770: 7770: iterator begin(iterator = iterator()) { return data(); } 7770: iterator end(iterator = iterator()) { return data() + size; } 7770: const_iterator begin(const_iterator = const_iterator()) const { return data(); } 7770: const_iterator end(const_iterator = const_iterator()) const { return data() + size; } 7770: const_iterator constBegin(const_iterator = const_iterator()) const { return data(); } 7770: const_iterator constEnd(const_iterator = const_iterator()) const { return data() + size; } 7770: 7770: class AlignmentDummy { QArrayData header; T data; }; 7770: 7770: [[nodiscard]] static QTypedArrayData *allocate(size_t capacity, 7770: AllocationOptions options = Default) 7770: { 7770: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 7770: return static_cast(QArrayData::allocate(sizeof(T), 7770: alignof(AlignmentDummy), capacity, options)); 7770: } 7770: 7770: static QTypedArrayData *reallocateUnaligned(QTypedArrayData *data, size_t capacity, 7770: AllocationOptions options = Default) 7770: { 7770: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 7770: return static_cast(QArrayData::reallocateUnaligned(data, sizeof(T), 7770: capacity, options)); 7770: } 7770: 7770: static void deallocate(QArrayData *data) 7770: { 7770: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 7770: QArrayData::deallocate(data, sizeof(T), alignof(AlignmentDummy)); 7770: } 7770: 7770: static QTypedArrayData *fromRawData(const T *data, size_t n, 7770: AllocationOptions options = Default) 7770: { 7770: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 7770: QTypedArrayData *result = allocate(0, options | RawData); 7770: if (result) { 7770: do { } while ((false) && (!result->ref.isShared())); 7770: 7770: result->offset = reinterpret_cast(data) 7770: - reinterpret_cast(result); 7770: result->size = int(n); 7770: } 7770: return result; 7770: } 7770: 7770: static QTypedArrayData *sharedNull() noexcept 7770: { 7770: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 7770: return static_cast(QArrayData::sharedNull()); 7770: } 7770: 7770: static QTypedArrayData *sharedEmpty() 7770: { 7770: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 7770: return allocate( 0); 7770: } 7770: 7770: 7770: static QTypedArrayData *unsharableEmpty() 7770: { 7770: static_assert(bool(sizeof(QTypedArrayData) == sizeof(QArrayData)), "sizeof(QTypedArrayData) == sizeof(QArrayData)"); 7770: return allocate( 0, Unsharable); 7770: } 7770: 7770: }; 7770: 7770: template 7770: struct QStaticArrayData 7770: { 7770: QArrayData header; 7770: T data[N]; 7770: }; 7770: 7770: 7770: template 7770: struct QArrayDataPointerRef 7770: { 7770: QTypedArrayData *ptr; 7770: }; 7770: # 369 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qarraydata.h" 3 4 7770: namespace QtPrivate { 7770: struct __attribute__((visibility("default"))) QContainerImplHelper 7770: { 7770: enum CutResult { Null, Empty, Full, Subset }; 7770: static CutResult mid(int originalLength, int *position, int *length); 7770: }; 7770: } 7770: 7770: 7770: # 47 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearray.h" 2 3 4 7770: 7770: # 1 "/usr/include/c++/8/stdlib.h" 1 3 4 7770: # 36 "/usr/include/c++/8/stdlib.h" 3 4 7770: # 1 "/usr/include/c++/8/cstdlib" 1 3 4 7770: # 39 "/usr/include/c++/8/cstdlib" 3 4 7770: 7770: # 40 "/usr/include/c++/8/cstdlib" 3 7770: # 37 "/usr/include/c++/8/stdlib.h" 2 3 4 7770: 7770: using std::abort; 7770: using std::atexit; 7770: using std::exit; 7770: 7770: 7770: using std::at_quick_exit; 7770: 7770: 7770: using std::quick_exit; 7770: 7770: 7770: 7770: 7770: using std::div_t; 7770: using std::ldiv_t; 7770: 7770: using std::abs; 7770: using std::atof; 7770: using std::atoi; 7770: using std::atol; 7770: using std::bsearch; 7770: using std::calloc; 7770: using std::div; 7770: using std::free; 7770: using std::getenv; 7770: using std::labs; 7770: using std::ldiv; 7770: using std::malloc; 7770: 7770: using std::mblen; 7770: using std::mbstowcs; 7770: using std::mbtowc; 7770: 7770: using std::qsort; 7770: using std::rand; 7770: using std::realloc; 7770: using std::srand; 7770: using std::strtod; 7770: using std::strtol; 7770: using std::strtoul; 7770: using std::system; 7770: 7770: using std::wcstombs; 7770: using std::wctomb; 7770: # 49 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearray.h" 2 3 4 7770: 7770: # 1 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stdarg.h" 1 3 4 7770: # 40 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stdarg.h" 3 4 7770: typedef __builtin_va_list __gnuc_va_list; 7770: # 99 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stdarg.h" 3 4 7770: typedef __gnuc_va_list va_list; 7770: # 51 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearray.h" 2 3 4 7770: 7770: # 1 "/usr/include/c++/8/string" 1 3 4 7770: # 36 "/usr/include/c++/8/string" 3 4 7770: 7770: # 37 "/usr/include/c++/8/string" 3 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/stringfwd.h" 1 3 7770: # 37 "/usr/include/c++/8/bits/stringfwd.h" 3 7770: 7770: # 38 "/usr/include/c++/8/bits/stringfwd.h" 3 7770: 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct char_traits; 7770: 7770: template<> struct char_traits; 7770: 7770: 7770: template<> struct char_traits; 7770: 7770: 7770: 7770: 7770: template<> struct char_traits; 7770: template<> struct char_traits; 7770: 7770: 7770: namespace __cxx11 { 7770: 7770: template, 7770: typename _Alloc = allocator<_CharT> > 7770: class basic_string; 7770: 7770: 7770: typedef basic_string string; 7770: 7770: 7770: 7770: typedef basic_string wstring; 7770: 7770: 7770: 7770: 7770: 7770: typedef basic_string u16string; 7770: 7770: 7770: typedef basic_string u32string; 7770: 7770: 7770: } 7770: 7770: 7770: 7770: 7770: } 7770: # 40 "/usr/include/c++/8/string" 2 3 7770: # 1 "/usr/include/c++/8/bits/char_traits.h" 1 3 7770: # 37 "/usr/include/c++/8/bits/char_traits.h" 3 7770: 7770: # 38 "/usr/include/c++/8/bits/char_traits.h" 3 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/postypes.h" 1 3 7770: # 38 "/usr/include/c++/8/bits/postypes.h" 3 7770: 7770: # 39 "/usr/include/c++/8/bits/postypes.h" 3 7770: 7770: # 1 "/usr/include/c++/8/cwchar" 1 3 7770: # 39 "/usr/include/c++/8/cwchar" 3 7770: 7770: # 40 "/usr/include/c++/8/cwchar" 3 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/wchar.h" 1 3 4 7770: # 27 "/usr/include/wchar.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/libc-header-start.h" 1 3 4 7770: # 28 "/usr/include/wchar.h" 2 3 4 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/floatn.h" 1 3 4 7770: # 31 "/usr/include/wchar.h" 2 3 4 7770: 7770: 7770: 7770: 7770: # 1 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stddef.h" 1 3 4 7770: # 36 "/usr/include/wchar.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/types/wint_t.h" 1 3 4 7770: # 20 "/usr/include/aarch64-linux-gnu/bits/types/wint_t.h" 3 4 7770: typedef unsigned int wint_t; 7770: # 42 "/usr/include/wchar.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h" 1 3 4 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h" 1 3 4 7770: # 13 "/usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h" 3 4 7770: typedef struct 7770: { 7770: int __count; 7770: union 7770: { 7770: unsigned int __wch; 7770: char __wchb[4]; 7770: } __value; 7770: } __mbstate_t; 7770: # 5 "/usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h" 2 3 4 7770: 7770: typedef __mbstate_t mbstate_t; 7770: # 43 "/usr/include/wchar.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/types/__FILE.h" 1 3 4 7770: 7770: 7770: 7770: struct _IO_FILE; 7770: typedef struct _IO_FILE __FILE; 7770: # 44 "/usr/include/wchar.h" 2 3 4 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/types/FILE.h" 1 3 4 7770: 7770: 7770: 7770: struct _IO_FILE; 7770: 7770: 7770: typedef struct _IO_FILE FILE; 7770: # 47 "/usr/include/wchar.h" 2 3 4 7770: # 79 "/usr/include/wchar.h" 3 4 7770: extern "C" { 7770: 7770: 7770: 7770: struct tm; 7770: 7770: 7770: 7770: extern wchar_t *wcscpy (wchar_t *__restrict __dest, 7770: const wchar_t *__restrict __src) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern wchar_t *wcsncpy (wchar_t *__restrict __dest, 7770: const wchar_t *__restrict __src, size_t __n) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern wchar_t *wcscat (wchar_t *__restrict __dest, 7770: const wchar_t *__restrict __src) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: extern wchar_t *wcsncat (wchar_t *__restrict __dest, 7770: const wchar_t *__restrict __src, size_t __n) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) 7770: throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: 7770: extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) throw (); 7770: 7770: 7770: extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2, 7770: size_t __n) throw (); 7770: 7770: 7770: 7770: extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2, 7770: locale_t __loc) throw (); 7770: 7770: extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2, 7770: size_t __n, locale_t __loc) throw (); 7770: 7770: 7770: 7770: 7770: extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) throw (); 7770: 7770: 7770: 7770: extern size_t wcsxfrm (wchar_t *__restrict __s1, 7770: const wchar_t *__restrict __s2, size_t __n) throw (); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2, 7770: locale_t __loc) throw (); 7770: 7770: 7770: 7770: 7770: extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2, 7770: size_t __n, locale_t __loc) throw (); 7770: 7770: 7770: extern wchar_t *wcsdup (const wchar_t *__s) throw () __attribute__ ((__malloc__)); 7770: 7770: 7770: 7770: 7770: extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc) 7770: throw () __asm ("wcschr") __attribute__ ((__pure__)); 7770: extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc) 7770: throw () __asm ("wcschr") __attribute__ ((__pure__)); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc) 7770: throw () __asm ("wcsrchr") __attribute__ ((__pure__)); 7770: extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc) 7770: throw () __asm ("wcsrchr") __attribute__ ((__pure__)); 7770: # 181 "/usr/include/wchar.h" 3 4 7770: extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc) 7770: throw () __attribute__ ((__pure__)); 7770: 7770: 7770: 7770: 7770: extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject) 7770: throw () __attribute__ ((__pure__)); 7770: 7770: 7770: extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept) 7770: throw () __attribute__ ((__pure__)); 7770: 7770: 7770: extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept) 7770: throw () __asm ("wcspbrk") __attribute__ ((__pure__)); 7770: extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs, 7770: const wchar_t *__accept) 7770: throw () __asm ("wcspbrk") __attribute__ ((__pure__)); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle) 7770: throw () __asm ("wcsstr") __attribute__ ((__pure__)); 7770: extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack, 7770: const wchar_t *__needle) 7770: throw () __asm ("wcsstr") __attribute__ ((__pure__)); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern wchar_t *wcstok (wchar_t *__restrict __s, 7770: const wchar_t *__restrict __delim, 7770: wchar_t **__restrict __ptr) throw (); 7770: 7770: 7770: extern size_t wcslen (const wchar_t *__s) throw () __attribute__ ((__pure__)); 7770: 7770: 7770: 7770: 7770: extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle) 7770: throw () __asm ("wcswcs") __attribute__ ((__pure__)); 7770: extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack, 7770: const wchar_t *__needle) 7770: throw () __asm ("wcswcs") __attribute__ ((__pure__)); 7770: # 240 "/usr/include/wchar.h" 3 4 7770: extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen) 7770: throw () __attribute__ ((__pure__)); 7770: 7770: 7770: 7770: 7770: 7770: extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n) 7770: throw () __asm ("wmemchr") __attribute__ ((__pure__)); 7770: extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, 7770: size_t __n) 7770: throw () __asm ("wmemchr") __attribute__ ((__pure__)); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) 7770: throw () __attribute__ ((__pure__)); 7770: 7770: 7770: extern wchar_t *wmemcpy (wchar_t *__restrict __s1, 7770: const wchar_t *__restrict __s2, size_t __n) throw (); 7770: 7770: 7770: 7770: extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) 7770: throw (); 7770: 7770: 7770: extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw (); 7770: 7770: 7770: 7770: 7770: extern wchar_t *wmempcpy (wchar_t *__restrict __s1, 7770: const wchar_t *__restrict __s2, size_t __n) 7770: throw (); 7770: 7770: 7770: 7770: 7770: 7770: extern wint_t btowc (int __c) throw (); 7770: 7770: 7770: 7770: extern int wctob (wint_t __c) throw (); 7770: 7770: 7770: 7770: extern int mbsinit (const mbstate_t *__ps) throw () __attribute__ ((__pure__)); 7770: 7770: 7770: 7770: extern size_t mbrtowc (wchar_t *__restrict __pwc, 7770: const char *__restrict __s, size_t __n, 7770: mbstate_t *__restrict __p) throw (); 7770: 7770: 7770: extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, 7770: mbstate_t *__restrict __ps) throw (); 7770: 7770: 7770: extern size_t __mbrlen (const char *__restrict __s, size_t __n, 7770: mbstate_t *__restrict __ps) throw (); 7770: extern size_t mbrlen (const char *__restrict __s, size_t __n, 7770: mbstate_t *__restrict __ps) throw (); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern wint_t __btowc_alias (int __c) __asm ("btowc"); 7770: extern __inline __attribute__ ((__gnu_inline__)) wint_t 7770: __attribute__ ((__leaf__)) btowc (int __c) throw () 7770: { return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f' 7770: ? (wint_t) __c : __btowc_alias (__c)); } 7770: 7770: extern int __wctob_alias (wint_t __c) __asm ("wctob"); 7770: extern __inline __attribute__ ((__gnu_inline__)) int 7770: __attribute__ ((__leaf__)) wctob (wint_t __wc) throw () 7770: { return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f' 7770: ? (int) __wc : __wctob_alias (__wc)); } 7770: 7770: extern __inline __attribute__ ((__gnu_inline__)) size_t 7770: __attribute__ ((__leaf__)) mbrlen (const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw () 7770: 7770: { return (__ps != __null 7770: ? mbrtowc (__null, __s, __n, __ps) : __mbrlen (__s, __n, __null)); } 7770: 7770: 7770: 7770: 7770: extern size_t mbsrtowcs (wchar_t *__restrict __dst, 7770: const char **__restrict __src, size_t __len, 7770: mbstate_t *__restrict __ps) throw (); 7770: 7770: 7770: 7770: extern size_t wcsrtombs (char *__restrict __dst, 7770: const wchar_t **__restrict __src, size_t __len, 7770: mbstate_t *__restrict __ps) throw (); 7770: 7770: 7770: 7770: 7770: 7770: extern size_t mbsnrtowcs (wchar_t *__restrict __dst, 7770: const char **__restrict __src, size_t __nmc, 7770: size_t __len, mbstate_t *__restrict __ps) throw (); 7770: 7770: 7770: 7770: extern size_t wcsnrtombs (char *__restrict __dst, 7770: const wchar_t **__restrict __src, 7770: size_t __nwc, size_t __len, 7770: mbstate_t *__restrict __ps) throw (); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int wcwidth (wchar_t __c) throw (); 7770: 7770: 7770: 7770: extern int wcswidth (const wchar_t *__s, size_t __n) throw (); 7770: 7770: 7770: 7770: 7770: 7770: extern double wcstod (const wchar_t *__restrict __nptr, 7770: wchar_t **__restrict __endptr) throw (); 7770: 7770: 7770: 7770: extern float wcstof (const wchar_t *__restrict __nptr, 7770: wchar_t **__restrict __endptr) throw (); 7770: extern long double wcstold (const wchar_t *__restrict __nptr, 7770: wchar_t **__restrict __endptr) throw (); 7770: # 397 "/usr/include/wchar.h" 3 4 7770: extern long int wcstol (const wchar_t *__restrict __nptr, 7770: wchar_t **__restrict __endptr, int __base) throw (); 7770: 7770: 7770: 7770: extern unsigned long int wcstoul (const wchar_t *__restrict __nptr, 7770: wchar_t **__restrict __endptr, int __base) 7770: throw (); 7770: 7770: 7770: 7770: 7770: __extension__ 7770: extern long long int wcstoll (const wchar_t *__restrict __nptr, 7770: wchar_t **__restrict __endptr, int __base) 7770: throw (); 7770: 7770: 7770: 7770: __extension__ 7770: extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr, 7770: wchar_t **__restrict __endptr, 7770: int __base) throw (); 7770: 7770: 7770: 7770: 7770: 7770: __extension__ 7770: extern long long int wcstoq (const wchar_t *__restrict __nptr, 7770: wchar_t **__restrict __endptr, int __base) 7770: throw (); 7770: 7770: 7770: 7770: __extension__ 7770: extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, 7770: wchar_t **__restrict __endptr, 7770: int __base) throw (); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern long int wcstol_l (const wchar_t *__restrict __nptr, 7770: wchar_t **__restrict __endptr, int __base, 7770: locale_t __loc) throw (); 7770: 7770: extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr, 7770: wchar_t **__restrict __endptr, 7770: int __base, locale_t __loc) throw (); 7770: 7770: __extension__ 7770: extern long long int wcstoll_l (const wchar_t *__restrict __nptr, 7770: wchar_t **__restrict __endptr, 7770: int __base, locale_t __loc) throw (); 7770: 7770: __extension__ 7770: extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, 7770: wchar_t **__restrict __endptr, 7770: int __base, locale_t __loc) 7770: throw (); 7770: 7770: extern double wcstod_l (const wchar_t *__restrict __nptr, 7770: wchar_t **__restrict __endptr, locale_t __loc) 7770: throw (); 7770: 7770: extern float wcstof_l (const wchar_t *__restrict __nptr, 7770: wchar_t **__restrict __endptr, locale_t __loc) 7770: throw (); 7770: 7770: extern long double wcstold_l (const wchar_t *__restrict __nptr, 7770: wchar_t **__restrict __endptr, 7770: locale_t __loc) throw (); 7770: # 484 "/usr/include/wchar.h" 3 4 7770: extern wchar_t *wcpcpy (wchar_t *__restrict __dest, 7770: const wchar_t *__restrict __src) throw (); 7770: 7770: 7770: 7770: extern wchar_t *wcpncpy (wchar_t *__restrict __dest, 7770: const wchar_t *__restrict __src, size_t __n) 7770: throw (); 7770: # 500 "/usr/include/wchar.h" 3 4 7770: extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) throw (); 7770: 7770: 7770: 7770: 7770: 7770: extern int fwide (__FILE *__fp, int __mode) throw (); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int fwprintf (__FILE *__restrict __stream, 7770: const wchar_t *__restrict __format, ...) 7770: ; 7770: 7770: 7770: 7770: 7770: extern int wprintf (const wchar_t *__restrict __format, ...) 7770: ; 7770: 7770: extern int swprintf (wchar_t *__restrict __s, size_t __n, 7770: const wchar_t *__restrict __format, ...) 7770: throw () ; 7770: 7770: 7770: 7770: 7770: 7770: extern int vfwprintf (__FILE *__restrict __s, 7770: const wchar_t *__restrict __format, 7770: __gnuc_va_list __arg) 7770: ; 7770: 7770: 7770: 7770: 7770: extern int vwprintf (const wchar_t *__restrict __format, 7770: __gnuc_va_list __arg) 7770: ; 7770: 7770: 7770: extern int vswprintf (wchar_t *__restrict __s, size_t __n, 7770: const wchar_t *__restrict __format, 7770: __gnuc_va_list __arg) 7770: throw () ; 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int fwscanf (__FILE *__restrict __stream, 7770: const wchar_t *__restrict __format, ...) 7770: ; 7770: 7770: 7770: 7770: 7770: extern int wscanf (const wchar_t *__restrict __format, ...) 7770: ; 7770: 7770: extern int swscanf (const wchar_t *__restrict __s, 7770: const wchar_t *__restrict __format, ...) 7770: throw () ; 7770: # 606 "/usr/include/wchar.h" 3 4 7770: extern int vfwscanf (__FILE *__restrict __s, 7770: const wchar_t *__restrict __format, 7770: __gnuc_va_list __arg) 7770: ; 7770: 7770: 7770: 7770: 7770: extern int vwscanf (const wchar_t *__restrict __format, 7770: __gnuc_va_list __arg) 7770: ; 7770: 7770: extern int vswscanf (const wchar_t *__restrict __s, 7770: const wchar_t *__restrict __format, 7770: __gnuc_va_list __arg) 7770: throw () ; 7770: # 660 "/usr/include/wchar.h" 3 4 7770: extern wint_t fgetwc (__FILE *__stream); 7770: extern wint_t getwc (__FILE *__stream); 7770: 7770: 7770: 7770: 7770: 7770: extern wint_t getwchar (void); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern wint_t fputwc (wchar_t __wc, __FILE *__stream); 7770: extern wint_t putwc (wchar_t __wc, __FILE *__stream); 7770: 7770: 7770: 7770: 7770: 7770: extern wint_t putwchar (wchar_t __wc); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, 7770: __FILE *__restrict __stream); 7770: 7770: 7770: 7770: 7770: 7770: extern int fputws (const wchar_t *__restrict __ws, 7770: __FILE *__restrict __stream); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern wint_t ungetwc (wint_t __wc, __FILE *__stream); 7770: # 715 "/usr/include/wchar.h" 3 4 7770: extern wint_t getwc_unlocked (__FILE *__stream); 7770: extern wint_t getwchar_unlocked (void); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern wint_t fgetwc_unlocked (__FILE *__stream); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); 7770: # 741 "/usr/include/wchar.h" 3 4 7770: extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); 7770: extern wint_t putwchar_unlocked (wchar_t __wc); 7770: # 751 "/usr/include/wchar.h" 3 4 7770: extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, 7770: __FILE *__restrict __stream); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int fputws_unlocked (const wchar_t *__restrict __ws, 7770: __FILE *__restrict __stream); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, 7770: const wchar_t *__restrict __format, 7770: const struct tm *__restrict __tp) throw (); 7770: 7770: 7770: 7770: 7770: extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, 7770: const wchar_t *__restrict __format, 7770: const struct tm *__restrict __tp, 7770: locale_t __loc) throw (); 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/wchar2.h" 1 3 4 7770: # 24 "/usr/include/aarch64-linux-gnu/bits/wchar2.h" 3 4 7770: extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1, 7770: const wchar_t *__restrict __s2, size_t __n, 7770: size_t __ns1) throw (); 7770: extern wchar_t *__wmemcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () __asm__ ("" "wmemcpy") 7770: 7770: 7770: ; 7770: 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") 7770: 7770: 7770: 7770: __attribute__((__warning__ ("wmemcpy called with length bigger than size of destination " "buffer"))) 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 7770: __attribute__ ((__leaf__)) wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () 7770: 7770: { 7770: if (__builtin_object_size (__s1, 0) != (size_t) -1) 7770: { 7770: if (!__builtin_constant_p (__n)) 7770: return __wmemcpy_chk (__s1, __s2, __n, 7770: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 7770: 7770: if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) 7770: return __wmemcpy_chk_warn (__s1, __s2, __n, 7770: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 7770: } 7770: return __wmemcpy_alias (__s1, __s2, __n); 7770: } 7770: 7770: 7770: extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2, 7770: size_t __n, size_t __ns1) throw (); 7770: extern wchar_t *__wmemmove_alias (wchar_t *__s1, const wchar_t *__s2, size_t __n) throw () __asm__ ("" "wmemmove") 7770: 7770: ; 7770: extern wchar_t *__wmemmove_chk_warn (wchar_t *__s1, const wchar_t *__s2, size_t __n, size_t __ns1) throw () __asm__ ("" "__wmemmove_chk") 7770: 7770: 7770: __attribute__((__warning__ ("wmemmove called with length bigger than size of destination " "buffer"))) 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 7770: __attribute__ ((__leaf__)) wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) throw () 7770: { 7770: if (__builtin_object_size (__s1, 0) != (size_t) -1) 7770: { 7770: if (!__builtin_constant_p (__n)) 7770: return __wmemmove_chk (__s1, __s2, __n, 7770: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 7770: 7770: if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) 7770: return __wmemmove_chk_warn (__s1, __s2, __n, 7770: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 7770: } 7770: return __wmemmove_alias (__s1, __s2, __n); 7770: } 7770: 7770: 7770: 7770: extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1, 7770: const wchar_t *__restrict __s2, size_t __n, 7770: size_t __ns1) throw (); 7770: extern wchar_t *__wmempcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () __asm__ ("" "wmempcpy") 7770: 7770: 7770: ; 7770: 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") 7770: 7770: 7770: 7770: __attribute__((__warning__ ("wmempcpy called with length bigger than size of destination " "buffer"))) 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 7770: __attribute__ ((__leaf__)) wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () 7770: 7770: { 7770: if (__builtin_object_size (__s1, 0) != (size_t) -1) 7770: { 7770: if (!__builtin_constant_p (__n)) 7770: return __wmempcpy_chk (__s1, __s2, __n, 7770: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 7770: 7770: if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) 7770: return __wmempcpy_chk_warn (__s1, __s2, __n, 7770: __builtin_object_size (__s1, 0) / sizeof (wchar_t)); 7770: } 7770: return __wmempcpy_alias (__s1, __s2, __n); 7770: } 7770: 7770: 7770: 7770: extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n, 7770: size_t __ns) throw (); 7770: extern wchar_t *__wmemset_alias (wchar_t *__s, wchar_t __c, size_t __n) throw () __asm__ ("" "wmemset") 7770: ; 7770: extern wchar_t *__wmemset_chk_warn (wchar_t *__s, wchar_t __c, size_t __n, size_t __ns) throw () __asm__ ("" "__wmemset_chk") 7770: 7770: 7770: __attribute__((__warning__ ("wmemset called with length bigger than size of destination " "buffer"))) 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 7770: __attribute__ ((__leaf__)) wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw () 7770: { 7770: if (__builtin_object_size (__s, 0) != (size_t) -1) 7770: { 7770: if (!__builtin_constant_p (__n)) 7770: return __wmemset_chk (__s, __c, __n, __builtin_object_size (__s, 0) / sizeof (wchar_t)); 7770: 7770: if (__n > __builtin_object_size (__s, 0) / sizeof (wchar_t)) 7770: return __wmemset_chk_warn (__s, __c, __n, 7770: __builtin_object_size (__s, 0) / sizeof (wchar_t)); 7770: } 7770: return __wmemset_alias (__s, __c, __n); 7770: } 7770: 7770: 7770: extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest, 7770: const wchar_t *__restrict __src, 7770: size_t __n) throw (); 7770: extern wchar_t *__wcscpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () __asm__ ("" "wcscpy") 7770: 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 7770: __attribute__ ((__leaf__)) wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () 7770: { 7770: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 7770: return __wcscpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 7770: return __wcscpy_alias (__dest, __src); 7770: } 7770: 7770: 7770: extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest, 7770: const wchar_t *__restrict __src, 7770: size_t __destlen) throw (); 7770: extern wchar_t *__wcpcpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () __asm__ ("" "wcpcpy") 7770: 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 7770: __attribute__ ((__leaf__)) wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () 7770: { 7770: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 7770: return __wcpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 7770: return __wcpcpy_alias (__dest, __src); 7770: } 7770: 7770: 7770: extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest, 7770: const wchar_t *__restrict __src, size_t __n, 7770: size_t __destlen) throw (); 7770: extern wchar_t *__wcsncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcsncpy") 7770: 7770: 7770: ; 7770: 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") 7770: 7770: 7770: 7770: __attribute__((__warning__ ("wcsncpy called with length bigger than size of destination " "buffer"))) 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 7770: __attribute__ ((__leaf__)) wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () 7770: 7770: { 7770: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 7770: { 7770: if (!__builtin_constant_p (__n)) 7770: return __wcsncpy_chk (__dest, __src, __n, 7770: __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 7770: if (__n > __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)) 7770: return __wcsncpy_chk_warn (__dest, __src, __n, 7770: __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 7770: } 7770: return __wcsncpy_alias (__dest, __src, __n); 7770: } 7770: 7770: 7770: extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest, 7770: const wchar_t *__restrict __src, size_t __n, 7770: size_t __destlen) throw (); 7770: extern wchar_t *__wcpncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcpncpy") 7770: 7770: 7770: ; 7770: 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") 7770: 7770: 7770: 7770: __attribute__((__warning__ ("wcpncpy called with length bigger than size of destination " "buffer"))) 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 7770: __attribute__ ((__leaf__)) wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () 7770: 7770: { 7770: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 7770: { 7770: if (!__builtin_constant_p (__n)) 7770: return __wcpncpy_chk (__dest, __src, __n, 7770: __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 7770: if (__n > __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)) 7770: return __wcpncpy_chk_warn (__dest, __src, __n, 7770: __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 7770: } 7770: return __wcpncpy_alias (__dest, __src, __n); 7770: } 7770: 7770: 7770: extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest, 7770: const wchar_t *__restrict __src, 7770: size_t __destlen) throw (); 7770: extern wchar_t *__wcscat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () __asm__ ("" "wcscat") 7770: 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 7770: __attribute__ ((__leaf__)) wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () 7770: { 7770: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 7770: return __wcscat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 7770: return __wcscat_alias (__dest, __src); 7770: } 7770: 7770: 7770: extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest, 7770: const wchar_t *__restrict __src, 7770: size_t __n, size_t __destlen) throw (); 7770: extern wchar_t *__wcsncat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcsncat") 7770: 7770: 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * 7770: __attribute__ ((__leaf__)) wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () 7770: 7770: { 7770: if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) 7770: return __wcsncat_chk (__dest, __src, __n, 7770: __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); 7770: return __wcsncat_alias (__dest, __src, __n); 7770: } 7770: 7770: 7770: extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n, 7770: int __flag, size_t __s_len, 7770: const wchar_t *__restrict __format, ...) 7770: throw () ; 7770: 7770: extern int __swprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) throw () __asm__ ("" "swprintf") 7770: 7770: 7770: ; 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: __attribute__ ((__leaf__)) swprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) throw () 7770: 7770: { 7770: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 || 2 > 1) 7770: return __swprintf_chk (__s, __n, 2 - 1, 7770: __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), 7770: __fmt, __builtin_va_arg_pack ()); 7770: return __swprintf_alias (__s, __n, __fmt, __builtin_va_arg_pack ()); 7770: } 7770: # 303 "/usr/include/aarch64-linux-gnu/bits/wchar2.h" 3 4 7770: extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n, 7770: int __flag, size_t __s_len, 7770: const wchar_t *__restrict __format, 7770: __gnuc_va_list __arg) 7770: throw () ; 7770: 7770: extern int __vswprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) throw () __asm__ ("" "vswprintf") 7770: 7770: 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: __attribute__ ((__leaf__)) vswprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) throw () 7770: 7770: { 7770: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 || 2 > 1) 7770: return __vswprintf_chk (__s, __n, 2 - 1, 7770: __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __fmt, __ap); 7770: return __vswprintf_alias (__s, __n, __fmt, __ap); 7770: } 7770: 7770: 7770: 7770: 7770: extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag, 7770: const wchar_t *__restrict __format, ...); 7770: extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format, 7770: ...); 7770: extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag, 7770: const wchar_t *__restrict __format, 7770: __gnuc_va_list __ap); 7770: extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format, 7770: __gnuc_va_list __ap); 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: wprintf (const wchar_t *__restrict __fmt, ...) 7770: { 7770: return __wprintf_chk (2 - 1, __fmt, __builtin_va_arg_pack ()); 7770: } 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: fwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __fmt, ...) 7770: { 7770: return __fwprintf_chk (__stream, 2 - 1, __fmt, 7770: __builtin_va_arg_pack ()); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: vwprintf (const wchar_t *__restrict __fmt, __gnuc_va_list __ap) 7770: { 7770: return __vwprintf_chk (2 - 1, __fmt, __ap); 7770: } 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: vfwprintf (__FILE *__restrict __stream, 7770: const wchar_t *__restrict __fmt, __gnuc_va_list __ap) 7770: { 7770: return __vfwprintf_chk (__stream, 2 - 1, __fmt, __ap); 7770: } 7770: 7770: 7770: 7770: extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n, 7770: __FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 7770: extern wchar_t *__fgetws_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws") 7770: 7770: __attribute__ ((__warn_unused_result__)); 7770: extern wchar_t *__fgetws_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_chk") 7770: 7770: 7770: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws called with bigger size than length " "of destination buffer"))) 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t * 7770: fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) 7770: { 7770: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) 7770: { 7770: if (!__builtin_constant_p (__n) || __n <= 0) 7770: return __fgetws_chk (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), 7770: __n, __stream); 7770: 7770: if ((size_t) __n > __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t)) 7770: return __fgetws_chk_warn (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), 7770: __n, __stream); 7770: } 7770: return __fgetws_alias (__s, __n, __stream); 7770: } 7770: 7770: 7770: extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size, 7770: int __n, __FILE *__restrict __stream) 7770: __attribute__ ((__warn_unused_result__)); 7770: extern wchar_t *__fgetws_unlocked_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws_unlocked") 7770: 7770: 7770: __attribute__ ((__warn_unused_result__)); 7770: extern wchar_t *__fgetws_unlocked_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_unlocked_chk") 7770: 7770: 7770: 7770: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws_unlocked called with bigger size than length " "of destination buffer"))) 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t * 7770: fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) 7770: { 7770: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) 7770: { 7770: if (!__builtin_constant_p (__n) || __n <= 0) 7770: return __fgetws_unlocked_chk (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), 7770: __n, __stream); 7770: 7770: if ((size_t) __n > __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t)) 7770: return __fgetws_unlocked_chk_warn (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), 7770: __n, __stream); 7770: } 7770: return __fgetws_unlocked_alias (__s, __n, __stream); 7770: } 7770: 7770: 7770: 7770: extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar, 7770: mbstate_t *__restrict __p, 7770: size_t __buflen) throw () __attribute__ ((__warn_unused_result__)); 7770: extern size_t __wcrtomb_alias (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) throw () __asm__ ("" "wcrtomb") 7770: 7770: __attribute__ ((__warn_unused_result__)); 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t 7770: __attribute__ ((__leaf__)) wcrtomb (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) throw () 7770: 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1)) 7770: return __wcrtomb_chk (__s, __wchar, __ps, __builtin_object_size (__s, 2 > 1)); 7770: return __wcrtomb_alias (__s, __wchar, __ps); 7770: } 7770: 7770: 7770: extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst, 7770: const char **__restrict __src, 7770: size_t __len, mbstate_t *__restrict __ps, 7770: size_t __dstlen) throw (); 7770: extern size_t __mbsrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "mbsrtowcs") 7770: 7770: 7770: 7770: ; 7770: 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") 7770: 7770: 7770: 7770: 7770: __attribute__((__warning__ ("mbsrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 7770: __attribute__ ((__leaf__)) mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () 7770: 7770: { 7770: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 7770: { 7770: if (!__builtin_constant_p (__len)) 7770: return __mbsrtowcs_chk (__dst, __src, __len, __ps, 7770: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 7770: 7770: if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) 7770: return __mbsrtowcs_chk_warn (__dst, __src, __len, __ps, 7770: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 7770: } 7770: return __mbsrtowcs_alias (__dst, __src, __len, __ps); 7770: } 7770: 7770: 7770: extern size_t __wcsrtombs_chk (char *__restrict __dst, 7770: const wchar_t **__restrict __src, 7770: size_t __len, mbstate_t *__restrict __ps, 7770: size_t __dstlen) throw (); 7770: extern size_t __wcsrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "wcsrtombs") 7770: 7770: 7770: 7770: ; 7770: 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") 7770: 7770: 7770: 7770: 7770: __attribute__((__warning__ ("wcsrtombs called with dst buffer smaller than len"))); 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 7770: __attribute__ ((__leaf__)) wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () 7770: 7770: { 7770: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 7770: { 7770: if (!__builtin_constant_p (__len)) 7770: return __wcsrtombs_chk (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1)); 7770: 7770: if (__len > __builtin_object_size (__dst, 2 > 1)) 7770: return __wcsrtombs_chk_warn (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1)); 7770: } 7770: return __wcsrtombs_alias (__dst, __src, __len, __ps); 7770: } 7770: 7770: 7770: 7770: extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst, 7770: const char **__restrict __src, size_t __nmc, 7770: size_t __len, mbstate_t *__restrict __ps, 7770: size_t __dstlen) throw (); 7770: 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") 7770: 7770: 7770: 7770: ; 7770: 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") 7770: 7770: 7770: 7770: 7770: __attribute__((__warning__ ("mbsnrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 7770: __attribute__ ((__leaf__)) mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) throw () 7770: 7770: { 7770: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 7770: { 7770: if (!__builtin_constant_p (__len)) 7770: return __mbsnrtowcs_chk (__dst, __src, __nmc, __len, __ps, 7770: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 7770: 7770: if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) 7770: return __mbsnrtowcs_chk_warn (__dst, __src, __nmc, __len, __ps, 7770: __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); 7770: } 7770: return __mbsnrtowcs_alias (__dst, __src, __nmc, __len, __ps); 7770: } 7770: 7770: 7770: extern size_t __wcsnrtombs_chk (char *__restrict __dst, 7770: const wchar_t **__restrict __src, 7770: size_t __nwc, size_t __len, 7770: mbstate_t *__restrict __ps, size_t __dstlen) 7770: throw (); 7770: 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") 7770: 7770: 7770: 7770: ; 7770: 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") 7770: 7770: 7770: 7770: 7770: 7770: __attribute__((__warning__ ("wcsnrtombs called with dst buffer smaller than len"))); 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t 7770: __attribute__ ((__leaf__)) wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) throw () 7770: 7770: { 7770: if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) 7770: { 7770: if (!__builtin_constant_p (__len)) 7770: return __wcsnrtombs_chk (__dst, __src, __nwc, __len, __ps, 7770: __builtin_object_size (__dst, 2 > 1)); 7770: 7770: if (__len > __builtin_object_size (__dst, 2 > 1)) 7770: return __wcsnrtombs_chk_warn (__dst, __src, __nwc, __len, __ps, 7770: __builtin_object_size (__dst, 2 > 1)); 7770: } 7770: return __wcsnrtombs_alias (__dst, __src, __nwc, __len, __ps); 7770: } 7770: # 784 "/usr/include/wchar.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: } 7770: # 45 "/usr/include/c++/8/cwchar" 2 3 7770: # 62 "/usr/include/c++/8/cwchar" 3 7770: namespace std 7770: { 7770: using ::mbstate_t; 7770: } 7770: # 135 "/usr/include/c++/8/cwchar" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: using ::wint_t; 7770: 7770: using ::btowc; 7770: using ::fgetwc; 7770: using ::fgetws; 7770: using ::fputwc; 7770: using ::fputws; 7770: using ::fwide; 7770: using ::fwprintf; 7770: using ::fwscanf; 7770: using ::getwc; 7770: using ::getwchar; 7770: using ::mbrlen; 7770: using ::mbrtowc; 7770: using ::mbsinit; 7770: using ::mbsrtowcs; 7770: using ::putwc; 7770: using ::putwchar; 7770: 7770: using ::swprintf; 7770: 7770: using ::swscanf; 7770: using ::ungetwc; 7770: using ::vfwprintf; 7770: 7770: using ::vfwscanf; 7770: 7770: 7770: using ::vswprintf; 7770: 7770: 7770: using ::vswscanf; 7770: 7770: using ::vwprintf; 7770: 7770: using ::vwscanf; 7770: 7770: using ::wcrtomb; 7770: using ::wcscat; 7770: using ::wcscmp; 7770: using ::wcscoll; 7770: using ::wcscpy; 7770: using ::wcscspn; 7770: using ::wcsftime; 7770: using ::wcslen; 7770: using ::wcsncat; 7770: using ::wcsncmp; 7770: using ::wcsncpy; 7770: using ::wcsrtombs; 7770: using ::wcsspn; 7770: using ::wcstod; 7770: 7770: using ::wcstof; 7770: 7770: using ::wcstok; 7770: using ::wcstol; 7770: using ::wcstoul; 7770: using ::wcsxfrm; 7770: using ::wctob; 7770: using ::wmemcmp; 7770: using ::wmemcpy; 7770: using ::wmemmove; 7770: using ::wmemset; 7770: using ::wprintf; 7770: using ::wscanf; 7770: using ::wcschr; 7770: using ::wcspbrk; 7770: using ::wcsrchr; 7770: using ::wcsstr; 7770: using ::wmemchr; 7770: # 232 "/usr/include/c++/8/cwchar" 3 7770: 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: namespace __gnu_cxx 7770: { 7770: 7770: 7770: 7770: 7770: 7770: using ::wcstold; 7770: # 257 "/usr/include/c++/8/cwchar" 3 7770: using ::wcstoll; 7770: using ::wcstoull; 7770: 7770: } 7770: 7770: namespace std 7770: { 7770: using ::__gnu_cxx::wcstold; 7770: using ::__gnu_cxx::wcstoll; 7770: using ::__gnu_cxx::wcstoull; 7770: } 7770: # 277 "/usr/include/c++/8/cwchar" 3 7770: namespace std 7770: { 7770: 7770: using std::wcstof; 7770: 7770: 7770: using std::vfwscanf; 7770: 7770: 7770: using std::vswscanf; 7770: 7770: 7770: using std::vwscanf; 7770: 7770: 7770: 7770: using std::wcstold; 7770: using std::wcstoll; 7770: using std::wcstoull; 7770: 7770: } 7770: # 41 "/usr/include/c++/8/bits/postypes.h" 2 3 7770: # 68 "/usr/include/c++/8/bits/postypes.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 88 "/usr/include/c++/8/bits/postypes.h" 3 7770: typedef long streamoff; 7770: # 98 "/usr/include/c++/8/bits/postypes.h" 3 7770: typedef ptrdiff_t streamsize; 7770: # 111 "/usr/include/c++/8/bits/postypes.h" 3 7770: template 7770: class fpos 7770: { 7770: private: 7770: streamoff _M_off; 7770: _StateT _M_state; 7770: 7770: public: 7770: 7770: 7770: 7770: 7770: fpos() 7770: : _M_off(0), _M_state() { } 7770: # 133 "/usr/include/c++/8/bits/postypes.h" 3 7770: fpos(streamoff __off) 7770: : _M_off(__off), _M_state() { } 7770: 7770: 7770: operator streamoff() const { return _M_off; } 7770: 7770: 7770: void 7770: state(_StateT __st) 7770: { _M_state = __st; } 7770: 7770: 7770: _StateT 7770: state() const 7770: { return _M_state; } 7770: 7770: 7770: 7770: 7770: 7770: fpos& 7770: operator+=(streamoff __off) 7770: { 7770: _M_off += __off; 7770: return *this; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: fpos& 7770: operator-=(streamoff __off) 7770: { 7770: _M_off -= __off; 7770: return *this; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: fpos 7770: operator+(streamoff __off) const 7770: { 7770: fpos __pos(*this); 7770: __pos += __off; 7770: return __pos; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: fpos 7770: operator-(streamoff __off) const 7770: { 7770: fpos __pos(*this); 7770: __pos -= __off; 7770: return __pos; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: streamoff 7770: operator-(const fpos& __other) const 7770: { return _M_off - __other._M_off; } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline bool 7770: operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) 7770: { return streamoff(__lhs) == streamoff(__rhs); } 7770: 7770: template 7770: inline bool 7770: operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) 7770: { return streamoff(__lhs) != streamoff(__rhs); } 7770: 7770: 7770: 7770: 7770: 7770: typedef fpos streampos; 7770: 7770: typedef fpos wstreampos; 7770: 7770: 7770: 7770: typedef fpos u16streampos; 7770: 7770: typedef fpos u32streampos; 7770: 7770: 7770: 7770: } 7770: # 41 "/usr/include/c++/8/bits/char_traits.h" 2 3 7770: # 1 "/usr/include/c++/8/cwchar" 1 3 7770: # 39 "/usr/include/c++/8/cwchar" 3 7770: 7770: # 40 "/usr/include/c++/8/cwchar" 3 7770: # 42 "/usr/include/c++/8/bits/char_traits.h" 2 3 7770: 7770: 7770: 7770: 7770: 7770: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 61 "/usr/include/c++/8/bits/char_traits.h" 3 7770: template 7770: struct _Char_types 7770: { 7770: typedef unsigned long int_type; 7770: typedef std::streampos pos_type; 7770: typedef std::streamoff off_type; 7770: typedef std::mbstate_t state_type; 7770: }; 7770: # 86 "/usr/include/c++/8/bits/char_traits.h" 3 7770: template 7770: struct char_traits 7770: { 7770: typedef _CharT char_type; 7770: typedef typename _Char_types<_CharT>::int_type int_type; 7770: typedef typename _Char_types<_CharT>::pos_type pos_type; 7770: typedef typename _Char_types<_CharT>::off_type off_type; 7770: typedef typename _Char_types<_CharT>::state_type state_type; 7770: 7770: static constexpr void 7770: assign(char_type& __c1, const char_type& __c2) 7770: { __c1 = __c2; } 7770: 7770: static constexpr bool 7770: eq(const char_type& __c1, const char_type& __c2) 7770: { return __c1 == __c2; } 7770: 7770: static constexpr bool 7770: lt(const char_type& __c1, const char_type& __c2) 7770: { return __c1 < __c2; } 7770: 7770: static constexpr int 7770: compare(const char_type* __s1, const char_type* __s2, std::size_t __n); 7770: 7770: static constexpr std::size_t 7770: length(const char_type* __s); 7770: 7770: static constexpr const char_type* 7770: find(const char_type* __s, std::size_t __n, const char_type& __a); 7770: 7770: static char_type* 7770: move(char_type* __s1, const char_type* __s2, std::size_t __n); 7770: 7770: static char_type* 7770: copy(char_type* __s1, const char_type* __s2, std::size_t __n); 7770: 7770: static char_type* 7770: assign(char_type* __s, std::size_t __n, char_type __a); 7770: 7770: static constexpr char_type 7770: to_char_type(const int_type& __c) 7770: { return static_cast(__c); } 7770: 7770: static constexpr int_type 7770: to_int_type(const char_type& __c) 7770: { return static_cast(__c); } 7770: 7770: static constexpr bool 7770: eq_int_type(const int_type& __c1, const int_type& __c2) 7770: { return __c1 == __c2; } 7770: 7770: static constexpr int_type 7770: eof() 7770: { return static_cast(-1); } 7770: 7770: static constexpr int_type 7770: not_eof(const int_type& __c) 7770: { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); } 7770: }; 7770: 7770: 7770: 7770: template 7770: constexpr int 7770: char_traits<_CharT>:: 7770: compare(const char_type* __s1, const char_type* __s2, std::size_t __n) 7770: { 7770: for (std::size_t __i = 0; __i < __n; ++__i) 7770: if (lt(__s1[__i], __s2[__i])) 7770: return -1; 7770: else if (lt(__s2[__i], __s1[__i])) 7770: return 1; 7770: return 0; 7770: } 7770: 7770: template 7770: constexpr std::size_t 7770: char_traits<_CharT>:: 7770: length(const char_type* __p) 7770: { 7770: std::size_t __i = 0; 7770: while (!eq(__p[__i], char_type())) 7770: ++__i; 7770: return __i; 7770: } 7770: 7770: template 7770: constexpr const typename char_traits<_CharT>::char_type* 7770: char_traits<_CharT>:: 7770: find(const char_type* __s, std::size_t __n, const char_type& __a) 7770: { 7770: for (std::size_t __i = 0; __i < __n; ++__i) 7770: if (eq(__s[__i], __a)) 7770: return __s + __i; 7770: return 0; 7770: } 7770: 7770: template 7770: typename char_traits<_CharT>::char_type* 7770: char_traits<_CharT>:: 7770: move(char_type* __s1, const char_type* __s2, std::size_t __n) 7770: { 7770: return static_cast<_CharT*>(__builtin_memmove(__s1, __s2, 7770: __n * sizeof(char_type))); 7770: } 7770: 7770: template 7770: typename char_traits<_CharT>::char_type* 7770: char_traits<_CharT>:: 7770: copy(char_type* __s1, const char_type* __s2, std::size_t __n) 7770: { 7770: 7770: std::copy(__s2, __s2 + __n, __s1); 7770: return __s1; 7770: } 7770: 7770: template 7770: typename char_traits<_CharT>::char_type* 7770: char_traits<_CharT>:: 7770: assign(char_type* __s, std::size_t __n, char_type __a) 7770: { 7770: 7770: std::fill_n(__s, __n, __a); 7770: return __s; 7770: } 7770: 7770: 7770: } 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 227 "/usr/include/c++/8/bits/char_traits.h" 3 7770: template 7770: static inline __attribute__((__always_inline__)) constexpr bool 7770: __constant_string_p(const _CharT* __s) 7770: { 7770: while (__builtin_constant_p(*__s) && *__s) 7770: __s++; 7770: return __builtin_constant_p(*__s); 7770: } 7770: # 244 "/usr/include/c++/8/bits/char_traits.h" 3 7770: template 7770: static inline __attribute__((__always_inline__)) constexpr bool 7770: __constant_char_array_p(const _CharT* __a, size_t __n) 7770: { 7770: size_t __i = 0; 7770: while (__builtin_constant_p(__a[__i]) && __i < __n) 7770: __i++; 7770: return __i == __n; 7770: } 7770: # 268 "/usr/include/c++/8/bits/char_traits.h" 3 7770: template 7770: struct char_traits : public __gnu_cxx::char_traits<_CharT> 7770: { }; 7770: 7770: 7770: 7770: template<> 7770: struct char_traits 7770: { 7770: typedef char char_type; 7770: typedef int int_type; 7770: typedef streampos pos_type; 7770: typedef streamoff off_type; 7770: typedef mbstate_t state_type; 7770: 7770: static constexpr void 7770: assign(char_type& __c1, const char_type& __c2) noexcept 7770: { __c1 = __c2; } 7770: 7770: static constexpr bool 7770: eq(const char_type& __c1, const char_type& __c2) noexcept 7770: { return __c1 == __c2; } 7770: 7770: static constexpr bool 7770: lt(const char_type& __c1, const char_type& __c2) noexcept 7770: { 7770: 7770: return (static_cast(__c1) 7770: < static_cast(__c2)); 7770: } 7770: 7770: static constexpr int 7770: compare(const char_type* __s1, const char_type* __s2, size_t __n) 7770: { 7770: 7770: if (__builtin_constant_p(__n) 7770: && __constant_char_array_p(__s1, __n) 7770: && __constant_char_array_p(__s2, __n)) 7770: return __gnu_cxx::char_traits::compare(__s1, __s2, __n); 7770: 7770: if (__n == 0) 7770: return 0; 7770: return __builtin_memcmp(__s1, __s2, __n); 7770: } 7770: 7770: static constexpr size_t 7770: length(const char_type* __s) 7770: { 7770: 7770: if (__constant_string_p(__s)) 7770: return __gnu_cxx::char_traits::length(__s); 7770: 7770: return __builtin_strlen(__s); 7770: } 7770: 7770: static constexpr const char_type* 7770: find(const char_type* __s, size_t __n, const char_type& __a) 7770: { 7770: 7770: if (__builtin_constant_p(__n) 7770: && __builtin_constant_p(__a) 7770: && __constant_char_array_p(__s, __n)) 7770: return __gnu_cxx::char_traits::find(__s, __n, __a); 7770: 7770: if (__n == 0) 7770: return 0; 7770: return static_cast(__builtin_memchr(__s, __a, __n)); 7770: } 7770: 7770: static char_type* 7770: move(char_type* __s1, const char_type* __s2, size_t __n) 7770: { 7770: if (__n == 0) 7770: return __s1; 7770: return static_cast(__builtin_memmove(__s1, __s2, __n)); 7770: } 7770: 7770: static char_type* 7770: copy(char_type* __s1, const char_type* __s2, size_t __n) 7770: { 7770: if (__n == 0) 7770: return __s1; 7770: return static_cast(__builtin_memcpy(__s1, __s2, __n)); 7770: } 7770: 7770: static char_type* 7770: assign(char_type* __s, size_t __n, char_type __a) 7770: { 7770: if (__n == 0) 7770: return __s; 7770: return static_cast(__builtin_memset(__s, __a, __n)); 7770: } 7770: 7770: static constexpr char_type 7770: to_char_type(const int_type& __c) noexcept 7770: { return static_cast(__c); } 7770: 7770: 7770: 7770: static constexpr int_type 7770: to_int_type(const char_type& __c) noexcept 7770: { return static_cast(static_cast(__c)); } 7770: 7770: static constexpr bool 7770: eq_int_type(const int_type& __c1, const int_type& __c2) noexcept 7770: { return __c1 == __c2; } 7770: 7770: static constexpr int_type 7770: eof() noexcept 7770: { return static_cast(-1); } 7770: 7770: static constexpr int_type 7770: not_eof(const int_type& __c) noexcept 7770: { return (__c == eof()) ? 0 : __c; } 7770: }; 7770: 7770: 7770: 7770: 7770: template<> 7770: struct char_traits 7770: { 7770: typedef wchar_t char_type; 7770: typedef wint_t int_type; 7770: typedef streamoff off_type; 7770: typedef wstreampos pos_type; 7770: typedef mbstate_t state_type; 7770: 7770: static constexpr void 7770: assign(char_type& __c1, const char_type& __c2) noexcept 7770: { __c1 = __c2; } 7770: 7770: static constexpr bool 7770: eq(const char_type& __c1, const char_type& __c2) noexcept 7770: { return __c1 == __c2; } 7770: 7770: static constexpr bool 7770: lt(const char_type& __c1, const char_type& __c2) noexcept 7770: { return __c1 < __c2; } 7770: 7770: static constexpr int 7770: compare(const char_type* __s1, const char_type* __s2, size_t __n) 7770: { 7770: 7770: if (__builtin_constant_p(__n) 7770: && __constant_char_array_p(__s1, __n) 7770: && __constant_char_array_p(__s2, __n)) 7770: return __gnu_cxx::char_traits::compare(__s1, __s2, __n); 7770: 7770: if (__n == 0) 7770: return 0; 7770: else 7770: return wmemcmp(__s1, __s2, __n); 7770: } 7770: 7770: static constexpr size_t 7770: length(const char_type* __s) 7770: { 7770: 7770: if (__constant_string_p(__s)) 7770: return __gnu_cxx::char_traits::length(__s); 7770: else 7770: 7770: return wcslen(__s); 7770: } 7770: 7770: static constexpr const char_type* 7770: find(const char_type* __s, size_t __n, const char_type& __a) 7770: { 7770: 7770: if (__builtin_constant_p(__n) 7770: && __builtin_constant_p(__a) 7770: && __constant_char_array_p(__s, __n)) 7770: return __gnu_cxx::char_traits::find(__s, __n, __a); 7770: 7770: if (__n == 0) 7770: return 0; 7770: else 7770: return wmemchr(__s, __a, __n); 7770: } 7770: 7770: static char_type* 7770: move(char_type* __s1, const char_type* __s2, size_t __n) 7770: { 7770: if (__n == 0) 7770: return __s1; 7770: return wmemmove(__s1, __s2, __n); 7770: } 7770: 7770: static char_type* 7770: copy(char_type* __s1, const char_type* __s2, size_t __n) 7770: { 7770: if (__n == 0) 7770: return __s1; 7770: return wmemcpy(__s1, __s2, __n); 7770: } 7770: 7770: static char_type* 7770: assign(char_type* __s, size_t __n, char_type __a) 7770: { 7770: if (__n == 0) 7770: return __s; 7770: return wmemset(__s, __a, __n); 7770: } 7770: 7770: static constexpr char_type 7770: to_char_type(const int_type& __c) noexcept 7770: { return char_type(__c); } 7770: 7770: static constexpr int_type 7770: to_int_type(const char_type& __c) noexcept 7770: { return int_type(__c); } 7770: 7770: static constexpr bool 7770: eq_int_type(const int_type& __c1, const int_type& __c2) noexcept 7770: { return __c1 == __c2; } 7770: 7770: static constexpr int_type 7770: eof() noexcept 7770: { return static_cast((0xffffffffu)); } 7770: 7770: static constexpr int_type 7770: not_eof(const int_type& __c) noexcept 7770: { return eq_int_type(__c, eof()) ? 0 : __c; } 7770: }; 7770: 7770: 7770: 7770: } 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/cstdint" 1 3 7770: # 32 "/usr/include/c++/8/cstdint" 3 7770: 7770: # 33 "/usr/include/c++/8/cstdint" 3 7770: # 46 "/usr/include/c++/8/cstdint" 3 7770: namespace std 7770: { 7770: using ::int8_t; 7770: using ::int16_t; 7770: using ::int32_t; 7770: using ::int64_t; 7770: 7770: using ::int_fast8_t; 7770: using ::int_fast16_t; 7770: using ::int_fast32_t; 7770: using ::int_fast64_t; 7770: 7770: using ::int_least8_t; 7770: using ::int_least16_t; 7770: using ::int_least32_t; 7770: using ::int_least64_t; 7770: 7770: using ::intmax_t; 7770: using ::intptr_t; 7770: 7770: using ::uint8_t; 7770: using ::uint16_t; 7770: using ::uint32_t; 7770: using ::uint64_t; 7770: 7770: using ::uint_fast8_t; 7770: using ::uint_fast16_t; 7770: using ::uint_fast32_t; 7770: using ::uint_fast64_t; 7770: 7770: using ::uint_least8_t; 7770: using ::uint_least16_t; 7770: using ::uint_least32_t; 7770: using ::uint_least64_t; 7770: 7770: using ::uintmax_t; 7770: using ::uintptr_t; 7770: } 7770: # 502 "/usr/include/c++/8/bits/char_traits.h" 2 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: template<> 7770: struct char_traits 7770: { 7770: typedef char16_t char_type; 7770: typedef uint_least16_t int_type; 7770: typedef streamoff off_type; 7770: typedef u16streampos pos_type; 7770: typedef mbstate_t state_type; 7770: 7770: static constexpr void 7770: assign(char_type& __c1, const char_type& __c2) noexcept 7770: { __c1 = __c2; } 7770: 7770: static constexpr bool 7770: eq(const char_type& __c1, const char_type& __c2) noexcept 7770: { return __c1 == __c2; } 7770: 7770: static constexpr bool 7770: lt(const char_type& __c1, const char_type& __c2) noexcept 7770: { return __c1 < __c2; } 7770: 7770: static constexpr int 7770: compare(const char_type* __s1, const char_type* __s2, size_t __n) 7770: { 7770: for (size_t __i = 0; __i < __n; ++__i) 7770: if (lt(__s1[__i], __s2[__i])) 7770: return -1; 7770: else if (lt(__s2[__i], __s1[__i])) 7770: return 1; 7770: return 0; 7770: } 7770: 7770: static constexpr size_t 7770: length(const char_type* __s) 7770: { 7770: size_t __i = 0; 7770: while (!eq(__s[__i], char_type())) 7770: ++__i; 7770: return __i; 7770: } 7770: 7770: static constexpr const char_type* 7770: find(const char_type* __s, size_t __n, const char_type& __a) 7770: { 7770: for (size_t __i = 0; __i < __n; ++__i) 7770: if (eq(__s[__i], __a)) 7770: return __s + __i; 7770: return 0; 7770: } 7770: 7770: static char_type* 7770: move(char_type* __s1, const char_type* __s2, size_t __n) 7770: { 7770: if (__n == 0) 7770: return __s1; 7770: return (static_cast 7770: (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); 7770: } 7770: 7770: static char_type* 7770: copy(char_type* __s1, const char_type* __s2, size_t __n) 7770: { 7770: if (__n == 0) 7770: return __s1; 7770: return (static_cast 7770: (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); 7770: } 7770: 7770: static char_type* 7770: assign(char_type* __s, size_t __n, char_type __a) 7770: { 7770: for (size_t __i = 0; __i < __n; ++__i) 7770: assign(__s[__i], __a); 7770: return __s; 7770: } 7770: 7770: static constexpr char_type 7770: to_char_type(const int_type& __c) noexcept 7770: { return char_type(__c); } 7770: 7770: static constexpr int_type 7770: to_int_type(const char_type& __c) noexcept 7770: { return __c == eof() ? int_type(0xfffd) : int_type(__c); } 7770: 7770: static constexpr bool 7770: eq_int_type(const int_type& __c1, const int_type& __c2) noexcept 7770: { return __c1 == __c2; } 7770: 7770: static constexpr int_type 7770: eof() noexcept 7770: { return static_cast(-1); } 7770: 7770: static constexpr int_type 7770: not_eof(const int_type& __c) noexcept 7770: { return eq_int_type(__c, eof()) ? 0 : __c; } 7770: }; 7770: 7770: template<> 7770: struct char_traits 7770: { 7770: typedef char32_t char_type; 7770: typedef uint_least32_t int_type; 7770: typedef streamoff off_type; 7770: typedef u32streampos pos_type; 7770: typedef mbstate_t state_type; 7770: 7770: static constexpr void 7770: assign(char_type& __c1, const char_type& __c2) noexcept 7770: { __c1 = __c2; } 7770: 7770: static constexpr bool 7770: eq(const char_type& __c1, const char_type& __c2) noexcept 7770: { return __c1 == __c2; } 7770: 7770: static constexpr bool 7770: lt(const char_type& __c1, const char_type& __c2) noexcept 7770: { return __c1 < __c2; } 7770: 7770: static constexpr int 7770: compare(const char_type* __s1, const char_type* __s2, size_t __n) 7770: { 7770: for (size_t __i = 0; __i < __n; ++__i) 7770: if (lt(__s1[__i], __s2[__i])) 7770: return -1; 7770: else if (lt(__s2[__i], __s1[__i])) 7770: return 1; 7770: return 0; 7770: } 7770: 7770: static constexpr size_t 7770: length(const char_type* __s) 7770: { 7770: size_t __i = 0; 7770: while (!eq(__s[__i], char_type())) 7770: ++__i; 7770: return __i; 7770: } 7770: 7770: static constexpr const char_type* 7770: find(const char_type* __s, size_t __n, const char_type& __a) 7770: { 7770: for (size_t __i = 0; __i < __n; ++__i) 7770: if (eq(__s[__i], __a)) 7770: return __s + __i; 7770: return 0; 7770: } 7770: 7770: static char_type* 7770: move(char_type* __s1, const char_type* __s2, size_t __n) 7770: { 7770: if (__n == 0) 7770: return __s1; 7770: return (static_cast 7770: (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); 7770: } 7770: 7770: static char_type* 7770: copy(char_type* __s1, const char_type* __s2, size_t __n) 7770: { 7770: if (__n == 0) 7770: return __s1; 7770: return (static_cast 7770: (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); 7770: } 7770: 7770: static char_type* 7770: assign(char_type* __s, size_t __n, char_type __a) 7770: { 7770: for (size_t __i = 0; __i < __n; ++__i) 7770: assign(__s[__i], __a); 7770: return __s; 7770: } 7770: 7770: static constexpr char_type 7770: to_char_type(const int_type& __c) noexcept 7770: { return char_type(__c); } 7770: 7770: static constexpr int_type 7770: to_int_type(const char_type& __c) noexcept 7770: { return int_type(__c); } 7770: 7770: static constexpr bool 7770: eq_int_type(const int_type& __c1, const int_type& __c2) noexcept 7770: { return __c1 == __c2; } 7770: 7770: static constexpr int_type 7770: eof() noexcept 7770: { return static_cast(-1); } 7770: 7770: static constexpr int_type 7770: not_eof(const int_type& __c) noexcept 7770: { return eq_int_type(__c, eof()) ? 0 : __c; } 7770: }; 7770: 7770: 7770: } 7770: # 41 "/usr/include/c++/8/string" 2 3 7770: # 1 "/usr/include/c++/8/bits/allocator.h" 1 3 7770: # 46 "/usr/include/c++/8/bits/allocator.h" 3 7770: # 1 "/usr/include/aarch64-linux-gnu/c++/8/bits/c++allocator.h" 1 3 7770: # 33 "/usr/include/aarch64-linux-gnu/c++/8/bits/c++allocator.h" 3 7770: # 1 "/usr/include/c++/8/ext/new_allocator.h" 1 3 7770: # 40 "/usr/include/c++/8/ext/new_allocator.h" 3 7770: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: using std::size_t; 7770: using std::ptrdiff_t; 7770: # 57 "/usr/include/c++/8/ext/new_allocator.h" 3 7770: template 7770: class new_allocator 7770: { 7770: public: 7770: typedef size_t size_type; 7770: typedef ptrdiff_t difference_type; 7770: typedef _Tp* pointer; 7770: typedef const _Tp* const_pointer; 7770: typedef _Tp& reference; 7770: typedef const _Tp& const_reference; 7770: typedef _Tp value_type; 7770: 7770: template 7770: struct rebind 7770: { typedef new_allocator<_Tp1> other; }; 7770: 7770: 7770: 7770: 7770: typedef std::true_type propagate_on_container_move_assignment; 7770: 7770: 7770: new_allocator() noexcept { } 7770: 7770: new_allocator(const new_allocator&) noexcept { } 7770: 7770: template 7770: new_allocator(const new_allocator<_Tp1>&) noexcept { } 7770: 7770: ~new_allocator() noexcept { } 7770: 7770: pointer 7770: address(reference __x) const noexcept 7770: { return std::__addressof(__x); } 7770: 7770: const_pointer 7770: address(const_reference __x) const noexcept 7770: { return std::__addressof(__x); } 7770: 7770: 7770: 7770: pointer 7770: allocate(size_type __n, const void* = static_cast(0)) 7770: { 7770: if (__n > this->max_size()) 7770: std::__throw_bad_alloc(); 7770: 7770: 7770: if (alignof(_Tp) > 16) 7770: { 7770: std::align_val_t __al = std::align_val_t(alignof(_Tp)); 7770: return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp), __al)); 7770: } 7770: 7770: return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); 7770: } 7770: 7770: 7770: void 7770: deallocate(pointer __p, size_type) 7770: { 7770: 7770: if (alignof(_Tp) > 16) 7770: { 7770: ::operator delete(__p, std::align_val_t(alignof(_Tp))); 7770: return; 7770: } 7770: 7770: ::operator delete(__p); 7770: } 7770: 7770: size_type 7770: max_size() const noexcept 7770: { return size_t(-1) / sizeof(_Tp); } 7770: 7770: 7770: template 7770: void 7770: construct(_Up* __p, _Args&&... __args) 7770: { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } 7770: 7770: template 7770: void 7770: destroy(_Up* __p) { __p->~_Up(); } 7770: # 151 "/usr/include/c++/8/ext/new_allocator.h" 3 7770: }; 7770: 7770: template 7770: inline bool 7770: operator==(const new_allocator<_Tp>&, const new_allocator<_Tp>&) 7770: { return true; } 7770: 7770: template 7770: inline bool 7770: operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&) 7770: { return false; } 7770: 7770: 7770: } 7770: # 34 "/usr/include/aarch64-linux-gnu/c++/8/bits/c++allocator.h" 2 3 7770: 7770: 7770: namespace std 7770: { 7770: # 47 "/usr/include/aarch64-linux-gnu/c++/8/bits/c++allocator.h" 3 7770: template 7770: using __allocator_base = __gnu_cxx::new_allocator<_Tp>; 7770: } 7770: # 47 "/usr/include/c++/8/bits/allocator.h" 2 3 7770: # 57 "/usr/include/c++/8/bits/allocator.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template<> 7770: class allocator 7770: { 7770: public: 7770: typedef size_t size_type; 7770: typedef ptrdiff_t difference_type; 7770: typedef void* pointer; 7770: typedef const void* const_pointer; 7770: typedef void value_type; 7770: 7770: template 7770: struct rebind 7770: { typedef allocator<_Tp1> other; }; 7770: 7770: 7770: 7770: 7770: typedef true_type propagate_on_container_move_assignment; 7770: 7770: typedef true_type is_always_equal; 7770: 7770: template 7770: void 7770: construct(_Up* __p, _Args&&... __args) 7770: { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } 7770: 7770: template 7770: void 7770: destroy(_Up* __p) { __p->~_Up(); } 7770: 7770: }; 7770: # 107 "/usr/include/c++/8/bits/allocator.h" 3 7770: template 7770: class allocator : public __allocator_base<_Tp> 7770: { 7770: public: 7770: typedef size_t size_type; 7770: typedef ptrdiff_t difference_type; 7770: typedef _Tp* pointer; 7770: typedef const _Tp* const_pointer; 7770: typedef _Tp& reference; 7770: typedef const _Tp& const_reference; 7770: typedef _Tp value_type; 7770: 7770: template 7770: struct rebind 7770: { typedef allocator<_Tp1> other; }; 7770: 7770: 7770: 7770: 7770: typedef true_type propagate_on_container_move_assignment; 7770: 7770: typedef true_type is_always_equal; 7770: 7770: 7770: allocator() throw() { } 7770: 7770: allocator(const allocator& __a) throw() 7770: : __allocator_base<_Tp>(__a) { } 7770: 7770: template 7770: allocator(const allocator<_Tp1>&) throw() { } 7770: 7770: ~allocator() throw() { } 7770: 7770: 7770: }; 7770: 7770: template 7770: inline bool 7770: operator==(const allocator<_T1>&, const allocator<_T2>&) 7770: noexcept 7770: { return true; } 7770: 7770: template 7770: inline bool 7770: operator==(const allocator<_Tp>&, const allocator<_Tp>&) 7770: noexcept 7770: { return true; } 7770: 7770: template 7770: inline bool 7770: operator!=(const allocator<_T1>&, const allocator<_T2>&) 7770: noexcept 7770: { return false; } 7770: 7770: template 7770: inline bool 7770: operator!=(const allocator<_Tp>&, const allocator<_Tp>&) 7770: noexcept 7770: { return false; } 7770: 7770: 7770: 7770: template 7770: class allocator 7770: { 7770: public: 7770: typedef _Tp value_type; 7770: template allocator(const allocator<_Up>&) { } 7770: }; 7770: 7770: template 7770: class allocator 7770: { 7770: public: 7770: typedef _Tp value_type; 7770: template allocator(const allocator<_Up>&) { } 7770: }; 7770: 7770: template 7770: class allocator 7770: { 7770: public: 7770: typedef _Tp value_type; 7770: template allocator(const allocator<_Up>&) { } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern template class allocator; 7770: extern template class allocator; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct __alloc_swap 7770: { static void _S_do_it(_Alloc&, _Alloc&) noexcept { } }; 7770: 7770: template 7770: struct __alloc_swap<_Alloc, false> 7770: { 7770: static void 7770: _S_do_it(_Alloc& __one, _Alloc& __two) noexcept 7770: { 7770: 7770: if (__one != __two) 7770: swap(__one, __two); 7770: } 7770: }; 7770: 7770: 7770: template 7770: struct __alloc_neq 7770: { 7770: static bool 7770: _S_do_it(const _Alloc&, const _Alloc&) 7770: { return false; } 7770: }; 7770: 7770: template 7770: struct __alloc_neq<_Alloc, false> 7770: { 7770: static bool 7770: _S_do_it(const _Alloc& __one, const _Alloc& __two) 7770: { return __one != __two; } 7770: }; 7770: 7770: 7770: template, 7770: is_nothrow_move_constructible>::value> 7770: struct __shrink_to_fit_aux 7770: { static bool _S_do_it(_Tp&) noexcept { return false; } }; 7770: 7770: template 7770: struct __shrink_to_fit_aux<_Tp, true> 7770: { 7770: static bool 7770: _S_do_it(_Tp& __c) noexcept 7770: { 7770: # 264 "/usr/include/c++/8/bits/allocator.h" 3 7770: return false; 7770: 7770: } 7770: }; 7770: 7770: 7770: 7770: } 7770: # 42 "/usr/include/c++/8/string" 2 3 7770: 7770: # 1 "/usr/include/c++/8/bits/localefwd.h" 1 3 7770: # 37 "/usr/include/c++/8/bits/localefwd.h" 3 7770: 7770: # 38 "/usr/include/c++/8/bits/localefwd.h" 3 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/c++/8/bits/c++locale.h" 1 3 7770: # 39 "/usr/include/aarch64-linux-gnu/c++/8/bits/c++locale.h" 3 7770: 7770: # 40 "/usr/include/aarch64-linux-gnu/c++/8/bits/c++locale.h" 3 7770: 7770: # 1 "/usr/include/c++/8/clocale" 1 3 7770: # 39 "/usr/include/c++/8/clocale" 3 7770: 7770: # 40 "/usr/include/c++/8/clocale" 3 7770: 7770: 7770: # 1 "/usr/include/locale.h" 1 3 4 7770: # 28 "/usr/include/locale.h" 3 4 7770: # 1 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stddef.h" 1 3 4 7770: # 29 "/usr/include/locale.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/locale.h" 1 3 4 7770: # 30 "/usr/include/locale.h" 2 3 4 7770: 7770: extern "C" { 7770: # 51 "/usr/include/locale.h" 3 4 7770: struct lconv 7770: { 7770: 7770: 7770: char *decimal_point; 7770: char *thousands_sep; 7770: 7770: 7770: 7770: 7770: 7770: char *grouping; 7770: 7770: 7770: 7770: 7770: 7770: char *int_curr_symbol; 7770: char *currency_symbol; 7770: char *mon_decimal_point; 7770: char *mon_thousands_sep; 7770: char *mon_grouping; 7770: char *positive_sign; 7770: char *negative_sign; 7770: char int_frac_digits; 7770: char frac_digits; 7770: 7770: char p_cs_precedes; 7770: 7770: char p_sep_by_space; 7770: 7770: char n_cs_precedes; 7770: 7770: char n_sep_by_space; 7770: 7770: 7770: 7770: 7770: 7770: 7770: char p_sign_posn; 7770: char n_sign_posn; 7770: 7770: 7770: char int_p_cs_precedes; 7770: 7770: char int_p_sep_by_space; 7770: 7770: char int_n_cs_precedes; 7770: 7770: char int_n_sep_by_space; 7770: 7770: 7770: 7770: 7770: 7770: 7770: char int_p_sign_posn; 7770: char int_n_sign_posn; 7770: # 118 "/usr/include/locale.h" 3 4 7770: }; 7770: 7770: 7770: 7770: extern char *setlocale (int __category, const char *__locale) throw (); 7770: 7770: 7770: extern struct lconv *localeconv (void) throw (); 7770: # 141 "/usr/include/locale.h" 3 4 7770: extern locale_t newlocale (int __category_mask, const char *__locale, 7770: locale_t __base) throw (); 7770: # 176 "/usr/include/locale.h" 3 4 7770: extern locale_t duplocale (locale_t __dataset) throw (); 7770: 7770: 7770: 7770: extern void freelocale (locale_t __dataset) throw (); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern locale_t uselocale (locale_t __dataset) throw (); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: } 7770: # 43 "/usr/include/c++/8/clocale" 2 3 7770: # 51 "/usr/include/c++/8/clocale" 3 7770: namespace std 7770: { 7770: using ::lconv; 7770: using ::setlocale; 7770: using ::localeconv; 7770: } 7770: # 42 "/usr/include/aarch64-linux-gnu/c++/8/bits/c++locale.h" 2 3 7770: 7770: 7770: 7770: 7770: 7770: 7770: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: extern "C" __typeof(uselocale) __uselocale; 7770: 7770: 7770: } 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: typedef __locale_t __c_locale; 7770: 7770: 7770: 7770: 7770: 7770: inline int 7770: __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)), 7770: char* __out, 7770: const int __size __attribute__ ((__unused__)), 7770: const char* __fmt, ...) 7770: { 7770: 7770: __c_locale __old = __gnu_cxx::__uselocale(__cloc); 7770: # 88 "/usr/include/aarch64-linux-gnu/c++/8/bits/c++locale.h" 3 7770: __builtin_va_list __args; 7770: __builtin_va_start(__args, __fmt); 7770: 7770: 7770: const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); 7770: 7770: 7770: 7770: 7770: __builtin_va_end(__args); 7770: 7770: 7770: __gnu_cxx::__uselocale(__old); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: return __ret; 7770: } 7770: 7770: 7770: } 7770: # 41 "/usr/include/c++/8/bits/localefwd.h" 2 3 7770: # 1 "/usr/include/c++/8/iosfwd" 1 3 7770: # 36 "/usr/include/c++/8/iosfwd" 3 7770: 7770: # 37 "/usr/include/c++/8/iosfwd" 3 7770: 7770: 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 74 "/usr/include/c++/8/iosfwd" 3 7770: class ios_base; 7770: 7770: template > 7770: class basic_ios; 7770: 7770: template > 7770: class basic_streambuf; 7770: 7770: template > 7770: class basic_istream; 7770: 7770: template > 7770: class basic_ostream; 7770: 7770: template > 7770: class basic_iostream; 7770: 7770: 7770: namespace __cxx11 { 7770: 7770: template, 7770: typename _Alloc = allocator<_CharT> > 7770: class basic_stringbuf; 7770: 7770: template, 7770: typename _Alloc = allocator<_CharT> > 7770: class basic_istringstream; 7770: 7770: template, 7770: typename _Alloc = allocator<_CharT> > 7770: class basic_ostringstream; 7770: 7770: template, 7770: typename _Alloc = allocator<_CharT> > 7770: class basic_stringstream; 7770: 7770: } 7770: 7770: template > 7770: class basic_filebuf; 7770: 7770: template > 7770: class basic_ifstream; 7770: 7770: template > 7770: class basic_ofstream; 7770: 7770: template > 7770: class basic_fstream; 7770: 7770: template > 7770: class istreambuf_iterator; 7770: 7770: template > 7770: class ostreambuf_iterator; 7770: 7770: 7770: 7770: typedef basic_ios ios; 7770: 7770: 7770: typedef basic_streambuf streambuf; 7770: 7770: 7770: typedef basic_istream istream; 7770: 7770: 7770: typedef basic_ostream ostream; 7770: 7770: 7770: typedef basic_iostream iostream; 7770: 7770: 7770: typedef basic_stringbuf stringbuf; 7770: 7770: 7770: typedef basic_istringstream istringstream; 7770: 7770: 7770: typedef basic_ostringstream ostringstream; 7770: 7770: 7770: typedef basic_stringstream stringstream; 7770: 7770: 7770: typedef basic_filebuf filebuf; 7770: 7770: 7770: typedef basic_ifstream ifstream; 7770: 7770: 7770: typedef basic_ofstream ofstream; 7770: 7770: 7770: typedef basic_fstream fstream; 7770: 7770: 7770: 7770: typedef basic_ios wios; 7770: 7770: 7770: typedef basic_streambuf wstreambuf; 7770: 7770: 7770: typedef basic_istream wistream; 7770: 7770: 7770: typedef basic_ostream wostream; 7770: 7770: 7770: typedef basic_iostream wiostream; 7770: 7770: 7770: typedef basic_stringbuf wstringbuf; 7770: 7770: 7770: typedef basic_istringstream wistringstream; 7770: 7770: 7770: typedef basic_ostringstream wostringstream; 7770: 7770: 7770: typedef basic_stringstream wstringstream; 7770: 7770: 7770: typedef basic_filebuf wfilebuf; 7770: 7770: 7770: typedef basic_ifstream wifstream; 7770: 7770: 7770: typedef basic_ofstream wofstream; 7770: 7770: 7770: typedef basic_fstream wfstream; 7770: 7770: 7770: 7770: 7770: } 7770: # 42 "/usr/include/c++/8/bits/localefwd.h" 2 3 7770: # 1 "/usr/include/c++/8/cctype" 1 3 7770: # 39 "/usr/include/c++/8/cctype" 3 7770: 7770: # 40 "/usr/include/c++/8/cctype" 3 7770: 7770: 7770: # 1 "/usr/include/ctype.h" 1 3 4 7770: # 28 "/usr/include/ctype.h" 3 4 7770: extern "C" { 7770: # 46 "/usr/include/ctype.h" 3 4 7770: enum 7770: { 7770: _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), 7770: _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), 7770: _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), 7770: _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), 7770: _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), 7770: _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), 7770: _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), 7770: _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), 7770: _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), 7770: _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), 7770: _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), 7770: _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) 7770: }; 7770: # 79 "/usr/include/ctype.h" 3 4 7770: extern const unsigned short int **__ctype_b_loc (void) 7770: throw () __attribute__ ((__const__)); 7770: extern const __int32_t **__ctype_tolower_loc (void) 7770: throw () __attribute__ ((__const__)); 7770: extern const __int32_t **__ctype_toupper_loc (void) 7770: throw () __attribute__ ((__const__)); 7770: # 108 "/usr/include/ctype.h" 3 4 7770: extern int isalnum (int) throw (); 7770: extern int isalpha (int) throw (); 7770: extern int iscntrl (int) throw (); 7770: extern int isdigit (int) throw (); 7770: extern int islower (int) throw (); 7770: extern int isgraph (int) throw (); 7770: extern int isprint (int) throw (); 7770: extern int ispunct (int) throw (); 7770: extern int isspace (int) throw (); 7770: extern int isupper (int) throw (); 7770: extern int isxdigit (int) throw (); 7770: 7770: 7770: 7770: extern int tolower (int __c) throw (); 7770: 7770: 7770: extern int toupper (int __c) throw (); 7770: 7770: 7770: 7770: 7770: extern int isblank (int) throw (); 7770: 7770: 7770: 7770: 7770: extern int isctype (int __c, int __mask) throw (); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int isascii (int __c) throw (); 7770: 7770: 7770: 7770: extern int toascii (int __c) throw (); 7770: 7770: 7770: 7770: extern int _toupper (int) throw (); 7770: extern int _tolower (int) throw (); 7770: # 251 "/usr/include/ctype.h" 3 4 7770: extern int isalnum_l (int, locale_t) throw (); 7770: extern int isalpha_l (int, locale_t) throw (); 7770: extern int iscntrl_l (int, locale_t) throw (); 7770: extern int isdigit_l (int, locale_t) throw (); 7770: extern int islower_l (int, locale_t) throw (); 7770: extern int isgraph_l (int, locale_t) throw (); 7770: extern int isprint_l (int, locale_t) throw (); 7770: extern int ispunct_l (int, locale_t) throw (); 7770: extern int isspace_l (int, locale_t) throw (); 7770: extern int isupper_l (int, locale_t) throw (); 7770: extern int isxdigit_l (int, locale_t) throw (); 7770: 7770: extern int isblank_l (int, locale_t) throw (); 7770: 7770: 7770: 7770: extern int __tolower_l (int __c, locale_t __l) throw (); 7770: extern int tolower_l (int __c, locale_t __l) throw (); 7770: 7770: 7770: extern int __toupper_l (int __c, locale_t __l) throw (); 7770: extern int toupper_l (int __c, locale_t __l) throw (); 7770: # 327 "/usr/include/ctype.h" 3 4 7770: } 7770: # 43 "/usr/include/c++/8/cctype" 2 3 7770: # 62 "/usr/include/c++/8/cctype" 3 7770: namespace std 7770: { 7770: using ::isalnum; 7770: using ::isalpha; 7770: using ::iscntrl; 7770: using ::isdigit; 7770: using ::isgraph; 7770: using ::islower; 7770: using ::isprint; 7770: using ::ispunct; 7770: using ::isspace; 7770: using ::isupper; 7770: using ::isxdigit; 7770: using ::tolower; 7770: using ::toupper; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: namespace std 7770: { 7770: using ::isblank; 7770: } 7770: # 43 "/usr/include/c++/8/bits/localefwd.h" 2 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 55 "/usr/include/c++/8/bits/localefwd.h" 3 7770: class locale; 7770: 7770: template 7770: bool 7770: has_facet(const locale&) throw(); 7770: 7770: template 7770: const _Facet& 7770: use_facet(const locale&); 7770: 7770: 7770: template 7770: bool 7770: isspace(_CharT, const locale&); 7770: 7770: template 7770: bool 7770: isprint(_CharT, const locale&); 7770: 7770: template 7770: bool 7770: iscntrl(_CharT, const locale&); 7770: 7770: template 7770: bool 7770: isupper(_CharT, const locale&); 7770: 7770: template 7770: bool 7770: islower(_CharT, const locale&); 7770: 7770: template 7770: bool 7770: isalpha(_CharT, const locale&); 7770: 7770: template 7770: bool 7770: isdigit(_CharT, const locale&); 7770: 7770: template 7770: bool 7770: ispunct(_CharT, const locale&); 7770: 7770: template 7770: bool 7770: isxdigit(_CharT, const locale&); 7770: 7770: template 7770: bool 7770: isalnum(_CharT, const locale&); 7770: 7770: template 7770: bool 7770: isgraph(_CharT, const locale&); 7770: 7770: 7770: template 7770: bool 7770: isblank(_CharT, const locale&); 7770: 7770: 7770: template 7770: _CharT 7770: toupper(_CharT, const locale&); 7770: 7770: template 7770: _CharT 7770: tolower(_CharT, const locale&); 7770: 7770: 7770: class ctype_base; 7770: template 7770: class ctype; 7770: template<> class ctype; 7770: 7770: template<> class ctype; 7770: 7770: template 7770: class ctype_byname; 7770: 7770: 7770: class codecvt_base; 7770: template 7770: class codecvt; 7770: template<> class codecvt; 7770: 7770: template<> class codecvt; 7770: 7770: template 7770: class codecvt_byname; 7770: 7770: 7770: 7770: template > 7770: class num_get; 7770: template > 7770: class num_put; 7770: 7770: namespace __cxx11 { 7770: template class numpunct; 7770: template class numpunct_byname; 7770: } 7770: 7770: namespace __cxx11 { 7770: 7770: template 7770: class collate; 7770: template 7770: class collate_byname; 7770: } 7770: 7770: 7770: class time_base; 7770: namespace __cxx11 { 7770: template > 7770: class time_get; 7770: template > 7770: class time_get_byname; 7770: } 7770: template > 7770: class time_put; 7770: template > 7770: class time_put_byname; 7770: 7770: 7770: class money_base; 7770: namespace __cxx11 { 7770: template > 7770: class money_get; 7770: template > 7770: class money_put; 7770: } 7770: namespace __cxx11 { 7770: template 7770: class moneypunct; 7770: template 7770: class moneypunct_byname; 7770: } 7770: 7770: 7770: class messages_base; 7770: namespace __cxx11 { 7770: template 7770: class messages; 7770: template 7770: class messages_byname; 7770: } 7770: 7770: 7770: } 7770: # 44 "/usr/include/c++/8/string" 2 3 7770: # 1 "/usr/include/c++/8/bits/ostream_insert.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/ostream_insert.h" 3 7770: 7770: # 34 "/usr/include/c++/8/bits/ostream_insert.h" 3 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/cxxabi_forced.h" 1 3 7770: # 34 "/usr/include/c++/8/bits/cxxabi_forced.h" 3 7770: 7770: # 35 "/usr/include/c++/8/bits/cxxabi_forced.h" 3 7770: 7770: #pragma GCC visibility push(default) 7770: 7770: 7770: namespace __cxxabiv1 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: class __forced_unwind 7770: { 7770: virtual ~__forced_unwind() throw(); 7770: 7770: 7770: virtual void __pure_dummy() = 0; 7770: }; 7770: } 7770: 7770: 7770: #pragma GCC visibility pop 7770: # 37 "/usr/include/c++/8/bits/ostream_insert.h" 2 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: template 7770: inline void 7770: __ostream_write(basic_ostream<_CharT, _Traits>& __out, 7770: const _CharT* __s, streamsize __n) 7770: { 7770: typedef basic_ostream<_CharT, _Traits> __ostream_type; 7770: typedef typename __ostream_type::ios_base __ios_base; 7770: 7770: const streamsize __put = __out.rdbuf()->sputn(__s, __n); 7770: if (__put != __n) 7770: __out.setstate(__ios_base::badbit); 7770: } 7770: 7770: template 7770: inline void 7770: __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n) 7770: { 7770: typedef basic_ostream<_CharT, _Traits> __ostream_type; 7770: typedef typename __ostream_type::ios_base __ios_base; 7770: 7770: const _CharT __c = __out.fill(); 7770: for (; __n > 0; --__n) 7770: { 7770: const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c); 7770: if (_Traits::eq_int_type(__put, _Traits::eof())) 7770: { 7770: __out.setstate(__ios_base::badbit); 7770: break; 7770: } 7770: } 7770: } 7770: 7770: template 7770: basic_ostream<_CharT, _Traits>& 7770: __ostream_insert(basic_ostream<_CharT, _Traits>& __out, 7770: const _CharT* __s, streamsize __n) 7770: { 7770: typedef basic_ostream<_CharT, _Traits> __ostream_type; 7770: typedef typename __ostream_type::ios_base __ios_base; 7770: 7770: typename __ostream_type::sentry __cerb(__out); 7770: if (__cerb) 7770: { 7770: if (true) 7770: { 7770: const streamsize __w = __out.width(); 7770: if (__w > __n) 7770: { 7770: const bool __left = ((__out.flags() 7770: & __ios_base::adjustfield) 7770: == __ios_base::left); 7770: if (!__left) 7770: __ostream_fill(__out, __w - __n); 7770: if (__out.good()) 7770: __ostream_write(__out, __s, __n); 7770: if (__left && __out.good()) 7770: __ostream_fill(__out, __w - __n); 7770: } 7770: else 7770: __ostream_write(__out, __s, __n); 7770: __out.width(0); 7770: } 7770: if (false) 7770: { 7770: __out._M_setstate(__ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { __out._M_setstate(__ios_base::badbit); } 7770: } 7770: return __out; 7770: } 7770: 7770: 7770: 7770: 7770: extern template ostream& __ostream_insert(ostream&, const char*, streamsize); 7770: 7770: 7770: extern template wostream& __ostream_insert(wostream&, const wchar_t*, 7770: streamsize); 7770: 7770: 7770: 7770: 7770: } 7770: # 45 "/usr/include/c++/8/string" 2 3 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/stl_function.h" 1 3 7770: # 63 "/usr/include/c++/8/bits/stl_function.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 104 "/usr/include/c++/8/bits/stl_function.h" 3 7770: template 7770: struct unary_function 7770: { 7770: 7770: typedef _Arg argument_type; 7770: 7770: 7770: typedef _Result result_type; 7770: }; 7770: 7770: 7770: 7770: 7770: template 7770: struct binary_function 7770: { 7770: 7770: typedef _Arg1 first_argument_type; 7770: 7770: 7770: typedef _Arg2 second_argument_type; 7770: 7770: 7770: typedef _Result result_type; 7770: }; 7770: # 144 "/usr/include/c++/8/bits/stl_function.h" 3 7770: struct __is_transparent; 7770: 7770: template 7770: struct plus; 7770: 7770: template 7770: struct minus; 7770: 7770: template 7770: struct multiplies; 7770: 7770: template 7770: struct divides; 7770: 7770: template 7770: struct modulus; 7770: 7770: template 7770: struct negate; 7770: 7770: 7770: 7770: template 7770: struct plus : public binary_function<_Tp, _Tp, _Tp> 7770: { 7770: constexpr 7770: _Tp 7770: operator()(const _Tp& __x, const _Tp& __y) const 7770: { return __x + __y; } 7770: }; 7770: 7770: 7770: template 7770: struct minus : public binary_function<_Tp, _Tp, _Tp> 7770: { 7770: constexpr 7770: _Tp 7770: operator()(const _Tp& __x, const _Tp& __y) const 7770: { return __x - __y; } 7770: }; 7770: 7770: 7770: template 7770: struct multiplies : public binary_function<_Tp, _Tp, _Tp> 7770: { 7770: constexpr 7770: _Tp 7770: operator()(const _Tp& __x, const _Tp& __y) const 7770: { return __x * __y; } 7770: }; 7770: 7770: 7770: template 7770: struct divides : public binary_function<_Tp, _Tp, _Tp> 7770: { 7770: constexpr 7770: _Tp 7770: operator()(const _Tp& __x, const _Tp& __y) const 7770: { return __x / __y; } 7770: }; 7770: 7770: 7770: template 7770: struct modulus : public binary_function<_Tp, _Tp, _Tp> 7770: { 7770: constexpr 7770: _Tp 7770: operator()(const _Tp& __x, const _Tp& __y) const 7770: { return __x % __y; } 7770: }; 7770: 7770: 7770: template 7770: struct negate : public unary_function<_Tp, _Tp> 7770: { 7770: constexpr 7770: _Tp 7770: operator()(const _Tp& __x) const 7770: { return -__x; } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: template<> 7770: struct plus 7770: { 7770: template 7770: constexpr 7770: auto 7770: operator()(_Tp&& __t, _Up&& __u) const 7770: noexcept(noexcept(std::forward<_Tp>(__t) + std::forward<_Up>(__u))) 7770: -> decltype(std::forward<_Tp>(__t) + std::forward<_Up>(__u)) 7770: { return std::forward<_Tp>(__t) + std::forward<_Up>(__u); } 7770: 7770: typedef __is_transparent is_transparent; 7770: }; 7770: 7770: 7770: template<> 7770: struct minus 7770: { 7770: template 7770: constexpr 7770: auto 7770: operator()(_Tp&& __t, _Up&& __u) const 7770: noexcept(noexcept(std::forward<_Tp>(__t) - std::forward<_Up>(__u))) 7770: -> decltype(std::forward<_Tp>(__t) - std::forward<_Up>(__u)) 7770: { return std::forward<_Tp>(__t) - std::forward<_Up>(__u); } 7770: 7770: typedef __is_transparent is_transparent; 7770: }; 7770: 7770: 7770: template<> 7770: struct multiplies 7770: { 7770: template 7770: constexpr 7770: auto 7770: operator()(_Tp&& __t, _Up&& __u) const 7770: noexcept(noexcept(std::forward<_Tp>(__t) * std::forward<_Up>(__u))) 7770: -> decltype(std::forward<_Tp>(__t) * std::forward<_Up>(__u)) 7770: { return std::forward<_Tp>(__t) * std::forward<_Up>(__u); } 7770: 7770: typedef __is_transparent is_transparent; 7770: }; 7770: 7770: 7770: template<> 7770: struct divides 7770: { 7770: template 7770: constexpr 7770: auto 7770: operator()(_Tp&& __t, _Up&& __u) const 7770: noexcept(noexcept(std::forward<_Tp>(__t) / std::forward<_Up>(__u))) 7770: -> decltype(std::forward<_Tp>(__t) / std::forward<_Up>(__u)) 7770: { return std::forward<_Tp>(__t) / std::forward<_Up>(__u); } 7770: 7770: typedef __is_transparent is_transparent; 7770: }; 7770: 7770: 7770: template<> 7770: struct modulus 7770: { 7770: template 7770: constexpr 7770: auto 7770: operator()(_Tp&& __t, _Up&& __u) const 7770: noexcept(noexcept(std::forward<_Tp>(__t) % std::forward<_Up>(__u))) 7770: -> decltype(std::forward<_Tp>(__t) % std::forward<_Up>(__u)) 7770: { return std::forward<_Tp>(__t) % std::forward<_Up>(__u); } 7770: 7770: typedef __is_transparent is_transparent; 7770: }; 7770: 7770: 7770: template<> 7770: struct negate 7770: { 7770: template 7770: constexpr 7770: auto 7770: operator()(_Tp&& __t) const 7770: noexcept(noexcept(-std::forward<_Tp>(__t))) 7770: -> decltype(-std::forward<_Tp>(__t)) 7770: { return -std::forward<_Tp>(__t); } 7770: 7770: typedef __is_transparent is_transparent; 7770: }; 7770: # 330 "/usr/include/c++/8/bits/stl_function.h" 3 7770: template 7770: struct equal_to; 7770: 7770: template 7770: struct not_equal_to; 7770: 7770: template 7770: struct greater; 7770: 7770: template 7770: struct less; 7770: 7770: template 7770: struct greater_equal; 7770: 7770: template 7770: struct less_equal; 7770: 7770: 7770: 7770: template 7770: struct equal_to : public binary_function<_Tp, _Tp, bool> 7770: { 7770: constexpr 7770: bool 7770: operator()(const _Tp& __x, const _Tp& __y) const 7770: { return __x == __y; } 7770: }; 7770: 7770: 7770: template 7770: struct not_equal_to : public binary_function<_Tp, _Tp, bool> 7770: { 7770: constexpr 7770: bool 7770: operator()(const _Tp& __x, const _Tp& __y) const 7770: { return __x != __y; } 7770: }; 7770: 7770: 7770: template 7770: struct greater : public binary_function<_Tp, _Tp, bool> 7770: { 7770: constexpr 7770: bool 7770: operator()(const _Tp& __x, const _Tp& __y) const 7770: { return __x > __y; } 7770: }; 7770: 7770: 7770: template 7770: struct less : public binary_function<_Tp, _Tp, bool> 7770: { 7770: constexpr 7770: bool 7770: operator()(const _Tp& __x, const _Tp& __y) const 7770: { return __x < __y; } 7770: }; 7770: 7770: 7770: template 7770: struct greater_equal : public binary_function<_Tp, _Tp, bool> 7770: { 7770: constexpr 7770: bool 7770: operator()(const _Tp& __x, const _Tp& __y) const 7770: { return __x >= __y; } 7770: }; 7770: 7770: 7770: template 7770: struct less_equal : public binary_function<_Tp, _Tp, bool> 7770: { 7770: constexpr 7770: bool 7770: operator()(const _Tp& __x, const _Tp& __y) const 7770: { return __x <= __y; } 7770: }; 7770: 7770: 7770: 7770: template<> 7770: struct equal_to 7770: { 7770: template 7770: constexpr 7770: auto 7770: operator()(_Tp&& __t, _Up&& __u) const 7770: noexcept(noexcept(std::forward<_Tp>(__t) == std::forward<_Up>(__u))) 7770: -> decltype(std::forward<_Tp>(__t) == std::forward<_Up>(__u)) 7770: { return std::forward<_Tp>(__t) == std::forward<_Up>(__u); } 7770: 7770: typedef __is_transparent is_transparent; 7770: }; 7770: 7770: 7770: template<> 7770: struct not_equal_to 7770: { 7770: template 7770: constexpr 7770: auto 7770: operator()(_Tp&& __t, _Up&& __u) const 7770: noexcept(noexcept(std::forward<_Tp>(__t) != std::forward<_Up>(__u))) 7770: -> decltype(std::forward<_Tp>(__t) != std::forward<_Up>(__u)) 7770: { return std::forward<_Tp>(__t) != std::forward<_Up>(__u); } 7770: 7770: typedef __is_transparent is_transparent; 7770: }; 7770: 7770: 7770: template<> 7770: struct greater 7770: { 7770: template 7770: constexpr 7770: auto 7770: operator()(_Tp&& __t, _Up&& __u) const 7770: noexcept(noexcept(std::forward<_Tp>(__t) > std::forward<_Up>(__u))) 7770: -> decltype(std::forward<_Tp>(__t) > std::forward<_Up>(__u)) 7770: { return std::forward<_Tp>(__t) > std::forward<_Up>(__u); } 7770: 7770: typedef __is_transparent is_transparent; 7770: }; 7770: 7770: 7770: template<> 7770: struct less 7770: { 7770: template 7770: constexpr 7770: auto 7770: operator()(_Tp&& __t, _Up&& __u) const 7770: noexcept(noexcept(std::forward<_Tp>(__t) < std::forward<_Up>(__u))) 7770: -> decltype(std::forward<_Tp>(__t) < std::forward<_Up>(__u)) 7770: { return std::forward<_Tp>(__t) < std::forward<_Up>(__u); } 7770: 7770: typedef __is_transparent is_transparent; 7770: }; 7770: 7770: 7770: template<> 7770: struct greater_equal 7770: { 7770: template 7770: constexpr 7770: auto 7770: operator()(_Tp&& __t, _Up&& __u) const 7770: noexcept(noexcept(std::forward<_Tp>(__t) >= std::forward<_Up>(__u))) 7770: -> decltype(std::forward<_Tp>(__t) >= std::forward<_Up>(__u)) 7770: { return std::forward<_Tp>(__t) >= std::forward<_Up>(__u); } 7770: 7770: typedef __is_transparent is_transparent; 7770: }; 7770: 7770: 7770: template<> 7770: struct less_equal 7770: { 7770: template 7770: constexpr 7770: auto 7770: operator()(_Tp&& __t, _Up&& __u) const 7770: noexcept(noexcept(std::forward<_Tp>(__t) <= std::forward<_Up>(__u))) 7770: -> decltype(std::forward<_Tp>(__t) <= std::forward<_Up>(__u)) 7770: { return std::forward<_Tp>(__t) <= std::forward<_Up>(__u); } 7770: 7770: typedef __is_transparent is_transparent; 7770: }; 7770: # 512 "/usr/include/c++/8/bits/stl_function.h" 3 7770: template 7770: struct logical_and; 7770: 7770: template 7770: struct logical_or; 7770: 7770: template 7770: struct logical_not; 7770: 7770: 7770: 7770: template 7770: struct logical_and : public binary_function<_Tp, _Tp, bool> 7770: { 7770: constexpr 7770: bool 7770: operator()(const _Tp& __x, const _Tp& __y) const 7770: { return __x && __y; } 7770: }; 7770: 7770: 7770: template 7770: struct logical_or : public binary_function<_Tp, _Tp, bool> 7770: { 7770: constexpr 7770: bool 7770: operator()(const _Tp& __x, const _Tp& __y) const 7770: { return __x || __y; } 7770: }; 7770: 7770: 7770: template 7770: struct logical_not : public unary_function<_Tp, bool> 7770: { 7770: constexpr 7770: bool 7770: operator()(const _Tp& __x) const 7770: { return !__x; } 7770: }; 7770: 7770: 7770: 7770: template<> 7770: struct logical_and 7770: { 7770: template 7770: constexpr 7770: auto 7770: operator()(_Tp&& __t, _Up&& __u) const 7770: noexcept(noexcept(std::forward<_Tp>(__t) && std::forward<_Up>(__u))) 7770: -> decltype(std::forward<_Tp>(__t) && std::forward<_Up>(__u)) 7770: { return std::forward<_Tp>(__t) && std::forward<_Up>(__u); } 7770: 7770: typedef __is_transparent is_transparent; 7770: }; 7770: 7770: 7770: template<> 7770: struct logical_or 7770: { 7770: template 7770: constexpr 7770: auto 7770: operator()(_Tp&& __t, _Up&& __u) const 7770: noexcept(noexcept(std::forward<_Tp>(__t) || std::forward<_Up>(__u))) 7770: -> decltype(std::forward<_Tp>(__t) || std::forward<_Up>(__u)) 7770: { return std::forward<_Tp>(__t) || std::forward<_Up>(__u); } 7770: 7770: typedef __is_transparent is_transparent; 7770: }; 7770: 7770: 7770: template<> 7770: struct logical_not 7770: { 7770: template 7770: constexpr 7770: auto 7770: operator()(_Tp&& __t) const 7770: noexcept(noexcept(!std::forward<_Tp>(__t))) 7770: -> decltype(!std::forward<_Tp>(__t)) 7770: { return !std::forward<_Tp>(__t); } 7770: 7770: typedef __is_transparent is_transparent; 7770: }; 7770: 7770: 7770: 7770: 7770: template 7770: struct bit_and; 7770: 7770: template 7770: struct bit_or; 7770: 7770: template 7770: struct bit_xor; 7770: 7770: template 7770: struct bit_not; 7770: 7770: 7770: 7770: 7770: template 7770: struct bit_and : public binary_function<_Tp, _Tp, _Tp> 7770: { 7770: constexpr 7770: _Tp 7770: operator()(const _Tp& __x, const _Tp& __y) const 7770: { return __x & __y; } 7770: }; 7770: 7770: template 7770: struct bit_or : public binary_function<_Tp, _Tp, _Tp> 7770: { 7770: constexpr 7770: _Tp 7770: operator()(const _Tp& __x, const _Tp& __y) const 7770: { return __x | __y; } 7770: }; 7770: 7770: template 7770: struct bit_xor : public binary_function<_Tp, _Tp, _Tp> 7770: { 7770: constexpr 7770: _Tp 7770: operator()(const _Tp& __x, const _Tp& __y) const 7770: { return __x ^ __y; } 7770: }; 7770: 7770: template 7770: struct bit_not : public unary_function<_Tp, _Tp> 7770: { 7770: constexpr 7770: _Tp 7770: operator()(const _Tp& __x) const 7770: { return ~__x; } 7770: }; 7770: 7770: 7770: template <> 7770: struct bit_and 7770: { 7770: template 7770: constexpr 7770: auto 7770: operator()(_Tp&& __t, _Up&& __u) const 7770: noexcept(noexcept(std::forward<_Tp>(__t) & std::forward<_Up>(__u))) 7770: -> decltype(std::forward<_Tp>(__t) & std::forward<_Up>(__u)) 7770: { return std::forward<_Tp>(__t) & std::forward<_Up>(__u); } 7770: 7770: typedef __is_transparent is_transparent; 7770: }; 7770: 7770: template <> 7770: struct bit_or 7770: { 7770: template 7770: constexpr 7770: auto 7770: operator()(_Tp&& __t, _Up&& __u) const 7770: noexcept(noexcept(std::forward<_Tp>(__t) | std::forward<_Up>(__u))) 7770: -> decltype(std::forward<_Tp>(__t) | std::forward<_Up>(__u)) 7770: { return std::forward<_Tp>(__t) | std::forward<_Up>(__u); } 7770: 7770: typedef __is_transparent is_transparent; 7770: }; 7770: 7770: template <> 7770: struct bit_xor 7770: { 7770: template 7770: constexpr 7770: auto 7770: operator()(_Tp&& __t, _Up&& __u) const 7770: noexcept(noexcept(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u))) 7770: -> decltype(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u)) 7770: { return std::forward<_Tp>(__t) ^ std::forward<_Up>(__u); } 7770: 7770: typedef __is_transparent is_transparent; 7770: }; 7770: 7770: template <> 7770: struct bit_not 7770: { 7770: template 7770: constexpr 7770: auto 7770: operator()(_Tp&& __t) const 7770: noexcept(noexcept(~std::forward<_Tp>(__t))) 7770: -> decltype(~std::forward<_Tp>(__t)) 7770: { return ~std::forward<_Tp>(__t); } 7770: 7770: typedef __is_transparent is_transparent; 7770: }; 7770: # 740 "/usr/include/c++/8/bits/stl_function.h" 3 7770: template 7770: class unary_negate 7770: : public unary_function 7770: { 7770: protected: 7770: _Predicate _M_pred; 7770: 7770: public: 7770: constexpr 7770: explicit 7770: unary_negate(const _Predicate& __x) : _M_pred(__x) { } 7770: 7770: constexpr 7770: bool 7770: operator()(const typename _Predicate::argument_type& __x) const 7770: { return !_M_pred(__x); } 7770: }; 7770: 7770: 7770: template 7770: constexpr 7770: inline unary_negate<_Predicate> 7770: not1(const _Predicate& __pred) 7770: { return unary_negate<_Predicate>(__pred); } 7770: 7770: 7770: template 7770: class binary_negate 7770: : public binary_function 7770: { 7770: protected: 7770: _Predicate _M_pred; 7770: 7770: public: 7770: constexpr 7770: explicit 7770: binary_negate(const _Predicate& __x) : _M_pred(__x) { } 7770: 7770: constexpr 7770: bool 7770: operator()(const typename _Predicate::first_argument_type& __x, 7770: const typename _Predicate::second_argument_type& __y) const 7770: { return !_M_pred(__x, __y); } 7770: }; 7770: 7770: 7770: template 7770: constexpr 7770: inline binary_negate<_Predicate> 7770: not2(const _Predicate& __pred) 7770: { return binary_negate<_Predicate>(__pred); } 7770: # 817 "/usr/include/c++/8/bits/stl_function.h" 3 7770: template 7770: class pointer_to_unary_function : public unary_function<_Arg, _Result> 7770: { 7770: protected: 7770: _Result (*_M_ptr)(_Arg); 7770: 7770: public: 7770: pointer_to_unary_function() { } 7770: 7770: explicit 7770: pointer_to_unary_function(_Result (*__x)(_Arg)) 7770: : _M_ptr(__x) { } 7770: 7770: _Result 7770: operator()(_Arg __x) const 7770: { return _M_ptr(__x); } 7770: }; 7770: 7770: 7770: template 7770: inline pointer_to_unary_function<_Arg, _Result> 7770: ptr_fun(_Result (*__x)(_Arg)) 7770: { return pointer_to_unary_function<_Arg, _Result>(__x); } 7770: 7770: 7770: template 7770: class pointer_to_binary_function 7770: : public binary_function<_Arg1, _Arg2, _Result> 7770: { 7770: protected: 7770: _Result (*_M_ptr)(_Arg1, _Arg2); 7770: 7770: public: 7770: pointer_to_binary_function() { } 7770: 7770: explicit 7770: pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2)) 7770: : _M_ptr(__x) { } 7770: 7770: _Result 7770: operator()(_Arg1 __x, _Arg2 __y) const 7770: { return _M_ptr(__x, __y); } 7770: }; 7770: 7770: 7770: template 7770: inline pointer_to_binary_function<_Arg1, _Arg2, _Result> 7770: ptr_fun(_Result (*__x)(_Arg1, _Arg2)) 7770: { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); } 7770: 7770: 7770: template 7770: struct _Identity 7770: : public unary_function<_Tp, _Tp> 7770: { 7770: _Tp& 7770: operator()(_Tp& __x) const 7770: { return __x; } 7770: 7770: const _Tp& 7770: operator()(const _Tp& __x) const 7770: { return __x; } 7770: }; 7770: 7770: 7770: template struct _Identity : _Identity<_Tp> { }; 7770: 7770: template 7770: struct _Select1st 7770: : public unary_function<_Pair, typename _Pair::first_type> 7770: { 7770: typename _Pair::first_type& 7770: operator()(_Pair& __x) const 7770: { return __x.first; } 7770: 7770: const typename _Pair::first_type& 7770: operator()(const _Pair& __x) const 7770: { return __x.first; } 7770: 7770: 7770: template 7770: typename _Pair2::first_type& 7770: operator()(_Pair2& __x) const 7770: { return __x.first; } 7770: 7770: template 7770: const typename _Pair2::first_type& 7770: operator()(const _Pair2& __x) const 7770: { return __x.first; } 7770: 7770: }; 7770: 7770: template 7770: struct _Select2nd 7770: : public unary_function<_Pair, typename _Pair::second_type> 7770: { 7770: typename _Pair::second_type& 7770: operator()(_Pair& __x) const 7770: { return __x.second; } 7770: 7770: const typename _Pair::second_type& 7770: operator()(const _Pair& __x) const 7770: { return __x.second; } 7770: }; 7770: # 940 "/usr/include/c++/8/bits/stl_function.h" 3 7770: template 7770: class mem_fun_t : public unary_function<_Tp*, _Ret> 7770: { 7770: public: 7770: explicit 7770: mem_fun_t(_Ret (_Tp::*__pf)()) 7770: : _M_f(__pf) { } 7770: 7770: _Ret 7770: operator()(_Tp* __p) const 7770: { return (__p->*_M_f)(); } 7770: 7770: private: 7770: _Ret (_Tp::*_M_f)(); 7770: }; 7770: 7770: 7770: 7770: template 7770: class const_mem_fun_t : public unary_function 7770: { 7770: public: 7770: explicit 7770: const_mem_fun_t(_Ret (_Tp::*__pf)() const) 7770: : _M_f(__pf) { } 7770: 7770: _Ret 7770: operator()(const _Tp* __p) const 7770: { return (__p->*_M_f)(); } 7770: 7770: private: 7770: _Ret (_Tp::*_M_f)() const; 7770: }; 7770: 7770: 7770: 7770: template 7770: class mem_fun_ref_t : public unary_function<_Tp, _Ret> 7770: { 7770: public: 7770: explicit 7770: mem_fun_ref_t(_Ret (_Tp::*__pf)()) 7770: : _M_f(__pf) { } 7770: 7770: _Ret 7770: operator()(_Tp& __r) const 7770: { return (__r.*_M_f)(); } 7770: 7770: private: 7770: _Ret (_Tp::*_M_f)(); 7770: }; 7770: 7770: 7770: 7770: template 7770: class const_mem_fun_ref_t : public unary_function<_Tp, _Ret> 7770: { 7770: public: 7770: explicit 7770: const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const) 7770: : _M_f(__pf) { } 7770: 7770: _Ret 7770: operator()(const _Tp& __r) const 7770: { return (__r.*_M_f)(); } 7770: 7770: private: 7770: _Ret (_Tp::*_M_f)() const; 7770: }; 7770: 7770: 7770: 7770: template 7770: class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret> 7770: { 7770: public: 7770: explicit 7770: mem_fun1_t(_Ret (_Tp::*__pf)(_Arg)) 7770: : _M_f(__pf) { } 7770: 7770: _Ret 7770: operator()(_Tp* __p, _Arg __x) const 7770: { return (__p->*_M_f)(__x); } 7770: 7770: private: 7770: _Ret (_Tp::*_M_f)(_Arg); 7770: }; 7770: 7770: 7770: 7770: template 7770: class const_mem_fun1_t : public binary_function 7770: { 7770: public: 7770: explicit 7770: const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const) 7770: : _M_f(__pf) { } 7770: 7770: _Ret 7770: operator()(const _Tp* __p, _Arg __x) const 7770: { return (__p->*_M_f)(__x); } 7770: 7770: private: 7770: _Ret (_Tp::*_M_f)(_Arg) const; 7770: }; 7770: 7770: 7770: 7770: template 7770: class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> 7770: { 7770: public: 7770: explicit 7770: mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg)) 7770: : _M_f(__pf) { } 7770: 7770: _Ret 7770: operator()(_Tp& __r, _Arg __x) const 7770: { return (__r.*_M_f)(__x); } 7770: 7770: private: 7770: _Ret (_Tp::*_M_f)(_Arg); 7770: }; 7770: 7770: 7770: 7770: template 7770: class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> 7770: { 7770: public: 7770: explicit 7770: const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const) 7770: : _M_f(__pf) { } 7770: 7770: _Ret 7770: operator()(const _Tp& __r, _Arg __x) const 7770: { return (__r.*_M_f)(__x); } 7770: 7770: private: 7770: _Ret (_Tp::*_M_f)(_Arg) const; 7770: }; 7770: 7770: 7770: 7770: template 7770: inline mem_fun_t<_Ret, _Tp> 7770: mem_fun(_Ret (_Tp::*__f)()) 7770: { return mem_fun_t<_Ret, _Tp>(__f); } 7770: 7770: template 7770: inline const_mem_fun_t<_Ret, _Tp> 7770: mem_fun(_Ret (_Tp::*__f)() const) 7770: { return const_mem_fun_t<_Ret, _Tp>(__f); } 7770: 7770: template 7770: inline mem_fun_ref_t<_Ret, _Tp> 7770: mem_fun_ref(_Ret (_Tp::*__f)()) 7770: { return mem_fun_ref_t<_Ret, _Tp>(__f); } 7770: 7770: template 7770: inline const_mem_fun_ref_t<_Ret, _Tp> 7770: mem_fun_ref(_Ret (_Tp::*__f)() const) 7770: { return const_mem_fun_ref_t<_Ret, _Tp>(__f); } 7770: 7770: template 7770: inline mem_fun1_t<_Ret, _Tp, _Arg> 7770: mem_fun(_Ret (_Tp::*__f)(_Arg)) 7770: { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); } 7770: 7770: template 7770: inline const_mem_fun1_t<_Ret, _Tp, _Arg> 7770: mem_fun(_Ret (_Tp::*__f)(_Arg) const) 7770: { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); } 7770: 7770: template 7770: inline mem_fun1_ref_t<_Ret, _Tp, _Arg> 7770: mem_fun_ref(_Ret (_Tp::*__f)(_Arg)) 7770: { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } 7770: 7770: template 7770: inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg> 7770: mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const) 7770: { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } 7770: 7770: 7770: 7770: 7770: } 7770: 7770: 7770: # 1 "/usr/include/c++/8/backward/binders.h" 1 3 7770: # 60 "/usr/include/c++/8/backward/binders.h" 3 7770: #pragma GCC diagnostic push 7770: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 107 "/usr/include/c++/8/backward/binders.h" 3 7770: template 7770: class binder1st 7770: : public unary_function 7770: { 7770: protected: 7770: _Operation op; 7770: typename _Operation::first_argument_type value; 7770: 7770: public: 7770: binder1st(const _Operation& __x, 7770: const typename _Operation::first_argument_type& __y) 7770: : op(__x), value(__y) { } 7770: 7770: typename _Operation::result_type 7770: operator()(const typename _Operation::second_argument_type& __x) const 7770: { return op(value, __x); } 7770: 7770: 7770: 7770: typename _Operation::result_type 7770: operator()(typename _Operation::second_argument_type& __x) const 7770: { return op(value, __x); } 7770: } __attribute__ ((__deprecated__)); 7770: 7770: 7770: template 7770: inline binder1st<_Operation> 7770: bind1st(const _Operation& __fn, const _Tp& __x) 7770: { 7770: typedef typename _Operation::first_argument_type _Arg1_type; 7770: return binder1st<_Operation>(__fn, _Arg1_type(__x)); 7770: } 7770: 7770: 7770: template 7770: class binder2nd 7770: : public unary_function 7770: { 7770: protected: 7770: _Operation op; 7770: typename _Operation::second_argument_type value; 7770: 7770: public: 7770: binder2nd(const _Operation& __x, 7770: const typename _Operation::second_argument_type& __y) 7770: : op(__x), value(__y) { } 7770: 7770: typename _Operation::result_type 7770: operator()(const typename _Operation::first_argument_type& __x) const 7770: { return op(__x, value); } 7770: 7770: 7770: 7770: typename _Operation::result_type 7770: operator()(typename _Operation::first_argument_type& __x) const 7770: { return op(__x, value); } 7770: } __attribute__ ((__deprecated__)); 7770: 7770: 7770: template 7770: inline binder2nd<_Operation> 7770: bind2nd(const _Operation& __fn, const _Tp& __x) 7770: { 7770: typedef typename _Operation::second_argument_type _Arg2_type; 7770: return binder2nd<_Operation>(__fn, _Arg2_type(__x)); 7770: } 7770: 7770: 7770: 7770: } 7770: 7770: #pragma GCC diagnostic pop 7770: # 1131 "/usr/include/c++/8/bits/stl_function.h" 2 3 7770: # 49 "/usr/include/c++/8/string" 2 3 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/range_access.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/range_access.h" 3 7770: 7770: # 34 "/usr/include/c++/8/bits/range_access.h" 3 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr auto 7770: begin(_Container& __cont) -> decltype(__cont.begin()) 7770: { return __cont.begin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr auto 7770: begin(const _Container& __cont) -> decltype(__cont.begin()) 7770: { return __cont.begin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr auto 7770: end(_Container& __cont) -> decltype(__cont.end()) 7770: { return __cont.end(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr auto 7770: end(const _Container& __cont) -> decltype(__cont.end()) 7770: { return __cont.end(); } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr _Tp* 7770: begin(_Tp (&__arr)[_Nm]) 7770: { return __arr; } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr _Tp* 7770: end(_Tp (&__arr)[_Nm]) 7770: { return __arr + _Nm; } 7770: 7770: 7770: 7770: template class valarray; 7770: 7770: template _Tp* begin(valarray<_Tp>&); 7770: template const _Tp* begin(const valarray<_Tp>&); 7770: template _Tp* end(valarray<_Tp>&); 7770: template const _Tp* end(const valarray<_Tp>&); 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr auto 7770: cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont))) 7770: -> decltype(std::begin(__cont)) 7770: { return std::begin(__cont); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr auto 7770: cend(const _Container& __cont) noexcept(noexcept(std::end(__cont))) 7770: -> decltype(std::end(__cont)) 7770: { return std::end(__cont); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr auto 7770: rbegin(_Container& __cont) -> decltype(__cont.rbegin()) 7770: { return __cont.rbegin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr auto 7770: rbegin(const _Container& __cont) -> decltype(__cont.rbegin()) 7770: { return __cont.rbegin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr auto 7770: rend(_Container& __cont) -> decltype(__cont.rend()) 7770: { return __cont.rend(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr auto 7770: rend(const _Container& __cont) -> decltype(__cont.rend()) 7770: { return __cont.rend(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr reverse_iterator<_Tp*> 7770: rbegin(_Tp (&__arr)[_Nm]) 7770: { return reverse_iterator<_Tp*>(__arr + _Nm); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr reverse_iterator<_Tp*> 7770: rend(_Tp (&__arr)[_Nm]) 7770: { return reverse_iterator<_Tp*>(__arr); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr reverse_iterator 7770: rbegin(initializer_list<_Tp> __il) 7770: { return reverse_iterator(__il.end()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr reverse_iterator 7770: rend(initializer_list<_Tp> __il) 7770: { return reverse_iterator(__il.begin()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr auto 7770: crbegin(const _Container& __cont) -> decltype(std::rbegin(__cont)) 7770: { return std::rbegin(__cont); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline constexpr auto 7770: crend(const _Container& __cont) -> decltype(std::rend(__cont)) 7770: { return std::rend(__cont); } 7770: # 240 "/usr/include/c++/8/bits/range_access.h" 3 7770: template 7770: constexpr auto 7770: size(const _Container& __cont) noexcept(noexcept(__cont.size())) 7770: -> decltype(__cont.size()) 7770: { return __cont.size(); } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: constexpr size_t 7770: size(const _Tp (& )[_Nm]) noexcept 7770: { return _Nm; } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: [[nodiscard]] constexpr auto 7770: empty(const _Container& __cont) noexcept(noexcept(__cont.empty())) 7770: -> decltype(__cont.empty()) 7770: { return __cont.empty(); } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: [[nodiscard]] constexpr bool 7770: empty(const _Tp (& )[_Nm]) noexcept 7770: { return false; } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: [[nodiscard]] constexpr bool 7770: empty(initializer_list<_Tp> __il) noexcept 7770: { return __il.size() == 0;} 7770: 7770: 7770: 7770: 7770: 7770: template 7770: constexpr auto 7770: data(_Container& __cont) noexcept(noexcept(__cont.data())) 7770: -> decltype(__cont.data()) 7770: { return __cont.data(); } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: constexpr auto 7770: data(const _Container& __cont) noexcept(noexcept(__cont.data())) 7770: -> decltype(__cont.data()) 7770: { return __cont.data(); } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: constexpr _Tp* 7770: data(_Tp (&__array)[_Nm]) noexcept 7770: { return __array; } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: constexpr const _Tp* 7770: data(initializer_list<_Tp> __il) noexcept 7770: { return __il.begin(); } 7770: 7770: 7770: 7770: 7770: } 7770: # 52 "/usr/include/c++/8/string" 2 3 7770: # 1 "/usr/include/c++/8/bits/basic_string.h" 1 3 7770: # 37 "/usr/include/c++/8/bits/basic_string.h" 3 7770: 7770: # 38 "/usr/include/c++/8/bits/basic_string.h" 3 7770: 7770: # 1 "/usr/include/c++/8/ext/atomicity.h" 1 3 7770: # 32 "/usr/include/c++/8/ext/atomicity.h" 3 7770: 7770: # 33 "/usr/include/c++/8/ext/atomicity.h" 3 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/c++/8/bits/gthr.h" 1 3 7770: # 30 "/usr/include/aarch64-linux-gnu/c++/8/bits/gthr.h" 3 7770: #pragma GCC visibility push(default) 7770: # 148 "/usr/include/aarch64-linux-gnu/c++/8/bits/gthr.h" 3 7770: # 1 "/usr/include/aarch64-linux-gnu/c++/8/bits/gthr-default.h" 1 3 7770: # 35 "/usr/include/aarch64-linux-gnu/c++/8/bits/gthr-default.h" 3 7770: # 1 "/usr/include/pthread.h" 1 3 4 7770: # 23 "/usr/include/pthread.h" 3 4 7770: # 1 "/usr/include/sched.h" 1 3 4 7770: # 29 "/usr/include/sched.h" 3 4 7770: # 1 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stddef.h" 1 3 4 7770: # 30 "/usr/include/sched.h" 2 3 4 7770: # 43 "/usr/include/sched.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/sched.h" 1 3 4 7770: # 75 "/usr/include/aarch64-linux-gnu/bits/sched.h" 3 4 7770: struct sched_param 7770: { 7770: int sched_priority; 7770: }; 7770: 7770: extern "C" { 7770: 7770: 7770: 7770: extern int clone (int (*__fn) (void *__arg), void *__child_stack, 7770: int __flags, void *__arg, ...) throw (); 7770: 7770: 7770: extern int unshare (int __flags) throw (); 7770: 7770: 7770: extern int sched_getcpu (void) throw (); 7770: 7770: 7770: extern int setns (int __fd, int __nstype) throw (); 7770: 7770: 7770: } 7770: # 44 "/usr/include/sched.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/cpu-set.h" 1 3 4 7770: # 32 "/usr/include/aarch64-linux-gnu/bits/cpu-set.h" 3 4 7770: typedef unsigned long int __cpu_mask; 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef struct 7770: { 7770: __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))]; 7770: } cpu_set_t; 7770: # 115 "/usr/include/aarch64-linux-gnu/bits/cpu-set.h" 3 4 7770: extern "C" { 7770: 7770: extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp) 7770: throw (); 7770: extern cpu_set_t *__sched_cpualloc (size_t __count) throw () __attribute__ ((__warn_unused_result__)); 7770: extern void __sched_cpufree (cpu_set_t *__set) throw (); 7770: 7770: } 7770: # 45 "/usr/include/sched.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern "C" { 7770: 7770: 7770: extern int sched_setparam (__pid_t __pid, const struct sched_param *__param) 7770: throw (); 7770: 7770: 7770: extern int sched_getparam (__pid_t __pid, struct sched_param *__param) throw (); 7770: 7770: 7770: extern int sched_setscheduler (__pid_t __pid, int __policy, 7770: const struct sched_param *__param) throw (); 7770: 7770: 7770: extern int sched_getscheduler (__pid_t __pid) throw (); 7770: 7770: 7770: extern int sched_yield (void) throw (); 7770: 7770: 7770: extern int sched_get_priority_max (int __algorithm) throw (); 7770: 7770: 7770: extern int sched_get_priority_min (int __algorithm) throw (); 7770: 7770: 7770: extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) throw (); 7770: # 121 "/usr/include/sched.h" 3 4 7770: extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize, 7770: const cpu_set_t *__cpuset) throw (); 7770: 7770: 7770: extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize, 7770: cpu_set_t *__cpuset) throw (); 7770: 7770: 7770: } 7770: # 24 "/usr/include/pthread.h" 2 3 4 7770: # 1 "/usr/include/time.h" 1 3 4 7770: # 29 "/usr/include/time.h" 3 4 7770: # 1 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stddef.h" 1 3 4 7770: # 30 "/usr/include/time.h" 2 3 4 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/time.h" 1 3 4 7770: # 73 "/usr/include/aarch64-linux-gnu/bits/time.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/timex.h" 1 3 4 7770: # 26 "/usr/include/aarch64-linux-gnu/bits/timex.h" 3 4 7770: struct timex 7770: { 7770: unsigned int modes; 7770: __syscall_slong_t offset; 7770: __syscall_slong_t freq; 7770: __syscall_slong_t maxerror; 7770: __syscall_slong_t esterror; 7770: int status; 7770: __syscall_slong_t constant; 7770: __syscall_slong_t precision; 7770: __syscall_slong_t tolerance; 7770: struct timeval time; 7770: __syscall_slong_t tick; 7770: __syscall_slong_t ppsfreq; 7770: __syscall_slong_t jitter; 7770: int shift; 7770: __syscall_slong_t stabil; 7770: __syscall_slong_t jitcnt; 7770: __syscall_slong_t calcnt; 7770: __syscall_slong_t errcnt; 7770: __syscall_slong_t stbcnt; 7770: 7770: int tai; 7770: 7770: 7770: int :32; int :32; int :32; int :32; 7770: int :32; int :32; int :32; int :32; 7770: int :32; int :32; int :32; 7770: }; 7770: # 74 "/usr/include/aarch64-linux-gnu/bits/time.h" 2 3 4 7770: 7770: extern "C" { 7770: 7770: 7770: extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) throw (); 7770: 7770: } 7770: # 34 "/usr/include/time.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/types/struct_tm.h" 1 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: struct tm 7770: { 7770: int tm_sec; 7770: int tm_min; 7770: int tm_hour; 7770: int tm_mday; 7770: int tm_mon; 7770: int tm_year; 7770: int tm_wday; 7770: int tm_yday; 7770: int tm_isdst; 7770: 7770: 7770: long int tm_gmtoff; 7770: const char *tm_zone; 7770: 7770: 7770: 7770: 7770: }; 7770: # 40 "/usr/include/time.h" 2 3 4 7770: # 48 "/usr/include/time.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h" 1 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: struct itimerspec 7770: { 7770: struct timespec it_interval; 7770: struct timespec it_value; 7770: }; 7770: # 49 "/usr/include/time.h" 2 3 4 7770: struct sigevent; 7770: # 68 "/usr/include/time.h" 3 4 7770: extern "C" { 7770: 7770: 7770: 7770: extern clock_t clock (void) throw (); 7770: 7770: 7770: extern time_t time (time_t *__timer) throw (); 7770: 7770: 7770: extern double difftime (time_t __time1, time_t __time0) 7770: throw () __attribute__ ((__const__)); 7770: 7770: 7770: extern time_t mktime (struct tm *__tp) throw (); 7770: 7770: 7770: 7770: 7770: 7770: extern size_t strftime (char *__restrict __s, size_t __maxsize, 7770: const char *__restrict __format, 7770: const struct tm *__restrict __tp) throw (); 7770: 7770: 7770: 7770: 7770: extern char *strptime (const char *__restrict __s, 7770: const char *__restrict __fmt, struct tm *__tp) 7770: throw (); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern size_t strftime_l (char *__restrict __s, size_t __maxsize, 7770: const char *__restrict __format, 7770: const struct tm *__restrict __tp, 7770: locale_t __loc) throw (); 7770: 7770: 7770: 7770: extern char *strptime_l (const char *__restrict __s, 7770: const char *__restrict __fmt, struct tm *__tp, 7770: locale_t __loc) throw (); 7770: 7770: 7770: 7770: 7770: 7770: extern struct tm *gmtime (const time_t *__timer) throw (); 7770: 7770: 7770: 7770: extern struct tm *localtime (const time_t *__timer) throw (); 7770: 7770: 7770: 7770: 7770: extern struct tm *gmtime_r (const time_t *__restrict __timer, 7770: struct tm *__restrict __tp) throw (); 7770: 7770: 7770: 7770: extern struct tm *localtime_r (const time_t *__restrict __timer, 7770: struct tm *__restrict __tp) throw (); 7770: 7770: 7770: 7770: 7770: extern char *asctime (const struct tm *__tp) throw (); 7770: 7770: 7770: extern char *ctime (const time_t *__timer) throw (); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern char *asctime_r (const struct tm *__restrict __tp, 7770: char *__restrict __buf) throw (); 7770: 7770: 7770: extern char *ctime_r (const time_t *__restrict __timer, 7770: char *__restrict __buf) throw (); 7770: 7770: 7770: 7770: 7770: extern char *__tzname[2]; 7770: extern int __daylight; 7770: extern long int __timezone; 7770: 7770: 7770: 7770: 7770: extern char *tzname[2]; 7770: 7770: 7770: 7770: extern void tzset (void) throw (); 7770: 7770: 7770: 7770: extern int daylight; 7770: extern long int timezone; 7770: 7770: 7770: 7770: 7770: 7770: extern int stime (const time_t *__when) throw (); 7770: # 196 "/usr/include/time.h" 3 4 7770: extern time_t timegm (struct tm *__tp) throw (); 7770: 7770: 7770: extern time_t timelocal (struct tm *__tp) throw (); 7770: 7770: 7770: extern int dysize (int __year) throw () __attribute__ ((__const__)); 7770: # 211 "/usr/include/time.h" 3 4 7770: extern int nanosleep (const struct timespec *__requested_time, 7770: struct timespec *__remaining); 7770: 7770: 7770: 7770: extern int clock_getres (clockid_t __clock_id, struct timespec *__res) throw (); 7770: 7770: 7770: extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) throw (); 7770: 7770: 7770: extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp) 7770: throw (); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int clock_nanosleep (clockid_t __clock_id, int __flags, 7770: const struct timespec *__req, 7770: struct timespec *__rem); 7770: 7770: 7770: extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) throw (); 7770: 7770: 7770: 7770: 7770: extern int timer_create (clockid_t __clock_id, 7770: struct sigevent *__restrict __evp, 7770: timer_t *__restrict __timerid) throw (); 7770: 7770: 7770: extern int timer_delete (timer_t __timerid) throw (); 7770: 7770: 7770: extern int timer_settime (timer_t __timerid, int __flags, 7770: const struct itimerspec *__restrict __value, 7770: struct itimerspec *__restrict __ovalue) throw (); 7770: 7770: 7770: extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) 7770: throw (); 7770: 7770: 7770: extern int timer_getoverrun (timer_t __timerid) throw (); 7770: 7770: 7770: 7770: 7770: 7770: extern int timespec_get (struct timespec *__ts, int __base) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: # 280 "/usr/include/time.h" 3 4 7770: extern int getdate_err; 7770: # 289 "/usr/include/time.h" 3 4 7770: extern struct tm *getdate (const char *__string); 7770: # 303 "/usr/include/time.h" 3 4 7770: extern int getdate_r (const char *__restrict __string, 7770: struct tm *__restrict __resbufp); 7770: 7770: 7770: } 7770: # 25 "/usr/include/pthread.h" 2 3 4 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/setjmp.h" 1 3 4 7770: # 30 "/usr/include/aarch64-linux-gnu/bits/setjmp.h" 3 4 7770: __extension__ typedef unsigned long long __jmp_buf [22]; 7770: # 28 "/usr/include/pthread.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/wordsize.h" 1 3 4 7770: # 29 "/usr/include/pthread.h" 2 3 4 7770: 7770: 7770: 7770: 7770: enum 7770: { 7770: PTHREAD_CREATE_JOINABLE, 7770: 7770: PTHREAD_CREATE_DETACHED 7770: 7770: }; 7770: 7770: 7770: 7770: enum 7770: { 7770: PTHREAD_MUTEX_TIMED_NP, 7770: PTHREAD_MUTEX_RECURSIVE_NP, 7770: PTHREAD_MUTEX_ERRORCHECK_NP, 7770: PTHREAD_MUTEX_ADAPTIVE_NP 7770: 7770: , 7770: PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP, 7770: PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP, 7770: PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP, 7770: PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL 7770: 7770: 7770: 7770: , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP 7770: 7770: }; 7770: 7770: 7770: 7770: 7770: enum 7770: { 7770: PTHREAD_MUTEX_STALLED, 7770: PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED, 7770: PTHREAD_MUTEX_ROBUST, 7770: PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: enum 7770: { 7770: PTHREAD_PRIO_NONE, 7770: PTHREAD_PRIO_INHERIT, 7770: PTHREAD_PRIO_PROTECT 7770: }; 7770: # 115 "/usr/include/pthread.h" 3 4 7770: enum 7770: { 7770: PTHREAD_RWLOCK_PREFER_READER_NP, 7770: PTHREAD_RWLOCK_PREFER_WRITER_NP, 7770: PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, 7770: PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP 7770: }; 7770: # 156 "/usr/include/pthread.h" 3 4 7770: enum 7770: { 7770: PTHREAD_INHERIT_SCHED, 7770: 7770: PTHREAD_EXPLICIT_SCHED 7770: 7770: }; 7770: 7770: 7770: 7770: enum 7770: { 7770: PTHREAD_SCOPE_SYSTEM, 7770: 7770: PTHREAD_SCOPE_PROCESS 7770: 7770: }; 7770: 7770: 7770: 7770: enum 7770: { 7770: PTHREAD_PROCESS_PRIVATE, 7770: 7770: PTHREAD_PROCESS_SHARED 7770: 7770: }; 7770: # 191 "/usr/include/pthread.h" 3 4 7770: struct _pthread_cleanup_buffer 7770: { 7770: void (*__routine) (void *); 7770: void *__arg; 7770: int __canceltype; 7770: struct _pthread_cleanup_buffer *__prev; 7770: }; 7770: 7770: 7770: enum 7770: { 7770: PTHREAD_CANCEL_ENABLE, 7770: 7770: PTHREAD_CANCEL_DISABLE 7770: 7770: }; 7770: enum 7770: { 7770: PTHREAD_CANCEL_DEFERRED, 7770: 7770: PTHREAD_CANCEL_ASYNCHRONOUS 7770: 7770: }; 7770: # 229 "/usr/include/pthread.h" 3 4 7770: extern "C" { 7770: 7770: 7770: 7770: 7770: extern int pthread_create (pthread_t *__restrict __newthread, 7770: const pthread_attr_t *__restrict __attr, 7770: void *(*__start_routine) (void *), 7770: void *__restrict __arg) throw () __attribute__ ((__nonnull__ (1, 3))); 7770: 7770: 7770: 7770: 7770: 7770: extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__)); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int pthread_join (pthread_t __th, void **__thread_return); 7770: 7770: 7770: 7770: 7770: extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) throw (); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return, 7770: const struct timespec *__abstime); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int pthread_detach (pthread_t __th) throw (); 7770: 7770: 7770: 7770: extern pthread_t pthread_self (void) throw () __attribute__ ((__const__)); 7770: 7770: 7770: extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) 7770: throw () __attribute__ ((__const__)); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int pthread_attr_init (pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_attr_destroy (pthread_attr_t *__attr) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr, 7770: int *__detachstate) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int pthread_attr_setdetachstate (pthread_attr_t *__attr, 7770: int __detachstate) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: extern int pthread_attr_getguardsize (const pthread_attr_t *__attr, 7770: size_t *__guardsize) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int pthread_attr_setguardsize (pthread_attr_t *__attr, 7770: size_t __guardsize) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr, 7770: struct sched_param *__restrict __param) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr, 7770: const struct sched_param *__restrict 7770: __param) throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict 7770: __attr, int *__restrict __policy) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict 7770: __attr, int *__restrict __inherit) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int pthread_attr_setinheritsched (pthread_attr_t *__attr, 7770: int __inherit) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr, 7770: int *__restrict __scope) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict 7770: __attr, void **__restrict __stackaddr) 7770: throw () __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__)); 7770: 7770: 7770: 7770: 7770: 7770: extern int pthread_attr_setstackaddr (pthread_attr_t *__attr, 7770: void *__stackaddr) 7770: throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)); 7770: 7770: 7770: extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict 7770: __attr, size_t *__restrict __stacksize) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: 7770: 7770: extern int pthread_attr_setstacksize (pthread_attr_t *__attr, 7770: size_t __stacksize) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr, 7770: void **__restrict __stackaddr, 7770: size_t *__restrict __stacksize) 7770: throw () __attribute__ ((__nonnull__ (1, 2, 3))); 7770: 7770: 7770: 7770: 7770: extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr, 7770: size_t __stacksize) throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: 7770: 7770: extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr, 7770: size_t __cpusetsize, 7770: const cpu_set_t *__cpuset) 7770: throw () __attribute__ ((__nonnull__ (1, 3))); 7770: 7770: 7770: 7770: extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr, 7770: size_t __cpusetsize, 7770: cpu_set_t *__cpuset) 7770: throw () __attribute__ ((__nonnull__ (1, 3))); 7770: 7770: 7770: extern int pthread_getattr_default_np (pthread_attr_t *__attr) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: extern int pthread_setattr_default_np (const pthread_attr_t *__attr) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: 7770: extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr) 7770: throw () __attribute__ ((__nonnull__ (2))); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int pthread_setschedparam (pthread_t __target_thread, int __policy, 7770: const struct sched_param *__param) 7770: throw () __attribute__ ((__nonnull__ (3))); 7770: 7770: 7770: extern int pthread_getschedparam (pthread_t __target_thread, 7770: int *__restrict __policy, 7770: struct sched_param *__restrict __param) 7770: throw () __attribute__ ((__nonnull__ (2, 3))); 7770: 7770: 7770: extern int pthread_setschedprio (pthread_t __target_thread, int __prio) 7770: throw (); 7770: 7770: 7770: 7770: 7770: extern int pthread_getname_np (pthread_t __target_thread, char *__buf, 7770: size_t __buflen) 7770: throw () __attribute__ ((__nonnull__ (2))); 7770: 7770: 7770: extern int pthread_setname_np (pthread_t __target_thread, const char *__name) 7770: throw () __attribute__ ((__nonnull__ (2))); 7770: 7770: 7770: 7770: 7770: 7770: extern int pthread_getconcurrency (void) throw (); 7770: 7770: 7770: extern int pthread_setconcurrency (int __level) throw (); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int pthread_yield (void) throw (); 7770: 7770: 7770: 7770: 7770: extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize, 7770: const cpu_set_t *__cpuset) 7770: throw () __attribute__ ((__nonnull__ (3))); 7770: 7770: 7770: extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize, 7770: cpu_set_t *__cpuset) 7770: throw () __attribute__ ((__nonnull__ (3))); 7770: # 495 "/usr/include/pthread.h" 3 4 7770: extern int pthread_once (pthread_once_t *__once_control, 7770: void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2))); 7770: # 507 "/usr/include/pthread.h" 3 4 7770: extern int pthread_setcancelstate (int __state, int *__oldstate); 7770: 7770: 7770: 7770: extern int pthread_setcanceltype (int __type, int *__oldtype); 7770: 7770: 7770: extern int pthread_cancel (pthread_t __th); 7770: 7770: 7770: 7770: 7770: extern void pthread_testcancel (void); 7770: 7770: 7770: 7770: 7770: typedef struct 7770: { 7770: struct 7770: { 7770: __jmp_buf __cancel_jmp_buf; 7770: int __mask_was_saved; 7770: } __cancel_jmp_buf[1]; 7770: void *__pad[4]; 7770: } __pthread_unwind_buf_t __attribute__ ((__aligned__)); 7770: # 541 "/usr/include/pthread.h" 3 4 7770: struct __pthread_cleanup_frame 7770: { 7770: void (*__cancel_routine) (void *); 7770: void *__cancel_arg; 7770: int __do_it; 7770: int __cancel_type; 7770: }; 7770: # 681 "/usr/include/pthread.h" 3 4 7770: extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf) 7770: ; 7770: # 693 "/usr/include/pthread.h" 3 4 7770: extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf) 7770: ; 7770: # 716 "/usr/include/pthread.h" 3 4 7770: extern void __pthread_register_cancel_defer (__pthread_unwind_buf_t *__buf) 7770: ; 7770: # 729 "/usr/include/pthread.h" 3 4 7770: extern void __pthread_unregister_cancel_restore (__pthread_unwind_buf_t *__buf) 7770: ; 7770: 7770: 7770: 7770: extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf) 7770: __attribute__ ((__noreturn__)) 7770: 7770: __attribute__ ((__weak__)) 7770: 7770: ; 7770: 7770: 7770: 7770: struct __jmp_buf_tag; 7770: extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) throw (); 7770: 7770: 7770: 7770: 7770: 7770: extern int pthread_mutex_init (pthread_mutex_t *__mutex, 7770: const pthread_mutexattr_t *__mutexattr) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_mutex_lock (pthread_mutex_t *__mutex) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex, 7770: const struct timespec *__restrict 7770: __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: 7770: extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: extern int pthread_mutex_getprioceiling (const pthread_mutex_t * 7770: __restrict __mutex, 7770: int *__restrict __prioceiling) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: 7770: extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex, 7770: int __prioceiling, 7770: int *__restrict __old_ceiling) 7770: throw () __attribute__ ((__nonnull__ (1, 3))); 7770: 7770: 7770: 7770: 7770: extern int pthread_mutex_consistent (pthread_mutex_t *__mutex) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: # 807 "/usr/include/pthread.h" 3 4 7770: extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t * 7770: __restrict __attr, 7770: int *__restrict __pshared) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, 7770: int __pshared) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict 7770: __attr, int *__restrict __kind) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: 7770: 7770: extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t * 7770: __restrict __attr, 7770: int *__restrict __protocol) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: 7770: extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr, 7770: int __protocol) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t * 7770: __restrict __attr, 7770: int *__restrict __prioceiling) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr, 7770: int __prioceiling) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr, 7770: int *__robustness) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: extern int pthread_mutexattr_getrobust_np (const pthread_mutexattr_t *__attr, 7770: int *__robustness) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: 7770: extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr, 7770: int __robustness) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr, 7770: int __robustness) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: # 889 "/usr/include/pthread.h" 3 4 7770: extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock, 7770: const pthread_rwlockattr_t *__restrict 7770: __attr) throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, 7770: const struct timespec *__restrict 7770: __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: 7770: extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, 7770: const struct timespec *__restrict 7770: __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: 7770: extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: 7770: 7770: extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t * 7770: __restrict __attr, 7770: int *__restrict __pshared) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, 7770: int __pshared) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t * 7770: __restrict __attr, 7770: int *__restrict __pref) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr, 7770: int __pref) throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int pthread_cond_init (pthread_cond_t *__restrict __cond, 7770: const pthread_condattr_t *__restrict __cond_attr) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_cond_destroy (pthread_cond_t *__cond) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_cond_signal (pthread_cond_t *__cond) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_cond_broadcast (pthread_cond_t *__cond) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int pthread_cond_wait (pthread_cond_t *__restrict __cond, 7770: pthread_mutex_t *__restrict __mutex) 7770: __attribute__ ((__nonnull__ (1, 2))); 7770: # 1001 "/usr/include/pthread.h" 3 4 7770: extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, 7770: pthread_mutex_t *__restrict __mutex, 7770: const struct timespec *__restrict __abstime) 7770: __attribute__ ((__nonnull__ (1, 2, 3))); 7770: 7770: 7770: 7770: 7770: extern int pthread_condattr_init (pthread_condattr_t *__attr) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_condattr_destroy (pthread_condattr_t *__attr) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_condattr_getpshared (const pthread_condattr_t * 7770: __restrict __attr, 7770: int *__restrict __pshared) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int pthread_condattr_setpshared (pthread_condattr_t *__attr, 7770: int __pshared) throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: extern int pthread_condattr_getclock (const pthread_condattr_t * 7770: __restrict __attr, 7770: __clockid_t *__restrict __clock_id) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int pthread_condattr_setclock (pthread_condattr_t *__attr, 7770: __clockid_t __clock_id) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: # 1045 "/usr/include/pthread.h" 3 4 7770: extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_spin_destroy (pthread_spinlock_t *__lock) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_spin_lock (pthread_spinlock_t *__lock) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_spin_trylock (pthread_spinlock_t *__lock) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_spin_unlock (pthread_spinlock_t *__lock) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier, 7770: const pthread_barrierattr_t *__restrict 7770: __attr, unsigned int __count) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_barrier_wait (pthread_barrier_t *__barrier) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: 7770: extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t * 7770: __restrict __attr, 7770: int *__restrict __pshared) 7770: throw () __attribute__ ((__nonnull__ (1, 2))); 7770: 7770: 7770: extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, 7770: int __pshared) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: # 1112 "/usr/include/pthread.h" 3 4 7770: extern int pthread_key_create (pthread_key_t *__key, 7770: void (*__destr_function) (void *)) 7770: throw () __attribute__ ((__nonnull__ (1))); 7770: 7770: 7770: extern int pthread_key_delete (pthread_key_t __key) throw (); 7770: 7770: 7770: extern void *pthread_getspecific (pthread_key_t __key) throw (); 7770: 7770: 7770: extern int pthread_setspecific (pthread_key_t __key, 7770: const void *__pointer) throw () ; 7770: 7770: 7770: 7770: 7770: extern int pthread_getcpuclockid (pthread_t __thread_id, 7770: __clockid_t *__clock_id) 7770: throw () __attribute__ ((__nonnull__ (2))); 7770: # 1146 "/usr/include/pthread.h" 3 4 7770: extern int pthread_atfork (void (*__prepare) (void), 7770: void (*__parent) (void), 7770: void (*__child) (void)) throw (); 7770: 7770: 7770: 7770: 7770: extern __inline __attribute__ ((__gnu_inline__)) int 7770: __attribute__ ((__leaf__)) pthread_equal (pthread_t __thread1, pthread_t __thread2) throw () 7770: { 7770: return __thread1 == __thread2; 7770: } 7770: 7770: 7770: } 7770: # 36 "/usr/include/aarch64-linux-gnu/c++/8/bits/gthr-default.h" 2 3 7770: # 47 "/usr/include/aarch64-linux-gnu/c++/8/bits/gthr-default.h" 3 7770: typedef pthread_t __gthread_t; 7770: typedef pthread_key_t __gthread_key_t; 7770: typedef pthread_once_t __gthread_once_t; 7770: typedef pthread_mutex_t __gthread_mutex_t; 7770: typedef pthread_mutex_t __gthread_recursive_mutex_t; 7770: typedef pthread_cond_t __gthread_cond_t; 7770: typedef struct timespec __gthread_time_t; 7770: # 101 "/usr/include/aarch64-linux-gnu/c++/8/bits/gthr-default.h" 3 7770: static __typeof(pthread_once) __gthrw_pthread_once __attribute__ ((__weakref__("pthread_once"))); 7770: static __typeof(pthread_getspecific) __gthrw_pthread_getspecific __attribute__ ((__weakref__("pthread_getspecific"))); 7770: static __typeof(pthread_setspecific) __gthrw_pthread_setspecific __attribute__ ((__weakref__("pthread_setspecific"))); 7770: 7770: static __typeof(pthread_create) __gthrw_pthread_create __attribute__ ((__weakref__("pthread_create"))); 7770: static __typeof(pthread_join) __gthrw_pthread_join __attribute__ ((__weakref__("pthread_join"))); 7770: static __typeof(pthread_equal) __gthrw_pthread_equal __attribute__ ((__weakref__("pthread_equal"))); 7770: static __typeof(pthread_self) __gthrw_pthread_self __attribute__ ((__weakref__("pthread_self"))); 7770: static __typeof(pthread_detach) __gthrw_pthread_detach __attribute__ ((__weakref__("pthread_detach"))); 7770: 7770: static __typeof(pthread_cancel) __gthrw_pthread_cancel __attribute__ ((__weakref__("pthread_cancel"))); 7770: 7770: static __typeof(sched_yield) __gthrw_sched_yield __attribute__ ((__weakref__("sched_yield"))); 7770: 7770: static __typeof(pthread_mutex_lock) __gthrw_pthread_mutex_lock __attribute__ ((__weakref__("pthread_mutex_lock"))); 7770: static __typeof(pthread_mutex_trylock) __gthrw_pthread_mutex_trylock __attribute__ ((__weakref__("pthread_mutex_trylock"))); 7770: 7770: static __typeof(pthread_mutex_timedlock) __gthrw_pthread_mutex_timedlock __attribute__ ((__weakref__("pthread_mutex_timedlock"))); 7770: 7770: static __typeof(pthread_mutex_unlock) __gthrw_pthread_mutex_unlock __attribute__ ((__weakref__("pthread_mutex_unlock"))); 7770: static __typeof(pthread_mutex_init) __gthrw_pthread_mutex_init __attribute__ ((__weakref__("pthread_mutex_init"))); 7770: static __typeof(pthread_mutex_destroy) __gthrw_pthread_mutex_destroy __attribute__ ((__weakref__("pthread_mutex_destroy"))); 7770: 7770: static __typeof(pthread_cond_init) __gthrw_pthread_cond_init __attribute__ ((__weakref__("pthread_cond_init"))); 7770: static __typeof(pthread_cond_broadcast) __gthrw_pthread_cond_broadcast __attribute__ ((__weakref__("pthread_cond_broadcast"))); 7770: static __typeof(pthread_cond_signal) __gthrw_pthread_cond_signal __attribute__ ((__weakref__("pthread_cond_signal"))); 7770: static __typeof(pthread_cond_wait) __gthrw_pthread_cond_wait __attribute__ ((__weakref__("pthread_cond_wait"))); 7770: static __typeof(pthread_cond_timedwait) __gthrw_pthread_cond_timedwait __attribute__ ((__weakref__("pthread_cond_timedwait"))); 7770: static __typeof(pthread_cond_destroy) __gthrw_pthread_cond_destroy __attribute__ ((__weakref__("pthread_cond_destroy"))); 7770: 7770: static __typeof(pthread_key_create) __gthrw_pthread_key_create __attribute__ ((__weakref__("pthread_key_create"))); 7770: static __typeof(pthread_key_delete) __gthrw_pthread_key_delete __attribute__ ((__weakref__("pthread_key_delete"))); 7770: static __typeof(pthread_mutexattr_init) __gthrw_pthread_mutexattr_init __attribute__ ((__weakref__("pthread_mutexattr_init"))); 7770: static __typeof(pthread_mutexattr_settype) __gthrw_pthread_mutexattr_settype __attribute__ ((__weakref__("pthread_mutexattr_settype"))); 7770: static __typeof(pthread_mutexattr_destroy) __gthrw_pthread_mutexattr_destroy __attribute__ ((__weakref__("pthread_mutexattr_destroy"))); 7770: # 236 "/usr/include/aarch64-linux-gnu/c++/8/bits/gthr-default.h" 3 7770: static __typeof(pthread_key_create) __gthrw___pthread_key_create __attribute__ ((__weakref__("__pthread_key_create"))); 7770: # 246 "/usr/include/aarch64-linux-gnu/c++/8/bits/gthr-default.h" 3 7770: static inline int 7770: __gthread_active_p (void) 7770: { 7770: static void *const __gthread_active_ptr 7770: = __extension__ (void *) &__gthrw___pthread_key_create; 7770: return __gthread_active_ptr != 0; 7770: } 7770: # 658 "/usr/include/aarch64-linux-gnu/c++/8/bits/gthr-default.h" 3 7770: static inline int 7770: __gthread_create (__gthread_t *__threadid, void *(*__func) (void*), 7770: void *__args) 7770: { 7770: return __gthrw_pthread_create (__threadid, __null, __func, __args); 7770: } 7770: 7770: static inline int 7770: __gthread_join (__gthread_t __threadid, void **__value_ptr) 7770: { 7770: return __gthrw_pthread_join (__threadid, __value_ptr); 7770: } 7770: 7770: static inline int 7770: __gthread_detach (__gthread_t __threadid) 7770: { 7770: return __gthrw_pthread_detach (__threadid); 7770: } 7770: 7770: static inline int 7770: __gthread_equal (__gthread_t __t1, __gthread_t __t2) 7770: { 7770: return __gthrw_pthread_equal (__t1, __t2); 7770: } 7770: 7770: static inline __gthread_t 7770: __gthread_self (void) 7770: { 7770: return __gthrw_pthread_self (); 7770: } 7770: 7770: static inline int 7770: __gthread_yield (void) 7770: { 7770: return __gthrw_sched_yield (); 7770: } 7770: 7770: static inline int 7770: __gthread_once (__gthread_once_t *__once, void (*__func) (void)) 7770: { 7770: if (__gthread_active_p ()) 7770: return __gthrw_pthread_once (__once, __func); 7770: else 7770: return -1; 7770: } 7770: 7770: static inline int 7770: __gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) 7770: { 7770: return __gthrw_pthread_key_create (__key, __dtor); 7770: } 7770: 7770: static inline int 7770: __gthread_key_delete (__gthread_key_t __key) 7770: { 7770: return __gthrw_pthread_key_delete (__key); 7770: } 7770: 7770: static inline void * 7770: __gthread_getspecific (__gthread_key_t __key) 7770: { 7770: return __gthrw_pthread_getspecific (__key); 7770: } 7770: 7770: static inline int 7770: __gthread_setspecific (__gthread_key_t __key, const void *__ptr) 7770: { 7770: return __gthrw_pthread_setspecific (__key, __ptr); 7770: } 7770: 7770: static inline void 7770: __gthread_mutex_init_function (__gthread_mutex_t *__mutex) 7770: { 7770: if (__gthread_active_p ()) 7770: __gthrw_pthread_mutex_init (__mutex, __null); 7770: } 7770: 7770: static inline int 7770: __gthread_mutex_destroy (__gthread_mutex_t *__mutex) 7770: { 7770: if (__gthread_active_p ()) 7770: return __gthrw_pthread_mutex_destroy (__mutex); 7770: else 7770: return 0; 7770: } 7770: 7770: static inline int 7770: __gthread_mutex_lock (__gthread_mutex_t *__mutex) 7770: { 7770: if (__gthread_active_p ()) 7770: return __gthrw_pthread_mutex_lock (__mutex); 7770: else 7770: return 0; 7770: } 7770: 7770: static inline int 7770: __gthread_mutex_trylock (__gthread_mutex_t *__mutex) 7770: { 7770: if (__gthread_active_p ()) 7770: return __gthrw_pthread_mutex_trylock (__mutex); 7770: else 7770: return 0; 7770: } 7770: 7770: 7770: static inline int 7770: __gthread_mutex_timedlock (__gthread_mutex_t *__mutex, 7770: const __gthread_time_t *__abs_timeout) 7770: { 7770: if (__gthread_active_p ()) 7770: return __gthrw_pthread_mutex_timedlock (__mutex, __abs_timeout); 7770: else 7770: return 0; 7770: } 7770: 7770: 7770: static inline int 7770: __gthread_mutex_unlock (__gthread_mutex_t *__mutex) 7770: { 7770: if (__gthread_active_p ()) 7770: return __gthrw_pthread_mutex_unlock (__mutex); 7770: else 7770: return 0; 7770: } 7770: # 807 "/usr/include/aarch64-linux-gnu/c++/8/bits/gthr-default.h" 3 7770: static inline int 7770: __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) 7770: { 7770: return __gthread_mutex_lock (__mutex); 7770: } 7770: 7770: static inline int 7770: __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) 7770: { 7770: return __gthread_mutex_trylock (__mutex); 7770: } 7770: 7770: 7770: static inline int 7770: __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, 7770: const __gthread_time_t *__abs_timeout) 7770: { 7770: return __gthread_mutex_timedlock (__mutex, __abs_timeout); 7770: } 7770: 7770: 7770: static inline int 7770: __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) 7770: { 7770: return __gthread_mutex_unlock (__mutex); 7770: } 7770: 7770: static inline int 7770: __gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) 7770: { 7770: return __gthread_mutex_destroy (__mutex); 7770: } 7770: # 849 "/usr/include/aarch64-linux-gnu/c++/8/bits/gthr-default.h" 3 7770: static inline int 7770: __gthread_cond_broadcast (__gthread_cond_t *__cond) 7770: { 7770: return __gthrw_pthread_cond_broadcast (__cond); 7770: } 7770: 7770: static inline int 7770: __gthread_cond_signal (__gthread_cond_t *__cond) 7770: { 7770: return __gthrw_pthread_cond_signal (__cond); 7770: } 7770: 7770: static inline int 7770: __gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) 7770: { 7770: return __gthrw_pthread_cond_wait (__cond, __mutex); 7770: } 7770: 7770: static inline int 7770: __gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, 7770: const __gthread_time_t *__abs_timeout) 7770: { 7770: return __gthrw_pthread_cond_timedwait (__cond, __mutex, __abs_timeout); 7770: } 7770: 7770: static inline int 7770: __gthread_cond_wait_recursive (__gthread_cond_t *__cond, 7770: __gthread_recursive_mutex_t *__mutex) 7770: { 7770: return __gthread_cond_wait (__cond, __mutex); 7770: } 7770: 7770: static inline int 7770: __gthread_cond_destroy (__gthread_cond_t* __cond) 7770: g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qplaceresult.o places/qplaceresult.cpp { 7770: return __gthrw_pthread_cond_destroy (__cond); 7770: } 7770: # 149 "/usr/include/aarch64-linux-gnu/c++/8/bits/gthr.h" 2 3 7770: 7770: 7770: #pragma GCC visibility pop 7770: # 36 "/usr/include/c++/8/ext/atomicity.h" 2 3 7770: # 1 "/usr/include/aarch64-linux-gnu/c++/8/bits/atomic_word.h" 1 3 7770: # 32 "/usr/include/aarch64-linux-gnu/c++/8/bits/atomic_word.h" 3 7770: typedef int _Atomic_word; 7770: # 37 "/usr/include/c++/8/ext/atomicity.h" 2 3 7770: 7770: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: static inline _Atomic_word 7770: __exchange_and_add(volatile _Atomic_word* __mem, int __val) 7770: { return __atomic_fetch_add(__mem, __val, 4); } 7770: 7770: static inline void 7770: __atomic_add(volatile _Atomic_word* __mem, int __val) 7770: { __atomic_fetch_add(__mem, __val, 4); } 7770: # 64 "/usr/include/c++/8/ext/atomicity.h" 3 7770: static inline _Atomic_word 7770: __exchange_and_add_single(_Atomic_word* __mem, int __val) 7770: { 7770: _Atomic_word __result = *__mem; 7770: *__mem += __val; 7770: return __result; 7770: } 7770: 7770: static inline void 7770: __atomic_add_single(_Atomic_word* __mem, int __val) 7770: { *__mem += __val; } 7770: 7770: static inline _Atomic_word 7770: __attribute__ ((__unused__)) 7770: __exchange_and_add_dispatch(_Atomic_word* __mem, int __val) 7770: { 7770: 7770: if (__gthread_active_p()) 7770: return __exchange_and_add(__mem, __val); 7770: else 7770: return __exchange_and_add_single(__mem, __val); 7770: 7770: 7770: 7770: } 7770: 7770: static inline void 7770: __attribute__ ((__unused__)) 7770: __atomic_add_dispatch(_Atomic_word* __mem, int __val) 7770: { 7770: 7770: if (__gthread_active_p()) 7770: __atomic_add(__mem, __val); 7770: else 7770: __atomic_add_single(__mem, __val); 7770: 7770: 7770: 7770: } 7770: 7770: 7770: } 7770: # 40 "/usr/include/c++/8/bits/basic_string.h" 2 3 7770: # 48 "/usr/include/c++/8/bits/basic_string.h" 3 7770: # 1 "/usr/include/c++/8/string_view" 1 3 7770: # 36 "/usr/include/c++/8/string_view" 3 7770: 7770: # 37 "/usr/include/c++/8/string_view" 3 7770: 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/functional_hash.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/functional_hash.h" 3 7770: 7770: # 34 "/usr/include/c++/8/bits/functional_hash.h" 3 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 49 "/usr/include/c++/8/bits/functional_hash.h" 3 7770: template 7770: struct __hash_base 7770: { 7770: typedef _Result result_type [[__deprecated__]]; 7770: typedef _Arg argument_type [[__deprecated__]]; 7770: }; 7770: 7770: 7770: template 7770: struct hash; 7770: 7770: template 7770: struct __poison_hash 7770: { 7770: static constexpr bool __enable_hash_call = false; 7770: private: 7770: 7770: __poison_hash(__poison_hash&&); 7770: ~__poison_hash(); 7770: }; 7770: 7770: template 7770: struct __poison_hash<_Tp, __void_t()(declval<_Tp>()))>> 7770: { 7770: static constexpr bool __enable_hash_call = true; 7770: }; 7770: 7770: 7770: template::value> 7770: struct __hash_enum 7770: { 7770: private: 7770: 7770: __hash_enum(__hash_enum&&); 7770: ~__hash_enum(); 7770: }; 7770: 7770: 7770: template 7770: struct __hash_enum<_Tp, true> : public __hash_base 7770: { 7770: size_t 7770: operator()(_Tp __val) const noexcept 7770: { 7770: using __type = typename underlying_type<_Tp>::type; 7770: return hash<__type>{}(static_cast<__type>(__val)); 7770: } 7770: }; 7770: 7770: 7770: 7770: template 7770: struct hash : __hash_enum<_Tp> 7770: { }; 7770: 7770: 7770: template 7770: struct hash<_Tp*> : public __hash_base 7770: { 7770: size_t 7770: operator()(_Tp* __p) const noexcept 7770: { return reinterpret_cast(__p); } 7770: }; 7770: # 124 "/usr/include/c++/8/bits/functional_hash.h" 3 7770: template<> struct hash : public __hash_base { size_t operator()(bool __val) const noexcept { return static_cast(__val); } }; 7770: 7770: 7770: template<> struct hash : public __hash_base { size_t operator()(char __val) const noexcept { return static_cast(__val); } }; 7770: 7770: 7770: template<> struct hash : public __hash_base { size_t operator()(signed char __val) const noexcept { return static_cast(__val); } }; 7770: 7770: 7770: template<> struct hash : public __hash_base { size_t operator()(unsigned char __val) const noexcept { return static_cast(__val); } }; 7770: 7770: 7770: template<> struct hash : public __hash_base { size_t operator()(wchar_t __val) const noexcept { return static_cast(__val); } }; 7770: 7770: 7770: template<> struct hash : public __hash_base { size_t operator()(char16_t __val) const noexcept { return static_cast(__val); } }; 7770: 7770: 7770: template<> struct hash : public __hash_base { size_t operator()(char32_t __val) const noexcept { return static_cast(__val); } }; 7770: 7770: 7770: template<> struct hash : public __hash_base { size_t operator()(short __val) const noexcept { return static_cast(__val); } }; 7770: 7770: 7770: template<> struct hash : public __hash_base { size_t operator()(int __val) const noexcept { return static_cast(__val); } }; 7770: 7770: 7770: template<> struct hash : public __hash_base { size_t operator()(long __val) const noexcept { return static_cast(__val); } }; 7770: 7770: 7770: template<> struct hash : public __hash_base { size_t operator()(long long __val) const noexcept { return static_cast(__val); } }; 7770: 7770: 7770: template<> struct hash : public __hash_base { size_t operator()(unsigned short __val) const noexcept { return static_cast(__val); } }; 7770: 7770: 7770: template<> struct hash : public __hash_base { size_t operator()(unsigned int __val) const noexcept { return static_cast(__val); } }; 7770: 7770: 7770: template<> struct hash : public __hash_base { size_t operator()(unsigned long __val) const noexcept { return static_cast(__val); } }; 7770: 7770: 7770: template<> struct hash : public __hash_base { size_t operator()(unsigned long long __val) const noexcept { return static_cast(__val); } }; 7770: # 187 "/usr/include/c++/8/bits/functional_hash.h" 3 7770: struct _Hash_impl 7770: { 7770: static size_t 7770: hash(const void* __ptr, size_t __clength, 7770: size_t __seed = static_cast(0xc70f6907UL)) 7770: { return _Hash_bytes(__ptr, __clength, __seed); } 7770: 7770: template 7770: static size_t 7770: hash(const _Tp& __val) 7770: { return hash(&__val, sizeof(__val)); } 7770: 7770: template 7770: static size_t 7770: __hash_combine(const _Tp& __val, size_t __hash) 7770: { return hash(&__val, sizeof(__val), __hash); } 7770: }; 7770: 7770: 7770: struct _Fnv_hash_impl 7770: { 7770: static size_t 7770: hash(const void* __ptr, size_t __clength, 7770: size_t __seed = static_cast(2166136261UL)) 7770: { return _Fnv_hash_bytes(__ptr, __clength, __seed); } 7770: 7770: template 7770: static size_t 7770: hash(const _Tp& __val) 7770: { return hash(&__val, sizeof(__val)); } 7770: 7770: template 7770: static size_t 7770: __hash_combine(const _Tp& __val, size_t __hash) 7770: { return hash(&__val, sizeof(__val), __hash); } 7770: }; 7770: 7770: 7770: template<> 7770: struct hash : public __hash_base 7770: { 7770: size_t 7770: operator()(float __val) const noexcept 7770: { 7770: 7770: return __val != 0.0f ? std::_Hash_impl::hash(__val) : 0; 7770: } 7770: }; 7770: 7770: 7770: template<> 7770: struct hash : public __hash_base 7770: { 7770: size_t 7770: operator()(double __val) const noexcept 7770: { 7770: 7770: return __val != 0.0 ? std::_Hash_impl::hash(__val) : 0; 7770: } 7770: }; 7770: 7770: 7770: template<> 7770: struct hash 7770: : public __hash_base 7770: { 7770: __attribute__ ((__pure__)) size_t 7770: operator()(long double __val) const noexcept; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct __is_fast_hash : public std::true_type 7770: { }; 7770: 7770: template<> 7770: struct __is_fast_hash> : public std::false_type 7770: { }; 7770: 7770: 7770: } 7770: # 44 "/usr/include/c++/8/string_view" 2 3 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 70 "/usr/include/c++/8/string_view" 3 7770: template> 7770: class basic_string_view 7770: { 7770: public: 7770: 7770: 7770: using traits_type = _Traits; 7770: using value_type = _CharT; 7770: using pointer = const _CharT*; 7770: using const_pointer = const _CharT*; 7770: using reference = const _CharT&; 7770: using const_reference = const _CharT&; 7770: using const_iterator = const _CharT*; 7770: using iterator = const_iterator; 7770: using const_reverse_iterator = std::reverse_iterator; 7770: using reverse_iterator = const_reverse_iterator; 7770: using size_type = size_t; 7770: using difference_type = ptrdiff_t; 7770: static constexpr size_type npos = size_type(-1); 7770: 7770: 7770: 7770: constexpr 7770: basic_string_view() noexcept 7770: : _M_len{0}, _M_str{nullptr} 7770: { } 7770: 7770: constexpr basic_string_view(const basic_string_view&) noexcept = default; 7770: 7770: constexpr basic_string_view(const _CharT* __str) noexcept 7770: : _M_len{__str == nullptr ? 0 : traits_type::length(__str)}, 7770: _M_str{__str} 7770: { } 7770: 7770: constexpr 7770: basic_string_view(const _CharT* __str, size_type __len) noexcept 7770: : _M_len{__len}, _M_str{__str} 7770: { } 7770: 7770: constexpr basic_string_view& 7770: operator=(const basic_string_view&) noexcept = default; 7770: 7770: 7770: 7770: constexpr const_iterator 7770: begin() const noexcept 7770: { return this->_M_str; } 7770: 7770: constexpr const_iterator 7770: end() const noexcept 7770: { return this->_M_str + this->_M_len; } 7770: 7770: constexpr const_iterator 7770: cbegin() const noexcept 7770: { return this->_M_str; } 7770: 7770: constexpr const_iterator 7770: cend() const noexcept 7770: { return this->_M_str + this->_M_len; } 7770: 7770: constexpr const_reverse_iterator 7770: rbegin() const noexcept 7770: { return const_reverse_iterator(this->end()); } 7770: 7770: constexpr const_reverse_iterator 7770: rend() const noexcept 7770: { return const_reverse_iterator(this->begin()); } 7770: 7770: constexpr const_reverse_iterator 7770: crbegin() const noexcept 7770: { return const_reverse_iterator(this->end()); } 7770: 7770: constexpr const_reverse_iterator 7770: crend() const noexcept 7770: { return const_reverse_iterator(this->begin()); } 7770: 7770: 7770: 7770: constexpr size_type 7770: size() const noexcept 7770: { return this->_M_len; } 7770: 7770: constexpr size_type 7770: length() const noexcept 7770: { return _M_len; } 7770: 7770: constexpr size_type 7770: max_size() const noexcept 7770: { 7770: return (npos - sizeof(size_type) - sizeof(void*)) 7770: / sizeof(value_type) / 4; 7770: } 7770: 7770: [[nodiscard]] constexpr bool 7770: empty() const noexcept 7770: { return this->_M_len == 0; } 7770: 7770: 7770: 7770: constexpr const _CharT& 7770: operator[](size_type __pos) const noexcept 7770: { 7770: 7770: 7770: return *(this->_M_str + __pos); 7770: } 7770: 7770: constexpr const _CharT& 7770: at(size_type __pos) const 7770: { 7770: if (__pos >= _M_len) 7770: __throw_out_of_range_fmt(("basic_string_view::at: __pos " "(which is %zu) >= this->size() " "(which is %zu)") 7770: 7770: , __pos, this->size()); 7770: return *(this->_M_str + __pos); 7770: } 7770: 7770: constexpr const _CharT& 7770: front() const noexcept 7770: { 7770: 7770: 7770: return *this->_M_str; 7770: } 7770: 7770: constexpr const _CharT& 7770: back() const noexcept 7770: { 7770: 7770: 7770: return *(this->_M_str + this->_M_len - 1); 7770: } 7770: 7770: constexpr const _CharT* 7770: data() const noexcept 7770: { return this->_M_str; } 7770: 7770: 7770: 7770: constexpr void 7770: remove_prefix(size_type __n) noexcept 7770: { 7770: ; 7770: this->_M_str += __n; 7770: this->_M_len -= __n; 7770: } 7770: 7770: constexpr void 7770: remove_suffix(size_type __n) noexcept 7770: { this->_M_len -= __n; } 7770: 7770: constexpr void 7770: swap(basic_string_view& __sv) noexcept 7770: { 7770: auto __tmp = *this; 7770: *this = __sv; 7770: __sv = __tmp; 7770: } 7770: 7770: 7770: 7770: 7770: size_type 7770: copy(_CharT* __str, size_type __n, size_type __pos = 0) const 7770: { 7770: ; 7770: __pos = _M_check(__pos, "basic_string_view::copy"); 7770: const size_type __rlen = std::min(__n, _M_len - __pos); 7770: for (auto __begin = this->_M_str + __pos, 7770: __end = __begin + __rlen; __begin != __end;) 7770: *__str++ = *__begin++; 7770: return __rlen; 7770: } 7770: 7770: constexpr basic_string_view 7770: substr(size_type __pos, size_type __n = npos) const noexcept(false) 7770: { 7770: __pos = _M_check(__pos, "basic_string_view::substr"); 7770: const size_type __rlen = std::min(__n, _M_len - __pos); 7770: return basic_string_view{_M_str + __pos, __rlen}; 7770: } 7770: 7770: constexpr int 7770: compare(basic_string_view __str) const noexcept 7770: { 7770: const size_type __rlen = std::min(this->_M_len, __str._M_len); 7770: int __ret = traits_type::compare(this->_M_str, __str._M_str, __rlen); 7770: if (__ret == 0) 7770: __ret = _S_compare(this->_M_len, __str._M_len); 7770: return __ret; 7770: } 7770: 7770: constexpr int 7770: compare(size_type __pos1, size_type __n1, basic_string_view __str) const 7770: { return this->substr(__pos1, __n1).compare(__str); } 7770: 7770: constexpr int 7770: compare(size_type __pos1, size_type __n1, 7770: basic_string_view __str, size_type __pos2, size_type __n2) const 7770: { 7770: return this->substr(__pos1, __n1).compare(__str.substr(__pos2, __n2)); 7770: } 7770: 7770: constexpr int 7770: compare(const _CharT* __str) const noexcept 7770: { return this->compare(basic_string_view{__str}); } 7770: 7770: constexpr int 7770: compare(size_type __pos1, size_type __n1, const _CharT* __str) const 7770: { return this->substr(__pos1, __n1).compare(basic_string_view{__str}); } 7770: 7770: constexpr int 7770: compare(size_type __pos1, size_type __n1, 7770: const _CharT* __str, size_type __n2) const noexcept(false) 7770: { 7770: return this->substr(__pos1, __n1) 7770: .compare(basic_string_view(__str, __n2)); 7770: } 7770: 7770: constexpr size_type 7770: find(basic_string_view __str, size_type __pos = 0) const noexcept 7770: { return this->find(__str._M_str, __pos, __str._M_len); } 7770: 7770: constexpr size_type 7770: find(_CharT __c, size_type __pos = 0) const noexcept; 7770: 7770: constexpr size_type 7770: find(const _CharT* __str, size_type __pos, size_type __n) const noexcept; 7770: 7770: constexpr size_type 7770: find(const _CharT* __str, size_type __pos = 0) const noexcept 7770: { return this->find(__str, __pos, traits_type::length(__str)); } 7770: 7770: constexpr size_type 7770: rfind(basic_string_view __str, size_type __pos = npos) const noexcept 7770: { return this->rfind(__str._M_str, __pos, __str._M_len); } 7770: 7770: constexpr size_type 7770: rfind(_CharT __c, size_type __pos = npos) const noexcept; 7770: 7770: constexpr size_type 7770: rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept; 7770: 7770: constexpr size_type 7770: rfind(const _CharT* __str, size_type __pos = npos) const noexcept 7770: { return this->rfind(__str, __pos, traits_type::length(__str)); } 7770: 7770: constexpr size_type 7770: find_first_of(basic_string_view __str, size_type __pos = 0) const noexcept 7770: { return this->find_first_of(__str._M_str, __pos, __str._M_len); } 7770: 7770: constexpr size_type 7770: find_first_of(_CharT __c, size_type __pos = 0) const noexcept 7770: { return this->find(__c, __pos); } 7770: 7770: constexpr size_type 7770: find_first_of(const _CharT* __str, size_type __pos, size_type __n) const noexcept; 7770: 7770: constexpr size_type 7770: find_first_of(const _CharT* __str, size_type __pos = 0) const noexcept 7770: { return this->find_first_of(__str, __pos, traits_type::length(__str)); } 7770: 7770: constexpr size_type 7770: find_last_of(basic_string_view __str, 7770: size_type __pos = npos) const noexcept 7770: { return this->find_last_of(__str._M_str, __pos, __str._M_len); } 7770: 7770: constexpr size_type 7770: find_last_of(_CharT __c, size_type __pos=npos) const noexcept 7770: { return this->rfind(__c, __pos); } 7770: 7770: constexpr size_type 7770: find_last_of(const _CharT* __str, size_type __pos, 7770: size_type __n) const noexcept; 7770: 7770: constexpr size_type 7770: find_last_of(const _CharT* __str, size_type __pos = npos) const noexcept 7770: { return this->find_last_of(__str, __pos, traits_type::length(__str)); } 7770: 7770: constexpr size_type 7770: find_first_not_of(basic_string_view __str, 7770: size_type __pos = 0) const noexcept 7770: { return this->find_first_not_of(__str._M_str, __pos, __str._M_len); } 7770: 7770: constexpr size_type 7770: find_first_not_of(_CharT __c, size_type __pos = 0) const noexcept; 7770: 7770: constexpr size_type 7770: find_first_not_of(const _CharT* __str, 7770: size_type __pos, size_type __n) const noexcept; 7770: 7770: constexpr size_type 7770: find_first_not_of(const _CharT* __str, size_type __pos = 0) const noexcept 7770: { 7770: return this->find_first_not_of(__str, __pos, 7770: traits_type::length(__str)); 7770: } 7770: 7770: constexpr size_type 7770: find_last_not_of(basic_string_view __str, 7770: size_type __pos = npos) const noexcept 7770: { return this->find_last_not_of(__str._M_str, __pos, __str._M_len); } 7770: 7770: constexpr size_type 7770: find_last_not_of(_CharT __c, size_type __pos = npos) const noexcept; 7770: 7770: constexpr size_type 7770: find_last_not_of(const _CharT* __str, 7770: size_type __pos, size_type __n) const noexcept; 7770: 7770: constexpr size_type 7770: find_last_not_of(const _CharT* __str, 7770: size_type __pos = npos) const noexcept 7770: { 7770: return this->find_last_not_of(__str, __pos, 7770: traits_type::length(__str)); 7770: } 7770: 7770: constexpr size_type 7770: _M_check(size_type __pos, const char* __s) const noexcept(false) 7770: { 7770: if (__pos > this->size()) 7770: __throw_out_of_range_fmt(("%s: __pos (which is %zu) > " "this->size() (which is %zu)") 7770: , 7770: __s, __pos, this->size()); 7770: return __pos; 7770: } 7770: 7770: 7770: constexpr size_type 7770: _M_limit(size_type __pos, size_type __off) const noexcept 7770: { 7770: const bool __testoff = __off < this->size() - __pos; 7770: return __testoff ? __off : this->size() - __pos; 7770: } 7770: 7770: private: 7770: 7770: static constexpr int 7770: _S_compare(size_type __n1, size_type __n2) noexcept 7770: { 7770: const difference_type __diff = __n1 - __n2; 7770: if (__diff > std::numeric_limits::max()) 7770: return std::numeric_limits::max(); 7770: if (__diff < std::numeric_limits::min()) 7770: return std::numeric_limits::min(); 7770: return static_cast(__diff); 7770: } 7770: 7770: size_t _M_len; 7770: const _CharT* _M_str; 7770: }; 7770: 7770: 7770: 7770: namespace __detail 7770: { 7770: 7770: 7770: 7770: template 7770: using __idt = common_type_t<_Tp>; 7770: } 7770: 7770: template 7770: constexpr bool 7770: operator==(basic_string_view<_CharT, _Traits> __x, 7770: basic_string_view<_CharT, _Traits> __y) noexcept 7770: { return __x.size() == __y.size() && __x.compare(__y) == 0; } 7770: 7770: template 7770: constexpr bool 7770: operator==(basic_string_view<_CharT, _Traits> __x, 7770: __detail::__idt> __y) noexcept 7770: { return __x.size() == __y.size() && __x.compare(__y) == 0; } 7770: 7770: template 7770: constexpr bool 7770: operator==(__detail::__idt> __x, 7770: basic_string_view<_CharT, _Traits> __y) noexcept 7770: { return __x.size() == __y.size() && __x.compare(__y) == 0; } 7770: 7770: template 7770: constexpr bool 7770: operator!=(basic_string_view<_CharT, _Traits> __x, 7770: basic_string_view<_CharT, _Traits> __y) noexcept 7770: { return !(__x == __y); } 7770: 7770: template 7770: constexpr bool 7770: operator!=(basic_string_view<_CharT, _Traits> __x, 7770: __detail::__idt> __y) noexcept 7770: { return !(__x == __y); } 7770: 7770: template 7770: constexpr bool 7770: operator!=(__detail::__idt> __x, 7770: basic_string_view<_CharT, _Traits> __y) noexcept 7770: { return !(__x == __y); } 7770: 7770: template 7770: constexpr bool 7770: operator< (basic_string_view<_CharT, _Traits> __x, 7770: basic_string_view<_CharT, _Traits> __y) noexcept 7770: { return __x.compare(__y) < 0; } 7770: 7770: template 7770: constexpr bool 7770: operator< (basic_string_view<_CharT, _Traits> __x, 7770: __detail::__idt> __y) noexcept 7770: { return __x.compare(__y) < 0; } 7770: 7770: template 7770: constexpr bool 7770: operator< (__detail::__idt> __x, 7770: basic_string_view<_CharT, _Traits> __y) noexcept 7770: { return __x.compare(__y) < 0; } 7770: 7770: template 7770: constexpr bool 7770: operator> (basic_string_view<_CharT, _Traits> __x, 7770: basic_string_view<_CharT, _Traits> __y) noexcept 7770: { return __x.compare(__y) > 0; } 7770: 7770: template 7770: constexpr bool 7770: operator> (basic_string_view<_CharT, _Traits> __x, 7770: __detail::__idt> __y) noexcept 7770: { return __x.compare(__y) > 0; } 7770: 7770: template 7770: constexpr bool 7770: operator> (__detail::__idt> __x, 7770: basic_string_view<_CharT, _Traits> __y) noexcept 7770: { return __x.compare(__y) > 0; } 7770: 7770: template 7770: constexpr bool 7770: operator<=(basic_string_view<_CharT, _Traits> __x, 7770: basic_string_view<_CharT, _Traits> __y) noexcept 7770: { return __x.compare(__y) <= 0; } 7770: 7770: template 7770: constexpr bool 7770: operator<=(basic_string_view<_CharT, _Traits> __x, 7770: __detail::__idt> __y) noexcept 7770: { return __x.compare(__y) <= 0; } 7770: 7770: template 7770: constexpr bool 7770: operator<=(__detail::__idt> __x, 7770: basic_string_view<_CharT, _Traits> __y) noexcept 7770: { return __x.compare(__y) <= 0; } 7770: 7770: template 7770: constexpr bool 7770: operator>=(basic_string_view<_CharT, _Traits> __x, 7770: basic_string_view<_CharT, _Traits> __y) noexcept 7770: { return __x.compare(__y) >= 0; } 7770: 7770: template 7770: constexpr bool 7770: operator>=(basic_string_view<_CharT, _Traits> __x, 7770: __detail::__idt> __y) noexcept 7770: { return __x.compare(__y) >= 0; } 7770: 7770: template 7770: constexpr bool 7770: operator>=(__detail::__idt> __x, 7770: basic_string_view<_CharT, _Traits> __y) noexcept 7770: { return __x.compare(__y) >= 0; } 7770: 7770: 7770: template 7770: inline basic_ostream<_CharT, _Traits>& 7770: operator<<(basic_ostream<_CharT, _Traits>& __os, 7770: basic_string_view<_CharT,_Traits> __str) 7770: { return __ostream_insert(__os, __str.data(), __str.size()); } 7770: 7770: 7770: 7770: 7770: using string_view = basic_string_view; 7770: 7770: using wstring_view = basic_string_view; 7770: 7770: 7770: using u16string_view = basic_string_view; 7770: using u32string_view = basic_string_view; 7770: 7770: 7770: 7770: 7770: template 7770: struct hash; 7770: 7770: template<> 7770: struct hash 7770: : public __hash_base 7770: { 7770: size_t 7770: operator()(const string_view& __str) const noexcept 7770: { return std::_Hash_impl::hash(__str.data(), __str.length()); } 7770: }; 7770: 7770: template<> 7770: struct __is_fast_hash> : std::false_type 7770: { }; 7770: 7770: 7770: template<> 7770: struct hash 7770: : public __hash_base 7770: { 7770: size_t 7770: operator()(const wstring_view& __s) const noexcept 7770: { return std::_Hash_impl::hash(__s.data(), 7770: __s.length() * sizeof(wchar_t)); } 7770: }; 7770: 7770: template<> 7770: struct __is_fast_hash> : std::false_type 7770: { }; 7770: 7770: 7770: 7770: template<> 7770: struct hash 7770: : public __hash_base 7770: { 7770: size_t 7770: operator()(const u16string_view& __s) const noexcept 7770: { return std::_Hash_impl::hash(__s.data(), 7770: __s.length() * sizeof(char16_t)); } 7770: }; 7770: 7770: template<> 7770: struct __is_fast_hash> : std::false_type 7770: { }; 7770: 7770: template<> 7770: struct hash 7770: : public __hash_base 7770: { 7770: size_t 7770: operator()(const u32string_view& __s) const noexcept 7770: { return std::_Hash_impl::hash(__s.data(), 7770: __s.length() * sizeof(char32_t)); } 7770: }; 7770: 7770: template<> 7770: struct __is_fast_hash> : std::false_type 7770: { }; 7770: 7770: 7770: inline namespace literals 7770: { 7770: inline namespace string_view_literals 7770: { 7770: #pragma GCC diagnostic push 7770: #pragma GCC diagnostic ignored "-Wliteral-suffix" 7770: inline constexpr basic_string_view 7770: operator""sv(const char* __str, size_t __len) noexcept 7770: { return basic_string_view{__str, __len}; } 7770: 7770: 7770: inline constexpr basic_string_view 7770: operator""sv(const wchar_t* __str, size_t __len) noexcept 7770: { return basic_string_view{__str, __len}; } 7770: 7770: 7770: 7770: inline constexpr basic_string_view 7770: operator""sv(const char16_t* __str, size_t __len) noexcept 7770: { return basic_string_view{__str, __len}; } 7770: 7770: inline constexpr basic_string_view 7770: operator""sv(const char32_t* __str, size_t __len) noexcept 7770: { return basic_string_view{__str, __len}; } 7770: 7770: #pragma GCC diagnostic pop 7770: } 7770: } 7770: 7770: 7770: } 7770: 7770: # 1 "/usr/include/c++/8/bits/string_view.tcc" 1 3 7770: # 37 "/usr/include/c++/8/bits/string_view.tcc" 3 7770: 7770: # 38 "/usr/include/c++/8/bits/string_view.tcc" 3 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: template 7770: constexpr typename basic_string_view<_CharT, _Traits>::size_type 7770: basic_string_view<_CharT, _Traits>:: 7770: find(const _CharT* __str, size_type __pos, size_type __n) const noexcept 7770: { 7770: ; 7770: 7770: if (__n == 0) 7770: return __pos <= this->_M_len ? __pos : npos; 7770: 7770: if (__n <= this->_M_len) 7770: { 7770: for (; __pos <= this->_M_len - __n; ++__pos) 7770: if (traits_type::eq(this->_M_str[__pos], __str[0]) 7770: && traits_type::compare(this->_M_str + __pos + 1, 7770: __str + 1, __n - 1) == 0) 7770: return __pos; 7770: } 7770: return npos; 7770: } 7770: 7770: template 7770: constexpr typename basic_string_view<_CharT, _Traits>::size_type 7770: basic_string_view<_CharT, _Traits>:: 7770: find(_CharT __c, size_type __pos) const noexcept 7770: { 7770: size_type __ret = npos; 7770: if (__pos < this->_M_len) 7770: { 7770: const size_type __n = this->_M_len - __pos; 7770: const _CharT* __p = traits_type::find(this->_M_str + __pos, __n, __c); 7770: if (__p) 7770: __ret = __p - this->_M_str; 7770: } 7770: return __ret; 7770: } 7770: 7770: template 7770: constexpr typename basic_string_view<_CharT, _Traits>::size_type 7770: basic_string_view<_CharT, _Traits>:: 7770: rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept 7770: { 7770: ; 7770: 7770: if (__n <= this->_M_len) 7770: { 7770: __pos = std::min(size_type(this->_M_len - __n), __pos); 7770: do 7770: { 7770: if (traits_type::compare(this->_M_str + __pos, __str, __n) == 0) 7770: return __pos; 7770: } 7770: while (__pos-- > 0); 7770: } 7770: return npos; 7770: } 7770: 7770: template 7770: constexpr typename basic_string_view<_CharT, _Traits>::size_type 7770: basic_string_view<_CharT, _Traits>:: 7770: rfind(_CharT __c, size_type __pos) const noexcept 7770: { 7770: size_type __size = this->_M_len; 7770: if (__size > 0) 7770: { 7770: if (--__size > __pos) 7770: __size = __pos; 7770: for (++__size; __size-- > 0; ) 7770: if (traits_type::eq(this->_M_str[__size], __c)) 7770: return __size; 7770: } 7770: return npos; 7770: } 7770: 7770: template 7770: constexpr typename basic_string_view<_CharT, _Traits>::size_type 7770: basic_string_view<_CharT, _Traits>:: 7770: find_first_of(const _CharT* __str, size_type __pos, 7770: size_type __n) const noexcept 7770: { 7770: ; 7770: for (; __n && __pos < this->_M_len; ++__pos) 7770: { 7770: const _CharT* __p = traits_type::find(__str, __n, 7770: this->_M_str[__pos]); 7770: if (__p) 7770: return __pos; 7770: } 7770: return npos; 7770: } 7770: 7770: template 7770: constexpr typename basic_string_view<_CharT, _Traits>::size_type 7770: basic_string_view<_CharT, _Traits>:: 7770: find_last_of(const _CharT* __str, size_type __pos, 7770: size_type __n) const noexcept 7770: { 7770: ; 7770: size_type __size = this->size(); 7770: if (__size && __n) 7770: { 7770: if (--__size > __pos) 7770: __size = __pos; 7770: do 7770: { 7770: if (traits_type::find(__str, __n, this->_M_str[__size])) 7770: return __size; 7770: } 7770: while (__size-- != 0); 7770: } 7770: return npos; 7770: } 7770: 7770: template 7770: constexpr typename basic_string_view<_CharT, _Traits>::size_type 7770: basic_string_view<_CharT, _Traits>:: 7770: find_first_not_of(const _CharT* __str, size_type __pos, 7770: size_type __n) const noexcept 7770: { 7770: ; 7770: for (; __pos < this->_M_len; ++__pos) 7770: if (!traits_type::find(__str, __n, this->_M_str[__pos])) 7770: return __pos; 7770: return npos; 7770: } 7770: 7770: template 7770: constexpr typename basic_string_view<_CharT, _Traits>::size_type 7770: basic_string_view<_CharT, _Traits>:: 7770: find_first_not_of(_CharT __c, size_type __pos) const noexcept 7770: { 7770: for (; __pos < this->_M_len; ++__pos) 7770: if (!traits_type::eq(this->_M_str[__pos], __c)) 7770: return __pos; 7770: return npos; 7770: } 7770: 7770: template 7770: constexpr typename basic_string_view<_CharT, _Traits>::size_type 7770: basic_string_view<_CharT, _Traits>:: 7770: find_last_not_of(const _CharT* __str, size_type __pos, 7770: size_type __n) const noexcept 7770: { 7770: ; 7770: size_type __size = this->_M_len; 7770: if (__size) 7770: { 7770: if (--__size > __pos) 7770: __size = __pos; 7770: do 7770: { 7770: if (!traits_type::find(__str, __n, this->_M_str[__size])) 7770: return __size; 7770: } 7770: while (__size--); 7770: } 7770: return npos; 7770: } 7770: 7770: template 7770: constexpr typename basic_string_view<_CharT, _Traits>::size_type 7770: basic_string_view<_CharT, _Traits>:: 7770: find_last_not_of(_CharT __c, size_type __pos) const noexcept 7770: { 7770: size_type __size = this->_M_len; 7770: if (__size) 7770: { 7770: if (--__size > __pos) 7770: __size = __pos; 7770: do 7770: { 7770: if (!traits_type::eq(this->_M_str[__size], __c)) 7770: return __size; 7770: } 7770: while (__size--); 7770: } 7770: return npos; 7770: } 7770: 7770: 7770: } 7770: # 658 "/usr/include/c++/8/string_view" 2 3 7770: # 49 "/usr/include/c++/8/bits/basic_string.h" 2 3 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: namespace __cxx11 { 7770: # 76 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: class basic_string 7770: { 7770: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 7770: rebind<_CharT>::other _Char_alloc_type; 7770: typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits; 7770: 7770: 7770: public: 7770: typedef _Traits traits_type; 7770: typedef typename _Traits::char_type value_type; 7770: typedef _Char_alloc_type allocator_type; 7770: typedef typename _Alloc_traits::size_type size_type; 7770: typedef typename _Alloc_traits::difference_type difference_type; 7770: typedef typename _Alloc_traits::reference reference; 7770: typedef typename _Alloc_traits::const_reference const_reference; 7770: typedef typename _Alloc_traits::pointer pointer; 7770: typedef typename _Alloc_traits::const_pointer const_pointer; 7770: typedef __gnu_cxx::__normal_iterator iterator; 7770: typedef __gnu_cxx::__normal_iterator 7770: const_iterator; 7770: typedef std::reverse_iterator const_reverse_iterator; 7770: typedef std::reverse_iterator reverse_iterator; 7770: 7770: 7770: static const size_type npos = static_cast(-1); 7770: 7770: private: 7770: 7770: 7770: 7770: 7770: typedef const_iterator __const_iterator; 7770: 7770: 7770: 7770: 7770: typedef basic_string_view<_CharT, _Traits> __sv_type; 7770: 7770: template 7770: using _If_sv = enable_if_t< 7770: __and_, 7770: __not_>, 7770: __not_>>::value, 7770: _Res>; 7770: 7770: 7770: static __sv_type 7770: _S_to_string_view(__sv_type __svt) noexcept 7770: { return __svt; } 7770: 7770: 7770: 7770: 7770: 7770: struct __sv_wrapper 7770: { 7770: explicit __sv_wrapper(__sv_type __sv) noexcept : _M_sv(__sv) { } 7770: __sv_type _M_sv; 7770: }; 7770: 7770: 7770: 7770: struct _Alloc_hider : allocator_type 7770: { 7770: 7770: 7770: 7770: 7770: _Alloc_hider(pointer __dat, const _Alloc& __a) 7770: : allocator_type(__a), _M_p(__dat) { } 7770: 7770: _Alloc_hider(pointer __dat, _Alloc&& __a = _Alloc()) 7770: : allocator_type(std::move(__a)), _M_p(__dat) { } 7770: 7770: 7770: pointer _M_p; 7770: }; 7770: 7770: _Alloc_hider _M_dataplus; 7770: size_type _M_string_length; 7770: 7770: enum { _S_local_capacity = 15 / sizeof(_CharT) }; 7770: 7770: union 7770: { 7770: _CharT _M_local_buf[_S_local_capacity + 1]; 7770: size_type _M_allocated_capacity; 7770: }; 7770: 7770: void 7770: _M_data(pointer __p) 7770: { _M_dataplus._M_p = __p; } 7770: 7770: void 7770: _M_length(size_type __length) 7770: { _M_string_length = __length; } 7770: 7770: pointer 7770: _M_data() const 7770: { return _M_dataplus._M_p; } 7770: 7770: pointer 7770: _M_local_data() 7770: { 7770: 7770: return std::pointer_traits::pointer_to(*_M_local_buf); 7770: 7770: 7770: 7770: } 7770: 7770: const_pointer 7770: _M_local_data() const 7770: { 7770: 7770: return std::pointer_traits::pointer_to(*_M_local_buf); 7770: 7770: 7770: 7770: } 7770: 7770: void 7770: _M_capacity(size_type __capacity) 7770: { _M_allocated_capacity = __capacity; } 7770: 7770: void 7770: _M_set_length(size_type __n) 7770: { 7770: _M_length(__n); 7770: traits_type::assign(_M_data()[__n], _CharT()); 7770: } 7770: 7770: bool 7770: _M_is_local() const 7770: { return _M_data() == _M_local_data(); } 7770: 7770: 7770: pointer 7770: _M_create(size_type&, size_type); 7770: 7770: void 7770: _M_dispose() 7770: { 7770: if (!_M_is_local()) 7770: _M_destroy(_M_allocated_capacity); 7770: } 7770: 7770: void 7770: _M_destroy(size_type __size) throw() 7770: { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); } 7770: 7770: 7770: 7770: template 7770: void 7770: _M_construct_aux(_InIterator __beg, _InIterator __end, 7770: std::__false_type) 7770: { 7770: typedef typename iterator_traits<_InIterator>::iterator_category _Tag; 7770: _M_construct(__beg, __end, _Tag()); 7770: } 7770: 7770: 7770: 7770: template 7770: void 7770: _M_construct_aux(_Integer __beg, _Integer __end, std::__true_type) 7770: { _M_construct_aux_2(static_cast(__beg), __end); } 7770: 7770: void 7770: _M_construct_aux_2(size_type __req, _CharT __c) 7770: { _M_construct(__req, __c); } 7770: 7770: template 7770: void 7770: _M_construct(_InIterator __beg, _InIterator __end) 7770: { 7770: typedef typename std::__is_integer<_InIterator>::__type _Integral; 7770: _M_construct_aux(__beg, __end, _Integral()); 7770: } 7770: 7770: 7770: template 7770: void 7770: _M_construct(_InIterator __beg, _InIterator __end, 7770: std::input_iterator_tag); 7770: 7770: 7770: 7770: template 7770: void 7770: _M_construct(_FwdIterator __beg, _FwdIterator __end, 7770: std::forward_iterator_tag); 7770: 7770: void 7770: _M_construct(size_type __req, _CharT __c); 7770: 7770: allocator_type& 7770: _M_get_allocator() 7770: { return _M_dataplus; } 7770: 7770: const allocator_type& 7770: _M_get_allocator() const 7770: { return _M_dataplus; } 7770: 7770: private: 7770: # 298 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: _M_check(size_type __pos, const char* __s) const 7770: { 7770: if (__pos > this->size()) 7770: __throw_out_of_range_fmt(("%s: __pos (which is %zu) > " "this->size() (which is %zu)") 7770: , 7770: __s, __pos, this->size()); 7770: return __pos; 7770: } 7770: 7770: void 7770: _M_check_length(size_type __n1, size_type __n2, const char* __s) const 7770: { 7770: if (this->max_size() - (this->size() - __n1) < __n2) 7770: __throw_length_error((__s)); 7770: } 7770: 7770: 7770: 7770: size_type 7770: _M_limit(size_type __pos, size_type __off) const noexcept 7770: { 7770: const bool __testoff = __off < this->size() - __pos; 7770: return __testoff ? __off : this->size() - __pos; 7770: } 7770: 7770: 7770: bool 7770: _M_disjunct(const _CharT* __s) const noexcept 7770: { 7770: return (less()(__s, _M_data()) 7770: || less()(_M_data() + this->size(), __s)); 7770: } 7770: 7770: 7770: 7770: static void 7770: _S_copy(_CharT* __d, const _CharT* __s, size_type __n) 7770: { 7770: if (__n == 1) 7770: traits_type::assign(*__d, *__s); 7770: else 7770: traits_type::copy(__d, __s, __n); 7770: } 7770: 7770: static void 7770: _S_move(_CharT* __d, const _CharT* __s, size_type __n) 7770: { 7770: if (__n == 1) 7770: traits_type::assign(*__d, *__s); 7770: else 7770: traits_type::move(__d, __s, __n); 7770: } 7770: 7770: static void 7770: _S_assign(_CharT* __d, size_type __n, _CharT __c) 7770: { 7770: if (__n == 1) 7770: traits_type::assign(*__d, __c); 7770: else 7770: traits_type::assign(__d, __n, __c); 7770: } 7770: 7770: 7770: 7770: template 7770: static void 7770: _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2) 7770: { 7770: for (; __k1 != __k2; ++__k1, (void)++__p) 7770: traits_type::assign(*__p, *__k1); 7770: } 7770: 7770: static void 7770: _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) noexcept 7770: { _S_copy_chars(__p, __k1.base(), __k2.base()); } 7770: 7770: static void 7770: _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2) 7770: noexcept 7770: { _S_copy_chars(__p, __k1.base(), __k2.base()); } 7770: 7770: static void 7770: _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) noexcept 7770: { _S_copy(__p, __k1, __k2 - __k1); } 7770: 7770: static void 7770: _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) 7770: noexcept 7770: { _S_copy(__p, __k1, __k2 - __k1); } 7770: 7770: static int 7770: _S_compare(size_type __n1, size_type __n2) noexcept 7770: { 7770: const difference_type __d = difference_type(__n1 - __n2); 7770: 7770: if (__d > __gnu_cxx::__numeric_traits::__max) 7770: return __gnu_cxx::__numeric_traits::__max; 7770: else if (__d < __gnu_cxx::__numeric_traits::__min) 7770: return __gnu_cxx::__numeric_traits::__min; 7770: else 7770: return int(__d); 7770: } 7770: 7770: void 7770: _M_assign(const basic_string&); 7770: 7770: void 7770: _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, 7770: size_type __len2); 7770: 7770: void 7770: _M_erase(size_type __pos, size_type __n); 7770: 7770: public: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: basic_string() 7770: noexcept(is_nothrow_default_constructible<_Alloc>::value) 7770: : _M_dataplus(_M_local_data()) 7770: { _M_set_length(0); } 7770: 7770: 7770: 7770: 7770: explicit 7770: basic_string(const _Alloc& __a) noexcept 7770: : _M_dataplus(_M_local_data(), __a) 7770: { _M_set_length(0); } 7770: 7770: 7770: 7770: 7770: 7770: basic_string(const basic_string& __str) 7770: : _M_dataplus(_M_local_data(), 7770: _Alloc_traits::_S_select_on_copy(__str._M_get_allocator())) 7770: { _M_construct(__str._M_data(), __str._M_data() + __str.length()); } 7770: # 450 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string(const basic_string& __str, size_type __pos, 7770: const _Alloc& __a = _Alloc()) 7770: : _M_dataplus(_M_local_data(), __a) 7770: { 7770: const _CharT* __start = __str._M_data() 7770: + __str._M_check(__pos, "basic_string::basic_string"); 7770: _M_construct(__start, __start + __str._M_limit(__pos, npos)); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: basic_string(const basic_string& __str, size_type __pos, 7770: size_type __n) 7770: : _M_dataplus(_M_local_data()) 7770: { 7770: const _CharT* __start = __str._M_data() 7770: + __str._M_check(__pos, "basic_string::basic_string"); 7770: _M_construct(__start, __start + __str._M_limit(__pos, __n)); 7770: } 7770: # 481 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string(const basic_string& __str, size_type __pos, 7770: size_type __n, const _Alloc& __a) 7770: : _M_dataplus(_M_local_data(), __a) 7770: { 7770: const _CharT* __start 7770: = __str._M_data() + __str._M_check(__pos, "string::string"); 7770: _M_construct(__start, __start + __str._M_limit(__pos, __n)); 7770: } 7770: # 499 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string(const _CharT* __s, size_type __n, 7770: const _Alloc& __a = _Alloc()) 7770: : _M_dataplus(_M_local_data(), __a) 7770: { _M_construct(__s, __s + __n); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) 7770: : _M_dataplus(_M_local_data(), __a) 7770: { _M_construct(__s, __s ? __s + traits_type::length(__s) : __s+npos); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) 7770: : _M_dataplus(_M_local_data(), __a) 7770: { _M_construct(__n, __c); } 7770: # 531 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string(basic_string&& __str) noexcept 7770: : _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator())) 7770: { 7770: if (__str._M_is_local()) 7770: { 7770: traits_type::copy(_M_local_buf, __str._M_local_buf, 7770: _S_local_capacity + 1); 7770: } 7770: else 7770: { 7770: _M_data(__str._M_data()); 7770: _M_capacity(__str._M_allocated_capacity); 7770: } 7770: 7770: 7770: 7770: 7770: _M_length(__str.length()); 7770: __str._M_data(__str._M_local_data()); 7770: __str._M_set_length(0); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) 7770: : _M_dataplus(_M_local_data(), __a) 7770: { _M_construct(__l.begin(), __l.end()); } 7770: 7770: basic_string(const basic_string& __str, const _Alloc& __a) 7770: : _M_dataplus(_M_local_data(), __a) 7770: { _M_construct(__str.begin(), __str.end()); } 7770: 7770: basic_string(basic_string&& __str, const _Alloc& __a) 7770: noexcept(_Alloc_traits::_S_always_equal()) 7770: : _M_dataplus(_M_local_data(), __a) 7770: { 7770: if (__str._M_is_local()) 7770: { 7770: traits_type::copy(_M_local_buf, __str._M_local_buf, 7770: _S_local_capacity + 1); 7770: _M_length(__str.length()); 7770: __str._M_set_length(0); 7770: } 7770: else if (_Alloc_traits::_S_always_equal() 7770: || __str.get_allocator() == __a) 7770: { 7770: _M_data(__str._M_data()); 7770: _M_length(__str.length()); 7770: _M_capacity(__str._M_allocated_capacity); 7770: __str._M_data(__str._M_local_buf); 7770: __str._M_set_length(0); 7770: } 7770: else 7770: _M_construct(__str.begin(), __str.end()); 7770: } 7770: # 599 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template> 7770: 7770: 7770: 7770: basic_string(_InputIterator __beg, _InputIterator __end, 7770: const _Alloc& __a = _Alloc()) 7770: : _M_dataplus(_M_local_data(), __a) 7770: { _M_construct(__beg, __end); } 7770: # 617 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template> 7770: basic_string(const _Tp& __t, size_type __pos, size_type __n, 7770: const _Alloc& __a = _Alloc()) 7770: : basic_string(_S_to_string_view(__t).substr(__pos, __n), __a) { } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template> 7770: explicit 7770: basic_string(const _Tp& __t, const _Alloc& __a = _Alloc()) 7770: : basic_string(__sv_wrapper(_S_to_string_view(__t)), __a) { } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: explicit 7770: basic_string(__sv_wrapper __svw, const _Alloc& __a) 7770: : basic_string(__svw._M_sv.data(), __svw._M_sv.size(), __a) { } 7770: 7770: 7770: 7770: 7770: 7770: ~basic_string() 7770: { _M_dispose(); } 7770: 7770: 7770: 7770: 7770: 7770: basic_string& 7770: operator=(const basic_string& __str) 7770: { 7770: 7770: if (_Alloc_traits::_S_propagate_on_copy_assign()) 7770: { 7770: if (!_Alloc_traits::_S_always_equal() && !_M_is_local() 7770: && _M_get_allocator() != __str._M_get_allocator()) 7770: { 7770: 7770: 7770: if (__str.size() <= _S_local_capacity) 7770: { 7770: _M_destroy(_M_allocated_capacity); 7770: _M_data(_M_local_data()); 7770: _M_set_length(0); 7770: } 7770: else 7770: { 7770: const auto __len = __str.size(); 7770: auto __alloc = __str._M_get_allocator(); 7770: 7770: auto __ptr = _Alloc_traits::allocate(__alloc, __len + 1); 7770: _M_destroy(_M_allocated_capacity); 7770: _M_data(__ptr); 7770: _M_capacity(__len); 7770: _M_set_length(__len); 7770: } 7770: } 7770: std::__alloc_on_copy(_M_get_allocator(), __str._M_get_allocator()); 7770: } 7770: 7770: return this->assign(__str); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: basic_string& 7770: operator=(const _CharT* __s) 7770: { return this->assign(__s); } 7770: # 703 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: operator=(_CharT __c) 7770: { 7770: this->assign(1, __c); 7770: return *this; 7770: } 7770: # 721 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: operator=(basic_string&& __str) 7770: noexcept(_Alloc_traits::_S_nothrow_move()) 7770: { 7770: if (!_M_is_local() && _Alloc_traits::_S_propagate_on_move_assign() 7770: && !_Alloc_traits::_S_always_equal() 7770: && _M_get_allocator() != __str._M_get_allocator()) 7770: { 7770: 7770: _M_destroy(_M_allocated_capacity); 7770: _M_data(_M_local_data()); 7770: _M_set_length(0); 7770: } 7770: 7770: std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator()); 7770: 7770: if (!__str._M_is_local() 7770: && (_Alloc_traits::_S_propagate_on_move_assign() 7770: || _Alloc_traits::_S_always_equal())) 7770: { 7770: pointer __data = nullptr; 7770: size_type __capacity; 7770: if (!_M_is_local()) 7770: { 7770: if (_Alloc_traits::_S_always_equal()) 7770: { 7770: __data = _M_data(); 7770: __capacity = _M_allocated_capacity; 7770: } 7770: else 7770: _M_destroy(_M_allocated_capacity); 7770: } 7770: 7770: _M_data(__str._M_data()); 7770: _M_length(__str.length()); 7770: _M_capacity(__str._M_allocated_capacity); 7770: if (__data) 7770: { 7770: __str._M_data(__data); 7770: __str._M_capacity(__capacity); 7770: } 7770: else 7770: __str._M_data(__str._M_local_buf); 7770: } 7770: else 7770: assign(__str); 7770: __str.clear(); 7770: return *this; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: basic_string& 7770: operator=(initializer_list<_CharT> __l) 7770: { 7770: this->assign(__l.begin(), __l.size()); 7770: return *this; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: _If_sv<_Tp, basic_string&> 7770: operator=(const _Tp& __svt) 7770: { return this->assign(__svt); } 7770: 7770: 7770: 7770: 7770: 7770: operator __sv_type() const noexcept 7770: { return __sv_type(data(), size()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: iterator 7770: begin() noexcept 7770: { return iterator(_M_data()); } 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: begin() const noexcept 7770: { return const_iterator(_M_data()); } 7770: 7770: 7770: 7770: 7770: 7770: iterator 7770: end() noexcept 7770: { return iterator(_M_data() + this->size()); } 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: end() const noexcept 7770: { return const_iterator(_M_data() + this->size()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: reverse_iterator 7770: rbegin() noexcept 7770: { return reverse_iterator(this->end()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_reverse_iterator 7770: rbegin() const noexcept 7770: { return const_reverse_iterator(this->end()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: reverse_iterator 7770: rend() noexcept 7770: { return reverse_iterator(this->begin()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_reverse_iterator 7770: rend() const noexcept 7770: { return const_reverse_iterator(this->begin()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: cbegin() const noexcept 7770: { return const_iterator(this->_M_data()); } 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: cend() const noexcept 7770: { return const_iterator(this->_M_data() + this->size()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_reverse_iterator 7770: crbegin() const noexcept 7770: { return const_reverse_iterator(this->end()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_reverse_iterator 7770: crend() const noexcept 7770: { return const_reverse_iterator(this->begin()); } 7770: 7770: 7770: public: 7770: 7770: 7770: 7770: size_type 7770: size() const noexcept 7770: { return _M_string_length; } 7770: 7770: 7770: 7770: size_type 7770: length() const noexcept 7770: { return _M_string_length; } 7770: 7770: 7770: size_type 7770: max_size() const noexcept 7770: { return (_Alloc_traits::max_size(_M_get_allocator()) - 1) / 2; } 7770: # 935 "/usr/include/c++/8/bits/basic_string.h" 3 7770: void 7770: resize(size_type __n, _CharT __c); 7770: # 948 "/usr/include/c++/8/bits/basic_string.h" 3 7770: void 7770: resize(size_type __n) 7770: { this->resize(__n, _CharT()); } 7770: 7770: 7770: 7770: void 7770: shrink_to_fit() noexcept 7770: { 7770: # 966 "/usr/include/c++/8/bits/basic_string.h" 3 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: size_type 7770: capacity() const noexcept 7770: { 7770: return _M_is_local() ? size_type(_S_local_capacity) 7770: : _M_allocated_capacity; 7770: } 7770: # 997 "/usr/include/c++/8/bits/basic_string.h" 3 7770: void 7770: reserve(size_type __res_arg = 0); 7770: 7770: 7770: 7770: 7770: void 7770: clear() noexcept 7770: { _M_set_length(0); } 7770: 7770: 7770: 7770: 7770: 7770: bool 7770: empty() const noexcept 7770: { return this->size() == 0; } 7770: # 1026 "/usr/include/c++/8/bits/basic_string.h" 3 7770: const_reference 7770: operator[] (size_type __pos) const noexcept 7770: { 7770: ; 7770: return _M_data()[__pos]; 7770: } 7770: # 1043 "/usr/include/c++/8/bits/basic_string.h" 3 7770: reference 7770: operator[](size_type __pos) 7770: { 7770: 7770: 7770: ; 7770: 7770: ; 7770: return _M_data()[__pos]; 7770: } 7770: # 1064 "/usr/include/c++/8/bits/basic_string.h" 3 7770: const_reference 7770: at(size_type __n) const 7770: { 7770: if (__n >= this->size()) 7770: __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)") 7770: 7770: , 7770: __n, this->size()); 7770: return _M_data()[__n]; 7770: } 7770: # 1085 "/usr/include/c++/8/bits/basic_string.h" 3 7770: reference 7770: at(size_type __n) 7770: { 7770: if (__n >= size()) 7770: __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)") 7770: 7770: , 7770: __n, this->size()); 7770: return _M_data()[__n]; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: reference 7770: front() noexcept 7770: { 7770: ; 7770: return operator[](0); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: const_reference 7770: front() const noexcept 7770: { 7770: ; 7770: return operator[](0); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: reference 7770: back() noexcept 7770: { 7770: ; 7770: return operator[](this->size() - 1); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: const_reference 7770: back() const noexcept 7770: { 7770: ; 7770: return operator[](this->size() - 1); 7770: } 7770: # 1148 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: operator+=(const basic_string& __str) 7770: { return this->append(__str); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: basic_string& 7770: operator+=(const _CharT* __s) 7770: { return this->append(__s); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: basic_string& 7770: operator+=(_CharT __c) 7770: { 7770: this->push_back(__c); 7770: return *this; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: basic_string& 7770: operator+=(initializer_list<_CharT> __l) 7770: { return this->append(__l.begin(), __l.size()); } 7770: # 1190 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: _If_sv<_Tp, basic_string&> 7770: operator+=(const _Tp& __svt) 7770: { return this->append(__svt); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: basic_string& 7770: append(const basic_string& __str) 7770: { return _M_append(__str._M_data(), __str.size()); } 7770: # 1218 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: append(const basic_string& __str, size_type __pos, size_type __n) 7770: { return _M_append(__str._M_data() 7770: + __str._M_check(__pos, "basic_string::append"), 7770: __str._M_limit(__pos, __n)); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: basic_string& 7770: append(const _CharT* __s, size_type __n) 7770: { 7770: ; 7770: _M_check_length(size_type(0), __n, "basic_string::append"); 7770: return _M_append(__s, __n); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: basic_string& 7770: append(const _CharT* __s) 7770: { 7770: ; 7770: const size_type __n = traits_type::length(__s); 7770: _M_check_length(size_type(0), __n, "basic_string::append"); 7770: return _M_append(__s, __n); 7770: } 7770: # 1260 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: append(size_type __n, _CharT __c) 7770: { return _M_replace_aux(this->size(), size_type(0), __n, __c); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: basic_string& 7770: append(initializer_list<_CharT> __l) 7770: { return this->append(__l.begin(), __l.size()); } 7770: # 1284 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template> 7770: 7770: 7770: 7770: basic_string& 7770: append(_InputIterator __first, _InputIterator __last) 7770: { return this->replace(end(), end(), __first, __last); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: _If_sv<_Tp, basic_string&> 7770: append(const _Tp& __svt) 7770: { 7770: __sv_type __sv = __svt; 7770: return this->append(__sv.data(), __sv.size()); 7770: } 7770: # 1314 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: _If_sv<_Tp, basic_string&> 7770: append(const _Tp& __svt, size_type __pos, size_type __n = npos) 7770: { 7770: __sv_type __sv = __svt; 7770: return _M_append(__sv.data() 7770: + __sv._M_check(__pos, "basic_string::append"), 7770: __sv._M_limit(__pos, __n)); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: void 7770: push_back(_CharT __c) 7770: { 7770: const size_type __size = this->size(); 7770: if (__size + 1 > this->capacity()) 7770: this->_M_mutate(__size, size_type(0), 0, size_type(1)); 7770: traits_type::assign(this->_M_data()[__size], __c); 7770: this->_M_set_length(__size + 1); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: basic_string& 7770: assign(const basic_string& __str) 7770: { 7770: this->_M_assign(__str); 7770: return *this; 7770: } 7770: # 1360 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: assign(basic_string&& __str) 7770: noexcept(_Alloc_traits::_S_nothrow_move()) 7770: { 7770: 7770: 7770: return *this = std::move(__str); 7770: } 7770: # 1383 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: assign(const basic_string& __str, size_type __pos, size_type __n) 7770: { return _M_replace(size_type(0), this->size(), __str._M_data() 7770: + __str._M_check(__pos, "basic_string::assign"), 7770: __str._M_limit(__pos, __n)); } 7770: # 1399 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: assign(const _CharT* __s, size_type __n) 7770: { 7770: ; 7770: return _M_replace(size_type(0), this->size(), __s, __n); 7770: } 7770: # 1415 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: assign(const _CharT* __s) 7770: { 7770: ; 7770: return _M_replace(size_type(0), this->size(), __s, 7770: traits_type::length(__s)); 7770: } 7770: # 1432 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: assign(size_type __n, _CharT __c) 7770: { return _M_replace_aux(size_type(0), this->size(), __n, __c); } 7770: # 1445 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template> 7770: 7770: 7770: 7770: basic_string& 7770: assign(_InputIterator __first, _InputIterator __last) 7770: { return this->replace(begin(), end(), __first, __last); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: basic_string& 7770: assign(initializer_list<_CharT> __l) 7770: { return this->assign(__l.begin(), __l.size()); } 7770: # 1471 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: _If_sv<_Tp, basic_string&> 7770: assign(const _Tp& __svt) 7770: { 7770: __sv_type __sv = __svt; 7770: return this->assign(__sv.data(), __sv.size()); 7770: } 7770: # 1486 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: _If_sv<_Tp, basic_string&> 7770: assign(const _Tp& __svt, size_type __pos, size_type __n = npos) 7770: { 7770: __sv_type __sv = __svt; 7770: return _M_replace(size_type(0), this->size(), __sv.data() 7770: + __sv._M_check(__pos, "basic_string::assign"), 7770: __sv._M_limit(__pos, __n)); 7770: } 7770: # 1513 "/usr/include/c++/8/bits/basic_string.h" 3 7770: iterator 7770: insert(const_iterator __p, size_type __n, _CharT __c) 7770: { 7770: ; 7770: const size_type __pos = __p - begin(); 7770: this->replace(__p, __p, __n, __c); 7770: return iterator(this->_M_data() + __pos); 7770: } 7770: # 1555 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template> 7770: iterator 7770: insert(const_iterator __p, _InputIterator __beg, _InputIterator __end) 7770: { 7770: ; 7770: const size_type __pos = __p - begin(); 7770: this->replace(__p, __p, __beg, __end); 7770: return iterator(this->_M_data() + __pos); 7770: } 7770: # 1591 "/usr/include/c++/8/bits/basic_string.h" 3 7770: void 7770: insert(iterator __p, initializer_list<_CharT> __l) 7770: { 7770: ; 7770: this->insert(__p - begin(), __l.begin(), __l.size()); 7770: } 7770: # 1611 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: insert(size_type __pos1, const basic_string& __str) 7770: { return this->replace(__pos1, size_type(0), 7770: __str._M_data(), __str.size()); } 7770: # 1634 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: insert(size_type __pos1, const basic_string& __str, 7770: size_type __pos2, size_type __n) 7770: { return this->replace(__pos1, size_type(0), __str._M_data() 7770: + __str._M_check(__pos2, "basic_string::insert"), 7770: __str._M_limit(__pos2, __n)); } 7770: # 1657 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: insert(size_type __pos, const _CharT* __s, size_type __n) 7770: { return this->replace(__pos, size_type(0), __s, __n); } 7770: # 1676 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: insert(size_type __pos, const _CharT* __s) 7770: { 7770: ; 7770: return this->replace(__pos, size_type(0), __s, 7770: traits_type::length(__s)); 7770: } 7770: # 1700 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: insert(size_type __pos, size_type __n, _CharT __c) 7770: { return _M_replace_aux(_M_check(__pos, "basic_string::insert"), 7770: size_type(0), __n, __c); } 7770: # 1718 "/usr/include/c++/8/bits/basic_string.h" 3 7770: iterator 7770: insert(__const_iterator __p, _CharT __c) 7770: { 7770: ; 7770: const size_type __pos = __p - begin(); 7770: _M_replace_aux(__pos, size_type(0), size_type(1), __c); 7770: return iterator(_M_data() + __pos); 7770: } 7770: # 1734 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: _If_sv<_Tp, basic_string&> 7770: insert(size_type __pos, const _Tp& __svt) 7770: { 7770: __sv_type __sv = __svt; 7770: return this->insert(__pos, __sv.data(), __sv.size()); 7770: } 7770: # 1751 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: _If_sv<_Tp, basic_string&> 7770: insert(size_type __pos1, const _Tp& __svt, 7770: size_type __pos2, size_type __n = npos) 7770: { 7770: __sv_type __sv = __svt; 7770: return this->replace(__pos1, size_type(0), __sv.data() 7770: + __sv._M_check(__pos2, "basic_string::insert"), 7770: __sv._M_limit(__pos2, __n)); 7770: } 7770: # 1778 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: erase(size_type __pos = 0, size_type __n = npos) 7770: { 7770: _M_check(__pos, "basic_string::erase"); 7770: if (__n == npos) 7770: this->_M_set_length(__pos); 7770: else if (__n != 0) 7770: this->_M_erase(__pos, _M_limit(__pos, __n)); 7770: return *this; 7770: } 7770: # 1797 "/usr/include/c++/8/bits/basic_string.h" 3 7770: iterator 7770: erase(__const_iterator __position) 7770: { 7770: 7770: ; 7770: const size_type __pos = __position - begin(); 7770: this->_M_erase(__pos, size_type(1)); 7770: return iterator(_M_data() + __pos); 7770: } 7770: # 1816 "/usr/include/c++/8/bits/basic_string.h" 3 7770: iterator 7770: erase(__const_iterator __first, __const_iterator __last) 7770: { 7770: 7770: ; 7770: const size_type __pos = __first - begin(); 7770: if (__last == end()) 7770: this->_M_set_length(__pos); 7770: else 7770: this->_M_erase(__pos, __last - __first); 7770: return iterator(this->_M_data() + __pos); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: void 7770: pop_back() noexcept 7770: { 7770: ; 7770: _M_erase(size() - 1, 1); 7770: } 7770: # 1860 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: replace(size_type __pos, size_type __n, const basic_string& __str) 7770: { return this->replace(__pos, __n, __str._M_data(), __str.size()); } 7770: # 1882 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: replace(size_type __pos1, size_type __n1, const basic_string& __str, 7770: size_type __pos2, size_type __n2) 7770: { return this->replace(__pos1, __n1, __str._M_data() 7770: + __str._M_check(__pos2, "basic_string::replace"), 7770: __str._M_limit(__pos2, __n2)); } 7770: # 1907 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: replace(size_type __pos, size_type __n1, const _CharT* __s, 7770: size_type __n2) 7770: { 7770: ; 7770: return _M_replace(_M_check(__pos, "basic_string::replace"), 7770: _M_limit(__pos, __n1), __s, __n2); 7770: } 7770: # 1932 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: replace(size_type __pos, size_type __n1, const _CharT* __s) 7770: { 7770: ; 7770: return this->replace(__pos, __n1, __s, traits_type::length(__s)); 7770: } 7770: # 1956 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c) 7770: { return _M_replace_aux(_M_check(__pos, "basic_string::replace"), 7770: _M_limit(__pos, __n1), __n2, __c); } 7770: # 1974 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: replace(__const_iterator __i1, __const_iterator __i2, 7770: const basic_string& __str) 7770: { return this->replace(__i1, __i2, __str._M_data(), __str.size()); } 7770: # 1994 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: replace(__const_iterator __i1, __const_iterator __i2, 7770: const _CharT* __s, size_type __n) 7770: { 7770: 7770: ; 7770: return this->replace(__i1 - begin(), __i2 - __i1, __s, __n); 7770: } 7770: # 2016 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s) 7770: { 7770: ; 7770: return this->replace(__i1, __i2, __s, traits_type::length(__s)); 7770: } 7770: # 2037 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: replace(__const_iterator __i1, __const_iterator __i2, size_type __n, 7770: _CharT __c) 7770: { 7770: 7770: ; 7770: return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __c); 7770: } 7770: # 2062 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template> 7770: basic_string& 7770: replace(const_iterator __i1, const_iterator __i2, 7770: _InputIterator __k1, _InputIterator __k2) 7770: { 7770: 7770: ; 7770: ; 7770: return this->_M_replace_dispatch(__i1, __i2, __k1, __k2, 7770: std::__false_type()); 7770: } 7770: # 2094 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& 7770: replace(__const_iterator __i1, __const_iterator __i2, 7770: _CharT* __k1, _CharT* __k2) 7770: { 7770: 7770: ; 7770: ; 7770: return this->replace(__i1 - begin(), __i2 - __i1, 7770: __k1, __k2 - __k1); 7770: } 7770: 7770: basic_string& 7770: replace(__const_iterator __i1, __const_iterator __i2, 7770: const _CharT* __k1, const _CharT* __k2) 7770: { 7770: 7770: ; 7770: ; 7770: return this->replace(__i1 - begin(), __i2 - __i1, 7770: __k1, __k2 - __k1); 7770: } 7770: 7770: basic_string& 7770: replace(__const_iterator __i1, __const_iterator __i2, 7770: iterator __k1, iterator __k2) 7770: { 7770: 7770: ; 7770: ; 7770: return this->replace(__i1 - begin(), __i2 - __i1, 7770: __k1.base(), __k2 - __k1); 7770: } 7770: 7770: basic_string& 7770: replace(__const_iterator __i1, __const_iterator __i2, 7770: const_iterator __k1, const_iterator __k2) 7770: { 7770: 7770: ; 7770: ; 7770: return this->replace(__i1 - begin(), __i2 - __i1, 7770: __k1.base(), __k2 - __k1); 7770: } 7770: # 2153 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string& replace(const_iterator __i1, const_iterator __i2, 7770: initializer_list<_CharT> __l) 7770: { return this->replace(__i1, __i2, __l.begin(), __l.size()); } 7770: # 2166 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: _If_sv<_Tp, basic_string&> 7770: replace(size_type __pos, size_type __n, const _Tp& __svt) 7770: { 7770: __sv_type __sv = __svt; 7770: return this->replace(__pos, __n, __sv.data(), __sv.size()); 7770: } 7770: # 2183 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: _If_sv<_Tp, basic_string&> 7770: replace(size_type __pos1, size_type __n1, const _Tp& __svt, 7770: size_type __pos2, size_type __n2 = npos) 7770: { 7770: __sv_type __sv = __svt; 7770: return this->replace(__pos1, __n1, __sv.data() 7770: + __sv._M_check(__pos2, "basic_string::replace"), 7770: __sv._M_limit(__pos2, __n2)); 7770: } 7770: # 2203 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: _If_sv<_Tp, basic_string&> 7770: replace(const_iterator __i1, const_iterator __i2, const _Tp& __svt) 7770: { 7770: __sv_type __sv = __svt; 7770: return this->replace(__i1 - begin(), __i2 - __i1, __sv); 7770: } 7770: 7770: 7770: private: 7770: template 7770: basic_string& 7770: _M_replace_dispatch(const_iterator __i1, const_iterator __i2, 7770: _Integer __n, _Integer __val, __true_type) 7770: { return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __val); } 7770: 7770: template 7770: basic_string& 7770: _M_replace_dispatch(const_iterator __i1, const_iterator __i2, 7770: _InputIterator __k1, _InputIterator __k2, 7770: __false_type); 7770: 7770: basic_string& 7770: _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, 7770: _CharT __c); 7770: 7770: basic_string& 7770: _M_replace(size_type __pos, size_type __len1, const _CharT* __s, 7770: const size_type __len2); 7770: 7770: basic_string& 7770: _M_append(const _CharT* __s, size_type __n); 7770: 7770: public: 7770: # 2250 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: copy(_CharT* __s, size_type __n, size_type __pos = 0) const; 7770: # 2260 "/usr/include/c++/8/bits/basic_string.h" 3 7770: void 7770: swap(basic_string& __s) noexcept; 7770: # 2270 "/usr/include/c++/8/bits/basic_string.h" 3 7770: const _CharT* 7770: c_str() const noexcept 7770: { return _M_data(); } 7770: # 2282 "/usr/include/c++/8/bits/basic_string.h" 3 7770: const _CharT* 7770: data() const noexcept 7770: { return _M_data(); } 7770: # 2293 "/usr/include/c++/8/bits/basic_string.h" 3 7770: _CharT* 7770: data() noexcept 7770: { return _M_data(); } 7770: 7770: 7770: 7770: 7770: 7770: allocator_type 7770: get_allocator() const noexcept 7770: { return _M_get_allocator(); } 7770: # 2317 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: find(const _CharT* __s, size_type __pos, size_type __n) const 7770: noexcept; 7770: # 2331 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: find(const basic_string& __str, size_type __pos = 0) const 7770: noexcept 7770: { return this->find(__str.data(), __pos, __str.size()); } 7770: # 2343 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: _If_sv<_Tp, size_type> 7770: find(const _Tp& __svt, size_type __pos = 0) const 7770: noexcept(is_same<_Tp, __sv_type>::value) 7770: { 7770: __sv_type __sv = __svt; 7770: return this->find(__sv.data(), __pos, __sv.size()); 7770: } 7770: # 2363 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: find(const _CharT* __s, size_type __pos = 0) const noexcept 7770: { 7770: ; 7770: return this->find(__s, __pos, traits_type::length(__s)); 7770: } 7770: # 2380 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: find(_CharT __c, size_type __pos = 0) const noexcept; 7770: # 2393 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: rfind(const basic_string& __str, size_type __pos = npos) const 7770: noexcept 7770: { return this->rfind(__str.data(), __pos, __str.size()); } 7770: # 2405 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: _If_sv<_Tp, size_type> 7770: rfind(const _Tp& __svt, size_type __pos = npos) const 7770: noexcept(is_same<_Tp, __sv_type>::value) 7770: { 7770: __sv_type __sv = __svt; 7770: return this->rfind(__sv.data(), __pos, __sv.size()); 7770: } 7770: # 2427 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: rfind(const _CharT* __s, size_type __pos, size_type __n) const 7770: noexcept; 7770: # 2441 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: rfind(const _CharT* __s, size_type __pos = npos) const 7770: { 7770: ; 7770: return this->rfind(__s, __pos, traits_type::length(__s)); 7770: } 7770: # 2458 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: rfind(_CharT __c, size_type __pos = npos) const noexcept; 7770: # 2472 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: find_first_of(const basic_string& __str, size_type __pos = 0) const 7770: noexcept 7770: { return this->find_first_of(__str.data(), __pos, __str.size()); } 7770: # 2485 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: _If_sv<_Tp, size_type> 7770: find_first_of(const _Tp& __svt, size_type __pos = 0) const 7770: noexcept(is_same<_Tp, __sv_type>::value) 7770: { 7770: __sv_type __sv = __svt; 7770: return this->find_first_of(__sv.data(), __pos, __sv.size()); 7770: } 7770: # 2507 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: find_first_of(const _CharT* __s, size_type __pos, size_type __n) const 7770: noexcept; 7770: # 2521 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: find_first_of(const _CharT* __s, size_type __pos = 0) const 7770: noexcept 7770: { 7770: ; 7770: return this->find_first_of(__s, __pos, traits_type::length(__s)); 7770: } 7770: # 2541 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: find_first_of(_CharT __c, size_type __pos = 0) const noexcept 7770: { return this->find(__c, __pos); } 7770: # 2556 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: find_last_of(const basic_string& __str, size_type __pos = npos) const 7770: noexcept 7770: { return this->find_last_of(__str.data(), __pos, __str.size()); } 7770: # 2569 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: _If_sv<_Tp, size_type> 7770: find_last_of(const _Tp& __svt, size_type __pos = npos) const 7770: noexcept(is_same<_Tp, __sv_type>::value) 7770: { 7770: __sv_type __sv = __svt; 7770: return this->find_last_of(__sv.data(), __pos, __sv.size()); 7770: } 7770: # 2591 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: find_last_of(const _CharT* __s, size_type __pos, size_type __n) const 7770: noexcept; 7770: # 2605 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: find_last_of(const _CharT* __s, size_type __pos = npos) const 7770: noexcept 7770: { 7770: ; 7770: return this->find_last_of(__s, __pos, traits_type::length(__s)); 7770: } 7770: # 2625 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: find_last_of(_CharT __c, size_type __pos = npos) const noexcept 7770: { return this->rfind(__c, __pos); } 7770: # 2639 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: find_first_not_of(const basic_string& __str, size_type __pos = 0) const 7770: noexcept 7770: { return this->find_first_not_of(__str.data(), __pos, __str.size()); } 7770: # 2652 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: _If_sv<_Tp, size_type> 7770: find_first_not_of(const _Tp& __svt, size_type __pos = 0) const 7770: noexcept(is_same<_Tp, __sv_type>::value) 7770: { 7770: __sv_type __sv = __svt; 7770: return this->find_first_not_of(__sv.data(), __pos, __sv.size()); 7770: } 7770: # 2674 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: find_first_not_of(const _CharT* __s, size_type __pos, 7770: size_type __n) const noexcept; 7770: # 2688 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: find_first_not_of(const _CharT* __s, size_type __pos = 0) const 7770: noexcept 7770: { 7770: ; 7770: return this->find_first_not_of(__s, __pos, traits_type::length(__s)); 7770: } 7770: # 2706 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: find_first_not_of(_CharT __c, size_type __pos = 0) const 7770: noexcept; 7770: # 2721 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: find_last_not_of(const basic_string& __str, size_type __pos = npos) const 7770: noexcept 7770: { return this->find_last_not_of(__str.data(), __pos, __str.size()); } 7770: # 2734 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: _If_sv<_Tp, size_type> 7770: find_last_not_of(const _Tp& __svt, size_type __pos = npos) const 7770: noexcept(is_same<_Tp, __sv_type>::value) 7770: { 7770: __sv_type __sv = __svt; 7770: return this->find_last_not_of(__sv.data(), __pos, __sv.size()); 7770: } 7770: # 2756 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: find_last_not_of(const _CharT* __s, size_type __pos, 7770: size_type __n) const noexcept; 7770: # 2770 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: find_last_not_of(const _CharT* __s, size_type __pos = npos) const 7770: noexcept 7770: { 7770: ; 7770: return this->find_last_not_of(__s, __pos, traits_type::length(__s)); 7770: } 7770: # 2788 "/usr/include/c++/8/bits/basic_string.h" 3 7770: size_type 7770: find_last_not_of(_CharT __c, size_type __pos = npos) const 7770: noexcept; 7770: # 2804 "/usr/include/c++/8/bits/basic_string.h" 3 7770: basic_string 7770: substr(size_type __pos = 0, size_type __n = npos) const 7770: { return basic_string(*this, 7770: _M_check(__pos, "basic_string::substr"), __n); } 7770: # 2823 "/usr/include/c++/8/bits/basic_string.h" 3 7770: int 7770: compare(const basic_string& __str) const 7770: { 7770: const size_type __size = this->size(); 7770: const size_type __osize = __str.size(); 7770: const size_type __len = std::min(__size, __osize); 7770: 7770: int __r = traits_type::compare(_M_data(), __str.data(), __len); 7770: if (!__r) 7770: __r = _S_compare(__size, __osize); 7770: return __r; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: _If_sv<_Tp, int> 7770: compare(const _Tp& __svt) const 7770: noexcept(is_same<_Tp, __sv_type>::value) 7770: { 7770: __sv_type __sv = __svt; 7770: const size_type __size = this->size(); 7770: const size_type __osize = __sv.size(); 7770: const size_type __len = std::min(__size, __osize); 7770: 7770: int __r = traits_type::compare(_M_data(), __sv.data(), __len); 7770: if (!__r) 7770: __r = _S_compare(__size, __osize); 7770: return __r; 7770: } 7770: # 2866 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: _If_sv<_Tp, int> 7770: compare(size_type __pos, size_type __n, const _Tp& __svt) const 7770: noexcept(is_same<_Tp, __sv_type>::value) 7770: { 7770: __sv_type __sv = __svt; 7770: return __sv_type(*this).substr(__pos, __n).compare(__sv); 7770: } 7770: # 2885 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: _If_sv<_Tp, int> 7770: compare(size_type __pos1, size_type __n1, const _Tp& __svt, 7770: size_type __pos2, size_type __n2 = npos) const 7770: noexcept(is_same<_Tp, __sv_type>::value) 7770: { 7770: __sv_type __sv = __svt; 7770: return __sv_type(*this) 7770: .substr(__pos1, __n1).compare(__sv.substr(__pos2, __n2)); 7770: } 7770: # 2916 "/usr/include/c++/8/bits/basic_string.h" 3 7770: int 7770: compare(size_type __pos, size_type __n, const basic_string& __str) const; 7770: # 2942 "/usr/include/c++/8/bits/basic_string.h" 3 7770: int 7770: compare(size_type __pos1, size_type __n1, const basic_string& __str, 7770: size_type __pos2, size_type __n2) const; 7770: # 2960 "/usr/include/c++/8/bits/basic_string.h" 3 7770: int 7770: compare(const _CharT* __s) const noexcept; 7770: # 2984 "/usr/include/c++/8/bits/basic_string.h" 3 7770: int 7770: compare(size_type __pos, size_type __n1, const _CharT* __s) const; 7770: # 3011 "/usr/include/c++/8/bits/basic_string.h" 3 7770: int 7770: compare(size_type __pos, size_type __n1, const _CharT* __s, 7770: size_type __n2) const; 7770: 7770: 7770: template friend class basic_stringbuf; 7770: }; 7770: } 7770: # 5868 "/usr/include/c++/8/bits/basic_string.h" 3 7770: namespace __cxx11 { 7770: template::value_type, 7770: typename _Allocator = allocator<_CharT>, 7770: typename = _RequireInputIter<_InputIterator>, 7770: typename = _RequireAllocator<_Allocator>> 7770: basic_string(_InputIterator, _InputIterator, _Allocator = _Allocator()) 7770: -> basic_string<_CharT, char_traits<_CharT>, _Allocator>; 7770: } 7770: # 5886 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: basic_string<_CharT, _Traits, _Alloc> 7770: operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 7770: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 7770: { 7770: basic_string<_CharT, _Traits, _Alloc> __str(__lhs); 7770: __str.append(__rhs); 7770: return __str; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: basic_string<_CharT,_Traits,_Alloc> 7770: operator+(const _CharT* __lhs, 7770: const basic_string<_CharT,_Traits,_Alloc>& __rhs); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: basic_string<_CharT,_Traits,_Alloc> 7770: operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline basic_string<_CharT, _Traits, _Alloc> 7770: operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 7770: const _CharT* __rhs) 7770: { 7770: basic_string<_CharT, _Traits, _Alloc> __str(__lhs); 7770: __str.append(__rhs); 7770: return __str; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline basic_string<_CharT, _Traits, _Alloc> 7770: operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) 7770: { 7770: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 7770: typedef typename __string_type::size_type __size_type; 7770: __string_type __str(__lhs); 7770: __str.append(__size_type(1), __rhs); 7770: return __str; 7770: } 7770: 7770: 7770: template 7770: inline basic_string<_CharT, _Traits, _Alloc> 7770: operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, 7770: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 7770: { return std::move(__lhs.append(__rhs)); } 7770: 7770: template 7770: inline basic_string<_CharT, _Traits, _Alloc> 7770: operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 7770: basic_string<_CharT, _Traits, _Alloc>&& __rhs) 7770: { return std::move(__rhs.insert(0, __lhs)); } 7770: 7770: template 7770: inline basic_string<_CharT, _Traits, _Alloc> 7770: operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, 7770: basic_string<_CharT, _Traits, _Alloc>&& __rhs) 7770: { 7770: const auto __size = __lhs.size() + __rhs.size(); 7770: const bool __cond = (__size > __lhs.capacity() 7770: && __size <= __rhs.capacity()); 7770: return __cond ? std::move(__rhs.insert(0, __lhs)) 7770: : std::move(__lhs.append(__rhs)); 7770: } 7770: 7770: template 7770: inline basic_string<_CharT, _Traits, _Alloc> 7770: operator+(const _CharT* __lhs, 7770: basic_string<_CharT, _Traits, _Alloc>&& __rhs) 7770: { return std::move(__rhs.insert(0, __lhs)); } 7770: 7770: template 7770: inline basic_string<_CharT, _Traits, _Alloc> 7770: operator+(_CharT __lhs, 7770: basic_string<_CharT, _Traits, _Alloc>&& __rhs) 7770: { return std::move(__rhs.insert(0, 1, __lhs)); } 7770: 7770: template 7770: inline basic_string<_CharT, _Traits, _Alloc> 7770: operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, 7770: const _CharT* __rhs) 7770: { return std::move(__lhs.append(__rhs)); } 7770: 7770: template 7770: inline basic_string<_CharT, _Traits, _Alloc> 7770: operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, 7770: _CharT __rhs) 7770: { return std::move(__lhs.append(1, __rhs)); } 7770: # 6007 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: inline bool 7770: operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 7770: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 7770: noexcept 7770: { return __lhs.compare(__rhs) == 0; } 7770: 7770: template 7770: inline 7770: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, bool>::__type 7770: operator==(const basic_string<_CharT>& __lhs, 7770: const basic_string<_CharT>& __rhs) noexcept 7770: { return (__lhs.size() == __rhs.size() 7770: && !std::char_traits<_CharT>::compare(__lhs.data(), __rhs.data(), 7770: __lhs.size())); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline bool 7770: operator==(const _CharT* __lhs, 7770: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 7770: { return __rhs.compare(__lhs) == 0; } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline bool 7770: operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 7770: const _CharT* __rhs) 7770: { return __lhs.compare(__rhs) == 0; } 7770: # 6054 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: inline bool 7770: operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 7770: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 7770: noexcept 7770: { return !(__lhs == __rhs); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline bool 7770: operator!=(const _CharT* __lhs, 7770: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 7770: { return !(__lhs == __rhs); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline bool 7770: operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 7770: const _CharT* __rhs) 7770: { return !(__lhs == __rhs); } 7770: # 6092 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: inline bool 7770: operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 7770: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 7770: noexcept 7770: { return __lhs.compare(__rhs) < 0; } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline bool 7770: operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 7770: const _CharT* __rhs) 7770: { return __lhs.compare(__rhs) < 0; } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline bool 7770: operator<(const _CharT* __lhs, 7770: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 7770: { return __rhs.compare(__lhs) > 0; } 7770: # 6130 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: inline bool 7770: operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 7770: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 7770: noexcept 7770: { return __lhs.compare(__rhs) > 0; } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline bool 7770: operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 7770: const _CharT* __rhs) 7770: { return __lhs.compare(__rhs) > 0; } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline bool 7770: operator>(const _CharT* __lhs, 7770: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 7770: { return __rhs.compare(__lhs) < 0; } 7770: # 6168 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: inline bool 7770: operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 7770: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 7770: noexcept 7770: { return __lhs.compare(__rhs) <= 0; } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline bool 7770: operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 7770: const _CharT* __rhs) 7770: { return __lhs.compare(__rhs) <= 0; } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline bool 7770: operator<=(const _CharT* __lhs, 7770: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 7770: { return __rhs.compare(__lhs) >= 0; } 7770: # 6206 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: inline bool 7770: operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 7770: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 7770: noexcept 7770: { return __lhs.compare(__rhs) >= 0; } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline bool 7770: operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, 7770: const _CharT* __rhs) 7770: { return __lhs.compare(__rhs) >= 0; } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline bool 7770: operator>=(const _CharT* __lhs, 7770: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 7770: { return __rhs.compare(__lhs) <= 0; } 7770: # 6244 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: inline void 7770: swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, 7770: basic_string<_CharT, _Traits, _Alloc>& __rhs) 7770: noexcept(noexcept(__lhs.swap(__rhs))) 7770: { __lhs.swap(__rhs); } 7770: # 6264 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: operator>>(basic_istream<_CharT, _Traits>& __is, 7770: basic_string<_CharT, _Traits, _Alloc>& __str); 7770: 7770: template<> 7770: basic_istream& 7770: operator>>(basic_istream& __is, basic_string& __str); 7770: # 6282 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: inline basic_ostream<_CharT, _Traits>& 7770: operator<<(basic_ostream<_CharT, _Traits>& __os, 7770: const basic_string<_CharT, _Traits, _Alloc>& __str) 7770: { 7770: 7770: 7770: return __ostream_insert(__os, __str.data(), __str.size()); 7770: } 7770: # 6305 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: getline(basic_istream<_CharT, _Traits>& __is, 7770: basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim); 7770: # 6322 "/usr/include/c++/8/bits/basic_string.h" 3 7770: template 7770: inline basic_istream<_CharT, _Traits>& 7770: getline(basic_istream<_CharT, _Traits>& __is, 7770: basic_string<_CharT, _Traits, _Alloc>& __str) 7770: { return std::getline(__is, __str, __is.widen('\n')); } 7770: 7770: 7770: 7770: template 7770: inline basic_istream<_CharT, _Traits>& 7770: getline(basic_istream<_CharT, _Traits>&& __is, 7770: basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) 7770: { return std::getline(__is, __str, __delim); } 7770: 7770: 7770: template 7770: inline basic_istream<_CharT, _Traits>& 7770: getline(basic_istream<_CharT, _Traits>&& __is, 7770: basic_string<_CharT, _Traits, _Alloc>& __str) 7770: { return std::getline(__is, __str); } 7770: 7770: 7770: template<> 7770: basic_istream& 7770: getline(basic_istream& __in, basic_string& __str, 7770: char __delim); 7770: 7770: 7770: template<> 7770: basic_istream& 7770: getline(basic_istream& __in, basic_string& __str, 7770: wchar_t __delim); 7770: 7770: 7770: 7770: } 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/ext/string_conversions.h" 1 3 7770: # 32 "/usr/include/c++/8/ext/string_conversions.h" 3 7770: 7770: # 33 "/usr/include/c++/8/ext/string_conversions.h" 3 7770: # 41 "/usr/include/c++/8/ext/string_conversions.h" 3 7770: # 1 "/usr/include/c++/8/cstdlib" 1 3 7770: # 39 "/usr/include/c++/8/cstdlib" 3 7770: 7770: # 40 "/usr/include/c++/8/cstdlib" 3 7770: # 42 "/usr/include/c++/8/ext/string_conversions.h" 2 3 7770: # 1 "/usr/include/c++/8/cwchar" 1 3 7770: # 39 "/usr/include/c++/8/cwchar" 3 7770: 7770: # 40 "/usr/include/c++/8/cwchar" 3 7770: # 43 "/usr/include/c++/8/ext/string_conversions.h" 2 3 7770: # 1 "/usr/include/c++/8/cstdio" 1 3 7770: # 39 "/usr/include/c++/8/cstdio" 3 7770: 7770: # 40 "/usr/include/c++/8/cstdio" 3 7770: 7770: 7770: # 1 "/usr/include/stdio.h" 1 3 4 7770: # 27 "/usr/include/stdio.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/libc-header-start.h" 1 3 4 7770: # 28 "/usr/include/stdio.h" 2 3 4 7770: 7770: extern "C" { 7770: 7770: 7770: 7770: # 1 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stddef.h" 1 3 4 7770: # 34 "/usr/include/stdio.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/libio.h" 1 3 4 7770: # 31 "/usr/include/libio.h" 3 4 7770: # 1 "/usr/include/_G_config.h" 1 3 4 7770: # 15 "/usr/include/_G_config.h" 3 4 7770: # 1 "/usr/lib/gcc/aarch64-linux-gnu/8/include/stddef.h" 1 3 4 7770: # 16 "/usr/include/_G_config.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef struct 7770: { 7770: __off_t __pos; 7770: __mbstate_t __state; 7770: } _G_fpos_t; 7770: typedef struct 7770: { 7770: __off64_t __pos; 7770: __mbstate_t __state; 7770: } _G_fpos64_t; 7770: # 32 "/usr/include/libio.h" 2 3 4 7770: # 145 "/usr/include/libio.h" 3 4 7770: struct _IO_jump_t; struct _IO_FILE; 7770: 7770: 7770: 7770: 7770: typedef void _IO_lock_t; 7770: 7770: 7770: 7770: 7770: 7770: struct _IO_marker { 7770: struct _IO_marker *_next; 7770: struct _IO_FILE *_sbuf; 7770: 7770: 7770: 7770: int _pos; 7770: # 173 "/usr/include/libio.h" 3 4 7770: }; 7770: 7770: 7770: enum __codecvt_result 7770: { 7770: __codecvt_ok, 7770: __codecvt_partial, 7770: __codecvt_error, 7770: __codecvt_noconv 7770: }; 7770: # 241 "/usr/include/libio.h" 3 4 7770: struct _IO_FILE { 7770: int _flags; 7770: 7770: 7770: 7770: 7770: char* _IO_read_ptr; 7770: char* _IO_read_end; 7770: char* _IO_read_base; 7770: char* _IO_write_base; 7770: char* _IO_write_ptr; 7770: char* _IO_write_end; 7770: char* _IO_buf_base; 7770: char* _IO_buf_end; 7770: 7770: char *_IO_save_base; 7770: char *_IO_backup_base; 7770: char *_IO_save_end; 7770: 7770: struct _IO_marker *_markers; 7770: 7770: struct _IO_FILE *_chain; 7770: 7770: int _fileno; 7770: 7770: 7770: 7770: int _flags2; 7770: 7770: __off_t _old_offset; 7770: 7770: 7770: 7770: unsigned short _cur_column; 7770: signed char _vtable_offset; 7770: char _shortbuf[1]; 7770: 7770: 7770: 7770: _IO_lock_t *_lock; 7770: # 289 "/usr/include/libio.h" 3 4 7770: __off64_t _offset; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: void *__pad1; 7770: void *__pad2; 7770: void *__pad3; 7770: void *__pad4; 7770: 7770: size_t __pad5; 7770: int _mode; 7770: 7770: char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; 7770: 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: struct _IO_FILE_plus; 7770: 7770: extern struct _IO_FILE_plus _IO_2_1_stdin_; 7770: extern struct _IO_FILE_plus _IO_2_1_stdout_; 7770: extern struct _IO_FILE_plus _IO_2_1_stderr_; 7770: # 333 "/usr/include/libio.h" 3 4 7770: typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef __ssize_t __io_write_fn (void *__cookie, const char *__buf, 7770: size_t __n); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); 7770: 7770: 7770: typedef int __io_close_fn (void *__cookie); 7770: 7770: 7770: 7770: 7770: typedef __io_read_fn cookie_read_function_t; 7770: typedef __io_write_fn cookie_write_function_t; 7770: typedef __io_seek_fn cookie_seek_function_t; 7770: typedef __io_close_fn cookie_close_function_t; 7770: 7770: 7770: typedef struct 7770: { 7770: __io_read_fn *read; 7770: __io_write_fn *write; 7770: __io_seek_fn *seek; 7770: __io_close_fn *close; 7770: } _IO_cookie_io_functions_t; 7770: typedef _IO_cookie_io_functions_t cookie_io_functions_t; 7770: 7770: struct _IO_cookie_file; 7770: 7770: 7770: extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write, 7770: void *__cookie, _IO_cookie_io_functions_t __fns); 7770: 7770: 7770: 7770: 7770: extern "C" { 7770: 7770: 7770: extern int __underflow (_IO_FILE *); 7770: extern int __uflow (_IO_FILE *); 7770: extern int __overflow (_IO_FILE *, int); 7770: # 429 "/usr/include/libio.h" 3 4 7770: extern int _IO_getc (_IO_FILE *__fp); 7770: extern int _IO_putc (int __c, _IO_FILE *__fp); 7770: extern int _IO_feof (_IO_FILE *__fp) throw (); 7770: extern int _IO_ferror (_IO_FILE *__fp) throw (); 7770: 7770: extern int _IO_peekc_locked (_IO_FILE *__fp); 7770: 7770: 7770: 7770: 7770: 7770: extern void _IO_flockfile (_IO_FILE *) throw (); 7770: extern void _IO_funlockfile (_IO_FILE *) throw (); 7770: extern int _IO_ftrylockfile (_IO_FILE *) throw (); 7770: # 458 "/usr/include/libio.h" 3 4 7770: extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, 7770: __gnuc_va_list, int *__restrict); 7770: extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, 7770: __gnuc_va_list); 7770: extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t); 7770: extern size_t _IO_sgetn (_IO_FILE *, void *, size_t); 7770: 7770: extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int); 7770: extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int); 7770: 7770: extern void _IO_free_backup_area (_IO_FILE *) throw (); 7770: # 520 "/usr/include/libio.h" 3 4 7770: } 7770: # 42 "/usr/include/stdio.h" 2 3 4 7770: # 78 "/usr/include/stdio.h" 3 4 7770: typedef _G_fpos_t fpos_t; 7770: 7770: 7770: 7770: 7770: typedef _G_fpos64_t fpos64_t; 7770: # 131 "/usr/include/stdio.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/stdio_lim.h" 1 3 4 7770: # 132 "/usr/include/stdio.h" 2 3 4 7770: 7770: 7770: 7770: extern struct _IO_FILE *stdin; 7770: extern struct _IO_FILE *stdout; 7770: extern struct _IO_FILE *stderr; 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int remove (const char *__filename) throw (); 7770: 7770: extern int rename (const char *__old, const char *__new) throw (); 7770: 7770: 7770: 7770: extern int renameat (int __oldfd, const char *__old, int __newfd, 7770: const char *__new) throw (); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern FILE *tmpfile (void) __attribute__ ((__warn_unused_result__)); 7770: # 169 "/usr/include/stdio.h" 3 4 7770: extern FILE *tmpfile64 (void) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: extern char *tmpnam (char *__s) throw () __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: extern char *tmpnam_r (char *__s) throw () __attribute__ ((__warn_unused_result__)); 7770: # 190 "/usr/include/stdio.h" 3 4 7770: extern char *tempnam (const char *__dir, const char *__pfx) 7770: throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int fclose (FILE *__stream); 7770: 7770: 7770: 7770: 7770: extern int fflush (FILE *__stream); 7770: # 213 "/usr/include/stdio.h" 3 4 7770: extern int fflush_unlocked (FILE *__stream); 7770: # 223 "/usr/include/stdio.h" 3 4 7770: extern int fcloseall (void); 7770: # 232 "/usr/include/stdio.h" 3 4 7770: extern FILE *fopen (const char *__restrict __filename, 7770: const char *__restrict __modes) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: extern FILE *freopen (const char *__restrict __filename, 7770: const char *__restrict __modes, 7770: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 7770: # 256 "/usr/include/stdio.h" 3 4 7770: extern FILE *fopen64 (const char *__restrict __filename, 7770: const char *__restrict __modes) __attribute__ ((__warn_unused_result__)); 7770: extern FILE *freopen64 (const char *__restrict __filename, 7770: const char *__restrict __modes, 7770: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: extern FILE *fdopen (int __fd, const char *__modes) throw () __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: 7770: extern FILE *fopencookie (void *__restrict __magic_cookie, 7770: const char *__restrict __modes, 7770: _IO_cookie_io_functions_t __io_funcs) throw () __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) 7770: throw () __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) throw () __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: 7770: extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw (); 7770: 7770: 7770: 7770: extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, 7770: int __modes, size_t __n) throw (); 7770: 7770: 7770: 7770: 7770: extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, 7770: size_t __size) throw (); 7770: 7770: 7770: extern void setlinebuf (FILE *__stream) throw (); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int fprintf (FILE *__restrict __stream, 7770: const char *__restrict __format, ...); 7770: 7770: 7770: 7770: 7770: extern int printf (const char *__restrict __format, ...); 7770: 7770: extern int sprintf (char *__restrict __s, 7770: const char *__restrict __format, ...) throw (); 7770: 7770: 7770: 7770: 7770: 7770: extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, 7770: __gnuc_va_list __arg); 7770: 7770: 7770: 7770: 7770: extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); 7770: 7770: extern int vsprintf (char *__restrict __s, const char *__restrict __format, 7770: __gnuc_va_list __arg) throw (); 7770: 7770: 7770: 7770: extern int snprintf (char *__restrict __s, size_t __maxlen, 7770: const char *__restrict __format, ...) 7770: throw () __attribute__ ((__format__ (__printf__, 3, 4))); 7770: 7770: extern int vsnprintf (char *__restrict __s, size_t __maxlen, 7770: const char *__restrict __format, __gnuc_va_list __arg) 7770: throw () __attribute__ ((__format__ (__printf__, 3, 0))); 7770: 7770: 7770: 7770: 7770: 7770: extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, 7770: __gnuc_va_list __arg) 7770: throw () __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__)); 7770: extern int __asprintf (char **__restrict __ptr, 7770: const char *__restrict __fmt, ...) 7770: throw () __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); 7770: extern int asprintf (char **__restrict __ptr, 7770: const char *__restrict __fmt, ...) 7770: throw () __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: extern int vdprintf (int __fd, const char *__restrict __fmt, 7770: __gnuc_va_list __arg) 7770: __attribute__ ((__format__ (__printf__, 2, 0))); 7770: extern int dprintf (int __fd, const char *__restrict __fmt, ...) 7770: __attribute__ ((__format__ (__printf__, 2, 3))); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int fscanf (FILE *__restrict __stream, 7770: const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); 7770: 7770: extern int sscanf (const char *__restrict __s, 7770: const char *__restrict __format, ...) throw (); 7770: # 420 "/usr/include/stdio.h" 3 4 7770: extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, 7770: __gnuc_va_list __arg) 7770: __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: 7770: extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) 7770: __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: extern int vsscanf (const char *__restrict __s, 7770: const char *__restrict __format, __gnuc_va_list __arg) 7770: throw () __attribute__ ((__format__ (__scanf__, 2, 0))); 7770: # 477 "/usr/include/stdio.h" 3 4 7770: extern int fgetc (FILE *__stream); 7770: extern int getc (FILE *__stream); 7770: 7770: 7770: 7770: 7770: 7770: extern int getchar (void); 7770: # 495 "/usr/include/stdio.h" 3 4 7770: extern int getc_unlocked (FILE *__stream); 7770: extern int getchar_unlocked (void); 7770: # 506 "/usr/include/stdio.h" 3 4 7770: extern int fgetc_unlocked (FILE *__stream); 7770: # 517 "/usr/include/stdio.h" 3 4 7770: extern int fputc (int __c, FILE *__stream); 7770: extern int putc (int __c, FILE *__stream); 7770: 7770: 7770: 7770: 7770: 7770: extern int putchar (int __c); 7770: # 537 "/usr/include/stdio.h" 3 4 7770: extern int fputc_unlocked (int __c, FILE *__stream); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int putc_unlocked (int __c, FILE *__stream); 7770: extern int putchar_unlocked (int __c); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int getw (FILE *__stream); 7770: 7770: 7770: extern int putw (int __w, FILE *__stream); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) 7770: __attribute__ ((__warn_unused_result__)); 7770: # 587 "/usr/include/stdio.h" 3 4 7770: extern char *fgets_unlocked (char *__restrict __s, int __n, 7770: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 7770: # 603 "/usr/include/stdio.h" 3 4 7770: extern __ssize_t __getdelim (char **__restrict __lineptr, 7770: size_t *__restrict __n, int __delimiter, 7770: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 7770: extern __ssize_t getdelim (char **__restrict __lineptr, 7770: size_t *__restrict __n, int __delimiter, 7770: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern __ssize_t getline (char **__restrict __lineptr, 7770: size_t *__restrict __n, 7770: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int fputs (const char *__restrict __s, FILE *__restrict __stream); 7770: 7770: 7770: 7770: 7770: 7770: extern int puts (const char *__s); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int ungetc (int __c, FILE *__stream); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern size_t fread (void *__restrict __ptr, size_t __size, 7770: size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: extern size_t fwrite (const void *__restrict __ptr, size_t __size, 7770: size_t __n, FILE *__restrict __s); 7770: # 662 "/usr/include/stdio.h" 3 4 7770: extern int fputs_unlocked (const char *__restrict __s, 7770: FILE *__restrict __stream); 7770: # 673 "/usr/include/stdio.h" 3 4 7770: extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, 7770: size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 7770: extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, 7770: size_t __n, FILE *__restrict __stream); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int fseek (FILE *__stream, long int __off, int __whence); 7770: 7770: 7770: 7770: 7770: extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: extern void rewind (FILE *__stream); 7770: # 707 "/usr/include/stdio.h" 3 4 7770: extern int fseeko (FILE *__stream, __off_t __off, int __whence); 7770: 7770: 7770: 7770: 7770: extern __off_t ftello (FILE *__stream) __attribute__ ((__warn_unused_result__)); 7770: # 731 "/usr/include/stdio.h" 3 4 7770: extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); 7770: 7770: 7770: 7770: 7770: extern int fsetpos (FILE *__stream, const fpos_t *__pos); 7770: # 750 "/usr/include/stdio.h" 3 4 7770: extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); 7770: extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__warn_unused_result__)); 7770: extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); 7770: extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos); 7770: 7770: 7770: 7770: extern void clearerr (FILE *__stream) throw (); 7770: 7770: extern int feof (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 7770: 7770: extern int ferror (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: extern void clearerr_unlocked (FILE *__stream) throw (); 7770: extern int feof_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 7770: extern int ferror_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern void perror (const char *__s); 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/sys_errlist.h" 1 3 4 7770: # 26 "/usr/include/aarch64-linux-gnu/bits/sys_errlist.h" 3 4 7770: extern int sys_nerr; 7770: extern const char *const sys_errlist[]; 7770: 7770: 7770: extern int _sys_nerr; 7770: extern const char *const _sys_errlist[]; 7770: # 782 "/usr/include/stdio.h" 2 3 4 7770: 7770: 7770: 7770: 7770: extern int fileno (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: extern int fileno_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 7770: # 800 "/usr/include/stdio.h" 3 4 7770: extern FILE *popen (const char *__command, const char *__modes) __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: 7770: 7770: 7770: extern int pclose (FILE *__stream); 7770: 7770: 7770: 7770: 7770: 7770: extern char *ctermid (char *__s) throw (); 7770: 7770: 7770: 7770: 7770: 7770: extern char *cuserid (char *__s); 7770: 7770: 7770: 7770: 7770: struct obstack; 7770: 7770: 7770: extern int obstack_printf (struct obstack *__restrict __obstack, 7770: const char *__restrict __format, ...) 7770: throw () __attribute__ ((__format__ (__printf__, 2, 3))); 7770: extern int obstack_vprintf (struct obstack *__restrict __obstack, 7770: const char *__restrict __format, 7770: __gnuc_va_list __args) 7770: throw () __attribute__ ((__format__ (__printf__, 2, 0))); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern void flockfile (FILE *__stream) throw (); 7770: 7770: 7770: 7770: extern int ftrylockfile (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); 7770: 7770: 7770: extern void funlockfile (FILE *__stream) throw (); 7770: # 859 "/usr/include/stdio.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/stdio.h" 1 3 4 7770: # 43 "/usr/include/aarch64-linux-gnu/bits/stdio.h" 3 4 7770: extern __inline __attribute__ ((__gnu_inline__)) int 7770: getchar (void) 7770: { 7770: return _IO_getc (stdin); 7770: } 7770: 7770: 7770: 7770: 7770: extern __inline __attribute__ ((__gnu_inline__)) int 7770: fgetc_unlocked (FILE *__fp) 7770: { 7770: return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: extern __inline __attribute__ ((__gnu_inline__)) int 7770: getc_unlocked (FILE *__fp) 7770: { 7770: return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); 7770: } 7770: 7770: 7770: extern __inline __attribute__ ((__gnu_inline__)) int 7770: getchar_unlocked (void) 7770: { 7770: return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); 7770: } 7770: 7770: 7770: 7770: 7770: extern __inline __attribute__ ((__gnu_inline__)) int 7770: putchar (int __c) 7770: { 7770: return _IO_putc (__c, stdout); 7770: } 7770: 7770: 7770: 7770: 7770: extern __inline __attribute__ ((__gnu_inline__)) int 7770: fputc_unlocked (int __c, FILE *__stream) 7770: { 7770: return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: extern __inline __attribute__ ((__gnu_inline__)) int 7770: putc_unlocked (int __c, FILE *__stream) 7770: { 7770: return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); 7770: } 7770: 7770: 7770: extern __inline __attribute__ ((__gnu_inline__)) int 7770: putchar_unlocked (int __c) 7770: { 7770: return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: extern __inline __attribute__ ((__gnu_inline__)) __ssize_t 7770: getline (char **__lineptr, size_t *__n, FILE *__stream) 7770: { 7770: return __getdelim (__lineptr, __n, '\n', __stream); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: extern __inline __attribute__ ((__gnu_inline__)) int 7770: __attribute__ ((__leaf__)) feof_unlocked (FILE *__stream) throw () 7770: { 7770: return (((__stream)->_flags & 0x10) != 0); 7770: } 7770: 7770: 7770: extern __inline __attribute__ ((__gnu_inline__)) int 7770: __attribute__ ((__leaf__)) ferror_unlocked (FILE *__stream) throw () 7770: { 7770: return (((__stream)->_flags & 0x20) != 0); 7770: } 7770: # 860 "/usr/include/stdio.h" 2 3 4 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/stdio2.h" 1 3 4 7770: # 23 "/usr/include/aarch64-linux-gnu/bits/stdio2.h" 3 4 7770: extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, 7770: const char *__restrict __format, ...) throw (); 7770: extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, 7770: const char *__restrict __format, 7770: __gnuc_va_list __ap) throw (); 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: __attribute__ ((__leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) throw () 7770: { 7770: return __builtin___sprintf_chk (__s, 2 - 1, 7770: __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ()); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: __attribute__ ((__leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) throw () 7770: 7770: { 7770: return __builtin___vsprintf_chk (__s, 2 - 1, 7770: __builtin_object_size (__s, 2 > 1), __fmt, __ap); 7770: } 7770: 7770: 7770: 7770: extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, 7770: size_t __slen, const char *__restrict __format, 7770: ...) throw (); 7770: extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, 7770: size_t __slen, const char *__restrict __format, 7770: __gnuc_va_list __ap) throw (); 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: __attribute__ ((__leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) throw () 7770: 7770: { 7770: return __builtin___snprintf_chk (__s, __n, 2 - 1, 7770: __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ()); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: __attribute__ ((__leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) throw () 7770: 7770: { 7770: return __builtin___vsnprintf_chk (__s, __n, 2 - 1, 7770: __builtin_object_size (__s, 2 > 1), __fmt, __ap); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: extern int __fprintf_chk (FILE *__restrict __stream, int __flag, 7770: const char *__restrict __format, ...); 7770: extern int __printf_chk (int __flag, const char *__restrict __format, ...); 7770: extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, 7770: const char *__restrict __format, __gnuc_va_list __ap); 7770: extern int __vprintf_chk (int __flag, const char *__restrict __format, 7770: __gnuc_va_list __ap); 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...) 7770: { 7770: return __fprintf_chk (__stream, 2 - 1, __fmt, 7770: __builtin_va_arg_pack ()); 7770: } 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: printf (const char *__restrict __fmt, ...) 7770: { 7770: return __printf_chk (2 - 1, __fmt, __builtin_va_arg_pack ()); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: vprintf (const char *__restrict __fmt, __gnuc_va_list __ap) 7770: { 7770: 7770: return __vfprintf_chk (stdout, 2 - 1, __fmt, __ap); 7770: 7770: 7770: 7770: } 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: vfprintf (FILE *__restrict __stream, 7770: const char *__restrict __fmt, __gnuc_va_list __ap) 7770: { 7770: return __vfprintf_chk (__stream, 2 - 1, __fmt, __ap); 7770: } 7770: 7770: 7770: extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, 7770: ...) __attribute__ ((__format__ (__printf__, 3, 4))); 7770: extern int __vdprintf_chk (int __fd, int __flag, 7770: const char *__restrict __fmt, __gnuc_va_list __arg) 7770: __attribute__ ((__format__ (__printf__, 3, 0))); 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: dprintf (int __fd, const char *__restrict __fmt, ...) 7770: { 7770: return __dprintf_chk (__fd, 2 - 1, __fmt, 7770: __builtin_va_arg_pack ()); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap) 7770: { 7770: return __vdprintf_chk (__fd, 2 - 1, __fmt, __ap); 7770: } 7770: 7770: 7770: 7770: 7770: extern int __asprintf_chk (char **__restrict __ptr, int __flag, 7770: const char *__restrict __fmt, ...) 7770: throw () __attribute__ ((__format__ (__printf__, 3, 4))) __attribute__ ((__warn_unused_result__)); 7770: extern int __vasprintf_chk (char **__restrict __ptr, int __flag, 7770: const char *__restrict __fmt, __gnuc_va_list __arg) 7770: throw () __attribute__ ((__format__ (__printf__, 3, 0))) __attribute__ ((__warn_unused_result__)); 7770: extern int __obstack_printf_chk (struct obstack *__restrict __obstack, 7770: int __flag, const char *__restrict __format, 7770: ...) 7770: throw () __attribute__ ((__format__ (__printf__, 3, 4))); 7770: extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack, 7770: int __flag, 7770: const char *__restrict __format, 7770: __gnuc_va_list __args) 7770: throw () __attribute__ ((__format__ (__printf__, 3, 0))); 7770: 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: __attribute__ ((__leaf__)) asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) throw () 7770: { 7770: return __asprintf_chk (__ptr, 2 - 1, __fmt, 7770: __builtin_va_arg_pack ()); 7770: } 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: __attribute__ ((__leaf__)) __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) throw () 7770: 7770: { 7770: return __asprintf_chk (__ptr, 2 - 1, __fmt, 7770: __builtin_va_arg_pack ()); 7770: } 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: __attribute__ ((__leaf__)) obstack_printf (struct obstack *__restrict __obstack, const char *__restrict __fmt, ...) throw () 7770: 7770: { 7770: return __obstack_printf_chk (__obstack, 2 - 1, __fmt, 7770: __builtin_va_arg_pack ()); 7770: } 7770: # 206 "/usr/include/aarch64-linux-gnu/bits/stdio2.h" 3 4 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: __attribute__ ((__leaf__)) vasprintf (char **__restrict __ptr, const char *__restrict __fmt, __gnuc_va_list __ap) throw () 7770: 7770: { 7770: return __vasprintf_chk (__ptr, 2 - 1, __fmt, __ap); 7770: } 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int 7770: __attribute__ ((__leaf__)) obstack_vprintf (struct obstack *__restrict __obstack, const char *__restrict __fmt, __gnuc_va_list __ap) throw () 7770: 7770: { 7770: return __obstack_vprintf_chk (__obstack, 2 - 1, __fmt, 7770: __ap); 7770: } 7770: # 240 "/usr/include/aarch64-linux-gnu/bits/stdio2.h" 3 4 7770: extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, 7770: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 7770: extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets") 7770: 7770: __attribute__ ((__warn_unused_result__)); 7770: extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk") 7770: 7770: 7770: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer"))) 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * 7770: fgets (char *__restrict __s, int __n, FILE *__restrict __stream) 7770: { 7770: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) 7770: { 7770: if (!__builtin_constant_p (__n) || __n <= 0) 7770: return __fgets_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); 7770: 7770: if ((size_t) __n > __builtin_object_size (__s, 2 > 1)) 7770: return __fgets_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); 7770: } 7770: return __fgets_alias (__s, __n, __stream); 7770: } 7770: 7770: extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, 7770: size_t __size, size_t __n, 7770: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 7770: extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread") 7770: 7770: 7770: __attribute__ ((__warn_unused_result__)); 7770: extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") 7770: 7770: 7770: 7770: 7770: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer"))) 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t 7770: fread (void *__restrict __ptr, size_t __size, size_t __n, 7770: FILE *__restrict __stream) 7770: { 7770: if (__builtin_object_size (__ptr, 0) != (size_t) -1) 7770: { 7770: if (!__builtin_constant_p (__size) 7770: || !__builtin_constant_p (__n) 7770: || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) 7770: return __fread_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); 7770: 7770: if (__size * __n > __builtin_object_size (__ptr, 0)) 7770: return __fread_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); 7770: } 7770: return __fread_alias (__ptr, __size, __n, __stream); 7770: } 7770: 7770: 7770: extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size, 7770: int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 7770: extern char *__fgets_unlocked_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets_unlocked") 7770: 7770: __attribute__ ((__warn_unused_result__)); 7770: extern char *__fgets_unlocked_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_unlocked_chk") 7770: 7770: 7770: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets_unlocked called with bigger size than length " "of destination buffer"))) 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * 7770: fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) 7770: { 7770: if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) 7770: { 7770: if (!__builtin_constant_p (__n) || __n <= 0) 7770: return __fgets_unlocked_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); 7770: 7770: if ((size_t) __n > __builtin_object_size (__s, 2 > 1)) 7770: return __fgets_unlocked_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); 7770: } 7770: return __fgets_unlocked_alias (__s, __n, __stream); 7770: } 7770: 7770: 7770: 7770: 7770: extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, 7770: size_t __size, size_t __n, 7770: FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 7770: extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked") 7770: 7770: 7770: __attribute__ ((__warn_unused_result__)); 7770: 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") 7770: 7770: 7770: 7770: 7770: __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer"))) 7770: ; 7770: 7770: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t 7770: fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, 7770: FILE *__restrict __stream) 7770: { 7770: if (__builtin_object_size (__ptr, 0) != (size_t) -1) 7770: { 7770: if (!__builtin_constant_p (__size) 7770: || !__builtin_constant_p (__n) 7770: || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) 7770: return __fread_unlocked_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, 7770: __stream); 7770: 7770: if (__size * __n > __builtin_object_size (__ptr, 0)) 7770: return __fread_unlocked_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, 7770: __stream); 7770: } 7770: 7770: 7770: if (__builtin_constant_p (__size) 7770: && __builtin_constant_p (__n) 7770: && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) 7770: && __size * __n <= 8) 7770: { 7770: size_t __cnt = __size * __n; 7770: char *__cptr = (char *) __ptr; 7770: if (__cnt == 0) 7770: return 0; 7770: 7770: for (; __cnt > 0; --__cnt) 7770: { 7770: int __c = (__builtin_expect (((__stream)->_IO_read_ptr >= (__stream)->_IO_read_end), 0) ? __uflow (__stream) : *(unsigned char *) (__stream)->_IO_read_ptr++); 7770: if (__c == (-1)) 7770: break; 7770: *__cptr++ = __c; 7770: } 7770: return (__cptr - (char *) __ptr) / __size; 7770: } 7770: 7770: return __fread_unlocked_alias (__ptr, __size, __n, __stream); 7770: } 7770: # 863 "/usr/include/stdio.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: } 7770: # 43 "/usr/include/c++/8/cstdio" 2 3 7770: # 96 "/usr/include/c++/8/cstdio" 3 7770: namespace std 7770: { 7770: using ::FILE; 7770: using ::fpos_t; 7770: 7770: using ::clearerr; 7770: using ::fclose; 7770: using ::feof; 7770: using ::ferror; 7770: using ::fflush; 7770: using ::fgetc; 7770: using ::fgetpos; 7770: using ::fgets; 7770: using ::fopen; 7770: using ::fprintf; 7770: using ::fputc; 7770: using ::fputs; 7770: using ::fread; 7770: using ::freopen; 7770: using ::fscanf; 7770: using ::fseek; 7770: using ::fsetpos; 7770: using ::ftell; 7770: using ::fwrite; 7770: using ::getc; 7770: using ::getchar; 7770: 7770: 7770: 7770: 7770: using ::perror; 7770: using ::printf; 7770: using ::putc; 7770: using ::putchar; 7770: using ::puts; 7770: using ::remove; 7770: using ::rename; 7770: using ::rewind; 7770: using ::scanf; 7770: using ::setbuf; 7770: using ::setvbuf; 7770: using ::sprintf; 7770: using ::sscanf; 7770: using ::tmpfile; 7770: 7770: using ::tmpnam; 7770: 7770: using ::ungetc; 7770: using ::vfprintf; 7770: using ::vprintf; 7770: using ::vsprintf; 7770: } 7770: # 157 "/usr/include/c++/8/cstdio" 3 7770: namespace __gnu_cxx 7770: { 7770: # 175 "/usr/include/c++/8/cstdio" 3 7770: using ::snprintf; 7770: using ::vfscanf; 7770: using ::vscanf; 7770: using ::vsnprintf; 7770: using ::vsscanf; 7770: 7770: } 7770: 7770: namespace std 7770: { 7770: using ::__gnu_cxx::snprintf; 7770: using ::__gnu_cxx::vfscanf; 7770: using ::__gnu_cxx::vscanf; 7770: using ::__gnu_cxx::vsnprintf; 7770: using ::__gnu_cxx::vsscanf; 7770: } 7770: # 44 "/usr/include/c++/8/ext/string_conversions.h" 2 3 7770: # 1 "/usr/include/c++/8/cerrno" 1 3 7770: # 39 "/usr/include/c++/8/cerrno" 3 7770: 7770: # 40 "/usr/include/c++/8/cerrno" 3 7770: 7770: 7770: # 1 "/usr/include/errno.h" 1 3 4 7770: # 28 "/usr/include/errno.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/errno.h" 1 3 4 7770: # 26 "/usr/include/aarch64-linux-gnu/bits/errno.h" 3 4 7770: # 1 "/usr/include/linux/errno.h" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/asm/errno.h" 1 3 4 7770: # 1 "/usr/include/asm-generic/errno.h" 1 3 4 7770: 7770: 7770: 7770: # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 7770: # 5 "/usr/include/asm-generic/errno.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/asm/errno.h" 2 3 4 7770: # 1 "/usr/include/linux/errno.h" 2 3 4 7770: # 27 "/usr/include/aarch64-linux-gnu/bits/errno.h" 2 3 4 7770: # 29 "/usr/include/errno.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: extern "C" { 7770: 7770: 7770: extern int *__errno_location (void) throw () __attribute__ ((__const__)); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern char *program_invocation_name; 7770: extern char *program_invocation_short_name; 7770: 7770: 7770: 7770: 7770: 7770: typedef int error_t; 7770: 7770: 7770: 7770: 7770: } 7770: # 43 "/usr/include/c++/8/cerrno" 2 3 7770: # 45 "/usr/include/c++/8/ext/string_conversions.h" 2 3 7770: 7770: namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: template 7770: _Ret 7770: __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), 7770: const char* __name, const _CharT* __str, std::size_t* __idx, 7770: _Base... __base) 7770: { 7770: _Ret __ret; 7770: 7770: _CharT* __endptr; 7770: 7770: struct _Save_errno { 7770: _Save_errno() : _M_errno((*__errno_location ())) { (*__errno_location ()) = 0; } 7770: ~_Save_errno() { if ((*__errno_location ()) == 0) (*__errno_location ()) = _M_errno; } 7770: int _M_errno; 7770: } const __save_errno; 7770: 7770: struct _Range_chk { 7770: static bool 7770: _S_chk(_TRet, std::false_type) { return false; } 7770: 7770: static bool 7770: _S_chk(_TRet __val, std::true_type) 7770: { 7770: return __val < _TRet(__numeric_traits::__min) 7770: || __val > _TRet(__numeric_traits::__max); 7770: } 7770: }; 7770: 7770: const _TRet __tmp = __convf(__str, &__endptr, __base...); 7770: 7770: if (__endptr == __str) 7770: std::__throw_invalid_argument(__name); 7770: else if ((*__errno_location ()) == 34 7770: || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) 7770: std::__throw_out_of_range(__name); 7770: else 7770: __ret = __tmp; 7770: 7770: if (__idx) 7770: *__idx = __endptr - __str; 7770: 7770: return __ret; 7770: } 7770: 7770: 7770: template 7770: _String 7770: __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*, 7770: __builtin_va_list), std::size_t __n, 7770: const _CharT* __fmt, ...) 7770: { 7770: 7770: 7770: _CharT* __s = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 7770: * __n)); 7770: 7770: __builtin_va_list __args; 7770: __builtin_va_start(__args, __fmt); 7770: 7770: const int __len = __convf(__s, __n, __fmt, __args); 7770: 7770: __builtin_va_end(__args); 7770: 7770: return _String(__s, __s + __len); 7770: } 7770: 7770: 7770: } 7770: # 6362 "/usr/include/c++/8/bits/basic_string.h" 2 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: namespace __cxx11 { 7770: 7770: 7770: 7770: inline int 7770: stoi(const string& __str, size_t* __idx = 0, int __base = 10) 7770: { return __gnu_cxx::__stoa(&std::strtol, "stoi", __str.c_str(), 7770: __idx, __base); } 7770: 7770: inline long 7770: stol(const string& __str, size_t* __idx = 0, int __base = 10) 7770: { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(), 7770: __idx, __base); } 7770: 7770: inline unsigned long 7770: stoul(const string& __str, size_t* __idx = 0, int __base = 10) 7770: { return __gnu_cxx::__stoa(&std::strtoul, "stoul", __str.c_str(), 7770: __idx, __base); } 7770: 7770: inline long long 7770: stoll(const string& __str, size_t* __idx = 0, int __base = 10) 7770: { return __gnu_cxx::__stoa(&std::strtoll, "stoll", __str.c_str(), 7770: __idx, __base); } 7770: 7770: inline unsigned long long 7770: stoull(const string& __str, size_t* __idx = 0, int __base = 10) 7770: { return __gnu_cxx::__stoa(&std::strtoull, "stoull", __str.c_str(), 7770: __idx, __base); } 7770: 7770: 7770: inline float 7770: stof(const string& __str, size_t* __idx = 0) 7770: { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); } 7770: 7770: inline double 7770: stod(const string& __str, size_t* __idx = 0) 7770: { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); } 7770: 7770: inline long double 7770: stold(const string& __str, size_t* __idx = 0) 7770: { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: inline string 7770: to_string(int __val) 7770: { return __gnu_cxx::__to_xstring(&std::vsnprintf, 4 * sizeof(int), 7770: "%d", __val); } 7770: 7770: inline string 7770: to_string(unsigned __val) 7770: { return __gnu_cxx::__to_xstring(&std::vsnprintf, 7770: 4 * sizeof(unsigned), 7770: "%u", __val); } 7770: 7770: inline string 7770: to_string(long __val) 7770: { return __gnu_cxx::__to_xstring(&std::vsnprintf, 4 * sizeof(long), 7770: "%ld", __val); } 7770: 7770: inline string 7770: to_string(unsigned long __val) 7770: { return __gnu_cxx::__to_xstring(&std::vsnprintf, 7770: 4 * sizeof(unsigned long), 7770: "%lu", __val); } 7770: 7770: inline string 7770: to_string(long long __val) 7770: { return __gnu_cxx::__to_xstring(&std::vsnprintf, 7770: 4 * sizeof(long long), 7770: "%lld", __val); } 7770: 7770: inline string 7770: to_string(unsigned long long __val) 7770: { return __gnu_cxx::__to_xstring(&std::vsnprintf, 7770: 4 * sizeof(unsigned long long), 7770: "%llu", __val); } 7770: 7770: inline string 7770: to_string(float __val) 7770: { 7770: const int __n = 7770: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 7770: return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, 7770: "%f", __val); 7770: } 7770: 7770: inline string 7770: to_string(double __val) 7770: { 7770: const int __n = 7770: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 7770: return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, 7770: "%f", __val); 7770: } 7770: 7770: inline string 7770: to_string(long double __val) 7770: { 7770: const int __n = 7770: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 7770: return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, 7770: "%Lf", __val); 7770: } 7770: 7770: 7770: 7770: inline int 7770: stoi(const wstring& __str, size_t* __idx = 0, int __base = 10) 7770: { return __gnu_cxx::__stoa(&std::wcstol, "stoi", __str.c_str(), 7770: __idx, __base); } 7770: 7770: inline long 7770: stol(const wstring& __str, size_t* __idx = 0, int __base = 10) 7770: { return __gnu_cxx::__stoa(&std::wcstol, "stol", __str.c_str(), 7770: __idx, __base); } 7770: 7770: inline unsigned long 7770: stoul(const wstring& __str, size_t* __idx = 0, int __base = 10) 7770: { return __gnu_cxx::__stoa(&std::wcstoul, "stoul", __str.c_str(), 7770: __idx, __base); } 7770: 7770: inline long long 7770: stoll(const wstring& __str, size_t* __idx = 0, int __base = 10) 7770: { return __gnu_cxx::__stoa(&std::wcstoll, "stoll", __str.c_str(), 7770: __idx, __base); } 7770: 7770: inline unsigned long long 7770: stoull(const wstring& __str, size_t* __idx = 0, int __base = 10) 7770: { return __gnu_cxx::__stoa(&std::wcstoull, "stoull", __str.c_str(), 7770: __idx, __base); } 7770: 7770: 7770: inline float 7770: stof(const wstring& __str, size_t* __idx = 0) 7770: { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); } 7770: 7770: inline double 7770: stod(const wstring& __str, size_t* __idx = 0) 7770: { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); } 7770: 7770: inline long double 7770: stold(const wstring& __str, size_t* __idx = 0) 7770: { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); } 7770: 7770: 7770: 7770: inline wstring 7770: to_wstring(int __val) 7770: { return __gnu_cxx::__to_xstring(&std::vswprintf, 4 * sizeof(int), 7770: L"%d", __val); } 7770: 7770: inline wstring 7770: to_wstring(unsigned __val) 7770: { return __gnu_cxx::__to_xstring(&std::vswprintf, 7770: 4 * sizeof(unsigned), 7770: L"%u", __val); } 7770: 7770: inline wstring 7770: to_wstring(long __val) 7770: { return __gnu_cxx::__to_xstring(&std::vswprintf, 4 * sizeof(long), 7770: L"%ld", __val); } 7770: 7770: inline wstring 7770: to_wstring(unsigned long __val) 7770: { return __gnu_cxx::__to_xstring(&std::vswprintf, 7770: 4 * sizeof(unsigned long), 7770: L"%lu", __val); } 7770: 7770: inline wstring 7770: to_wstring(long long __val) 7770: { return __gnu_cxx::__to_xstring(&std::vswprintf, 7770: 4 * sizeof(long long), 7770: L"%lld", __val); } 7770: 7770: inline wstring 7770: to_wstring(unsigned long long __val) 7770: { return __gnu_cxx::__to_xstring(&std::vswprintf, 7770: 4 * sizeof(unsigned long long), 7770: L"%llu", __val); } 7770: 7770: inline wstring 7770: to_wstring(float __val) 7770: { 7770: const int __n = 7770: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 7770: return __gnu_cxx::__to_xstring(&std::vswprintf, __n, 7770: L"%f", __val); 7770: } 7770: 7770: inline wstring 7770: to_wstring(double __val) 7770: { 7770: const int __n = 7770: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 7770: return __gnu_cxx::__to_xstring(&std::vswprintf, __n, 7770: L"%f", __val); 7770: } 7770: 7770: inline wstring 7770: to_wstring(long double __val) 7770: { 7770: const int __n = 7770: __gnu_cxx::__numeric_traits::__max_exponent10 + 20; 7770: return __gnu_cxx::__to_xstring(&std::vswprintf, __n, 7770: L"%Lf", __val); 7770: } 7770: 7770: 7770: 7770: } 7770: 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: template<> 7770: struct hash 7770: : public __hash_base 7770: { 7770: size_t 7770: operator()(const string& __s) const noexcept 7770: { return std::_Hash_impl::hash(__s.data(), __s.length()); } 7770: }; 7770: 7770: template<> 7770: struct __is_fast_hash> : std::false_type 7770: { }; 7770: 7770: 7770: 7770: template<> 7770: struct hash 7770: : public __hash_base 7770: { 7770: size_t 7770: operator()(const wstring& __s) const noexcept 7770: { return std::_Hash_impl::hash(__s.data(), 7770: __s.length() * sizeof(wchar_t)); } 7770: }; 7770: 7770: template<> 7770: struct __is_fast_hash> : std::false_type 7770: { }; 7770: 7770: 7770: 7770: 7770: 7770: template<> 7770: struct hash 7770: : public __hash_base 7770: { 7770: size_t 7770: operator()(const u16string& __s) const noexcept 7770: { return std::_Hash_impl::hash(__s.data(), 7770: __s.length() * sizeof(char16_t)); } 7770: }; 7770: 7770: template<> 7770: struct __is_fast_hash> : std::false_type 7770: { }; 7770: 7770: 7770: template<> 7770: struct hash 7770: : public __hash_base 7770: { 7770: size_t 7770: operator()(const u32string& __s) const noexcept 7770: { return std::_Hash_impl::hash(__s.data(), 7770: __s.length() * sizeof(char32_t)); } 7770: }; 7770: 7770: template<> 7770: struct __is_fast_hash> : std::false_type 7770: { }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: inline namespace literals 7770: { 7770: inline namespace string_literals 7770: { 7770: #pragma GCC diagnostic push 7770: #pragma GCC diagnostic ignored "-Wliteral-suffix" 7770: __attribute ((__abi_tag__ ("cxx11"))) 7770: inline basic_string 7770: operator""s(const char* __str, size_t __len) 7770: { return basic_string{__str, __len}; } 7770: 7770: 7770: __attribute ((__abi_tag__ ("cxx11"))) 7770: inline basic_string 7770: operator""s(const wchar_t* __str, size_t __len) 7770: { return basic_string{__str, __len}; } 7770: 7770: 7770: 7770: __attribute ((__abi_tag__ ("cxx11"))) 7770: inline basic_string 7770: operator""s(const char16_t* __str, size_t __len) 7770: { return basic_string{__str, __len}; } 7770: 7770: __attribute ((__abi_tag__ ("cxx11"))) 7770: inline basic_string 7770: operator""s(const char32_t* __str, size_t __len) 7770: { return basic_string{__str, __len}; } 7770: 7770: 7770: #pragma GCC diagnostic pop 7770: } 7770: } 7770: 7770: 7770: 7770: 7770: } 7770: # 53 "/usr/include/c++/8/string" 2 3 7770: # 1 "/usr/include/c++/8/bits/basic_string.tcc" 1 3 7770: # 42 "/usr/include/c++/8/bits/basic_string.tcc" 3 7770: 7770: # 43 "/usr/include/c++/8/bits/basic_string.tcc" 3 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: template 7770: const typename basic_string<_CharT, _Traits, _Alloc>::size_type 7770: basic_string<_CharT, _Traits, _Alloc>::npos; 7770: 7770: template 7770: void 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: swap(basic_string& __s) noexcept 7770: { 7770: if (this == &__s) 7770: return; 7770: 7770: _Alloc_traits::_S_on_swap(_M_get_allocator(), __s._M_get_allocator()); 7770: 7770: if (_M_is_local()) 7770: if (__s._M_is_local()) 7770: { 7770: if (length() && __s.length()) 7770: { 7770: _CharT __tmp_data[_S_local_capacity + 1]; 7770: traits_type::copy(__tmp_data, __s._M_local_buf, 7770: _S_local_capacity + 1); 7770: traits_type::copy(__s._M_local_buf, _M_local_buf, 7770: _S_local_capacity + 1); 7770: traits_type::copy(_M_local_buf, __tmp_data, 7770: _S_local_capacity + 1); 7770: } 7770: else if (__s.length()) 7770: { 7770: traits_type::copy(_M_local_buf, __s._M_local_buf, 7770: _S_local_capacity + 1); 7770: _M_length(__s.length()); 7770: __s._M_set_length(0); 7770: return; 7770: } 7770: else if (length()) 7770: { 7770: traits_type::copy(__s._M_local_buf, _M_local_buf, 7770: _S_local_capacity + 1); 7770: __s._M_length(length()); 7770: _M_set_length(0); 7770: return; 7770: } 7770: } 7770: else 7770: { 7770: const size_type __tmp_capacity = __s._M_allocated_capacity; 7770: traits_type::copy(__s._M_local_buf, _M_local_buf, 7770: _S_local_capacity + 1); 7770: _M_data(__s._M_data()); 7770: __s._M_data(__s._M_local_buf); 7770: _M_capacity(__tmp_capacity); 7770: } 7770: else 7770: { 7770: const size_type __tmp_capacity = _M_allocated_capacity; 7770: if (__s._M_is_local()) 7770: { 7770: traits_type::copy(_M_local_buf, __s._M_local_buf, 7770: _S_local_capacity + 1); 7770: __s._M_data(_M_data()); 7770: _M_data(_M_local_buf); 7770: } 7770: else 7770: { 7770: pointer __tmp_ptr = _M_data(); 7770: _M_data(__s._M_data()); 7770: __s._M_data(__tmp_ptr); 7770: _M_capacity(__s._M_allocated_capacity); 7770: } 7770: __s._M_capacity(__tmp_capacity); 7770: } 7770: 7770: const size_type __tmp_length = length(); 7770: _M_length(__s.length()); 7770: __s._M_length(__tmp_length); 7770: } 7770: 7770: template 7770: typename basic_string<_CharT, _Traits, _Alloc>::pointer 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: _M_create(size_type& __capacity, size_type __old_capacity) 7770: { 7770: 7770: 7770: if (__capacity > max_size()) 7770: std::__throw_length_error(("basic_string::_M_create")); 7770: 7770: 7770: 7770: 7770: if (__capacity > __old_capacity && __capacity < 2 * __old_capacity) 7770: { 7770: __capacity = 2 * __old_capacity; 7770: 7770: if (__capacity > max_size()) 7770: __capacity = max_size(); 7770: } 7770: 7770: 7770: 7770: return _Alloc_traits::allocate(_M_get_allocator(), __capacity + 1); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: template 7770: void 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: _M_construct(_InIterator __beg, _InIterator __end, 7770: std::input_iterator_tag) 7770: { 7770: size_type __len = 0; 7770: size_type __capacity = size_type(_S_local_capacity); 7770: 7770: while (__beg != __end && __len < __capacity) 7770: { 7770: _M_data()[__len++] = *__beg; 7770: ++__beg; 7770: } 7770: 7770: if (true) 7770: { 7770: while (__beg != __end) 7770: { 7770: if (__len == __capacity) 7770: { 7770: 7770: __capacity = __len + 1; 7770: pointer __another = _M_create(__capacity, __len); 7770: this->_S_copy(__another, _M_data(), __len); 7770: _M_dispose(); 7770: _M_data(__another); 7770: _M_capacity(__capacity); 7770: } 7770: _M_data()[__len++] = *__beg; 7770: ++__beg; 7770: } 7770: } 7770: if (false) 7770: { 7770: _M_dispose(); 7770: ; 7770: } 7770: 7770: _M_set_length(__len); 7770: } 7770: 7770: template 7770: template 7770: void 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: _M_construct(_InIterator __beg, _InIterator __end, 7770: std::forward_iterator_tag) 7770: { 7770: 7770: if (__gnu_cxx::__is_null_pointer(__beg) && __beg != __end) 7770: std::__throw_logic_error(("basic_string::" "_M_construct null not valid") 7770: ); 7770: 7770: size_type __dnew = static_cast(std::distance(__beg, __end)); 7770: 7770: if (__dnew > size_type(_S_local_capacity)) 7770: { 7770: _M_data(_M_create(__dnew, size_type(0))); 7770: _M_capacity(__dnew); 7770: } 7770: 7770: 7770: if (true) 7770: { this->_S_copy_chars(_M_data(), __beg, __end); } 7770: if (false) 7770: { 7770: _M_dispose(); 7770: ; 7770: } 7770: 7770: _M_set_length(__dnew); 7770: } 7770: 7770: template 7770: void 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: _M_construct(size_type __n, _CharT __c) 7770: { 7770: if (__n > size_type(_S_local_capacity)) 7770: { 7770: _M_data(_M_create(__n, size_type(0))); 7770: _M_capacity(__n); 7770: } 7770: 7770: if (__n) 7770: this->_S_assign(_M_data(), __n, __c); 7770: 7770: _M_set_length(__n); 7770: } 7770: 7770: template 7770: void 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: _M_assign(const basic_string& __str) 7770: { 7770: if (this != &__str) 7770: { 7770: const size_type __rsize = __str.length(); 7770: const size_type __capacity = capacity(); 7770: 7770: if (__rsize > __capacity) 7770: { 7770: size_type __new_capacity = __rsize; 7770: pointer __tmp = _M_create(__new_capacity, __capacity); 7770: _M_dispose(); 7770: _M_data(__tmp); 7770: _M_capacity(__new_capacity); 7770: } 7770: 7770: if (__rsize) 7770: this->_S_copy(_M_data(), __str._M_data(), __rsize); 7770: 7770: _M_set_length(__rsize); 7770: } 7770: } 7770: 7770: template 7770: void 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: reserve(size_type __res) 7770: { 7770: 7770: if (__res < length()) 7770: __res = length(); 7770: 7770: const size_type __capacity = capacity(); 7770: if (__res != __capacity) 7770: { 7770: if (__res > __capacity 7770: || __res > size_type(_S_local_capacity)) 7770: { 7770: pointer __tmp = _M_create(__res, __capacity); 7770: this->_S_copy(__tmp, _M_data(), length() + 1); 7770: _M_dispose(); 7770: _M_data(__tmp); 7770: _M_capacity(__res); 7770: } 7770: else if (!_M_is_local()) 7770: { 7770: this->_S_copy(_M_local_data(), _M_data(), length() + 1); 7770: _M_destroy(__capacity); 7770: _M_data(_M_local_data()); 7770: } 7770: } 7770: } 7770: 7770: template 7770: void 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, 7770: size_type __len2) 7770: { 7770: const size_type __how_much = length() - __pos - __len1; 7770: 7770: size_type __new_capacity = length() + __len2 - __len1; 7770: pointer __r = _M_create(__new_capacity, capacity()); 7770: 7770: if (__pos) 7770: this->_S_copy(__r, _M_data(), __pos); 7770: if (__s && __len2) 7770: this->_S_copy(__r + __pos, __s, __len2); 7770: if (__how_much) 7770: this->_S_copy(__r + __pos + __len2, 7770: _M_data() + __pos + __len1, __how_much); 7770: 7770: _M_dispose(); 7770: _M_data(__r); 7770: _M_capacity(__new_capacity); 7770: } 7770: 7770: template 7770: void 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: _M_erase(size_type __pos, size_type __n) 7770: { 7770: const size_type __how_much = length() - __pos - __n; 7770: 7770: if (__how_much && __n) 7770: this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much); 7770: 7770: _M_set_length(length() - __n); 7770: } 7770: 7770: template 7770: void 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: resize(size_type __n, _CharT __c) 7770: { 7770: const size_type __size = this->size(); 7770: if (__size < __n) 7770: this->append(__n - __size, __c); 7770: else if (__n < __size) 7770: this->_M_set_length(__n); 7770: } 7770: 7770: template 7770: basic_string<_CharT, _Traits, _Alloc>& 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: _M_append(const _CharT* __s, size_type __n) 7770: { 7770: const size_type __len = __n + this->size(); 7770: 7770: if (__len <= this->capacity()) 7770: { 7770: if (__n) 7770: this->_S_copy(this->_M_data() + this->size(), __s, __n); 7770: } 7770: else 7770: this->_M_mutate(this->size(), size_type(0), __s, __n); 7770: 7770: this->_M_set_length(__len); 7770: return *this; 7770: } 7770: 7770: template 7770: template 7770: basic_string<_CharT, _Traits, _Alloc>& 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: _M_replace_dispatch(const_iterator __i1, const_iterator __i2, 7770: _InputIterator __k1, _InputIterator __k2, 7770: std::__false_type) 7770: { 7770: const basic_string __s(__k1, __k2); 7770: const size_type __n1 = __i2 - __i1; 7770: return _M_replace(__i1 - begin(), __n1, __s._M_data(), 7770: __s.size()); 7770: } 7770: 7770: template 7770: basic_string<_CharT, _Traits, _Alloc>& 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, 7770: _CharT __c) 7770: { 7770: _M_check_length(__n1, __n2, "basic_string::_M_replace_aux"); 7770: 7770: const size_type __old_size = this->size(); 7770: const size_type __new_size = __old_size + __n2 - __n1; 7770: 7770: if (__new_size <= this->capacity()) 7770: { 7770: pointer __p = this->_M_data() + __pos1; 7770: 7770: const size_type __how_much = __old_size - __pos1 - __n1; 7770: if (__how_much && __n1 != __n2) 7770: this->_S_move(__p + __n2, __p + __n1, __how_much); 7770: } 7770: else 7770: this->_M_mutate(__pos1, __n1, 0, __n2); 7770: 7770: if (__n2) 7770: this->_S_assign(this->_M_data() + __pos1, __n2, __c); 7770: 7770: this->_M_set_length(__new_size); 7770: return *this; 7770: } 7770: 7770: template 7770: basic_string<_CharT, _Traits, _Alloc>& 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: _M_replace(size_type __pos, size_type __len1, const _CharT* __s, 7770: const size_type __len2) 7770: { 7770: _M_check_length(__len1, __len2, "basic_string::_M_replace"); 7770: 7770: const size_type __old_size = this->size(); 7770: const size_type __new_size = __old_size + __len2 - __len1; 7770: 7770: if (__new_size <= this->capacity()) 7770: { 7770: pointer __p = this->_M_data() + __pos; 7770: 7770: const size_type __how_much = __old_size - __pos - __len1; 7770: if (_M_disjunct(__s)) 7770: { 7770: if (__how_much && __len1 != __len2) 7770: this->_S_move(__p + __len2, __p + __len1, __how_much); 7770: if (__len2) 7770: this->_S_copy(__p, __s, __len2); 7770: } 7770: else 7770: { 7770: 7770: if (__len2 && __len2 <= __len1) 7770: this->_S_move(__p, __s, __len2); 7770: if (__how_much && __len1 != __len2) 7770: this->_S_move(__p + __len2, __p + __len1, __how_much); 7770: if (__len2 > __len1) 7770: { 7770: if (__s + __len2 <= __p + __len1) 7770: this->_S_move(__p, __s, __len2); 7770: else if (__s >= __p + __len1) 7770: this->_S_copy(__p, __s + __len2 - __len1, __len2); 7770: else 7770: { 7770: const size_type __nleft = (__p + __len1) - __s; 7770: this->_S_move(__p, __s, __nleft); 7770: this->_S_copy(__p + __nleft, __p + __len2, 7770: __len2 - __nleft); 7770: } 7770: } 7770: } 7770: } 7770: else 7770: this->_M_mutate(__pos, __len1, __s, __len2); 7770: 7770: this->_M_set_length(__new_size); 7770: return *this; 7770: } 7770: 7770: template 7770: typename basic_string<_CharT, _Traits, _Alloc>::size_type 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: copy(_CharT* __s, size_type __n, size_type __pos) const 7770: { 7770: _M_check(__pos, "basic_string::copy"); 7770: __n = _M_limit(__pos, __n); 7770: ; 7770: if (__n) 7770: _S_copy(__s, _M_data() + __pos, __n); 7770: 7770: return __n; 7770: } 7770: # 1155 "/usr/include/c++/8/bits/basic_string.tcc" 3 7770: template 7770: basic_string<_CharT, _Traits, _Alloc> 7770: operator+(const _CharT* __lhs, 7770: const basic_string<_CharT, _Traits, _Alloc>& __rhs) 7770: { 7770: ; 7770: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 7770: typedef typename __string_type::size_type __size_type; 7770: const __size_type __len = _Traits::length(__lhs); 7770: __string_type __str; 7770: __str.reserve(__len + __rhs.size()); 7770: __str.append(__lhs, __len); 7770: __str.append(__rhs); 7770: return __str; 7770: } 7770: 7770: template 7770: basic_string<_CharT, _Traits, _Alloc> 7770: operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) 7770: { 7770: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 7770: typedef typename __string_type::size_type __size_type; 7770: __string_type __str; 7770: const __size_type __len = __rhs.size(); 7770: __str.reserve(__len + 1); 7770: __str.append(__size_type(1), __lhs); 7770: __str.append(__rhs); 7770: return __str; 7770: } 7770: 7770: template 7770: typename basic_string<_CharT, _Traits, _Alloc>::size_type 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: find(const _CharT* __s, size_type __pos, size_type __n) const 7770: noexcept 7770: { 7770: ; 7770: const size_type __size = this->size(); 7770: 7770: if (__n == 0) 7770: return __pos <= __size ? __pos : npos; 7770: if (__pos >= __size) 7770: return npos; 7770: 7770: const _CharT __elem0 = __s[0]; 7770: const _CharT* const __data = data(); 7770: const _CharT* __first = __data + __pos; 7770: const _CharT* const __last = __data + __size; 7770: size_type __len = __size - __pos; 7770: 7770: while (__len >= __n) 7770: { 7770: 7770: __first = traits_type::find(__first, __len - __n + 1, __elem0); 7770: if (!__first) 7770: return npos; 7770: 7770: 7770: 7770: if (traits_type::compare(__first, __s, __n) == 0) 7770: return __first - __data; 7770: __len = __last - ++__first; 7770: } 7770: return npos; 7770: } 7770: 7770: template 7770: typename basic_string<_CharT, _Traits, _Alloc>::size_type 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: find(_CharT __c, size_type __pos) const noexcept 7770: { 7770: size_type __ret = npos; 7770: const size_type __size = this->size(); 7770: if (__pos < __size) 7770: { 7770: const _CharT* __data = _M_data(); 7770: const size_type __n = __size - __pos; 7770: const _CharT* __p = traits_type::find(__data + __pos, __n, __c); 7770: if (__p) 7770: __ret = __p - __data; 7770: } 7770: return __ret; 7770: } 7770: 7770: template 7770: typename basic_string<_CharT, _Traits, _Alloc>::size_type 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: rfind(const _CharT* __s, size_type __pos, size_type __n) const 7770: noexcept 7770: { 7770: ; 7770: const size_type __size = this->size(); 7770: if (__n <= __size) 7770: { 7770: __pos = std::min(size_type(__size - __n), __pos); 7770: const _CharT* __data = _M_data(); 7770: do 7770: { 7770: if (traits_type::compare(__data + __pos, __s, __n) == 0) 7770: return __pos; 7770: } 7770: while (__pos-- > 0); 7770: } 7770: return npos; 7770: } 7770: 7770: template 7770: typename basic_string<_CharT, _Traits, _Alloc>::size_type 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: rfind(_CharT __c, size_type __pos) const noexcept 7770: { 7770: size_type __size = this->size(); 7770: if (__size) 7770: { 7770: if (--__size > __pos) 7770: __size = __pos; 7770: for (++__size; __size-- > 0; ) 7770: if (traits_type::eq(_M_data()[__size], __c)) 7770: return __size; 7770: } 7770: return npos; 7770: } 7770: 7770: template 7770: typename basic_string<_CharT, _Traits, _Alloc>::size_type 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: find_first_of(const _CharT* __s, size_type __pos, size_type __n) const 7770: noexcept 7770: { 7770: ; 7770: for (; __n && __pos < this->size(); ++__pos) 7770: { 7770: const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]); 7770: if (__p) 7770: return __pos; 7770: } 7770: return npos; 7770: } 7770: 7770: template 7770: typename basic_string<_CharT, _Traits, _Alloc>::size_type 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: find_last_of(const _CharT* __s, size_type __pos, size_type __n) const 7770: noexcept 7770: { 7770: ; 7770: size_type __size = this->size(); 7770: if (__size && __n) 7770: { 7770: if (--__size > __pos) 7770: __size = __pos; 7770: do 7770: { 7770: if (traits_type::find(__s, __n, _M_data()[__size])) 7770: return __size; 7770: } 7770: while (__size-- != 0); 7770: } 7770: return npos; 7770: } 7770: 7770: template 7770: typename basic_string<_CharT, _Traits, _Alloc>::size_type 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const 7770: noexcept 7770: { 7770: ; 7770: for (; __pos < this->size(); ++__pos) 7770: if (!traits_type::find(__s, __n, _M_data()[__pos])) 7770: return __pos; 7770: return npos; 7770: } 7770: 7770: template 7770: typename basic_string<_CharT, _Traits, _Alloc>::size_type 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: find_first_not_of(_CharT __c, size_type __pos) const noexcept 7770: { 7770: for (; __pos < this->size(); ++__pos) 7770: if (!traits_type::eq(_M_data()[__pos], __c)) 7770: return __pos; 7770: return npos; 7770: } 7770: 7770: template 7770: typename basic_string<_CharT, _Traits, _Alloc>::size_type 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const 7770: noexcept 7770: { 7770: ; 7770: size_type __size = this->size(); 7770: if (__size) 7770: { 7770: if (--__size > __pos) 7770: __size = __pos; 7770: do 7770: { 7770: if (!traits_type::find(__s, __n, _M_data()[__size])) 7770: return __size; 7770: } 7770: while (__size--); 7770: } 7770: return npos; 7770: } 7770: 7770: template 7770: typename basic_string<_CharT, _Traits, _Alloc>::size_type 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: find_last_not_of(_CharT __c, size_type __pos) const noexcept 7770: { 7770: size_type __size = this->size(); 7770: if (__size) 7770: { 7770: if (--__size > __pos) 7770: __size = __pos; 7770: do 7770: { 7770: if (!traits_type::eq(_M_data()[__size], __c)) 7770: return __size; 7770: } 7770: while (__size--); 7770: } 7770: return npos; 7770: } 7770: 7770: template 7770: int 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: compare(size_type __pos, size_type __n, const basic_string& __str) const 7770: { 7770: _M_check(__pos, "basic_string::compare"); 7770: __n = _M_limit(__pos, __n); 7770: const size_type __osize = __str.size(); 7770: const size_type __len = std::min(__n, __osize); 7770: int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len); 7770: if (!__r) 7770: __r = _S_compare(__n, __osize); 7770: return __r; 7770: } 7770: 7770: template 7770: int 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: compare(size_type __pos1, size_type __n1, const basic_string& __str, 7770: size_type __pos2, size_type __n2) const 7770: { 7770: _M_check(__pos1, "basic_string::compare"); 7770: __str._M_check(__pos2, "basic_string::compare"); 7770: __n1 = _M_limit(__pos1, __n1); 7770: __n2 = __str._M_limit(__pos2, __n2); 7770: const size_type __len = std::min(__n1, __n2); 7770: int __r = traits_type::compare(_M_data() + __pos1, 7770: __str.data() + __pos2, __len); 7770: if (!__r) 7770: __r = _S_compare(__n1, __n2); 7770: return __r; 7770: } 7770: 7770: template 7770: int 7770: basic_string<_CharT, _Traits, _Alloc>:: 7770: compare(const _CharT* __s) const noexcept 7770: { 7770: ; 7770: const size_type __size = this->size(); 7770: const size_type __osize = traits_type::length(__s); 7770: const size_type __len = std::min(__size, __osize); 7770: int __r = traits_type::compare(_M_data(), __s, __len); 7770: if (!__r) 7770: __r = _S_compare(__size, __osize); 7770: return __r; 7770: } 7770: 7770: template 7770: int 7770: basic_string <_CharT, _Traits, _Alloc>:: 7770: compare(size_type __pos, size_type __n1, const _CharT* __s) const 7770: { 7770: ; 7770: _M_check(__pos, "basic_string::compare"); 7770: __n1 = _M_limit(__pos, __n1); 7770: const size_type __osize = traits_type::length(__s); 7770: const size_type __len = std::min(__n1, __osize); 7770: int __r = traits_type::compare(_M_data() + __pos, __s, __len); 7770: if (!__r) 7770: __r = _S_compare(__n1, __osize); 7770: return __r; 7770: } 7770: 7770: template 7770: int 7770: basic_string <_CharT, _Traits, _Alloc>:: 7770: compare(size_type __pos, size_type __n1, const _CharT* __s, 7770: size_type __n2) const 7770: { 7770: ; 7770: _M_check(__pos, "basic_string::compare"); 7770: __n1 = _M_limit(__pos, __n1); 7770: const size_type __len = std::min(__n1, __n2); 7770: int __r = traits_type::compare(_M_data() + __pos, __s, __len); 7770: if (!__r) 7770: __r = _S_compare(__n1, __n2); 7770: return __r; 7770: } 7770: 7770: 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: operator>>(basic_istream<_CharT, _Traits>& __in, 7770: basic_string<_CharT, _Traits, _Alloc>& __str) 7770: { 7770: typedef basic_istream<_CharT, _Traits> __istream_type; 7770: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 7770: typedef typename __istream_type::ios_base __ios_base; 7770: typedef typename __istream_type::int_type __int_type; 7770: typedef typename __string_type::size_type __size_type; 7770: typedef ctype<_CharT> __ctype_type; 7770: typedef typename __ctype_type::ctype_base __ctype_base; 7770: 7770: __size_type __extracted = 0; 7770: typename __ios_base::iostate __err = __ios_base::goodbit; 7770: typename __istream_type::sentry __cerb(__in, false); 7770: if (__cerb) 7770: { 7770: if (true) 7770: { 7770: 7770: __str.erase(); 7770: _CharT __buf[128]; 7770: __size_type __len = 0; 7770: const streamsize __w = __in.width(); 7770: const __size_type __n = __w > 0 ? static_cast<__size_type>(__w) 7770: : __str.max_size(); 7770: const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); 7770: const __int_type __eof = _Traits::eof(); 7770: __int_type __c = __in.rdbuf()->sgetc(); 7770: 7770: while (__extracted < __n 7770: && !_Traits::eq_int_type(__c, __eof) 7770: && !__ct.is(__ctype_base::space, 7770: _Traits::to_char_type(__c))) 7770: { 7770: if (__len == sizeof(__buf) / sizeof(_CharT)) 7770: { 7770: __str.append(__buf, sizeof(__buf) / sizeof(_CharT)); 7770: __len = 0; 7770: } 7770: __buf[__len++] = _Traits::to_char_type(__c); 7770: ++__extracted; 7770: __c = __in.rdbuf()->snextc(); 7770: } 7770: __str.append(__buf, __len); 7770: 7770: if (_Traits::eq_int_type(__c, __eof)) 7770: __err |= __ios_base::eofbit; 7770: __in.width(0); 7770: } 7770: if (false) 7770: { 7770: __in._M_setstate(__ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { 7770: 7770: 7770: 7770: __in._M_setstate(__ios_base::badbit); 7770: } 7770: } 7770: 7770: if (!__extracted) 7770: __err |= __ios_base::failbit; 7770: if (__err) 7770: __in.setstate(__err); 7770: return __in; 7770: } 7770: 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: getline(basic_istream<_CharT, _Traits>& __in, 7770: basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) 7770: { 7770: typedef basic_istream<_CharT, _Traits> __istream_type; 7770: typedef basic_string<_CharT, _Traits, _Alloc> __string_type; 7770: typedef typename __istream_type::ios_base __ios_base; 7770: typedef typename __istream_type::int_type __int_type; 7770: typedef typename __string_type::size_type __size_type; 7770: 7770: __size_type __extracted = 0; 7770: const __size_type __n = __str.max_size(); 7770: typename __ios_base::iostate __err = __ios_base::goodbit; 7770: typename __istream_type::sentry __cerb(__in, true); 7770: if (__cerb) 7770: { 7770: if (true) 7770: { 7770: __str.erase(); 7770: const __int_type __idelim = _Traits::to_int_type(__delim); 7770: const __int_type __eof = _Traits::eof(); 7770: __int_type __c = __in.rdbuf()->sgetc(); 7770: 7770: while (__extracted < __n 7770: && !_Traits::eq_int_type(__c, __eof) 7770: && !_Traits::eq_int_type(__c, __idelim)) 7770: { 7770: __str += _Traits::to_char_type(__c); 7770: ++__extracted; 7770: __c = __in.rdbuf()->snextc(); 7770: } 7770: 7770: if (_Traits::eq_int_type(__c, __eof)) 7770: __err |= __ios_base::eofbit; 7770: else if (_Traits::eq_int_type(__c, __idelim)) 7770: { 7770: ++__extracted; 7770: __in.rdbuf()->sbumpc(); 7770: } 7770: else 7770: __err |= __ios_base::failbit; 7770: } 7770: if (false) 7770: { 7770: __in._M_setstate(__ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { 7770: 7770: 7770: 7770: __in._M_setstate(__ios_base::badbit); 7770: } 7770: } 7770: if (!__extracted) 7770: __err |= __ios_base::failbit; 7770: if (__err) 7770: __in.setstate(__err); 7770: return __in; 7770: } 7770: # 1632 "/usr/include/c++/8/bits/basic_string.tcc" 3 7770: 7770: } 7770: # 54 "/usr/include/c++/8/string" 2 3 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearray.h" 2 3 4 7770: # 1 "/usr/include/c++/8/iterator" 1 3 4 7770: # 58 "/usr/include/c++/8/iterator" 3 4 7770: 7770: # 59 "/usr/include/c++/8/iterator" 3 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/ostream" 1 3 7770: # 36 "/usr/include/c++/8/ostream" 3 7770: 7770: # 37 "/usr/include/c++/8/ostream" 3 7770: 7770: # 1 "/usr/include/c++/8/ios" 1 3 7770: # 36 "/usr/include/c++/8/ios" 3 7770: 7770: # 37 "/usr/include/c++/8/ios" 3 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/ios_base.h" 1 3 7770: # 37 "/usr/include/c++/8/bits/ios_base.h" 3 7770: 7770: # 38 "/usr/include/c++/8/bits/ios_base.h" 3 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/locale_classes.h" 1 3 7770: # 37 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: 7770: # 38 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: 7770: 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 62 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: class locale 7770: { 7770: public: 7770: 7770: 7770: typedef int category; 7770: 7770: 7770: class facet; 7770: class id; 7770: class _Impl; 7770: 7770: friend class facet; 7770: friend class _Impl; 7770: 7770: template 7770: friend bool 7770: has_facet(const locale&) throw(); 7770: 7770: template 7770: friend const _Facet& 7770: use_facet(const locale&); 7770: 7770: template 7770: friend struct __use_cache; 7770: # 98 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: static const category none = 0; 7770: static const category ctype = 1L << 0; 7770: static const category numeric = 1L << 1; 7770: static const category collate = 1L << 2; 7770: static const category time = 1L << 3; 7770: static const category monetary = 1L << 4; 7770: static const category messages = 1L << 5; 7770: static const category all = (ctype | numeric | collate | 7770: time | monetary | messages); 7770: # 117 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: locale() throw(); 7770: # 126 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: locale(const locale& __other) throw(); 7770: # 136 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: explicit 7770: locale(const char* __s); 7770: # 151 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: locale(const locale& __base, const char* __s, category __cat); 7770: # 162 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: explicit 7770: locale(const std::string& __s) : locale(__s.c_str()) { } 7770: # 177 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: locale(const locale& __base, const std::string& __s, category __cat) 7770: : locale(__base, __s.c_str(), __cat) { } 7770: # 192 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: locale(const locale& __base, const locale& __add, category __cat); 7770: # 205 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: template 7770: locale(const locale& __other, _Facet* __f); 7770: 7770: 7770: ~locale() throw(); 7770: # 219 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: const locale& 7770: operator=(const locale& __other) throw(); 7770: # 234 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: template 7770: locale 7770: combine(const locale& __other) const; 7770: 7770: 7770: 7770: 7770: 7770: 7770: __attribute ((__abi_tag__ ("cxx11"))) 7770: string 7770: name() const; 7770: # 254 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: bool 7770: operator==(const locale& __other) const throw(); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: bool 7770: operator!=(const locale& __other) const throw() 7770: { return !(this->operator==(__other)); } 7770: # 282 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: template 7770: bool 7770: operator()(const basic_string<_Char, _Traits, _Alloc>& __s1, 7770: const basic_string<_Char, _Traits, _Alloc>& __s2) const; 7770: # 298 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: static locale 7770: global(const locale& __loc); 7770: 7770: 7770: 7770: 7770: static const locale& 7770: classic(); 7770: 7770: private: 7770: 7770: _Impl* _M_impl; 7770: 7770: 7770: static _Impl* _S_classic; 7770: 7770: 7770: static _Impl* _S_global; 7770: 7770: 7770: 7770: 7770: 7770: static const char* const* const _S_categories; 7770: # 333 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: enum { _S_categories_size = 6 + 6 }; 7770: 7770: 7770: static __gthread_once_t _S_once; 7770: 7770: 7770: explicit 7770: locale(_Impl*) throw(); 7770: 7770: static void 7770: _S_initialize(); 7770: 7770: static void 7770: _S_initialize_once() throw(); 7770: 7770: static category 7770: _S_normalize_category(category); 7770: 7770: void 7770: _M_coalesce(const locale& __base, const locale& __add, category __cat); 7770: 7770: 7770: static const id* const _S_twinned_facets[]; 7770: 7770: }; 7770: # 371 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: class locale::facet 7770: { 7770: private: 7770: friend class locale; 7770: friend class locale::_Impl; 7770: 7770: mutable _Atomic_word _M_refcount; 7770: 7770: 7770: static __c_locale _S_c_locale; 7770: 7770: 7770: static const char _S_c_name[2]; 7770: 7770: 7770: static __gthread_once_t _S_once; 7770: 7770: 7770: static void 7770: _S_initialize_once(); 7770: 7770: protected: 7770: # 402 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: explicit 7770: facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0) 7770: { } 7770: 7770: 7770: virtual 7770: ~facet(); 7770: 7770: static void 7770: _S_create_c_locale(__c_locale& __cloc, const char* __s, 7770: __c_locale __old = 0); 7770: 7770: static __c_locale 7770: _S_clone_c_locale(__c_locale& __cloc) throw(); 7770: 7770: static void 7770: _S_destroy_c_locale(__c_locale& __cloc); 7770: 7770: static __c_locale 7770: _S_lc_ctype_c_locale(__c_locale __cloc, const char* __s); 7770: 7770: 7770: 7770: static __c_locale 7770: _S_get_c_locale(); 7770: 7770: __attribute__ ((__const__)) static const char* 7770: _S_get_c_name() throw(); 7770: # 438 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: facet(const facet&) = delete; 7770: 7770: facet& 7770: operator=(const facet&) = delete; 7770: 7770: 7770: private: 7770: void 7770: _M_add_reference() const throw() 7770: { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } 7770: 7770: void 7770: _M_remove_reference() const throw() 7770: { 7770: 7770: ; 7770: if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) 7770: { 7770: ; 7770: if (true) 7770: { delete this; } 7770: if (false) 7770: { } 7770: } 7770: } 7770: 7770: const facet* _M_sso_shim(const id*) const; 7770: const facet* _M_cow_shim(const id*) const; 7770: 7770: protected: 7770: class __shim; 7770: }; 7770: # 483 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: class locale::id 7770: { 7770: private: 7770: friend class locale; 7770: friend class locale::_Impl; 7770: 7770: template 7770: friend const _Facet& 7770: use_facet(const locale&); 7770: 7770: template 7770: friend bool 7770: has_facet(const locale&) throw(); 7770: 7770: 7770: 7770: 7770: mutable size_t _M_index; 7770: 7770: 7770: static _Atomic_word _S_refcount; 7770: 7770: void 7770: operator=(const id&); 7770: 7770: id(const id&); 7770: 7770: public: 7770: 7770: 7770: 7770: id() { } 7770: 7770: size_t 7770: _M_id() const throw(); 7770: }; 7770: 7770: 7770: 7770: class locale::_Impl 7770: { 7770: public: 7770: 7770: friend class locale; 7770: friend class locale::facet; 7770: 7770: template 7770: friend bool 7770: has_facet(const locale&) throw(); 7770: 7770: template 7770: friend const _Facet& 7770: use_facet(const locale&); 7770: 7770: template 7770: friend struct __use_cache; 7770: 7770: private: 7770: 7770: _Atomic_word _M_refcount; 7770: const facet** _M_facets; 7770: size_t _M_facets_size; 7770: const facet** _M_caches; 7770: char** _M_names; 7770: static const locale::id* const _S_id_ctype[]; 7770: static const locale::id* const _S_id_numeric[]; 7770: static const locale::id* const _S_id_collate[]; 7770: static const locale::id* const _S_id_time[]; 7770: static const locale::id* const _S_id_monetary[]; 7770: static const locale::id* const _S_id_messages[]; 7770: static const locale::id* const* const _S_facet_categories[]; 7770: 7770: void 7770: _M_add_reference() throw() 7770: { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } 7770: 7770: void 7770: _M_remove_reference() throw() 7770: { 7770: 7770: ; 7770: if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) 7770: { 7770: ; 7770: if (true) 7770: { delete this; } 7770: if (false) 7770: { } 7770: } 7770: } 7770: 7770: _Impl(const _Impl&, size_t); 7770: _Impl(const char*, size_t); 7770: _Impl(size_t) throw(); 7770: 7770: ~_Impl() throw(); 7770: 7770: _Impl(const _Impl&); 7770: 7770: void 7770: operator=(const _Impl&); 7770: 7770: bool 7770: _M_check_same_name() 7770: { 7770: bool __ret = true; 7770: if (_M_names[1]) 7770: 7770: for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i) 7770: __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0; 7770: return __ret; 7770: } 7770: 7770: void 7770: _M_replace_categories(const _Impl*, category); 7770: 7770: void 7770: _M_replace_category(const _Impl*, const locale::id* const*); 7770: 7770: void 7770: _M_replace_facet(const _Impl*, const locale::id*); 7770: 7770: void 7770: _M_install_facet(const locale::id*, const facet*); 7770: 7770: template 7770: void 7770: _M_init_facet(_Facet* __facet) 7770: { _M_install_facet(&_Facet::id, __facet); } 7770: 7770: template 7770: void 7770: _M_init_facet_unchecked(_Facet* __facet) 7770: { 7770: __facet->_M_add_reference(); 7770: _M_facets[_Facet::id._M_id()] = __facet; 7770: } 7770: 7770: void 7770: _M_install_cache(const facet*, size_t); 7770: 7770: void _M_init_extra(facet**); 7770: void _M_init_extra(void*, void*, const char*, const char*); 7770: }; 7770: # 641 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: template 7770: class __cxx11:: collate : public locale::facet 7770: { 7770: public: 7770: 7770: 7770: 7770: typedef _CharT char_type; 7770: typedef basic_string<_CharT> string_type; 7770: 7770: 7770: protected: 7770: 7770: 7770: __c_locale _M_c_locale_collate; 7770: 7770: public: 7770: 7770: static locale::id id; 7770: # 668 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: explicit 7770: collate(size_t __refs = 0) 7770: : facet(__refs), _M_c_locale_collate(_S_get_c_locale()) 7770: { } 7770: # 682 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: explicit 7770: collate(__c_locale __cloc, size_t __refs = 0) 7770: : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc)) 7770: { } 7770: # 699 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: int 7770: compare(const _CharT* __lo1, const _CharT* __hi1, 7770: const _CharT* __lo2, const _CharT* __hi2) const 7770: { return this->do_compare(__lo1, __hi1, __lo2, __hi2); } 7770: # 718 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: string_type 7770: transform(const _CharT* __lo, const _CharT* __hi) const 7770: { return this->do_transform(__lo, __hi); } 7770: # 732 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: long 7770: hash(const _CharT* __lo, const _CharT* __hi) const 7770: { return this->do_hash(__lo, __hi); } 7770: 7770: 7770: int 7770: _M_compare(const _CharT*, const _CharT*) const throw(); 7770: 7770: size_t 7770: _M_transform(_CharT*, const _CharT*, size_t) const throw(); 7770: 7770: protected: 7770: 7770: virtual 7770: ~collate() 7770: { _S_destroy_c_locale(_M_c_locale_collate); } 7770: # 761 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: virtual int 7770: do_compare(const _CharT* __lo1, const _CharT* __hi1, 7770: const _CharT* __lo2, const _CharT* __hi2) const; 7770: # 775 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: virtual string_type 7770: do_transform(const _CharT* __lo, const _CharT* __hi) const; 7770: # 788 "/usr/include/c++/8/bits/locale_classes.h" 3 7770: virtual long 7770: do_hash(const _CharT* __lo, const _CharT* __hi) const; 7770: }; 7770: 7770: template 7770: locale::id collate<_CharT>::id; 7770: 7770: 7770: template<> 7770: int 7770: collate::_M_compare(const char*, const char*) const throw(); 7770: 7770: template<> 7770: size_t 7770: collate::_M_transform(char*, const char*, size_t) const throw(); 7770: 7770: 7770: template<> 7770: int 7770: collate::_M_compare(const wchar_t*, const wchar_t*) const throw(); 7770: 7770: template<> 7770: size_t 7770: collate::_M_transform(wchar_t*, const wchar_t*, size_t) const throw(); 7770: 7770: 7770: 7770: template 7770: class __cxx11:: collate_byname : public collate<_CharT> 7770: { 7770: public: 7770: 7770: 7770: typedef _CharT char_type; 7770: typedef basic_string<_CharT> string_type; 7770: 7770: 7770: explicit 7770: collate_byname(const char* __s, size_t __refs = 0) 7770: : collate<_CharT>(__refs) 7770: { 7770: if (__builtin_strcmp(__s, "C") != 0 7770: && __builtin_strcmp(__s, "POSIX") != 0) 7770: { 7770: this->_S_destroy_c_locale(this->_M_c_locale_collate); 7770: this->_S_create_c_locale(this->_M_c_locale_collate, __s); 7770: } 7770: } 7770: 7770: 7770: explicit 7770: collate_byname(const string& __s, size_t __refs = 0) 7770: : collate_byname(__s.c_str(), __refs) { } 7770: 7770: 7770: protected: 7770: virtual 7770: ~collate_byname() { } 7770: }; 7770: 7770: 7770: } 7770: 7770: # 1 "/usr/include/c++/8/bits/locale_classes.tcc" 1 3 7770: # 37 "/usr/include/c++/8/bits/locale_classes.tcc" 3 7770: 7770: # 38 "/usr/include/c++/8/bits/locale_classes.tcc" 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: template 7770: locale:: 7770: locale(const locale& __other, _Facet* __f) 7770: { 7770: _M_impl = new _Impl(*__other._M_impl, 1); 7770: 7770: if (true) 7770: { _M_impl->_M_install_facet(&_Facet::id, __f); } 7770: if (false) 7770: { 7770: _M_impl->_M_remove_reference(); 7770: ; 7770: } 7770: delete [] _M_impl->_M_names[0]; 7770: _M_impl->_M_names[0] = 0; 7770: } 7770: 7770: template 7770: locale 7770: locale:: 7770: combine(const locale& __other) const 7770: { 7770: _Impl* __tmp = new _Impl(*_M_impl, 1); 7770: if (true) 7770: { 7770: __tmp->_M_replace_facet(__other._M_impl, &_Facet::id); 7770: } 7770: if (false) 7770: { 7770: __tmp->_M_remove_reference(); 7770: ; 7770: } 7770: return locale(__tmp); 7770: } 7770: 7770: template 7770: bool 7770: locale:: 7770: operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1, 7770: const basic_string<_CharT, _Traits, _Alloc>& __s2) const 7770: { 7770: typedef std::collate<_CharT> __collate_type; 7770: const __collate_type& __collate = use_facet<__collate_type>(*this); 7770: return (__collate.compare(__s1.data(), __s1.data() + __s1.length(), 7770: __s2.data(), __s2.data() + __s2.length()) < 0); 7770: } 7770: # 102 "/usr/include/c++/8/bits/locale_classes.tcc" 3 7770: template 7770: bool 7770: has_facet(const locale& __loc) throw() 7770: { 7770: const size_t __i = _Facet::id._M_id(); 7770: const locale::facet** __facets = __loc._M_impl->_M_facets; 7770: return (__i < __loc._M_impl->_M_facets_size 7770: 7770: && dynamic_cast(__facets[__i])); 7770: 7770: 7770: 7770: } 7770: # 130 "/usr/include/c++/8/bits/locale_classes.tcc" 3 7770: template 7770: const _Facet& 7770: use_facet(const locale& __loc) 7770: { 7770: const size_t __i = _Facet::id._M_id(); 7770: const locale::facet** __facets = __loc._M_impl->_M_facets; 7770: if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i]) 7770: __throw_bad_cast(); 7770: 7770: return dynamic_cast(*__facets[__i]); 7770: 7770: 7770: 7770: } 7770: 7770: 7770: 7770: template 7770: int 7770: collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const throw () 7770: { return 0; } 7770: 7770: 7770: template 7770: size_t 7770: collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const throw () 7770: { return 0; } 7770: 7770: template 7770: int 7770: collate<_CharT>:: 7770: do_compare(const _CharT* __lo1, const _CharT* __hi1, 7770: const _CharT* __lo2, const _CharT* __hi2) const 7770: { 7770: 7770: 7770: const string_type __one(__lo1, __hi1); 7770: const string_type __two(__lo2, __hi2); 7770: 7770: const _CharT* __p = __one.c_str(); 7770: const _CharT* __pend = __one.data() + __one.length(); 7770: const _CharT* __q = __two.c_str(); 7770: const _CharT* __qend = __two.data() + __two.length(); 7770: 7770: 7770: 7770: 7770: for (;;) 7770: { 7770: const int __res = _M_compare(__p, __q); 7770: if (__res) 7770: return __res; 7770: 7770: __p += char_traits<_CharT>::length(__p); 7770: __q += char_traits<_CharT>::length(__q); 7770: if (__p == __pend && __q == __qend) 7770: return 0; 7770: else if (__p == __pend) 7770: return -1; 7770: else if (__q == __qend) 7770: return 1; 7770: 7770: __p++; 7770: __q++; 7770: } 7770: } 7770: 7770: template 7770: typename collate<_CharT>::string_type 7770: collate<_CharT>:: 7770: do_transform(const _CharT* __lo, const _CharT* __hi) const 7770: { 7770: string_type __ret; 7770: 7770: 7770: const string_type __str(__lo, __hi); 7770: 7770: const _CharT* __p = __str.c_str(); 7770: const _CharT* __pend = __str.data() + __str.length(); 7770: 7770: size_t __len = (__hi - __lo) * 2; 7770: 7770: _CharT* __c = new _CharT[__len]; 7770: 7770: if (true) 7770: { 7770: 7770: 7770: 7770: for (;;) 7770: { 7770: 7770: size_t __res = _M_transform(__c, __p, __len); 7770: 7770: 7770: if (__res >= __len) 7770: { 7770: __len = __res + 1; 7770: delete [] __c, __c = 0; 7770: __c = new _CharT[__len]; 7770: __res = _M_transform(__c, __p, __len); 7770: } 7770: 7770: __ret.append(__c, __res); 7770: __p += char_traits<_CharT>::length(__p); 7770: if (__p == __pend) 7770: break; 7770: 7770: __p++; 7770: __ret.push_back(_CharT()); 7770: } 7770: } 7770: if (false) 7770: { 7770: delete [] __c; 7770: ; 7770: } 7770: 7770: delete [] __c; 7770: 7770: return __ret; 7770: } 7770: 7770: template 7770: long 7770: collate<_CharT>:: 7770: do_hash(const _CharT* __lo, const _CharT* __hi) const 7770: { 7770: unsigned long __val = 0; 7770: for (; __lo < __hi; ++__lo) 7770: __val = 7770: *__lo + ((__val << 7) 7770: | (__val >> (__gnu_cxx::__numeric_traits:: 7770: __digits - 7))); 7770: return static_cast(__val); 7770: } 7770: 7770: 7770: 7770: 7770: extern template class collate; 7770: extern template class collate_byname; 7770: 7770: extern template 7770: const collate& 7770: use_facet >(const locale&); 7770: 7770: extern template 7770: bool 7770: has_facet >(const locale&); 7770: 7770: 7770: extern template class collate; 7770: extern template class collate_byname; 7770: 7770: extern template 7770: const collate& 7770: use_facet >(const locale&); 7770: 7770: extern template 7770: bool 7770: has_facet >(const locale&); 7770: 7770: 7770: 7770: 7770: } 7770: # 852 "/usr/include/c++/8/bits/locale_classes.h" 2 3 7770: # 42 "/usr/include/c++/8/bits/ios_base.h" 2 3 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/system_error" 1 3 7770: # 32 "/usr/include/c++/8/system_error" 3 7770: 7770: # 33 "/usr/include/c++/8/system_error" 3 7770: 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/c++/8/bits/error_constants.h" 1 3 7770: # 34 "/usr/include/aarch64-linux-gnu/c++/8/bits/error_constants.h" 3 7770: # 1 "/usr/include/c++/8/cerrno" 1 3 7770: # 39 "/usr/include/c++/8/cerrno" 3 7770: 7770: # 40 "/usr/include/c++/8/cerrno" 3 7770: # 35 "/usr/include/aarch64-linux-gnu/c++/8/bits/error_constants.h" 2 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: enum class errc 7770: { 7770: address_family_not_supported = 97, 7770: address_in_use = 98, 7770: address_not_available = 99, 7770: already_connected = 106, 7770: argument_list_too_long = 7, 7770: argument_out_of_domain = 33, 7770: bad_address = 14, 7770: bad_file_descriptor = 9, 7770: 7770: 7770: bad_message = 74, 7770: 7770: 7770: broken_pipe = 32, 7770: connection_aborted = 103, 7770: connection_already_in_progress = 114, 7770: connection_refused = 111, 7770: connection_reset = 104, 7770: cross_device_link = 18, 7770: destination_address_required = 89, 7770: device_or_resource_busy = 16, 7770: directory_not_empty = 39, 7770: executable_format_error = 8, 7770: file_exists = 17, 7770: file_too_large = 27, 7770: filename_too_long = 36, 7770: function_not_supported = 38, 7770: host_unreachable = 113, 7770: 7770: 7770: identifier_removed = 43, 7770: 7770: 7770: illegal_byte_sequence = 84, 7770: inappropriate_io_control_operation = 25, 7770: interrupted = 4, 7770: invalid_argument = 22, 7770: invalid_seek = 29, 7770: io_error = 5, 7770: is_a_directory = 21, 7770: message_size = 90, 7770: network_down = 100, 7770: network_reset = 102, 7770: network_unreachable = 101, 7770: no_buffer_space = 105, 7770: no_child_process = 10, 7770: 7770: 7770: no_link = 67, 7770: 7770: 7770: no_lock_available = 37, 7770: 7770: 7770: no_message_available = 61, 7770: 7770: 7770: no_message = 42, 7770: no_protocol_option = 92, 7770: no_space_on_device = 28, 7770: 7770: 7770: no_stream_resources = 63, 7770: 7770: 7770: no_such_device_or_address = 6, 7770: no_such_device = 19, 7770: no_such_file_or_directory = 2, 7770: no_such_process = 3, 7770: not_a_directory = 20, 7770: not_a_socket = 88, 7770: 7770: 7770: not_a_stream = 60, 7770: 7770: 7770: not_connected = 107, 7770: not_enough_memory = 12, 7770: 7770: 7770: not_supported = 95, 7770: 7770: 7770: 7770: operation_canceled = 125, 7770: 7770: 7770: operation_in_progress = 115, 7770: operation_not_permitted = 1, 7770: operation_not_supported = 95, 7770: operation_would_block = 11, 7770: 7770: 7770: owner_dead = 130, 7770: 7770: 7770: permission_denied = 13, 7770: 7770: 7770: protocol_error = 71, 7770: 7770: 7770: protocol_not_supported = 93, 7770: read_only_file_system = 30, 7770: resource_deadlock_would_occur = 35, 7770: resource_unavailable_try_again = 11, 7770: result_out_of_range = 34, 7770: 7770: 7770: state_not_recoverable = 131, 7770: 7770: 7770: 7770: stream_timeout = 62, 7770: 7770: 7770: 7770: text_file_busy = 26, 7770: 7770: 7770: timed_out = 110, 7770: too_many_files_open_in_system = 23, 7770: too_many_files_open = 24, 7770: too_many_links = 31, 7770: too_many_symbolic_link_levels = 40, 7770: 7770: 7770: value_too_large = 75, 7770: 7770: 7770: wrong_protocol_type = 91 7770: }; 7770: 7770: 7770: } 7770: # 40 "/usr/include/c++/8/system_error" 2 3 7770: 7770: # 1 "/usr/include/c++/8/stdexcept" 1 3 7770: # 36 "/usr/include/c++/8/stdexcept" 3 7770: 7770: # 37 "/usr/include/c++/8/stdexcept" 3 7770: 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: struct __cow_string 7770: { 7770: union { 7770: const char* _M_p; 7770: char _M_bytes[sizeof(const char*)]; 7770: }; 7770: 7770: __cow_string(); 7770: __cow_string(const std::string&); 7770: __cow_string(const char*, size_t); 7770: __cow_string(const __cow_string&) noexcept; 7770: __cow_string& operator=(const __cow_string&) noexcept; 7770: ~__cow_string(); 7770: 7770: __cow_string(__cow_string&&) noexcept; 7770: __cow_string& operator=(__cow_string&&) noexcept; 7770: 7770: }; 7770: 7770: typedef basic_string __sso_string; 7770: # 113 "/usr/include/c++/8/stdexcept" 3 7770: class logic_error : public exception 7770: { 7770: __cow_string _M_msg; 7770: 7770: public: 7770: 7770: explicit 7770: logic_error(const string& __arg) ; 7770: 7770: 7770: explicit 7770: logic_error(const char*) ; 7770: 7770: 7770: 7770: logic_error(const logic_error&) noexcept; 7770: logic_error& operator=(const logic_error&) noexcept; 7770: 7770: 7770: virtual ~logic_error() noexcept; 7770: 7770: 7770: 7770: virtual const char* 7770: what() const noexcept; 7770: 7770: 7770: 7770: 7770: 7770: }; 7770: 7770: 7770: 7770: class domain_error : public logic_error 7770: { 7770: public: 7770: explicit domain_error(const string& __arg) ; 7770: 7770: explicit domain_error(const char*) ; 7770: 7770: virtual ~domain_error() noexcept; 7770: }; 7770: 7770: 7770: class invalid_argument : public logic_error 7770: { 7770: public: 7770: explicit invalid_argument(const string& __arg) ; 7770: 7770: explicit invalid_argument(const char*) ; 7770: 7770: virtual ~invalid_argument() noexcept; 7770: }; 7770: 7770: 7770: 7770: class length_error : public logic_error 7770: { 7770: public: 7770: explicit length_error(const string& __arg) ; 7770: 7770: explicit length_error(const char*) ; 7770: 7770: virtual ~length_error() noexcept; 7770: }; 7770: 7770: 7770: 7770: class out_of_range : public logic_error 7770: { 7770: public: 7770: explicit out_of_range(const string& __arg) ; 7770: 7770: explicit out_of_range(const char*) ; 7770: 7770: virtual ~out_of_range() noexcept; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: class runtime_error : public exception 7770: { 7770: __cow_string _M_msg; 7770: 7770: public: 7770: 7770: explicit 7770: runtime_error(const string& __arg) ; 7770: 7770: 7770: explicit 7770: runtime_error(const char*) ; 7770: 7770: 7770: 7770: runtime_error(const runtime_error&) noexcept; 7770: runtime_error& operator=(const runtime_error&) noexcept; 7770: 7770: 7770: virtual ~runtime_error() noexcept; 7770: 7770: 7770: 7770: virtual const char* 7770: what() const noexcept; 7770: 7770: 7770: 7770: 7770: 7770: }; 7770: 7770: 7770: class range_error : public runtime_error 7770: { 7770: public: 7770: explicit range_error(const string& __arg) ; 7770: 7770: explicit range_error(const char*) ; 7770: 7770: virtual ~range_error() noexcept; 7770: }; 7770: 7770: 7770: class overflow_error : public runtime_error 7770: { 7770: public: 7770: explicit overflow_error(const string& __arg) ; 7770: 7770: explicit overflow_error(const char*) ; 7770: 7770: virtual ~overflow_error() noexcept; 7770: }; 7770: 7770: 7770: class underflow_error : public runtime_error 7770: { 7770: public: 7770: explicit underflow_error(const string& __arg) ; 7770: 7770: explicit underflow_error(const char*) ; 7770: 7770: virtual ~underflow_error() noexcept; 7770: }; 7770: 7770: 7770: 7770: 7770: } 7770: # 42 "/usr/include/c++/8/system_error" 2 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: class error_code; 7770: class error_condition; 7770: class system_error; 7770: 7770: 7770: template 7770: struct is_error_code_enum : public false_type { }; 7770: 7770: 7770: template 7770: struct is_error_condition_enum : public false_type { }; 7770: 7770: template<> 7770: struct is_error_condition_enum 7770: : public true_type { }; 7770: 7770: 7770: template 7770: inline constexpr bool is_error_code_enum_v = 7770: is_error_code_enum<_Tp>::value; 7770: template 7770: inline constexpr bool is_error_condition_enum_v = 7770: is_error_condition_enum<_Tp>::value; 7770: 7770: inline namespace _V2 { 7770: 7770: 7770: class error_category 7770: { 7770: public: 7770: constexpr error_category() noexcept = default; 7770: 7770: virtual ~error_category(); 7770: 7770: error_category(const error_category&) = delete; 7770: error_category& operator=(const error_category&) = delete; 7770: 7770: virtual const char* 7770: name() const noexcept = 0; 7770: 7770: 7770: 7770: 7770: 7770: 7770: private: 7770: __attribute ((__abi_tag__ ("cxx11"))) 7770: virtual __cow_string 7770: _M_message(int) const; 7770: 7770: public: 7770: __attribute ((__abi_tag__ ("cxx11"))) 7770: virtual string 7770: message(int) const = 0; 7770: # 110 "/usr/include/c++/8/system_error" 3 7770: public: 7770: virtual error_condition 7770: default_error_condition(int __i) const noexcept; 7770: 7770: virtual bool 7770: equivalent(int __i, const error_condition& __cond) const noexcept; 7770: 7770: virtual bool 7770: equivalent(const error_code& __code, int __i) const noexcept; 7770: 7770: bool 7770: operator<(const error_category& __other) const noexcept 7770: { return less()(this, &__other); } 7770: 7770: bool 7770: operator==(const error_category& __other) const noexcept 7770: { return this == &__other; } 7770: 7770: bool 7770: operator!=(const error_category& __other) const noexcept 7770: { return this != &__other; } 7770: }; 7770: 7770: 7770: __attribute__ ((__const__)) const error_category& system_category() noexcept; 7770: __attribute__ ((__const__)) const error_category& generic_category() noexcept; 7770: 7770: } 7770: 7770: error_code make_error_code(errc) noexcept; 7770: 7770: template 7770: struct hash; 7770: 7770: 7770: 7770: struct error_code 7770: { 7770: error_code() noexcept 7770: : _M_value(0), _M_cat(&system_category()) { } 7770: 7770: error_code(int __v, const error_category& __cat) noexcept 7770: : _M_value(__v), _M_cat(&__cat) { } 7770: 7770: template::value>::type> 7770: error_code(_ErrorCodeEnum __e) noexcept 7770: { *this = make_error_code(__e); } 7770: 7770: void 7770: assign(int __v, const error_category& __cat) noexcept 7770: { 7770: _M_value = __v; 7770: _M_cat = &__cat; 7770: } 7770: 7770: void 7770: clear() noexcept 7770: { assign(0, system_category()); } 7770: 7770: 7770: template 7770: typename enable_if::value, 7770: error_code&>::type 7770: operator=(_ErrorCodeEnum __e) noexcept 7770: { return *this = make_error_code(__e); } 7770: 7770: int 7770: value() const noexcept { return _M_value; } 7770: 7770: const error_category& 7770: category() const noexcept { return *_M_cat; } 7770: 7770: error_condition 7770: default_error_condition() const noexcept; 7770: 7770: __attribute ((__abi_tag__ ("cxx11"))) 7770: string 7770: message() const 7770: { return category().message(value()); } 7770: 7770: explicit operator bool() const noexcept 7770: { return _M_value != 0; } 7770: 7770: 7770: private: 7770: friend class hash; 7770: 7770: int _M_value; 7770: const error_category* _M_cat; 7770: }; 7770: 7770: 7770: inline error_code 7770: make_error_code(errc __e) noexcept 7770: { return error_code(static_cast(__e), generic_category()); } 7770: 7770: inline bool 7770: operator<(const error_code& __lhs, const error_code& __rhs) noexcept 7770: { 7770: return (__lhs.category() < __rhs.category() 7770: || (__lhs.category() == __rhs.category() 7770: && __lhs.value() < __rhs.value())); 7770: } 7770: 7770: template 7770: basic_ostream<_CharT, _Traits>& 7770: operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e) 7770: { return (__os << __e.category().name() << ':' << __e.value()); } 7770: 7770: error_condition make_error_condition(errc) noexcept; 7770: 7770: 7770: 7770: struct error_condition 7770: { 7770: error_condition() noexcept 7770: : _M_value(0), _M_cat(&generic_category()) { } 7770: 7770: error_condition(int __v, const error_category& __cat) noexcept 7770: : _M_value(__v), _M_cat(&__cat) { } 7770: 7770: template::value>::type> 7770: error_condition(_ErrorConditionEnum __e) noexcept 7770: { *this = make_error_condition(__e); } 7770: 7770: void 7770: assign(int __v, const error_category& __cat) noexcept 7770: { 7770: _M_value = __v; 7770: _M_cat = &__cat; 7770: } 7770: 7770: 7770: template 7770: typename enable_if::value, error_condition&>::type 7770: operator=(_ErrorConditionEnum __e) noexcept 7770: { return *this = make_error_condition(__e); } 7770: 7770: void 7770: clear() noexcept 7770: { assign(0, generic_category()); } 7770: 7770: 7770: int 7770: value() const noexcept { return _M_value; } 7770: 7770: const error_category& 7770: category() const noexcept { return *_M_cat; } 7770: 7770: __attribute ((__abi_tag__ ("cxx11"))) 7770: string 7770: message() const 7770: { return category().message(value()); } 7770: 7770: explicit operator bool() const noexcept 7770: { return _M_value != 0; } 7770: 7770: 7770: private: 7770: int _M_value; 7770: const error_category* _M_cat; 7770: }; 7770: 7770: 7770: inline error_condition 7770: make_error_condition(errc __e) noexcept 7770: { return error_condition(static_cast(__e), generic_category()); } 7770: 7770: inline bool 7770: operator<(const error_condition& __lhs, 7770: const error_condition& __rhs) noexcept 7770: { 7770: return (__lhs.category() < __rhs.category() 7770: || (__lhs.category() == __rhs.category() 7770: && __lhs.value() < __rhs.value())); 7770: } 7770: 7770: 7770: inline bool 7770: operator==(const error_code& __lhs, const error_code& __rhs) noexcept 7770: { return (__lhs.category() == __rhs.category() 7770: && __lhs.value() == __rhs.value()); } 7770: 7770: inline bool 7770: operator==(const error_code& __lhs, const error_condition& __rhs) noexcept 7770: { 7770: return (__lhs.category().equivalent(__lhs.value(), __rhs) 7770: || __rhs.category().equivalent(__lhs, __rhs.value())); 7770: } 7770: 7770: inline bool 7770: operator==(const error_condition& __lhs, const error_code& __rhs) noexcept 7770: { 7770: return (__rhs.category().equivalent(__rhs.value(), __lhs) 7770: || __lhs.category().equivalent(__rhs, __lhs.value())); 7770: } 7770: 7770: inline bool 7770: operator==(const error_condition& __lhs, 7770: const error_condition& __rhs) noexcept 7770: { 7770: return (__lhs.category() == __rhs.category() 7770: && __lhs.value() == __rhs.value()); 7770: } 7770: 7770: inline bool 7770: operator!=(const error_code& __lhs, const error_code& __rhs) noexcept 7770: { return !(__lhs == __rhs); } 7770: 7770: inline bool 7770: operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept 7770: { return !(__lhs == __rhs); } 7770: 7770: inline bool 7770: operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept 7770: { return !(__lhs == __rhs); } 7770: 7770: inline bool 7770: operator!=(const error_condition& __lhs, 7770: const error_condition& __rhs) noexcept 7770: { return !(__lhs == __rhs); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: class system_error : public std::runtime_error 7770: { 7770: private: 7770: error_code _M_code; 7770: 7770: public: 7770: system_error(error_code __ec = error_code()) 7770: : runtime_error(__ec.message()), _M_code(__ec) { } 7770: 7770: system_error(error_code __ec, const string& __what) 7770: : runtime_error(__what + ": " + __ec.message()), _M_code(__ec) { } 7770: 7770: system_error(error_code __ec, const char* __what) 7770: : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { } 7770: 7770: system_error(int __v, const error_category& __ecat, const char* __what) 7770: : system_error(error_code(__v, __ecat), __what) { } 7770: 7770: system_error(int __v, const error_category& __ecat) 7770: : runtime_error(error_code(__v, __ecat).message()), 7770: _M_code(__v, __ecat) { } 7770: 7770: system_error(int __v, const error_category& __ecat, const string& __what) 7770: : runtime_error(__what + ": " + error_code(__v, __ecat).message()), 7770: _M_code(__v, __ecat) { } 7770: 7770: virtual ~system_error() noexcept; 7770: 7770: const error_code& 7770: code() const noexcept { return _M_code; } 7770: }; 7770: 7770: 7770: } 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: template<> 7770: struct hash 7770: : public __hash_base 7770: { 7770: size_t 7770: operator()(const error_code& __e) const noexcept 7770: { 7770: const size_t __tmp = std::_Hash_impl::hash(__e._M_value); 7770: return std::_Hash_impl::__hash_combine(__e._M_cat, __tmp); 7770: } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: template<> 7770: struct hash 7770: : public __hash_base 7770: { 7770: size_t 7770: operator()(const error_condition& __e) const noexcept 7770: { 7770: const size_t __tmp = std::_Hash_impl::hash(__e.value()); 7770: return std::_Hash_impl::__hash_combine(__e.category(), __tmp); 7770: } 7770: }; 7770: 7770: 7770: 7770: } 7770: # 47 "/usr/include/c++/8/bits/ios_base.h" 2 3 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: enum _Ios_Fmtflags 7770: { 7770: _S_boolalpha = 1L << 0, 7770: _S_dec = 1L << 1, 7770: _S_fixed = 1L << 2, 7770: _S_hex = 1L << 3, 7770: _S_internal = 1L << 4, 7770: _S_left = 1L << 5, 7770: _S_oct = 1L << 6, 7770: _S_right = 1L << 7, 7770: _S_scientific = 1L << 8, 7770: _S_showbase = 1L << 9, 7770: _S_showpoint = 1L << 10, 7770: _S_showpos = 1L << 11, 7770: _S_skipws = 1L << 12, 7770: _S_unitbuf = 1L << 13, 7770: _S_uppercase = 1L << 14, 7770: _S_adjustfield = _S_left | _S_right | _S_internal, 7770: _S_basefield = _S_dec | _S_oct | _S_hex, 7770: _S_floatfield = _S_scientific | _S_fixed, 7770: _S_ios_fmtflags_end = 1L << 16, 7770: _S_ios_fmtflags_max = 0x7fffffff, 7770: _S_ios_fmtflags_min = ~0x7fffffff 7770: }; 7770: 7770: inline constexpr _Ios_Fmtflags 7770: operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b) 7770: { return _Ios_Fmtflags(static_cast(__a) & static_cast(__b)); } 7770: 7770: inline constexpr _Ios_Fmtflags 7770: operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b) 7770: { return _Ios_Fmtflags(static_cast(__a) | static_cast(__b)); } 7770: 7770: inline constexpr _Ios_Fmtflags 7770: operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b) 7770: { return _Ios_Fmtflags(static_cast(__a) ^ static_cast(__b)); } 7770: 7770: inline constexpr _Ios_Fmtflags 7770: operator~(_Ios_Fmtflags __a) 7770: { return _Ios_Fmtflags(~static_cast(__a)); } 7770: 7770: inline const _Ios_Fmtflags& 7770: operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) 7770: { return __a = __a | __b; } 7770: 7770: inline const _Ios_Fmtflags& 7770: operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) 7770: { return __a = __a & __b; } 7770: 7770: inline const _Ios_Fmtflags& 7770: operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) 7770: { return __a = __a ^ __b; } 7770: 7770: 7770: enum _Ios_Openmode 7770: { 7770: _S_app = 1L << 0, 7770: _S_ate = 1L << 1, 7770: _S_bin = 1L << 2, 7770: _S_in = 1L << 3, 7770: _S_out = 1L << 4, 7770: _S_trunc = 1L << 5, 7770: _S_ios_openmode_end = 1L << 16, 7770: _S_ios_openmode_max = 0x7fffffff, 7770: _S_ios_openmode_min = ~0x7fffffff 7770: }; 7770: 7770: inline constexpr _Ios_Openmode 7770: operator&(_Ios_Openmode __a, _Ios_Openmode __b) 7770: { return _Ios_Openmode(static_cast(__a) & static_cast(__b)); } 7770: 7770: inline constexpr _Ios_Openmode 7770: operator|(_Ios_Openmode __a, _Ios_Openmode __b) 7770: { return _Ios_Openmode(static_cast(__a) | static_cast(__b)); } 7770: 7770: inline constexpr _Ios_Openmode 7770: operator^(_Ios_Openmode __a, _Ios_Openmode __b) 7770: { return _Ios_Openmode(static_cast(__a) ^ static_cast(__b)); } 7770: 7770: inline constexpr _Ios_Openmode 7770: operator~(_Ios_Openmode __a) 7770: { return _Ios_Openmode(~static_cast(__a)); } 7770: 7770: inline const _Ios_Openmode& 7770: operator|=(_Ios_Openmode& __a, _Ios_Openmode __b) 7770: { return __a = __a | __b; } 7770: 7770: inline const _Ios_Openmode& 7770: operator&=(_Ios_Openmode& __a, _Ios_Openmode __b) 7770: { return __a = __a & __b; } 7770: 7770: inline const _Ios_Openmode& 7770: operator^=(_Ios_Openmode& __a, _Ios_Openmode __b) 7770: { return __a = __a ^ __b; } 7770: 7770: 7770: enum _Ios_Iostate 7770: { 7770: _S_goodbit = 0, 7770: _S_badbit = 1L << 0, 7770: _S_eofbit = 1L << 1, 7770: _S_failbit = 1L << 2, 7770: _S_ios_iostate_end = 1L << 16, 7770: _S_ios_iostate_max = 0x7fffffff, 7770: _S_ios_iostate_min = ~0x7fffffff 7770: }; 7770: 7770: inline constexpr _Ios_Iostate 7770: operator&(_Ios_Iostate __a, _Ios_Iostate __b) 7770: { return _Ios_Iostate(static_cast(__a) & static_cast(__b)); } 7770: 7770: inline constexpr _Ios_Iostate 7770: operator|(_Ios_Iostate __a, _Ios_Iostate __b) 7770: { return _Ios_Iostate(static_cast(__a) | static_cast(__b)); } 7770: 7770: inline constexpr _Ios_Iostate 7770: operator^(_Ios_Iostate __a, _Ios_Iostate __b) 7770: { return _Ios_Iostate(static_cast(__a) ^ static_cast(__b)); } 7770: 7770: inline constexpr _Ios_Iostate 7770: operator~(_Ios_Iostate __a) 7770: { return _Ios_Iostate(~static_cast(__a)); } 7770: 7770: inline const _Ios_Iostate& 7770: operator|=(_Ios_Iostate& __a, _Ios_Iostate __b) 7770: { return __a = __a | __b; } 7770: 7770: inline const _Ios_Iostate& 7770: operator&=(_Ios_Iostate& __a, _Ios_Iostate __b) 7770: { return __a = __a & __b; } 7770: 7770: inline const _Ios_Iostate& 7770: operator^=(_Ios_Iostate& __a, _Ios_Iostate __b) 7770: { return __a = __a ^ __b; } 7770: 7770: 7770: enum _Ios_Seekdir 7770: { 7770: _S_beg = 0, 7770: _S_cur = 1, 7770: _S_end = 2, 7770: _S_ios_seekdir_end = 1L << 16 7770: }; 7770: 7770: 7770: 7770: enum class io_errc { stream = 1 }; 7770: 7770: template <> struct is_error_code_enum : public true_type { }; 7770: 7770: const error_category& iostream_category() noexcept; 7770: 7770: inline error_code 7770: make_error_code(io_errc __e) noexcept 7770: { return error_code(static_cast(__e), iostream_category()); } 7770: 7770: inline error_condition 7770: make_error_condition(io_errc __e) noexcept 7770: { return error_condition(static_cast(__e), iostream_category()); } 7770: # 228 "/usr/include/c++/8/bits/ios_base.h" 3 7770: class ios_base 7770: { 7770: # 246 "/usr/include/c++/8/bits/ios_base.h" 3 7770: public: 7770: # 255 "/usr/include/c++/8/bits/ios_base.h" 3 7770: class __attribute ((__abi_tag__ ("cxx11"))) failure : public system_error 7770: { 7770: public: 7770: explicit 7770: failure(const string& __str); 7770: 7770: 7770: explicit 7770: failure(const string&, const error_code&); 7770: 7770: explicit 7770: failure(const char*, const error_code& = io_errc::stream); 7770: 7770: 7770: virtual 7770: ~failure() throw(); 7770: 7770: virtual const char* 7770: what() const throw(); 7770: }; 7770: # 323 "/usr/include/c++/8/bits/ios_base.h" 3 7770: typedef _Ios_Fmtflags fmtflags; 7770: 7770: 7770: static const fmtflags boolalpha = _S_boolalpha; 7770: 7770: 7770: static const fmtflags dec = _S_dec; 7770: 7770: 7770: static const fmtflags fixed = _S_fixed; 7770: 7770: 7770: static const fmtflags hex = _S_hex; 7770: 7770: 7770: 7770: 7770: static const fmtflags internal = _S_internal; 7770: 7770: 7770: 7770: static const fmtflags left = _S_left; 7770: 7770: 7770: static const fmtflags oct = _S_oct; 7770: 7770: 7770: 7770: static const fmtflags right = _S_right; 7770: 7770: 7770: static const fmtflags scientific = _S_scientific; 7770: 7770: 7770: 7770: static const fmtflags showbase = _S_showbase; 7770: 7770: 7770: 7770: static const fmtflags showpoint = _S_showpoint; 7770: 7770: 7770: static const fmtflags showpos = _S_showpos; 7770: 7770: 7770: static const fmtflags skipws = _S_skipws; 7770: 7770: 7770: static const fmtflags unitbuf = _S_unitbuf; 7770: 7770: 7770: 7770: static const fmtflags uppercase = _S_uppercase; 7770: 7770: 7770: static const fmtflags adjustfield = _S_adjustfield; 7770: 7770: 7770: static const fmtflags basefield = _S_basefield; 7770: 7770: 7770: static const fmtflags floatfield = _S_floatfield; 7770: # 398 "/usr/include/c++/8/bits/ios_base.h" 3 7770: typedef _Ios_Iostate iostate; 7770: 7770: 7770: 7770: static const iostate badbit = _S_badbit; 7770: 7770: 7770: static const iostate eofbit = _S_eofbit; 7770: 7770: 7770: 7770: 7770: static const iostate failbit = _S_failbit; 7770: 7770: 7770: static const iostate goodbit = _S_goodbit; 7770: # 429 "/usr/include/c++/8/bits/ios_base.h" 3 7770: typedef _Ios_Openmode openmode; 7770: 7770: 7770: static const openmode app = _S_app; 7770: 7770: 7770: static const openmode ate = _S_ate; 7770: 7770: 7770: 7770: 7770: static const openmode binary = _S_bin; 7770: 7770: 7770: static const openmode in = _S_in; 7770: 7770: 7770: static const openmode out = _S_out; 7770: 7770: 7770: static const openmode trunc = _S_trunc; 7770: # 461 "/usr/include/c++/8/bits/ios_base.h" 3 7770: typedef _Ios_Seekdir seekdir; 7770: 7770: 7770: static const seekdir beg = _S_beg; 7770: 7770: 7770: static const seekdir cur = _S_cur; 7770: 7770: 7770: static const seekdir end = _S_end; 7770: # 489 "/usr/include/c++/8/bits/ios_base.h" 3 7770: enum event 7770: { 7770: erase_event, 7770: imbue_event, 7770: copyfmt_event 7770: }; 7770: # 506 "/usr/include/c++/8/bits/ios_base.h" 3 7770: typedef void (*event_callback) (event __e, ios_base& __b, int __i); 7770: # 518 "/usr/include/c++/8/bits/ios_base.h" 3 7770: void 7770: register_callback(event_callback __fn, int __index); 7770: 7770: protected: 7770: streamsize _M_precision; 7770: streamsize _M_width; 7770: fmtflags _M_flags; 7770: iostate _M_exception; 7770: iostate _M_streambuf_state; 7770: 7770: 7770: 7770: struct _Callback_list 7770: { 7770: 7770: _Callback_list* _M_next; 7770: ios_base::event_callback _M_fn; 7770: int _M_index; 7770: _Atomic_word _M_refcount; 7770: 7770: _Callback_list(ios_base::event_callback __fn, int __index, 7770: _Callback_list* __cb) 7770: : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { } 7770: 7770: void 7770: _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } 7770: 7770: 7770: int 7770: _M_remove_reference() 7770: { 7770: 7770: ; 7770: int __res = __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1); 7770: if (__res == 0) 7770: { 7770: ; 7770: } 7770: return __res; 7770: } 7770: }; 7770: 7770: _Callback_list* _M_callbacks; 7770: 7770: void 7770: _M_call_callbacks(event __ev) throw(); 7770: 7770: void 7770: _M_dispose_callbacks(void) throw(); 7770: 7770: 7770: struct _Words 7770: { 7770: void* _M_pword; 7770: long _M_iword; 7770: _Words() : _M_pword(0), _M_iword(0) { } 7770: }; 7770: 7770: 7770: _Words _M_word_zero; 7770: 7770: 7770: 7770: enum { _S_local_word_size = 8 }; 7770: _Words _M_local_word[_S_local_word_size]; 7770: 7770: 7770: int _M_word_size; 7770: _Words* _M_word; 7770: 7770: _Words& 7770: _M_grow_words(int __index, bool __iword); 7770: 7770: 7770: locale _M_ios_locale; 7770: 7770: void 7770: _M_init() throw(); 7770: 7770: public: 7770: 7770: 7770: 7770: 7770: 7770: class Init 7770: { 7770: friend class ios_base; 7770: public: 7770: Init(); 7770: ~Init(); 7770: 7770: private: 7770: static _Atomic_word _S_refcount; 7770: static bool _S_synced_with_stdio; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: fmtflags 7770: flags() const 7770: { return _M_flags; } 7770: # 631 "/usr/include/c++/8/bits/ios_base.h" 3 7770: fmtflags 7770: flags(fmtflags __fmtfl) 7770: { 7770: fmtflags __old = _M_flags; 7770: _M_flags = __fmtfl; 7770: return __old; 7770: } 7770: # 647 "/usr/include/c++/8/bits/ios_base.h" 3 7770: fmtflags 7770: setf(fmtflags __fmtfl) 7770: { 7770: fmtflags __old = _M_flags; 7770: _M_flags |= __fmtfl; 7770: return __old; 7770: } 7770: # 664 "/usr/include/c++/8/bits/ios_base.h" 3 7770: fmtflags 7770: setf(fmtflags __fmtfl, fmtflags __mask) 7770: { 7770: fmtflags __old = _M_flags; 7770: _M_flags &= ~__mask; 7770: _M_flags |= (__fmtfl & __mask); 7770: return __old; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: void 7770: unsetf(fmtflags __mask) 7770: { _M_flags &= ~__mask; } 7770: # 690 "/usr/include/c++/8/bits/ios_base.h" 3 7770: streamsize 7770: precision() const 7770: { return _M_precision; } 7770: 7770: 7770: 7770: 7770: 7770: 7770: streamsize 7770: precision(streamsize __prec) 7770: { 7770: streamsize __old = _M_precision; 7770: _M_precision = __prec; 7770: return __old; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: streamsize 7770: width() const 7770: { return _M_width; } 7770: 7770: 7770: 7770: 7770: 7770: 7770: streamsize 7770: width(streamsize __wide) 7770: { 7770: streamsize __old = _M_width; 7770: _M_width = __wide; 7770: return __old; 7770: } 7770: # 741 "/usr/include/c++/8/bits/ios_base.h" 3 7770: static bool 7770: sync_with_stdio(bool __sync = true); 7770: # 753 "/usr/include/c++/8/bits/ios_base.h" 3 7770: locale 7770: imbue(const locale& __loc) throw(); 7770: # 764 "/usr/include/c++/8/bits/ios_base.h" 3 7770: locale 7770: getloc() const 7770: { return _M_ios_locale; } 7770: # 775 "/usr/include/c++/8/bits/ios_base.h" 3 7770: const locale& 7770: _M_getloc() const 7770: { return _M_ios_locale; } 7770: # 794 "/usr/include/c++/8/bits/ios_base.h" 3 7770: static int 7770: xalloc() throw(); 7770: # 810 "/usr/include/c++/8/bits/ios_base.h" 3 7770: long& 7770: iword(int __ix) 7770: { 7770: _Words& __word = (__ix < _M_word_size) 7770: ? _M_word[__ix] : _M_grow_words(__ix, true); 7770: return __word._M_iword; 7770: } 7770: # 831 "/usr/include/c++/8/bits/ios_base.h" 3 7770: void*& 7770: pword(int __ix) 7770: { 7770: _Words& __word = (__ix < _M_word_size) 7770: ? _M_word[__ix] : _M_grow_words(__ix, false); 7770: return __word._M_pword; 7770: } 7770: # 848 "/usr/include/c++/8/bits/ios_base.h" 3 7770: virtual ~ios_base(); 7770: 7770: protected: 7770: ios_base() throw (); 7770: # 862 "/usr/include/c++/8/bits/ios_base.h" 3 7770: public: 7770: ios_base(const ios_base&) = delete; 7770: 7770: ios_base& 7770: operator=(const ios_base&) = delete; 7770: 7770: protected: 7770: void 7770: _M_move(ios_base&) noexcept; 7770: 7770: void 7770: _M_swap(ios_base& __rhs) noexcept; 7770: 7770: }; 7770: 7770: 7770: 7770: inline ios_base& 7770: boolalpha(ios_base& __base) 7770: { 7770: __base.setf(ios_base::boolalpha); 7770: return __base; 7770: } 7770: 7770: 7770: inline ios_base& 7770: noboolalpha(ios_base& __base) 7770: { 7770: __base.unsetf(ios_base::boolalpha); 7770: return __base; 7770: } 7770: 7770: 7770: inline ios_base& 7770: showbase(ios_base& __base) 7770: { 7770: __base.setf(ios_base::showbase); 7770: return __base; 7770: } 7770: 7770: 7770: inline ios_base& 7770: noshowbase(ios_base& __base) 7770: { 7770: __base.unsetf(ios_base::showbase); 7770: return __base; 7770: } 7770: 7770: 7770: inline ios_base& 7770: showpoint(ios_base& __base) 7770: { 7770: __base.setf(ios_base::showpoint); 7770: return __base; 7770: } 7770: 7770: 7770: inline ios_base& 7770: noshowpoint(ios_base& __base) 7770: { 7770: __base.unsetf(ios_base::showpoint); 7770: return __base; 7770: } 7770: 7770: 7770: inline ios_base& 7770: showpos(ios_base& __base) 7770: { 7770: __base.setf(ios_base::showpos); 7770: return __base; 7770: } 7770: 7770: 7770: inline ios_base& 7770: noshowpos(ios_base& __base) 7770: { 7770: __base.unsetf(ios_base::showpos); 7770: return __base; 7770: } 7770: 7770: 7770: inline ios_base& 7770: skipws(ios_base& __base) 7770: { 7770: __base.setf(ios_base::skipws); 7770: return __base; 7770: } 7770: 7770: 7770: inline ios_base& 7770: noskipws(ios_base& __base) 7770: { 7770: __base.unsetf(ios_base::skipws); 7770: return __base; 7770: } 7770: 7770: 7770: inline ios_base& 7770: uppercase(ios_base& __base) 7770: { 7770: __base.setf(ios_base::uppercase); 7770: return __base; 7770: } 7770: 7770: 7770: inline ios_base& 7770: nouppercase(ios_base& __base) 7770: { 7770: __base.unsetf(ios_base::uppercase); 7770: return __base; 7770: } 7770: 7770: 7770: inline ios_base& 7770: unitbuf(ios_base& __base) 7770: { 7770: __base.setf(ios_base::unitbuf); 7770: return __base; 7770: } 7770: 7770: 7770: inline ios_base& 7770: nounitbuf(ios_base& __base) 7770: { 7770: __base.unsetf(ios_base::unitbuf); 7770: return __base; 7770: } 7770: 7770: 7770: 7770: inline ios_base& 7770: internal(ios_base& __base) 7770: { 7770: __base.setf(ios_base::internal, ios_base::adjustfield); 7770: return __base; 7770: } 7770: 7770: 7770: inline ios_base& 7770: left(ios_base& __base) 7770: { 7770: __base.setf(ios_base::left, ios_base::adjustfield); 7770: return __base; 7770: } 7770: 7770: 7770: inline ios_base& 7770: right(ios_base& __base) 7770: { 7770: __base.setf(ios_base::right, ios_base::adjustfield); 7770: return __base; 7770: } 7770: 7770: 7770: 7770: inline ios_base& 7770: dec(ios_base& __base) 7770: { 7770: __base.setf(ios_base::dec, ios_base::basefield); 7770: return __base; 7770: } 7770: 7770: 7770: inline ios_base& 7770: hex(ios_base& __base) 7770: { 7770: __base.setf(ios_base::hex, ios_base::basefield); 7770: return __base; 7770: } 7770: 7770: 7770: inline ios_base& 7770: oct(ios_base& __base) 7770: { 7770: __base.setf(ios_base::oct, ios_base::basefield); 7770: return __base; 7770: } 7770: 7770: 7770: 7770: inline ios_base& 7770: fixed(ios_base& __base) 7770: { 7770: __base.setf(ios_base::fixed, ios_base::floatfield); 7770: return __base; 7770: } 7770: 7770: 7770: inline ios_base& 7770: scientific(ios_base& __base) 7770: { 7770: __base.setf(ios_base::scientific, ios_base::floatfield); 7770: return __base; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: inline ios_base& 7770: hexfloat(ios_base& __base) 7770: { 7770: __base.setf(ios_base::fixed | ios_base::scientific, ios_base::floatfield); 7770: return __base; 7770: } 7770: 7770: 7770: inline ios_base& 7770: defaultfloat(ios_base& __base) 7770: { 7770: __base.unsetf(ios_base::floatfield); 7770: return __base; 7770: } 7770: 7770: 7770: 7770: } 7770: # 43 "/usr/include/c++/8/ios" 2 3 7770: # 1 "/usr/include/c++/8/streambuf" 1 3 7770: # 36 "/usr/include/c++/8/streambuf" 3 7770: 7770: # 37 "/usr/include/c++/8/streambuf" 3 7770: # 45 "/usr/include/c++/8/streambuf" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: template 7770: streamsize 7770: __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*, 7770: basic_streambuf<_CharT, _Traits>*, bool&); 7770: # 121 "/usr/include/c++/8/streambuf" 3 7770: template 7770: class basic_streambuf 7770: { 7770: public: 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef _CharT char_type; 7770: typedef _Traits traits_type; 7770: typedef typename traits_type::int_type int_type; 7770: typedef typename traits_type::pos_type pos_type; 7770: typedef typename traits_type::off_type off_type; 7770: 7770: 7770: 7770: 7770: typedef basic_streambuf __streambuf_type; 7770: 7770: 7770: friend class basic_ios; 7770: friend class basic_istream; 7770: friend class basic_ostream; 7770: friend class istreambuf_iterator; 7770: friend class ostreambuf_iterator; 7770: 7770: friend streamsize 7770: __copy_streambufs_eof<>(basic_streambuf*, basic_streambuf*, bool&); 7770: 7770: template 7770: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 7770: _CharT2*>::__type 7770: __copy_move_a2(istreambuf_iterator<_CharT2>, 7770: istreambuf_iterator<_CharT2>, _CharT2*); 7770: 7770: template 7770: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 7770: istreambuf_iterator<_CharT2> >::__type 7770: find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, 7770: const _CharT2&); 7770: 7770: template 7770: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 7770: void>::__type 7770: advance(istreambuf_iterator<_CharT2>&, _Distance); 7770: 7770: template 7770: friend basic_istream<_CharT2, _Traits2>& 7770: operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2*); 7770: 7770: template 7770: friend basic_istream<_CharT2, _Traits2>& 7770: operator>>(basic_istream<_CharT2, _Traits2>&, 7770: basic_string<_CharT2, _Traits2, _Alloc>&); 7770: 7770: template 7770: friend basic_istream<_CharT2, _Traits2>& 7770: getline(basic_istream<_CharT2, _Traits2>&, 7770: basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2); 7770: 7770: protected: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: char_type* _M_in_beg; 7770: char_type* _M_in_cur; 7770: char_type* _M_in_end; 7770: char_type* _M_out_beg; 7770: char_type* _M_out_cur; 7770: char_type* _M_out_end; 7770: 7770: 7770: locale _M_buf_locale; 7770: 7770: public: 7770: 7770: virtual 7770: ~basic_streambuf() 7770: { } 7770: # 215 "/usr/include/c++/8/streambuf" 3 7770: locale 7770: pubimbue(const locale& __loc) 7770: { 7770: locale __tmp(this->getloc()); 7770: this->imbue(__loc); 7770: _M_buf_locale = __loc; 7770: return __tmp; 7770: } 7770: # 232 "/usr/include/c++/8/streambuf" 3 7770: locale 7770: getloc() const 7770: { return _M_buf_locale; } 7770: # 245 "/usr/include/c++/8/streambuf" 3 7770: basic_streambuf* 7770: pubsetbuf(char_type* __s, streamsize __n) 7770: { return this->setbuf(__s, __n); } 7770: # 257 "/usr/include/c++/8/streambuf" 3 7770: pos_type 7770: pubseekoff(off_type __off, ios_base::seekdir __way, 7770: ios_base::openmode __mode = ios_base::in | ios_base::out) 7770: { return this->seekoff(__off, __way, __mode); } 7770: # 269 "/usr/include/c++/8/streambuf" 3 7770: pos_type 7770: pubseekpos(pos_type __sp, 7770: ios_base::openmode __mode = ios_base::in | ios_base::out) 7770: { return this->seekpos(__sp, __mode); } 7770: 7770: 7770: 7770: 7770: int 7770: pubsync() { return this->sync(); } 7770: # 290 "/usr/include/c++/8/streambuf" 3 7770: streamsize 7770: in_avail() 7770: { 7770: const streamsize __ret = this->egptr() - this->gptr(); 7770: return __ret ? __ret : this->showmanyc(); 7770: } 7770: # 304 "/usr/include/c++/8/streambuf" 3 7770: int_type 7770: snextc() 7770: { 7770: int_type __ret = traits_type::eof(); 7770: if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(), 7770: __ret), true)) 7770: __ret = this->sgetc(); 7770: return __ret; 7770: } 7770: # 322 "/usr/include/c++/8/streambuf" 3 7770: int_type 7770: sbumpc() 7770: { 7770: int_type __ret; 7770: if (__builtin_expect(this->gptr() < this->egptr(), true)) 7770: { 7770: __ret = traits_type::to_int_type(*this->gptr()); 7770: this->gbump(1); 7770: } 7770: else 7770: __ret = this->uflow(); 7770: return __ret; 7770: } 7770: # 344 "/usr/include/c++/8/streambuf" 3 7770: int_type 7770: sgetc() 7770: { 7770: int_type __ret; 7770: if (__builtin_expect(this->gptr() < this->egptr(), true)) 7770: __ret = traits_type::to_int_type(*this->gptr()); 7770: else 7770: __ret = this->underflow(); 7770: return __ret; 7770: } 7770: # 363 "/usr/include/c++/8/streambuf" 3 7770: streamsize 7770: sgetn(char_type* __s, streamsize __n) 7770: { return this->xsgetn(__s, __n); } 7770: # 378 "/usr/include/c++/8/streambuf" 3 7770: int_type 7770: sputbackc(char_type __c) 7770: { 7770: int_type __ret; 7770: const bool __testpos = this->eback() < this->gptr(); 7770: if (__builtin_expect(!__testpos || 7770: !traits_type::eq(__c, this->gptr()[-1]), false)) 7770: __ret = this->pbackfail(traits_type::to_int_type(__c)); 7770: else 7770: { 7770: this->gbump(-1); 7770: __ret = traits_type::to_int_type(*this->gptr()); 7770: } 7770: return __ret; 7770: } 7770: # 403 "/usr/include/c++/8/streambuf" 3 7770: int_type 7770: sungetc() 7770: { 7770: int_type __ret; 7770: if (__builtin_expect(this->eback() < this->gptr(), true)) 7770: { 7770: this->gbump(-1); 7770: __ret = traits_type::to_int_type(*this->gptr()); 7770: } 7770: else 7770: __ret = this->pbackfail(); 7770: return __ret; 7770: } 7770: # 430 "/usr/include/c++/8/streambuf" 3 7770: int_type 7770: sputc(char_type __c) 7770: { 7770: int_type __ret; 7770: if (__builtin_expect(this->pptr() < this->epptr(), true)) 7770: { 7770: *this->pptr() = __c; 7770: this->pbump(1); 7770: __ret = traits_type::to_int_type(__c); 7770: } 7770: else 7770: __ret = this->overflow(traits_type::to_int_type(__c)); 7770: return __ret; 7770: } 7770: # 456 "/usr/include/c++/8/streambuf" 3 7770: streamsize 7770: sputn(const char_type* __s, streamsize __n) 7770: { return this->xsputn(__s, __n); } 7770: 7770: protected: 7770: # 470 "/usr/include/c++/8/streambuf" 3 7770: basic_streambuf() 7770: : _M_in_beg(0), _M_in_cur(0), _M_in_end(0), 7770: _M_out_beg(0), _M_out_cur(0), _M_out_end(0), 7770: _M_buf_locale(locale()) 7770: { } 7770: # 488 "/usr/include/c++/8/streambuf" 3 7770: char_type* 7770: eback() const { return _M_in_beg; } 7770: 7770: char_type* 7770: gptr() const { return _M_in_cur; } 7770: 7770: char_type* 7770: egptr() const { return _M_in_end; } 7770: # 504 "/usr/include/c++/8/streambuf" 3 7770: void 7770: gbump(int __n) { _M_in_cur += __n; } 7770: # 515 "/usr/include/c++/8/streambuf" 3 7770: void 7770: setg(char_type* __gbeg, char_type* __gnext, char_type* __gend) 7770: { 7770: _M_in_beg = __gbeg; 7770: _M_in_cur = __gnext; 7770: _M_in_end = __gend; 7770: } 7770: # 535 "/usr/include/c++/8/streambuf" 3 7770: char_type* 7770: pbase() const { return _M_out_beg; } 7770: 7770: char_type* 7770: pptr() const { return _M_out_cur; } 7770: 7770: char_type* 7770: epptr() const { return _M_out_end; } 7770: # 551 "/usr/include/c++/8/streambuf" 3 7770: void 7770: pbump(int __n) { _M_out_cur += __n; } 7770: # 561 "/usr/include/c++/8/streambuf" 3 7770: void 7770: setp(char_type* __pbeg, char_type* __pend) 7770: { 7770: _M_out_beg = _M_out_cur = __pbeg; 7770: _M_out_end = __pend; 7770: } 7770: # 582 "/usr/include/c++/8/streambuf" 3 7770: virtual void 7770: imbue(const locale& __loc __attribute__ ((__unused__))) 7770: { } 7770: # 597 "/usr/include/c++/8/streambuf" 3 7770: virtual basic_streambuf* 7770: setbuf(char_type*, streamsize) 7770: { return this; } 7770: # 608 "/usr/include/c++/8/streambuf" 3 7770: virtual pos_type 7770: seekoff(off_type, ios_base::seekdir, 7770: ios_base::openmode = ios_base::in | ios_base::out) 7770: { return pos_type(off_type(-1)); } 7770: # 620 "/usr/include/c++/8/streambuf" 3 7770: virtual pos_type 7770: seekpos(pos_type, 7770: ios_base::openmode = ios_base::in | ios_base::out) 7770: { return pos_type(off_type(-1)); } 7770: # 633 "/usr/include/c++/8/streambuf" 3 7770: virtual int 7770: sync() { return 0; } 7770: # 655 "/usr/include/c++/8/streambuf" 3 7770: virtual streamsize 7770: showmanyc() { return 0; } 7770: # 671 "/usr/include/c++/8/streambuf" 3 7770: virtual streamsize 7770: xsgetn(char_type* __s, streamsize __n); 7770: # 693 "/usr/include/c++/8/streambuf" 3 7770: virtual int_type 7770: underflow() 7770: { return traits_type::eof(); } 7770: # 706 "/usr/include/c++/8/streambuf" 3 7770: virtual int_type 7770: uflow() 7770: { 7770: int_type __ret = traits_type::eof(); 7770: const bool __testeof = traits_type::eq_int_type(this->underflow(), 7770: __ret); 7770: if (!__testeof) 7770: { 7770: __ret = traits_type::to_int_type(*this->gptr()); 7770: this->gbump(1); 7770: } 7770: return __ret; 7770: } 7770: # 730 "/usr/include/c++/8/streambuf" 3 7770: virtual int_type 7770: pbackfail(int_type __c __attribute__ ((__unused__)) = traits_type::eof()) 7770: { return traits_type::eof(); } 7770: # 748 "/usr/include/c++/8/streambuf" 3 7770: virtual streamsize 7770: xsputn(const char_type* __s, streamsize __n); 7770: # 774 "/usr/include/c++/8/streambuf" 3 7770: virtual int_type 7770: overflow(int_type __c __attribute__ ((__unused__)) = traits_type::eof()) 7770: { return traits_type::eof(); } 7770: # 803 "/usr/include/c++/8/streambuf" 3 7770: void 7770: __safe_gbump(streamsize __n) { _M_in_cur += __n; } 7770: 7770: void 7770: __safe_pbump(streamsize __n) { _M_out_cur += __n; } 7770: 7770: 7770: 7770: 7770: protected: 7770: 7770: basic_streambuf(const basic_streambuf&); 7770: 7770: basic_streambuf& 7770: operator=(const basic_streambuf&); 7770: 7770: 7770: void 7770: swap(basic_streambuf& __sb) 7770: { 7770: std::swap(_M_in_beg, __sb._M_in_beg); 7770: std::swap(_M_in_cur, __sb._M_in_cur); 7770: std::swap(_M_in_end, __sb._M_in_end); 7770: std::swap(_M_out_beg, __sb._M_out_beg); 7770: std::swap(_M_out_cur, __sb._M_out_cur); 7770: std::swap(_M_out_end, __sb._M_out_end); 7770: std::swap(_M_buf_locale, __sb._M_buf_locale); 7770: } 7770: 7770: }; 7770: 7770: 7770: template 7770: std::basic_streambuf<_CharT, _Traits>:: 7770: basic_streambuf(const basic_streambuf&) = default; 7770: 7770: template 7770: std::basic_streambuf<_CharT, _Traits>& 7770: std::basic_streambuf<_CharT, _Traits>:: 7770: operator=(const basic_streambuf&) = default; 7770: 7770: 7770: 7770: template<> 7770: streamsize 7770: __copy_streambufs_eof(basic_streambuf* __sbin, 7770: basic_streambuf* __sbout, bool& __ineof); 7770: 7770: template<> 7770: streamsize 7770: __copy_streambufs_eof(basic_streambuf* __sbin, 7770: basic_streambuf* __sbout, bool& __ineof); 7770: 7770: 7770: 7770: 7770: 7770: } 7770: 7770: # 1 "/usr/include/c++/8/bits/streambuf.tcc" 1 3 7770: # 37 "/usr/include/c++/8/bits/streambuf.tcc" 3 7770: 7770: # 38 "/usr/include/c++/8/bits/streambuf.tcc" 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: template 7770: streamsize 7770: basic_streambuf<_CharT, _Traits>:: 7770: xsgetn(char_type* __s, streamsize __n) 7770: { 7770: streamsize __ret = 0; 7770: while (__ret < __n) 7770: { 7770: const streamsize __buf_len = this->egptr() - this->gptr(); 7770: if (__buf_len) 7770: { 7770: const streamsize __remaining = __n - __ret; 7770: const streamsize __len = std::min(__buf_len, __remaining); 7770: traits_type::copy(__s, this->gptr(), __len); 7770: __ret += __len; 7770: __s += __len; 7770: this->__safe_gbump(__len); 7770: } 7770: 7770: if (__ret < __n) 7770: { 7770: const int_type __c = this->uflow(); 7770: if (!traits_type::eq_int_type(__c, traits_type::eof())) 7770: { 7770: traits_type::assign(*__s++, traits_type::to_char_type(__c)); 7770: ++__ret; 7770: } 7770: else 7770: break; 7770: } 7770: } 7770: return __ret; 7770: } 7770: 7770: template 7770: streamsize 7770: basic_streambuf<_CharT, _Traits>:: 7770: xsputn(const char_type* __s, streamsize __n) 7770: { 7770: streamsize __ret = 0; 7770: while (__ret < __n) 7770: { 7770: const streamsize __buf_len = this->epptr() - this->pptr(); 7770: if (__buf_len) 7770: { 7770: const streamsize __remaining = __n - __ret; 7770: const streamsize __len = std::min(__buf_len, __remaining); 7770: traits_type::copy(this->pptr(), __s, __len); 7770: __ret += __len; 7770: __s += __len; 7770: this->__safe_pbump(__len); 7770: } 7770: 7770: if (__ret < __n) 7770: { 7770: int_type __c = this->overflow(traits_type::to_int_type(*__s)); 7770: if (!traits_type::eq_int_type(__c, traits_type::eof())) 7770: { 7770: ++__ret; 7770: ++__s; 7770: } 7770: else 7770: break; 7770: } 7770: } 7770: return __ret; 7770: } 7770: 7770: 7770: 7770: 7770: template 7770: streamsize 7770: __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin, 7770: basic_streambuf<_CharT, _Traits>* __sbout, 7770: bool& __ineof) 7770: { 7770: streamsize __ret = 0; 7770: __ineof = true; 7770: typename _Traits::int_type __c = __sbin->sgetc(); 7770: while (!_Traits::eq_int_type(__c, _Traits::eof())) 7770: { 7770: __c = __sbout->sputc(_Traits::to_char_type(__c)); 7770: if (_Traits::eq_int_type(__c, _Traits::eof())) 7770: { 7770: __ineof = false; 7770: break; 7770: } 7770: ++__ret; 7770: __c = __sbin->snextc(); 7770: } 7770: return __ret; 7770: } 7770: 7770: template 7770: inline streamsize 7770: __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin, 7770: basic_streambuf<_CharT, _Traits>* __sbout) 7770: { 7770: bool __ineof; 7770: return __copy_streambufs_eof(__sbin, __sbout, __ineof); 7770: } 7770: 7770: 7770: 7770: 7770: extern template class basic_streambuf; 7770: extern template 7770: streamsize 7770: __copy_streambufs(basic_streambuf*, 7770: basic_streambuf*); 7770: extern template 7770: streamsize 7770: __copy_streambufs_eof(basic_streambuf*, 7770: basic_streambuf*, bool&); 7770: 7770: 7770: extern template class basic_streambuf; 7770: extern template 7770: streamsize 7770: __copy_streambufs(basic_streambuf*, 7770: basic_streambuf*); 7770: extern template 7770: streamsize 7770: __copy_streambufs_eof(basic_streambuf*, 7770: basic_streambuf*, bool&); 7770: 7770: 7770: 7770: 7770: } 7770: # 863 "/usr/include/c++/8/streambuf" 2 3 7770: # 44 "/usr/include/c++/8/ios" 2 3 7770: # 1 "/usr/include/c++/8/bits/basic_ios.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/basic_ios.h" 3 7770: 7770: # 34 "/usr/include/c++/8/bits/basic_ios.h" 3 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/locale_facets.h" 1 3 7770: # 37 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: 7770: # 38 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: 7770: # 1 "/usr/include/c++/8/cwctype" 1 3 7770: # 39 "/usr/include/c++/8/cwctype" 3 7770: 7770: # 40 "/usr/include/c++/8/cwctype" 3 7770: # 50 "/usr/include/c++/8/cwctype" 3 7770: # 1 "/usr/include/wctype.h" 1 3 4 7770: # 38 "/usr/include/wctype.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/wctype-wchar.h" 1 3 4 7770: # 38 "/usr/include/aarch64-linux-gnu/bits/wctype-wchar.h" 3 4 7770: typedef unsigned long int wctype_t; 7770: # 56 "/usr/include/aarch64-linux-gnu/bits/wctype-wchar.h" 3 4 7770: enum 7770: { 7770: __ISwupper = 0, 7770: __ISwlower = 1, 7770: __ISwalpha = 2, 7770: __ISwdigit = 3, 7770: __ISwxdigit = 4, 7770: __ISwspace = 5, 7770: __ISwprint = 6, 7770: __ISwgraph = 7, 7770: __ISwblank = 8, 7770: __ISwcntrl = 9, 7770: __ISwpunct = 10, 7770: __ISwalnum = 11, 7770: 7770: _ISwupper = ((__ISwupper) < 8 ? (int) ((1UL << (__ISwupper)) << 24) : ((__ISwupper) < 16 ? (int) ((1UL << (__ISwupper)) << 8) : ((__ISwupper) < 24 ? (int) ((1UL << (__ISwupper)) >> 8) : (int) ((1UL << (__ISwupper)) >> 24)))), 7770: _ISwlower = ((__ISwlower) < 8 ? (int) ((1UL << (__ISwlower)) << 24) : ((__ISwlower) < 16 ? (int) ((1UL << (__ISwlower)) << 8) : ((__ISwlower) < 24 ? (int) ((1UL << (__ISwlower)) >> 8) : (int) ((1UL << (__ISwlower)) >> 24)))), 7770: _ISwalpha = ((__ISwalpha) < 8 ? (int) ((1UL << (__ISwalpha)) << 24) : ((__ISwalpha) < 16 ? (int) ((1UL << (__ISwalpha)) << 8) : ((__ISwalpha) < 24 ? (int) ((1UL << (__ISwalpha)) >> 8) : (int) ((1UL << (__ISwalpha)) >> 24)))), 7770: _ISwdigit = ((__ISwdigit) < 8 ? (int) ((1UL << (__ISwdigit)) << 24) : ((__ISwdigit) < 16 ? (int) ((1UL << (__ISwdigit)) << 8) : ((__ISwdigit) < 24 ? (int) ((1UL << (__ISwdigit)) >> 8) : (int) ((1UL << (__ISwdigit)) >> 24)))), 7770: _ISwxdigit = ((__ISwxdigit) < 8 ? (int) ((1UL << (__ISwxdigit)) << 24) : ((__ISwxdigit) < 16 ? (int) ((1UL << (__ISwxdigit)) << 8) : ((__ISwxdigit) < 24 ? (int) ((1UL << (__ISwxdigit)) >> 8) : (int) ((1UL << (__ISwxdigit)) >> 24)))), 7770: _ISwspace = ((__ISwspace) < 8 ? (int) ((1UL << (__ISwspace)) << 24) : ((__ISwspace) < 16 ? (int) ((1UL << (__ISwspace)) << 8) : ((__ISwspace) < 24 ? (int) ((1UL << (__ISwspace)) >> 8) : (int) ((1UL << (__ISwspace)) >> 24)))), 7770: _ISwprint = ((__ISwprint) < 8 ? (int) ((1UL << (__ISwprint)) << 24) : ((__ISwprint) < 16 ? (int) ((1UL << (__ISwprint)) << 8) : ((__ISwprint) < 24 ? (int) ((1UL << (__ISwprint)) >> 8) : (int) ((1UL << (__ISwprint)) >> 24)))), 7770: _ISwgraph = ((__ISwgraph) < 8 ? (int) ((1UL << (__ISwgraph)) << 24) : ((__ISwgraph) < 16 ? (int) ((1UL << (__ISwgraph)) << 8) : ((__ISwgraph) < 24 ? (int) ((1UL << (__ISwgraph)) >> 8) : (int) ((1UL << (__ISwgraph)) >> 24)))), 7770: _ISwblank = ((__ISwblank) < 8 ? (int) ((1UL << (__ISwblank)) << 24) : ((__ISwblank) < 16 ? (int) ((1UL << (__ISwblank)) << 8) : ((__ISwblank) < 24 ? (int) ((1UL << (__ISwblank)) >> 8) : (int) ((1UL << (__ISwblank)) >> 24)))), 7770: _ISwcntrl = ((__ISwcntrl) < 8 ? (int) ((1UL << (__ISwcntrl)) << 24) : ((__ISwcntrl) < 16 ? (int) ((1UL << (__ISwcntrl)) << 8) : ((__ISwcntrl) < 24 ? (int) ((1UL << (__ISwcntrl)) >> 8) : (int) ((1UL << (__ISwcntrl)) >> 24)))), 7770: _ISwpunct = ((__ISwpunct) < 8 ? (int) ((1UL << (__ISwpunct)) << 24) : ((__ISwpunct) < 16 ? (int) ((1UL << (__ISwpunct)) << 8) : ((__ISwpunct) < 24 ? (int) ((1UL << (__ISwpunct)) >> 8) : (int) ((1UL << (__ISwpunct)) >> 24)))), 7770: _ISwalnum = ((__ISwalnum) < 8 ? (int) ((1UL << (__ISwalnum)) << 24) : ((__ISwalnum) < 16 ? (int) ((1UL << (__ISwalnum)) << 8) : ((__ISwalnum) < 24 ? (int) ((1UL << (__ISwalnum)) >> 8) : (int) ((1UL << (__ISwalnum)) >> 24)))) 7770: }; 7770: 7770: 7770: 7770: extern "C" { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int iswalnum (wint_t __wc) throw (); 7770: 7770: 7770: 7770: 7770: 7770: extern int iswalpha (wint_t __wc) throw (); 7770: 7770: 7770: extern int iswcntrl (wint_t __wc) throw (); 7770: 7770: 7770: 7770: extern int iswdigit (wint_t __wc) throw (); 7770: 7770: 7770: 7770: extern int iswgraph (wint_t __wc) throw (); 7770: 7770: 7770: 7770: 7770: extern int iswlower (wint_t __wc) throw (); 7770: 7770: 7770: extern int iswprint (wint_t __wc) throw (); 7770: 7770: 7770: 7770: 7770: extern int iswpunct (wint_t __wc) throw (); 7770: 7770: 7770: 7770: 7770: extern int iswspace (wint_t __wc) throw (); 7770: 7770: 7770: 7770: 7770: extern int iswupper (wint_t __wc) throw (); 7770: 7770: 7770: 7770: 7770: extern int iswxdigit (wint_t __wc) throw (); 7770: 7770: 7770: 7770: 7770: 7770: extern int iswblank (wint_t __wc) throw (); 7770: # 155 "/usr/include/aarch64-linux-gnu/bits/wctype-wchar.h" 3 4 7770: extern wctype_t wctype (const char *__property) throw (); 7770: 7770: 7770: 7770: extern int iswctype (wint_t __wc, wctype_t __desc) throw (); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern wint_t towlower (wint_t __wc) throw (); 7770: 7770: 7770: extern wint_t towupper (wint_t __wc) throw (); 7770: 7770: } 7770: # 39 "/usr/include/wctype.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: extern "C" { 7770: 7770: 7770: 7770: typedef const __int32_t *wctrans_t; 7770: 7770: 7770: 7770: extern wctrans_t wctrans (const char *__property) throw (); 7770: 7770: 7770: extern wint_t towctrans (wint_t __wc, wctrans_t __desc) throw (); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern int iswalnum_l (wint_t __wc, locale_t __locale) throw (); 7770: 7770: 7770: 7770: 7770: 7770: extern int iswalpha_l (wint_t __wc, locale_t __locale) throw (); 7770: 7770: 7770: extern int iswcntrl_l (wint_t __wc, locale_t __locale) throw (); 7770: 7770: 7770: 7770: extern int iswdigit_l (wint_t __wc, locale_t __locale) throw (); 7770: 7770: 7770: 7770: extern int iswgraph_l (wint_t __wc, locale_t __locale) throw (); 7770: 7770: 7770: 7770: 7770: extern int iswlower_l (wint_t __wc, locale_t __locale) throw (); 7770: 7770: 7770: extern int iswprint_l (wint_t __wc, locale_t __locale) throw (); 7770: 7770: 7770: 7770: 7770: extern int iswpunct_l (wint_t __wc, locale_t __locale) throw (); 7770: 7770: 7770: 7770: 7770: extern int iswspace_l (wint_t __wc, locale_t __locale) throw (); 7770: 7770: 7770: 7770: 7770: extern int iswupper_l (wint_t __wc, locale_t __locale) throw (); 7770: 7770: 7770: 7770: 7770: extern int iswxdigit_l (wint_t __wc, locale_t __locale) throw (); 7770: 7770: 7770: 7770: 7770: extern int iswblank_l (wint_t __wc, locale_t __locale) throw (); 7770: 7770: 7770: 7770: extern wctype_t wctype_l (const char *__property, locale_t __locale) 7770: throw (); 7770: 7770: 7770: 7770: extern int iswctype_l (wint_t __wc, wctype_t __desc, locale_t __locale) 7770: throw (); 7770: 7770: 7770: 7770: 7770: 7770: 7770: extern wint_t towlower_l (wint_t __wc, locale_t __locale) throw (); 7770: 7770: 7770: extern wint_t towupper_l (wint_t __wc, locale_t __locale) throw (); 7770: 7770: 7770: 7770: extern wctrans_t wctrans_l (const char *__property, locale_t __locale) 7770: throw (); 7770: 7770: 7770: extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc, 7770: locale_t __locale) throw (); 7770: 7770: 7770: 7770: } 7770: # 51 "/usr/include/c++/8/cwctype" 2 3 7770: # 80 "/usr/include/c++/8/cwctype" 3 7770: namespace std 7770: { 7770: using ::wctrans_t; 7770: using ::wctype_t; 7770: using ::wint_t; 7770: 7770: using ::iswalnum; 7770: using ::iswalpha; 7770: 7770: using ::iswblank; 7770: 7770: using ::iswcntrl; 7770: using ::iswctype; 7770: using ::iswdigit; 7770: using ::iswgraph; 7770: using ::iswlower; 7770: using ::iswprint; 7770: using ::iswpunct; 7770: using ::iswspace; 7770: using ::iswupper; 7770: using ::iswxdigit; 7770: using ::towctrans; 7770: using ::towlower; 7770: using ::towupper; 7770: using ::wctrans; 7770: using ::wctype; 7770: } 7770: # 40 "/usr/include/c++/8/bits/locale_facets.h" 2 3 7770: # 1 "/usr/include/c++/8/cctype" 1 3 7770: # 39 "/usr/include/c++/8/cctype" 3 7770: 7770: # 40 "/usr/include/c++/8/cctype" 3 7770: # 41 "/usr/include/c++/8/bits/locale_facets.h" 2 3 7770: # 1 "/usr/include/aarch64-linux-gnu/c++/8/bits/ctype_base.h" 1 3 7770: # 36 "/usr/include/aarch64-linux-gnu/c++/8/bits/ctype_base.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: struct ctype_base 7770: { 7770: 7770: typedef const int* __to_type; 7770: 7770: 7770: 7770: typedef unsigned short mask; 7770: static const mask upper = _ISupper; 7770: static const mask lower = _ISlower; 7770: static const mask alpha = _ISalpha; 7770: static const mask digit = _ISdigit; 7770: static const mask xdigit = _ISxdigit; 7770: static const mask space = _ISspace; 7770: static const mask print = _ISprint; 7770: static const mask graph = _ISalpha | _ISdigit | _ISpunct; 7770: static const mask cntrl = _IScntrl; 7770: static const mask punct = _ISpunct; 7770: static const mask alnum = _ISalpha | _ISdigit; 7770: 7770: static const mask blank = _ISblank; 7770: 7770: }; 7770: 7770: 7770: } 7770: # 42 "/usr/include/c++/8/bits/locale_facets.h" 2 3 7770: 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/streambuf_iterator.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/streambuf_iterator.h" 3 7770: 7770: # 34 "/usr/include/c++/8/bits/streambuf_iterator.h" 3 7770: 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 49 "/usr/include/c++/8/bits/streambuf_iterator.h" 3 7770: template 7770: class istreambuf_iterator 7770: : public iterator 7770: 7770: 7770: 7770: { 7770: public: 7770: 7770: 7770: 7770: typedef _CharT char_type; 7770: typedef _Traits traits_type; 7770: typedef typename _Traits::int_type int_type; 7770: typedef basic_streambuf<_CharT, _Traits> streambuf_type; 7770: typedef basic_istream<_CharT, _Traits> istream_type; 7770: 7770: 7770: template 7770: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 7770: ostreambuf_iterator<_CharT2> >::__type 7770: copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, 7770: ostreambuf_iterator<_CharT2>); 7770: 7770: template 7770: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 7770: _CharT2*>::__type 7770: __copy_move_a2(istreambuf_iterator<_CharT2>, 7770: istreambuf_iterator<_CharT2>, _CharT2*); 7770: 7770: template 7770: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 7770: istreambuf_iterator<_CharT2> >::__type 7770: find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, 7770: const _CharT2&); 7770: 7770: template 7770: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 7770: void>::__type 7770: advance(istreambuf_iterator<_CharT2>&, _Distance); 7770: 7770: private: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: mutable streambuf_type* _M_sbuf; 7770: int_type _M_c; 7770: 7770: public: 7770: 7770: constexpr istreambuf_iterator() noexcept 7770: : _M_sbuf(0), _M_c(traits_type::eof()) { } 7770: 7770: 7770: istreambuf_iterator(const istreambuf_iterator&) noexcept = default; 7770: 7770: ~istreambuf_iterator() = default; 7770: 7770: 7770: 7770: istreambuf_iterator(istream_type& __s) noexcept 7770: : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { } 7770: 7770: 7770: istreambuf_iterator(streambuf_type* __s) noexcept 7770: : _M_sbuf(__s), _M_c(traits_type::eof()) { } 7770: 7770: 7770: 7770: 7770: char_type 7770: operator*() const 7770: { 7770: int_type __c = _M_get(); 7770: # 139 "/usr/include/c++/8/bits/streambuf_iterator.h" 3 7770: return traits_type::to_char_type(__c); 7770: } 7770: 7770: 7770: istreambuf_iterator& 7770: operator++() 7770: { 7770: 7770: 7770: 7770: ; 7770: 7770: _M_sbuf->sbumpc(); 7770: _M_c = traits_type::eof(); 7770: return *this; 7770: } 7770: 7770: 7770: istreambuf_iterator 7770: operator++(int) 7770: { 7770: 7770: 7770: 7770: ; 7770: 7770: istreambuf_iterator __old = *this; 7770: __old._M_c = _M_sbuf->sbumpc(); 7770: _M_c = traits_type::eof(); 7770: return __old; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: bool 7770: equal(const istreambuf_iterator& __b) const 7770: { return _M_at_eof() == __b._M_at_eof(); } 7770: 7770: private: 7770: int_type 7770: _M_get() const 7770: { 7770: int_type __ret = _M_c; 7770: if (_M_sbuf && _S_is_eof(__ret) && _S_is_eof(__ret = _M_sbuf->sgetc())) 7770: _M_sbuf = 0; 7770: return __ret; 7770: } 7770: 7770: bool 7770: _M_at_eof() const 7770: { return _S_is_eof(_M_get()); } 7770: 7770: static bool 7770: _S_is_eof(int_type __c) 7770: { 7770: const int_type __eof = traits_type::eof(); 7770: return traits_type::eq_int_type(__c, __eof); 7770: } 7770: }; 7770: 7770: template 7770: inline bool 7770: operator==(const istreambuf_iterator<_CharT, _Traits>& __a, 7770: const istreambuf_iterator<_CharT, _Traits>& __b) 7770: { return __a.equal(__b); } 7770: 7770: template 7770: inline bool 7770: operator!=(const istreambuf_iterator<_CharT, _Traits>& __a, 7770: const istreambuf_iterator<_CharT, _Traits>& __b) 7770: { return !__a.equal(__b); } 7770: 7770: 7770: template 7770: class ostreambuf_iterator 7770: : public iterator 7770: { 7770: public: 7770: 7770: 7770: 7770: typedef _CharT char_type; 7770: typedef _Traits traits_type; 7770: typedef basic_streambuf<_CharT, _Traits> streambuf_type; 7770: typedef basic_ostream<_CharT, _Traits> ostream_type; 7770: 7770: 7770: template 7770: friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, 7770: ostreambuf_iterator<_CharT2> >::__type 7770: copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, 7770: ostreambuf_iterator<_CharT2>); 7770: 7770: private: 7770: streambuf_type* _M_sbuf; 7770: bool _M_failed; 7770: 7770: public: 7770: 7770: ostreambuf_iterator(ostream_type& __s) noexcept 7770: : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { } 7770: 7770: 7770: ostreambuf_iterator(streambuf_type* __s) noexcept 7770: : _M_sbuf(__s), _M_failed(!_M_sbuf) { } 7770: 7770: 7770: ostreambuf_iterator& 7770: operator=(_CharT __c) 7770: { 7770: if (!_M_failed && 7770: _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof())) 7770: _M_failed = true; 7770: return *this; 7770: } 7770: 7770: 7770: ostreambuf_iterator& 7770: operator*() 7770: { return *this; } 7770: 7770: 7770: ostreambuf_iterator& 7770: operator++(int) 7770: { return *this; } 7770: 7770: 7770: ostreambuf_iterator& 7770: operator++() 7770: { return *this; } 7770: 7770: 7770: bool 7770: failed() const noexcept 7770: { return _M_failed; } 7770: 7770: ostreambuf_iterator& 7770: _M_put(const _CharT* __ws, streamsize __len) 7770: { 7770: if (__builtin_expect(!_M_failed, true) 7770: && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len, 7770: false)) 7770: _M_failed = true; 7770: return *this; 7770: } 7770: }; 7770: 7770: 7770: template 7770: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 7770: ostreambuf_iterator<_CharT> >::__type 7770: copy(istreambuf_iterator<_CharT> __first, 7770: istreambuf_iterator<_CharT> __last, 7770: ostreambuf_iterator<_CharT> __result) 7770: { 7770: if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed) 7770: { 7770: bool __ineof; 7770: __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof); 7770: if (!__ineof) 7770: __result._M_failed = true; 7770: } 7770: return __result; 7770: } 7770: 7770: template 7770: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 7770: ostreambuf_iterator<_CharT> >::__type 7770: __copy_move_a2(_CharT* __first, _CharT* __last, 7770: ostreambuf_iterator<_CharT> __result) 7770: { 7770: const streamsize __num = __last - __first; 7770: if (__num > 0) 7770: __result._M_put(__first, __num); 7770: return __result; 7770: } 7770: 7770: template 7770: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 7770: ostreambuf_iterator<_CharT> >::__type 7770: __copy_move_a2(const _CharT* __first, const _CharT* __last, 7770: ostreambuf_iterator<_CharT> __result) 7770: { 7770: const streamsize __num = __last - __first; 7770: if (__num > 0) 7770: __result._M_put(__first, __num); 7770: return __result; 7770: } 7770: 7770: template 7770: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 7770: _CharT*>::__type 7770: __copy_move_a2(istreambuf_iterator<_CharT> __first, 7770: istreambuf_iterator<_CharT> __last, _CharT* __result) 7770: { 7770: typedef istreambuf_iterator<_CharT> __is_iterator_type; 7770: typedef typename __is_iterator_type::traits_type traits_type; 7770: typedef typename __is_iterator_type::streambuf_type streambuf_type; 7770: typedef typename traits_type::int_type int_type; 7770: 7770: if (__first._M_sbuf && !__last._M_sbuf) 7770: { 7770: streambuf_type* __sb = __first._M_sbuf; 7770: int_type __c = __sb->sgetc(); 7770: while (!traits_type::eq_int_type(__c, traits_type::eof())) 7770: { 7770: const streamsize __n = __sb->egptr() - __sb->gptr(); 7770: if (__n > 1) 7770: { 7770: traits_type::copy(__result, __sb->gptr(), __n); 7770: __sb->__safe_gbump(__n); 7770: __result += __n; 7770: __c = __sb->underflow(); 7770: } 7770: else 7770: { 7770: *__result++ = traits_type::to_char_type(__c); 7770: __c = __sb->snextc(); 7770: } 7770: } 7770: } 7770: return __result; 7770: } 7770: 7770: template 7770: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 7770: istreambuf_iterator<_CharT> >::__type 7770: find(istreambuf_iterator<_CharT> __first, 7770: istreambuf_iterator<_CharT> __last, const _CharT& __val) 7770: { 7770: typedef istreambuf_iterator<_CharT> __is_iterator_type; 7770: typedef typename __is_iterator_type::traits_type traits_type; 7770: typedef typename __is_iterator_type::streambuf_type streambuf_type; 7770: typedef typename traits_type::int_type int_type; 7770: const int_type __eof = traits_type::eof(); 7770: 7770: if (__first._M_sbuf && !__last._M_sbuf) 7770: { 7770: const int_type __ival = traits_type::to_int_type(__val); 7770: streambuf_type* __sb = __first._M_sbuf; 7770: int_type __c = __sb->sgetc(); 7770: while (!traits_type::eq_int_type(__c, __eof) 7770: && !traits_type::eq_int_type(__c, __ival)) 7770: { 7770: streamsize __n = __sb->egptr() - __sb->gptr(); 7770: if (__n > 1) 7770: { 7770: const _CharT* __p = traits_type::find(__sb->gptr(), 7770: __n, __val); 7770: if (__p) 7770: __n = __p - __sb->gptr(); 7770: __sb->__safe_gbump(__n); 7770: __c = __sb->sgetc(); 7770: } 7770: else 7770: __c = __sb->snextc(); 7770: } 7770: 7770: __first._M_c = __eof; 7770: } 7770: 7770: return __first; 7770: } 7770: 7770: template 7770: typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, 7770: void>::__type 7770: advance(istreambuf_iterator<_CharT>& __i, _Distance __n) 7770: { 7770: if (__n == 0) 7770: return; 7770: 7770: ; 7770: 7770: 7770: ; 7770: 7770: typedef istreambuf_iterator<_CharT> __is_iterator_type; 7770: typedef typename __is_iterator_type::traits_type traits_type; 7770: typedef typename __is_iterator_type::streambuf_type streambuf_type; 7770: typedef typename traits_type::int_type int_type; 7770: const int_type __eof = traits_type::eof(); 7770: 7770: streambuf_type* __sb = __i._M_sbuf; 7770: while (__n > 0) 7770: { 7770: streamsize __size = __sb->egptr() - __sb->gptr(); 7770: if (__size > __n) 7770: { 7770: __sb->__safe_gbump(__n); 7770: break; 7770: } 7770: 7770: __sb->__safe_gbump(__size); 7770: __n -= __size; 7770: if (traits_type::eq_int_type(__sb->underflow(), __eof)) 7770: { 7770: 7770: 7770: ; 7770: break; 7770: } 7770: } 7770: 7770: __i._M_c = __eof; 7770: } 7770: 7770: 7770: 7770: 7770: } 7770: # 49 "/usr/include/c++/8/bits/locale_facets.h" 2 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 71 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: template 7770: void 7770: __convert_to_v(const char*, _Tp&, ios_base::iostate&, 7770: const __c_locale&) throw(); 7770: 7770: 7770: template<> 7770: void 7770: __convert_to_v(const char*, float&, ios_base::iostate&, 7770: const __c_locale&) throw(); 7770: 7770: template<> 7770: void 7770: __convert_to_v(const char*, double&, ios_base::iostate&, 7770: const __c_locale&) throw(); 7770: 7770: template<> 7770: void 7770: __convert_to_v(const char*, long double&, ios_base::iostate&, 7770: const __c_locale&) throw(); 7770: 7770: 7770: 7770: template 7770: struct __pad 7770: { 7770: static void 7770: _S_pad(ios_base& __io, _CharT __fill, _CharT* __news, 7770: const _CharT* __olds, streamsize __newlen, streamsize __oldlen); 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: _CharT* 7770: __add_grouping(_CharT* __s, _CharT __sep, 7770: const char* __gbeg, size_t __gsize, 7770: const _CharT* __first, const _CharT* __last); 7770: 7770: 7770: 7770: 7770: template 7770: inline 7770: ostreambuf_iterator<_CharT> 7770: __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len) 7770: { 7770: __s._M_put(__ws, __len); 7770: return __s; 7770: } 7770: 7770: 7770: template 7770: inline 7770: _OutIter 7770: __write(_OutIter __s, const _CharT* __ws, int __len) 7770: { 7770: for (int __j = 0; __j < __len; __j++, ++__s) 7770: *__s = __ws[__j]; 7770: return __s; 7770: } 7770: # 149 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: template 7770: class __ctype_abstract_base : public locale::facet, public ctype_base 7770: { 7770: public: 7770: 7770: 7770: typedef _CharT char_type; 7770: # 168 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: bool 7770: is(mask __m, char_type __c) const 7770: { return this->do_is(__m, __c); } 7770: # 185 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: const char_type* 7770: is(const char_type *__lo, const char_type *__hi, mask *__vec) const 7770: { return this->do_is(__lo, __hi, __vec); } 7770: # 201 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: const char_type* 7770: scan_is(mask __m, const char_type* __lo, const char_type* __hi) const 7770: { return this->do_scan_is(__m, __lo, __hi); } 7770: # 217 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: const char_type* 7770: scan_not(mask __m, const char_type* __lo, const char_type* __hi) const 7770: { return this->do_scan_not(__m, __lo, __hi); } 7770: # 231 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: char_type 7770: toupper(char_type __c) const 7770: { return this->do_toupper(__c); } 7770: # 246 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: const char_type* 7770: toupper(char_type *__lo, const char_type* __hi) const 7770: { return this->do_toupper(__lo, __hi); } 7770: # 260 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: char_type 7770: tolower(char_type __c) const 7770: { return this->do_tolower(__c); } 7770: # 275 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: const char_type* 7770: tolower(char_type* __lo, const char_type* __hi) const 7770: { return this->do_tolower(__lo, __hi); } 7770: # 292 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: char_type 7770: widen(char __c) const 7770: { return this->do_widen(__c); } 7770: # 311 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: const char* 7770: widen(const char* __lo, const char* __hi, char_type* __to) const 7770: { return this->do_widen(__lo, __hi, __to); } 7770: # 330 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: char 7770: narrow(char_type __c, char __dfault) const 7770: { return this->do_narrow(__c, __dfault); } 7770: # 352 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: const char_type* 7770: narrow(const char_type* __lo, const char_type* __hi, 7770: char __dfault, char* __to) const 7770: { return this->do_narrow(__lo, __hi, __dfault, __to); } 7770: 7770: protected: 7770: explicit 7770: __ctype_abstract_base(size_t __refs = 0): facet(__refs) { } 7770: 7770: virtual 7770: ~__ctype_abstract_base() { } 7770: # 377 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual bool 7770: do_is(mask __m, char_type __c) const = 0; 7770: # 396 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual const char_type* 7770: do_is(const char_type* __lo, const char_type* __hi, 7770: mask* __vec) const = 0; 7770: # 415 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual const char_type* 7770: do_scan_is(mask __m, const char_type* __lo, 7770: const char_type* __hi) const = 0; 7770: # 434 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual const char_type* 7770: do_scan_not(mask __m, const char_type* __lo, 7770: const char_type* __hi) const = 0; 7770: # 452 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual char_type 7770: do_toupper(char_type __c) const = 0; 7770: # 469 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual const char_type* 7770: do_toupper(char_type* __lo, const char_type* __hi) const = 0; 7770: # 485 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual char_type 7770: do_tolower(char_type __c) const = 0; 7770: # 502 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual const char_type* 7770: do_tolower(char_type* __lo, const char_type* __hi) const = 0; 7770: # 521 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual char_type 7770: do_widen(char __c) const = 0; 7770: # 542 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual const char* 7770: do_widen(const char* __lo, const char* __hi, char_type* __to) const = 0; 7770: # 563 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual char 7770: do_narrow(char_type __c, char __dfault) const = 0; 7770: # 588 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual const char_type* 7770: do_narrow(const char_type* __lo, const char_type* __hi, 7770: char __dfault, char* __to) const = 0; 7770: }; 7770: # 611 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: template 7770: class ctype : public __ctype_abstract_base<_CharT> 7770: { 7770: public: 7770: 7770: typedef _CharT char_type; 7770: typedef typename __ctype_abstract_base<_CharT>::mask mask; 7770: 7770: 7770: static locale::id id; 7770: 7770: explicit 7770: ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { } 7770: 7770: protected: 7770: virtual 7770: ~ctype(); 7770: 7770: virtual bool 7770: do_is(mask __m, char_type __c) const; 7770: 7770: virtual const char_type* 7770: do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; 7770: 7770: virtual const char_type* 7770: do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; 7770: 7770: virtual const char_type* 7770: do_scan_not(mask __m, const char_type* __lo, 7770: const char_type* __hi) const; 7770: 7770: virtual char_type 7770: do_toupper(char_type __c) const; 7770: 7770: virtual const char_type* 7770: do_toupper(char_type* __lo, const char_type* __hi) const; 7770: 7770: virtual char_type 7770: do_tolower(char_type __c) const; 7770: 7770: virtual const char_type* 7770: do_tolower(char_type* __lo, const char_type* __hi) const; 7770: 7770: virtual char_type 7770: do_widen(char __c) const; 7770: 7770: virtual const char* 7770: do_widen(const char* __lo, const char* __hi, char_type* __dest) const; 7770: 7770: virtual char 7770: do_narrow(char_type, char __dfault) const; 7770: 7770: virtual const char_type* 7770: do_narrow(const char_type* __lo, const char_type* __hi, 7770: char __dfault, char* __to) const; 7770: }; 7770: 7770: template 7770: locale::id ctype<_CharT>::id; 7770: # 680 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: template<> 7770: class ctype : public locale::facet, public ctype_base 7770: { 7770: public: 7770: 7770: 7770: typedef char char_type; 7770: 7770: protected: 7770: 7770: __c_locale _M_c_locale_ctype; 7770: bool _M_del; 7770: __to_type _M_toupper; 7770: __to_type _M_tolower; 7770: const mask* _M_table; 7770: mutable char _M_widen_ok; 7770: mutable char _M_widen[1 + static_cast(-1)]; 7770: mutable char _M_narrow[1 + static_cast(-1)]; 7770: mutable char _M_narrow_ok; 7770: 7770: 7770: public: 7770: 7770: static locale::id id; 7770: 7770: static const size_t table_size = 1 + static_cast(-1); 7770: # 717 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: explicit 7770: ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0); 7770: # 730 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: explicit 7770: ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false, 7770: size_t __refs = 0); 7770: # 743 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: inline bool 7770: is(mask __m, char __c) const; 7770: # 758 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: inline const char* 7770: is(const char* __lo, const char* __hi, mask* __vec) const; 7770: # 772 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: inline const char* 7770: scan_is(mask __m, const char* __lo, const char* __hi) const; 7770: # 786 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: inline const char* 7770: scan_not(mask __m, const char* __lo, const char* __hi) const; 7770: # 801 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: char_type 7770: toupper(char_type __c) const 7770: { return this->do_toupper(__c); } 7770: # 818 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: const char_type* 7770: toupper(char_type *__lo, const char_type* __hi) const 7770: { return this->do_toupper(__lo, __hi); } 7770: # 834 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: char_type 7770: tolower(char_type __c) const 7770: { return this->do_tolower(__c); } 7770: # 851 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: const char_type* 7770: tolower(char_type* __lo, const char_type* __hi) const 7770: { return this->do_tolower(__lo, __hi); } 7770: # 871 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: char_type 7770: widen(char __c) const 7770: { 7770: if (_M_widen_ok) 7770: return _M_widen[static_cast(__c)]; 7770: this->_M_widen_init(); 7770: return this->do_widen(__c); 7770: } 7770: # 898 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: const char* 7770: widen(const char* __lo, const char* __hi, char_type* __to) const 7770: { 7770: if (_M_widen_ok == 1) 7770: { 7770: __builtin_memcpy(__to, __lo, __hi - __lo); 7770: return __hi; 7770: } 7770: if (!_M_widen_ok) 7770: _M_widen_init(); 7770: return this->do_widen(__lo, __hi, __to); 7770: } 7770: # 929 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: char 7770: narrow(char_type __c, char __dfault) const 7770: { 7770: if (_M_narrow[static_cast(__c)]) 7770: return _M_narrow[static_cast(__c)]; 7770: const char __t = do_narrow(__c, __dfault); 7770: if (__t != __dfault) 7770: _M_narrow[static_cast(__c)] = __t; 7770: return __t; 7770: } 7770: # 962 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: const char_type* 7770: narrow(const char_type* __lo, const char_type* __hi, 7770: char __dfault, char* __to) const 7770: { 7770: if (__builtin_expect(_M_narrow_ok == 1, true)) 7770: { 7770: __builtin_memcpy(__to, __lo, __hi - __lo); 7770: return __hi; 7770: } 7770: if (!_M_narrow_ok) 7770: _M_narrow_init(); 7770: return this->do_narrow(__lo, __hi, __dfault, __to); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: const mask* 7770: table() const throw() 7770: { return _M_table; } 7770: 7770: 7770: static const mask* 7770: classic_table() throw(); 7770: protected: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: virtual 7770: ~ctype(); 7770: # 1011 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual char_type 7770: do_toupper(char_type __c) const; 7770: # 1028 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual const char_type* 7770: do_toupper(char_type* __lo, const char_type* __hi) const; 7770: # 1044 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual char_type 7770: do_tolower(char_type __c) const; 7770: # 1061 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual const char_type* 7770: do_tolower(char_type* __lo, const char_type* __hi) const; 7770: # 1081 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual char_type 7770: do_widen(char __c) const 7770: { return __c; } 7770: # 1104 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual const char* 7770: do_widen(const char* __lo, const char* __hi, char_type* __to) const 7770: { 7770: __builtin_memcpy(__to, __lo, __hi - __lo); 7770: return __hi; 7770: } 7770: # 1130 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual char 7770: do_narrow(char_type __c, char __dfault __attribute__((__unused__))) const 7770: { return __c; } 7770: # 1156 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual const char_type* 7770: do_narrow(const char_type* __lo, const char_type* __hi, 7770: char __dfault __attribute__((__unused__)), char* __to) const 7770: { 7770: __builtin_memcpy(__to, __lo, __hi - __lo); 7770: return __hi; 7770: } 7770: 7770: private: 7770: void _M_narrow_init() const; 7770: void _M_widen_init() const; 7770: }; 7770: # 1181 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: template<> 7770: class ctype : public __ctype_abstract_base 7770: { 7770: public: 7770: 7770: 7770: typedef wchar_t char_type; 7770: typedef wctype_t __wmask_type; 7770: 7770: protected: 7770: __c_locale _M_c_locale_ctype; 7770: 7770: 7770: bool _M_narrow_ok; 7770: char _M_narrow[128]; 7770: wint_t _M_widen[1 + static_cast(-1)]; 7770: 7770: 7770: mask _M_bit[16]; 7770: __wmask_type _M_wmask[16]; 7770: 7770: public: 7770: 7770: 7770: static locale::id id; 7770: # 1214 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: explicit 7770: ctype(size_t __refs = 0); 7770: # 1225 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: explicit 7770: ctype(__c_locale __cloc, size_t __refs = 0); 7770: 7770: protected: 7770: __wmask_type 7770: _M_convert_to_wmask(const mask __m) const throw(); 7770: 7770: 7770: virtual 7770: ~ctype(); 7770: # 1249 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual bool 7770: do_is(mask __m, char_type __c) const; 7770: # 1268 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual const char_type* 7770: do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; 7770: # 1286 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual const char_type* 7770: do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; 7770: # 1304 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual const char_type* 7770: do_scan_not(mask __m, const char_type* __lo, 7770: const char_type* __hi) const; 7770: # 1321 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual char_type 7770: do_toupper(char_type __c) const; 7770: # 1338 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual const char_type* 7770: do_toupper(char_type* __lo, const char_type* __hi) const; 7770: # 1354 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual char_type 7770: do_tolower(char_type __c) const; 7770: # 1371 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual const char_type* 7770: do_tolower(char_type* __lo, const char_type* __hi) const; 7770: # 1391 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual char_type 7770: do_widen(char __c) const; 7770: # 1413 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual const char* 7770: do_widen(const char* __lo, const char* __hi, char_type* __to) const; 7770: # 1436 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual char 7770: do_narrow(char_type __c, char __dfault) const; 7770: # 1462 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual const char_type* 7770: do_narrow(const char_type* __lo, const char_type* __hi, 7770: char __dfault, char* __to) const; 7770: 7770: 7770: void 7770: _M_initialize_ctype() throw(); 7770: }; 7770: 7770: 7770: 7770: template 7770: class ctype_byname : public ctype<_CharT> 7770: { 7770: public: 7770: typedef typename ctype<_CharT>::mask mask; 7770: 7770: explicit 7770: ctype_byname(const char* __s, size_t __refs = 0); 7770: 7770: 7770: explicit 7770: ctype_byname(const string& __s, size_t __refs = 0) 7770: : ctype_byname(__s.c_str(), __refs) { } 7770: 7770: 7770: protected: 7770: virtual 7770: ~ctype_byname() { } 7770: }; 7770: 7770: 7770: template<> 7770: class ctype_byname : public ctype 7770: { 7770: public: 7770: explicit 7770: ctype_byname(const char* __s, size_t __refs = 0); 7770: 7770: 7770: explicit 7770: ctype_byname(const string& __s, size_t __refs = 0); 7770: 7770: 7770: protected: 7770: virtual 7770: ~ctype_byname(); 7770: }; 7770: 7770: 7770: template<> 7770: class ctype_byname : public ctype 7770: { 7770: public: 7770: explicit 7770: ctype_byname(const char* __s, size_t __refs = 0); 7770: 7770: 7770: explicit 7770: ctype_byname(const string& __s, size_t __refs = 0); 7770: 7770: 7770: protected: 7770: virtual 7770: ~ctype_byname(); 7770: }; 7770: 7770: 7770: 7770: } 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/c++/8/bits/ctype_inline.h" 1 3 7770: # 37 "/usr/include/aarch64-linux-gnu/c++/8/bits/ctype_inline.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: bool 7770: ctype:: 7770: is(mask __m, char __c) const 7770: { return _M_table[static_cast(__c)] & __m; } 7770: 7770: const char* 7770: ctype:: 7770: is(const char* __low, const char* __high, mask* __vec) const 7770: { 7770: while (__low < __high) 7770: *__vec++ = _M_table[static_cast(*__low++)]; 7770: return __high; 7770: } 7770: 7770: const char* 7770: ctype:: 7770: scan_is(mask __m, const char* __low, const char* __high) const 7770: { 7770: while (__low < __high 7770: && !(_M_table[static_cast(*__low)] & __m)) 7770: ++__low; 7770: return __low; 7770: } 7770: 7770: const char* 7770: ctype:: 7770: scan_not(mask __m, const char* __low, const char* __high) const 7770: { 7770: while (__low < __high 7770: && (_M_table[static_cast(*__low)] & __m) != 0) 7770: ++__low; 7770: return __low; 7770: } 7770: 7770: 7770: } 7770: # 1535 "/usr/include/c++/8/bits/locale_facets.h" 2 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: class __num_base 7770: { 7770: public: 7770: 7770: 7770: enum 7770: { 7770: _S_ominus, 7770: _S_oplus, 7770: _S_ox, 7770: _S_oX, 7770: _S_odigits, 7770: _S_odigits_end = _S_odigits + 16, 7770: _S_oudigits = _S_odigits_end, 7770: _S_oudigits_end = _S_oudigits + 16, 7770: _S_oe = _S_odigits + 14, 7770: _S_oE = _S_oudigits + 14, 7770: _S_oend = _S_oudigits_end 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: static const char* _S_atoms_out; 7770: 7770: 7770: 7770: static const char* _S_atoms_in; 7770: 7770: enum 7770: { 7770: _S_iminus, 7770: _S_iplus, 7770: _S_ix, 7770: _S_iX, 7770: _S_izero, 7770: _S_ie = _S_izero + 14, 7770: _S_iE = _S_izero + 20, 7770: _S_iend = 26 7770: }; 7770: 7770: 7770: 7770: static void 7770: _S_format_float(const ios_base& __io, char* __fptr, char __mod) throw(); 7770: }; 7770: 7770: template 7770: struct __numpunct_cache : public locale::facet 7770: { 7770: const char* _M_grouping; 7770: size_t _M_grouping_size; 7770: bool _M_use_grouping; 7770: const _CharT* _M_truename; 7770: size_t _M_truename_size; 7770: const _CharT* _M_falsename; 7770: size_t _M_falsename_size; 7770: _CharT _M_decimal_point; 7770: _CharT _M_thousands_sep; 7770: 7770: 7770: 7770: 7770: 7770: _CharT _M_atoms_out[__num_base::_S_oend]; 7770: 7770: 7770: 7770: 7770: 7770: _CharT _M_atoms_in[__num_base::_S_iend]; 7770: 7770: bool _M_allocated; 7770: 7770: __numpunct_cache(size_t __refs = 0) 7770: : facet(__refs), _M_grouping(0), _M_grouping_size(0), 7770: _M_use_grouping(false), 7770: _M_truename(0), _M_truename_size(0), _M_falsename(0), 7770: _M_falsename_size(0), _M_decimal_point(_CharT()), 7770: _M_thousands_sep(_CharT()), _M_allocated(false) 7770: { } 7770: 7770: ~__numpunct_cache(); 7770: 7770: void 7770: _M_cache(const locale& __loc); 7770: 7770: private: 7770: __numpunct_cache& 7770: operator=(const __numpunct_cache&); 7770: 7770: explicit 7770: __numpunct_cache(const __numpunct_cache&); 7770: }; 7770: 7770: template 7770: __numpunct_cache<_CharT>::~__numpunct_cache() 7770: { 7770: if (_M_allocated) 7770: { 7770: delete [] _M_grouping; 7770: delete [] _M_truename; 7770: delete [] _M_falsename; 7770: } 7770: } 7770: 7770: namespace __cxx11 { 7770: # 1665 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: template 7770: class numpunct : public locale::facet 7770: { 7770: public: 7770: 7770: 7770: 7770: typedef _CharT char_type; 7770: typedef basic_string<_CharT> string_type; 7770: 7770: typedef __numpunct_cache<_CharT> __cache_type; 7770: 7770: protected: 7770: __cache_type* _M_data; 7770: 7770: public: 7770: 7770: static locale::id id; 7770: 7770: 7770: 7770: 7770: 7770: 7770: explicit 7770: numpunct(size_t __refs = 0) 7770: : facet(__refs), _M_data(0) 7770: { _M_initialize_numpunct(); } 7770: # 1703 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: explicit 7770: numpunct(__cache_type* __cache, size_t __refs = 0) 7770: : facet(__refs), _M_data(__cache) 7770: { _M_initialize_numpunct(); } 7770: # 1717 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: explicit 7770: numpunct(__c_locale __cloc, size_t __refs = 0) 7770: : facet(__refs), _M_data(0) 7770: { _M_initialize_numpunct(__cloc); } 7770: # 1731 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: char_type 7770: decimal_point() const 7770: { return this->do_decimal_point(); } 7770: # 1744 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: char_type 7770: thousands_sep() const 7770: { return this->do_thousands_sep(); } 7770: # 1775 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: string 7770: grouping() const 7770: { return this->do_grouping(); } 7770: # 1788 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: string_type 7770: truename() const 7770: { return this->do_truename(); } 7770: # 1801 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: string_type 7770: falsename() const 7770: { return this->do_falsename(); } 7770: 7770: protected: 7770: 7770: virtual 7770: ~numpunct(); 7770: # 1818 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual char_type 7770: do_decimal_point() const 7770: { return _M_data->_M_decimal_point; } 7770: # 1830 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual char_type 7770: do_thousands_sep() const 7770: { return _M_data->_M_thousands_sep; } 7770: # 1843 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual string 7770: do_grouping() const 7770: { return _M_data->_M_grouping; } 7770: # 1856 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual string_type 7770: do_truename() const 7770: { return _M_data->_M_truename; } 7770: # 1869 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual string_type 7770: do_falsename() const 7770: { return _M_data->_M_falsename; } 7770: 7770: 7770: void 7770: _M_initialize_numpunct(__c_locale __cloc = 0); 7770: }; 7770: 7770: template 7770: locale::id numpunct<_CharT>::id; 7770: 7770: template<> 7770: numpunct::~numpunct(); 7770: 7770: template<> 7770: void 7770: numpunct::_M_initialize_numpunct(__c_locale __cloc); 7770: 7770: 7770: template<> 7770: numpunct::~numpunct(); 7770: 7770: template<> 7770: void 7770: numpunct::_M_initialize_numpunct(__c_locale __cloc); 7770: 7770: 7770: 7770: template 7770: class numpunct_byname : public numpunct<_CharT> 7770: { 7770: public: 7770: typedef _CharT char_type; 7770: typedef basic_string<_CharT> string_type; 7770: 7770: explicit 7770: numpunct_byname(const char* __s, size_t __refs = 0) 7770: : numpunct<_CharT>(__refs) 7770: { 7770: if (__builtin_strcmp(__s, "C") != 0 7770: && __builtin_strcmp(__s, "POSIX") != 0) 7770: { 7770: __c_locale __tmp; 7770: this->_S_create_c_locale(__tmp, __s); 7770: this->_M_initialize_numpunct(__tmp); 7770: this->_S_destroy_c_locale(__tmp); 7770: } 7770: } 7770: 7770: 7770: explicit 7770: numpunct_byname(const string& __s, size_t __refs = 0) 7770: : numpunct_byname(__s.c_str(), __refs) { } 7770: 7770: 7770: protected: 7770: virtual 7770: ~numpunct_byname() { } 7770: }; 7770: 7770: } 7770: 7770: 7770: # 1947 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: template 7770: class num_get : public locale::facet 7770: { 7770: public: 7770: 7770: 7770: 7770: typedef _CharT char_type; 7770: typedef _InIter iter_type; 7770: 7770: 7770: 7770: static locale::id id; 7770: # 1968 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: explicit 7770: num_get(size_t __refs = 0) : facet(__refs) { } 7770: # 1994 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: iter_type 7770: get(iter_type __in, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, bool& __v) const 7770: { return this->do_get(__in, __end, __io, __err, __v); } 7770: # 2031 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: iter_type 7770: get(iter_type __in, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, long& __v) const 7770: { return this->do_get(__in, __end, __io, __err, __v); } 7770: 7770: iter_type 7770: get(iter_type __in, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, unsigned short& __v) const 7770: { return this->do_get(__in, __end, __io, __err, __v); } 7770: 7770: iter_type 7770: get(iter_type __in, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, unsigned int& __v) const 7770: { return this->do_get(__in, __end, __io, __err, __v); } 7770: 7770: iter_type 7770: get(iter_type __in, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, unsigned long& __v) const 7770: { return this->do_get(__in, __end, __io, __err, __v); } 7770: 7770: 7770: iter_type 7770: get(iter_type __in, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, long long& __v) const 7770: { return this->do_get(__in, __end, __io, __err, __v); } 7770: 7770: iter_type 7770: get(iter_type __in, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, unsigned long long& __v) const 7770: { return this->do_get(__in, __end, __io, __err, __v); } 7770: # 2091 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: iter_type 7770: get(iter_type __in, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, float& __v) const 7770: { return this->do_get(__in, __end, __io, __err, __v); } 7770: 7770: iter_type 7770: get(iter_type __in, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, double& __v) const 7770: { return this->do_get(__in, __end, __io, __err, __v); } 7770: 7770: iter_type 7770: get(iter_type __in, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, long double& __v) const 7770: { return this->do_get(__in, __end, __io, __err, __v); } 7770: # 2134 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: iter_type 7770: get(iter_type __in, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, void*& __v) const 7770: { return this->do_get(__in, __end, __io, __err, __v); } 7770: 7770: protected: 7770: 7770: virtual ~num_get() { } 7770: 7770: __attribute ((__abi_tag__ ("cxx11"))) 7770: iter_type 7770: _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&, 7770: string&) const; 7770: 7770: template 7770: __attribute ((__abi_tag__ ("cxx11"))) 7770: iter_type 7770: _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&, 7770: _ValueT&) const; 7770: 7770: template 7770: typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, int>::__type 7770: _M_find(const _CharT2*, size_t __len, _CharT2 __c) const 7770: { 7770: int __ret = -1; 7770: if (__len <= 10) 7770: { 7770: if (__c >= _CharT2('0') && __c < _CharT2(_CharT2('0') + __len)) 7770: __ret = __c - _CharT2('0'); 7770: } 7770: else 7770: { 7770: if (__c >= _CharT2('0') && __c <= _CharT2('9')) 7770: __ret = __c - _CharT2('0'); 7770: else if (__c >= _CharT2('a') && __c <= _CharT2('f')) 7770: __ret = 10 + (__c - _CharT2('a')); 7770: else if (__c >= _CharT2('A') && __c <= _CharT2('F')) 7770: __ret = 10 + (__c - _CharT2('A')); 7770: } 7770: return __ret; 7770: } 7770: 7770: template 7770: typename __gnu_cxx::__enable_if::__value, 7770: int>::__type 7770: _M_find(const _CharT2* __zero, size_t __len, _CharT2 __c) const 7770: { 7770: int __ret = -1; 7770: const char_type* __q = char_traits<_CharT2>::find(__zero, __len, __c); 7770: if (__q) 7770: { 7770: __ret = __q - __zero; 7770: if (__ret > 15) 7770: __ret -= 6; 7770: } 7770: return __ret; 7770: } 7770: # 2207 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual iter_type 7770: do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const; 7770: 7770: virtual iter_type 7770: do_get(iter_type __beg, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, long& __v) const 7770: { return _M_extract_int(__beg, __end, __io, __err, __v); } 7770: 7770: virtual iter_type 7770: do_get(iter_type __beg, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, unsigned short& __v) const 7770: { return _M_extract_int(__beg, __end, __io, __err, __v); } 7770: 7770: virtual iter_type 7770: do_get(iter_type __beg, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, unsigned int& __v) const 7770: { return _M_extract_int(__beg, __end, __io, __err, __v); } 7770: 7770: virtual iter_type 7770: do_get(iter_type __beg, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, unsigned long& __v) const 7770: { return _M_extract_int(__beg, __end, __io, __err, __v); } 7770: 7770: 7770: virtual iter_type 7770: do_get(iter_type __beg, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, long long& __v) const 7770: { return _M_extract_int(__beg, __end, __io, __err, __v); } 7770: 7770: virtual iter_type 7770: do_get(iter_type __beg, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, unsigned long long& __v) const 7770: { return _M_extract_int(__beg, __end, __io, __err, __v); } 7770: 7770: 7770: virtual iter_type 7770: do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, float&) const; 7770: 7770: virtual iter_type 7770: do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, 7770: double&) const; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: virtual iter_type 7770: do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, 7770: long double&) const; 7770: 7770: 7770: virtual iter_type 7770: do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, void*&) const; 7770: # 2270 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: }; 7770: 7770: template 7770: locale::id num_get<_CharT, _InIter>::id; 7770: # 2288 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: template 7770: class num_put : public locale::facet 7770: { 7770: public: 7770: 7770: 7770: 7770: typedef _CharT char_type; 7770: typedef _OutIter iter_type; 7770: 7770: 7770: 7770: static locale::id id; 7770: # 2309 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: explicit 7770: num_put(size_t __refs = 0) : facet(__refs) { } 7770: # 2327 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: iter_type 7770: put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const 7770: { return this->do_put(__s, __io, __fill, __v); } 7770: # 2369 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: iter_type 7770: put(iter_type __s, ios_base& __io, char_type __fill, long __v) const 7770: { return this->do_put(__s, __io, __fill, __v); } 7770: 7770: iter_type 7770: put(iter_type __s, ios_base& __io, char_type __fill, 7770: unsigned long __v) const 7770: { return this->do_put(__s, __io, __fill, __v); } 7770: 7770: 7770: iter_type 7770: put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const 7770: { return this->do_put(__s, __io, __fill, __v); } 7770: 7770: iter_type 7770: put(iter_type __s, ios_base& __io, char_type __fill, 7770: unsigned long long __v) const 7770: { return this->do_put(__s, __io, __fill, __v); } 7770: # 2432 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: iter_type 7770: put(iter_type __s, ios_base& __io, char_type __fill, double __v) const 7770: { return this->do_put(__s, __io, __fill, __v); } 7770: 7770: iter_type 7770: put(iter_type __s, ios_base& __io, char_type __fill, 7770: long double __v) const 7770: { return this->do_put(__s, __io, __fill, __v); } 7770: # 2457 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: iter_type 7770: put(iter_type __s, ios_base& __io, char_type __fill, 7770: const void* __v) const 7770: { return this->do_put(__s, __io, __fill, __v); } 7770: 7770: protected: 7770: template 7770: iter_type 7770: _M_insert_float(iter_type, ios_base& __io, char_type __fill, 7770: char __mod, _ValueT __v) const; 7770: 7770: void 7770: _M_group_float(const char* __grouping, size_t __grouping_size, 7770: char_type __sep, const char_type* __p, char_type* __new, 7770: char_type* __cs, int& __len) const; 7770: 7770: template 7770: iter_type 7770: _M_insert_int(iter_type, ios_base& __io, char_type __fill, 7770: _ValueT __v) const; 7770: 7770: void 7770: _M_group_int(const char* __grouping, size_t __grouping_size, 7770: char_type __sep, ios_base& __io, char_type* __new, 7770: char_type* __cs, int& __len) const; 7770: 7770: void 7770: _M_pad(char_type __fill, streamsize __w, ios_base& __io, 7770: char_type* __new, const char_type* __cs, int& __len) const; 7770: 7770: 7770: virtual 7770: ~num_put() { } 7770: # 2505 "/usr/include/c++/8/bits/locale_facets.h" 3 7770: virtual iter_type 7770: do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const; 7770: 7770: virtual iter_type 7770: do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const 7770: { return _M_insert_int(__s, __io, __fill, __v); } 7770: 7770: virtual iter_type 7770: do_put(iter_type __s, ios_base& __io, char_type __fill, 7770: unsigned long __v) const 7770: { return _M_insert_int(__s, __io, __fill, __v); } 7770: 7770: 7770: virtual iter_type 7770: do_put(iter_type __s, ios_base& __io, char_type __fill, 7770: long long __v) const 7770: { return _M_insert_int(__s, __io, __fill, __v); } 7770: 7770: virtual iter_type 7770: do_put(iter_type __s, ios_base& __io, char_type __fill, 7770: unsigned long long __v) const 7770: { return _M_insert_int(__s, __io, __fill, __v); } 7770: 7770: 7770: virtual iter_type 7770: do_put(iter_type, ios_base&, char_type, double) const; 7770: 7770: 7770: 7770: 7770: 7770: 7770: virtual iter_type 7770: do_put(iter_type, ios_base&, char_type, long double) const; 7770: 7770: 7770: virtual iter_type 7770: do_put(iter_type, ios_base&, char_type, const void*) const; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: }; 7770: 7770: template 7770: locale::id num_put<_CharT, _OutIter>::id; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline bool 7770: isspace(_CharT __c, const locale& __loc) 7770: { return use_facet >(__loc).is(ctype_base::space, __c); } 7770: 7770: 7770: template 7770: inline bool 7770: isprint(_CharT __c, const locale& __loc) 7770: { return use_facet >(__loc).is(ctype_base::print, __c); } 7770: 7770: 7770: template 7770: inline bool 7770: iscntrl(_CharT __c, const locale& __loc) 7770: { return use_facet >(__loc).is(ctype_base::cntrl, __c); } 7770: 7770: 7770: template 7770: inline bool 7770: isupper(_CharT __c, const locale& __loc) 7770: { return use_facet >(__loc).is(ctype_base::upper, __c); } 7770: 7770: 7770: template 7770: inline bool 7770: islower(_CharT __c, const locale& __loc) 7770: { return use_facet >(__loc).is(ctype_base::lower, __c); } 7770: 7770: 7770: template 7770: inline bool 7770: isalpha(_CharT __c, const locale& __loc) 7770: { return use_facet >(__loc).is(ctype_base::alpha, __c); } 7770: 7770: 7770: template 7770: inline bool 7770: isdigit(_CharT __c, const locale& __loc) 7770: { return use_facet >(__loc).is(ctype_base::digit, __c); } 7770: 7770: 7770: template 7770: inline bool 7770: ispunct(_CharT __c, const locale& __loc) 7770: { return use_facet >(__loc).is(ctype_base::punct, __c); } 7770: 7770: 7770: template 7770: inline bool 7770: isxdigit(_CharT __c, const locale& __loc) 7770: { return use_facet >(__loc).is(ctype_base::xdigit, __c); } 7770: 7770: 7770: template 7770: inline bool 7770: isalnum(_CharT __c, const locale& __loc) 7770: { return use_facet >(__loc).is(ctype_base::alnum, __c); } 7770: 7770: 7770: template 7770: inline bool 7770: isgraph(_CharT __c, const locale& __loc) 7770: { return use_facet >(__loc).is(ctype_base::graph, __c); } 7770: 7770: 7770: 7770: template 7770: inline bool 7770: isblank(_CharT __c, const locale& __loc) 7770: { return use_facet >(__loc).is(ctype_base::blank, __c); } 7770: 7770: 7770: 7770: template 7770: inline _CharT 7770: toupper(_CharT __c, const locale& __loc) 7770: { return use_facet >(__loc).toupper(__c); } 7770: 7770: 7770: template 7770: inline _CharT 7770: tolower(_CharT __c, const locale& __loc) 7770: { return use_facet >(__loc).tolower(__c); } 7770: 7770: 7770: } 7770: 7770: # 1 "/usr/include/c++/8/bits/locale_facets.tcc" 1 3 7770: # 33 "/usr/include/c++/8/bits/locale_facets.tcc" 3 7770: 7770: # 34 "/usr/include/c++/8/bits/locale_facets.tcc" 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: template 7770: struct __use_cache 7770: { 7770: const _Facet* 7770: operator() (const locale& __loc) const; 7770: }; 7770: 7770: 7770: template 7770: struct __use_cache<__numpunct_cache<_CharT> > 7770: { 7770: const __numpunct_cache<_CharT>* 7770: operator() (const locale& __loc) const 7770: { 7770: const size_t __i = numpunct<_CharT>::id._M_id(); 7770: const locale::facet** __caches = __loc._M_impl->_M_caches; 7770: if (!__caches[__i]) 7770: { 7770: __numpunct_cache<_CharT>* __tmp = 0; 7770: if (true) 7770: { 7770: __tmp = new __numpunct_cache<_CharT>; 7770: __tmp->_M_cache(__loc); 7770: } 7770: if (false) 7770: { 7770: delete __tmp; 7770: ; 7770: } 7770: __loc._M_impl->_M_install_cache(__tmp, __i); 7770: } 7770: return static_cast*>(__caches[__i]); 7770: } 7770: }; 7770: 7770: template 7770: void 7770: __numpunct_cache<_CharT>::_M_cache(const locale& __loc) 7770: { 7770: const numpunct<_CharT>& __np = use_facet >(__loc); 7770: 7770: char* __grouping = 0; 7770: _CharT* __truename = 0; 7770: _CharT* __falsename = 0; 7770: if (true) 7770: { 7770: const string& __g = __np.grouping(); 7770: _M_grouping_size = __g.size(); 7770: __grouping = new char[_M_grouping_size]; 7770: __g.copy(__grouping, _M_grouping_size); 7770: _M_use_grouping = (_M_grouping_size 7770: && static_cast(__grouping[0]) > 0 7770: && (__grouping[0] 7770: != __gnu_cxx::__numeric_traits::__max)); 7770: 7770: const basic_string<_CharT>& __tn = __np.truename(); 7770: _M_truename_size = __tn.size(); 7770: __truename = new _CharT[_M_truename_size]; 7770: __tn.copy(__truename, _M_truename_size); 7770: 7770: const basic_string<_CharT>& __fn = __np.falsename(); 7770: _M_falsename_size = __fn.size(); 7770: __falsename = new _CharT[_M_falsename_size]; 7770: __fn.copy(__falsename, _M_falsename_size); 7770: 7770: _M_decimal_point = __np.decimal_point(); 7770: _M_thousands_sep = __np.thousands_sep(); 7770: 7770: const ctype<_CharT>& __ct = use_facet >(__loc); 7770: __ct.widen(__num_base::_S_atoms_out, 7770: __num_base::_S_atoms_out 7770: + __num_base::_S_oend, _M_atoms_out); 7770: __ct.widen(__num_base::_S_atoms_in, 7770: __num_base::_S_atoms_in 7770: + __num_base::_S_iend, _M_atoms_in); 7770: 7770: _M_grouping = __grouping; 7770: _M_truename = __truename; 7770: _M_falsename = __falsename; 7770: _M_allocated = true; 7770: } 7770: if (false) 7770: { 7770: delete [] __grouping; 7770: delete [] __truename; 7770: delete [] __falsename; 7770: ; 7770: } 7770: } 7770: # 139 "/usr/include/c++/8/bits/locale_facets.tcc" 3 7770: __attribute__ ((__pure__)) bool 7770: __verify_grouping(const char* __grouping, size_t __grouping_size, 7770: const string& __grouping_tmp) throw (); 7770: 7770: 7770: 7770: template 7770: __attribute ((__abi_tag__ ("cxx11"))) 7770: _InIter 7770: num_get<_CharT, _InIter>:: 7770: _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io, 7770: ios_base::iostate& __err, string& __xtrc) const 7770: { 7770: typedef char_traits<_CharT> __traits_type; 7770: typedef __numpunct_cache<_CharT> __cache_type; 7770: __use_cache<__cache_type> __uc; 7770: const locale& __loc = __io._M_getloc(); 7770: const __cache_type* __lc = __uc(__loc); 7770: const _CharT* __lit = __lc->_M_atoms_in; 7770: char_type __c = char_type(); 7770: 7770: 7770: bool __testeof = __beg == __end; 7770: 7770: 7770: if (!__testeof) 7770: { 7770: __c = *__beg; 7770: const bool __plus = __c == __lit[__num_base::_S_iplus]; 7770: if ((__plus || __c == __lit[__num_base::_S_iminus]) 7770: && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) 7770: && !(__c == __lc->_M_decimal_point)) 7770: { 7770: __xtrc += __plus ? '+' : '-'; 7770: if (++__beg != __end) 7770: __c = *__beg; 7770: else 7770: __testeof = true; 7770: } 7770: } 7770: 7770: 7770: bool __found_mantissa = false; 7770: int __sep_pos = 0; 7770: while (!__testeof) 7770: { 7770: if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) 7770: || __c == __lc->_M_decimal_point) 7770: break; 7770: else if (__c == __lit[__num_base::_S_izero]) 7770: { 7770: if (!__found_mantissa) 7770: { 7770: __xtrc += '0'; 7770: __found_mantissa = true; 7770: } 7770: ++__sep_pos; 7770: 7770: if (++__beg != __end) 7770: __c = *__beg; 7770: else 7770: __testeof = true; 7770: } 7770: else 7770: break; 7770: } 7770: 7770: 7770: bool __found_dec = false; 7770: bool __found_sci = false; 7770: string __found_grouping; 7770: if (__lc->_M_use_grouping) 7770: __found_grouping.reserve(32); 7770: const char_type* __lit_zero = __lit + __num_base::_S_izero; 7770: 7770: if (!__lc->_M_allocated) 7770: 7770: while (!__testeof) 7770: { 7770: const int __digit = _M_find(__lit_zero, 10, __c); 7770: if (__digit != -1) 7770: { 7770: __xtrc += '0' + __digit; 7770: __found_mantissa = true; 7770: } 7770: else if (__c == __lc->_M_decimal_point 7770: && !__found_dec && !__found_sci) 7770: { 7770: __xtrc += '.'; 7770: __found_dec = true; 7770: } 7770: else if ((__c == __lit[__num_base::_S_ie] 7770: || __c == __lit[__num_base::_S_iE]) 7770: && !__found_sci && __found_mantissa) 7770: { 7770: 7770: __xtrc += 'e'; 7770: __found_sci = true; 7770: 7770: 7770: if (++__beg != __end) 7770: { 7770: __c = *__beg; 7770: const bool __plus = __c == __lit[__num_base::_S_iplus]; 7770: if (__plus || __c == __lit[__num_base::_S_iminus]) 7770: __xtrc += __plus ? '+' : '-'; 7770: else 7770: continue; 7770: } 7770: else 7770: { 7770: __testeof = true; 7770: break; 7770: } 7770: } 7770: else 7770: break; 7770: 7770: if (++__beg != __end) 7770: __c = *__beg; 7770: else 7770: __testeof = true; 7770: } 7770: else 7770: while (!__testeof) 7770: { 7770: 7770: 7770: if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) 7770: { 7770: if (!__found_dec && !__found_sci) 7770: { 7770: 7770: 7770: if (__sep_pos) 7770: { 7770: __found_grouping += static_cast(__sep_pos); 7770: __sep_pos = 0; 7770: } 7770: else 7770: { 7770: 7770: 7770: __xtrc.clear(); 7770: break; 7770: } 7770: } 7770: else 7770: break; 7770: } 7770: else if (__c == __lc->_M_decimal_point) 7770: { 7770: if (!__found_dec && !__found_sci) 7770: { 7770: 7770: 7770: 7770: if (__found_grouping.size()) 7770: __found_grouping += static_cast(__sep_pos); 7770: __xtrc += '.'; 7770: __found_dec = true; 7770: } 7770: else 7770: break; 7770: } 7770: else 7770: { 7770: const char_type* __q = 7770: __traits_type::find(__lit_zero, 10, __c); 7770: if (__q) 7770: { 7770: __xtrc += '0' + (__q - __lit_zero); 7770: __found_mantissa = true; 7770: ++__sep_pos; 7770: } 7770: else if ((__c == __lit[__num_base::_S_ie] 7770: || __c == __lit[__num_base::_S_iE]) 7770: && !__found_sci && __found_mantissa) 7770: { 7770: 7770: if (__found_grouping.size() && !__found_dec) 7770: __found_grouping += static_cast(__sep_pos); 7770: __xtrc += 'e'; 7770: __found_sci = true; 7770: 7770: 7770: if (++__beg != __end) 7770: { 7770: __c = *__beg; 7770: const bool __plus = __c == __lit[__num_base::_S_iplus]; 7770: if ((__plus || __c == __lit[__num_base::_S_iminus]) 7770: && !(__lc->_M_use_grouping 7770: && __c == __lc->_M_thousands_sep) 7770: && !(__c == __lc->_M_decimal_point)) 7770: __xtrc += __plus ? '+' : '-'; 7770: else 7770: continue; 7770: } 7770: else 7770: { 7770: __testeof = true; 7770: break; 7770: } 7770: } 7770: else 7770: break; 7770: } 7770: 7770: if (++__beg != __end) 7770: __c = *__beg; 7770: else 7770: __testeof = true; 7770: } 7770: 7770: 7770: 7770: if (__found_grouping.size()) 7770: { 7770: 7770: if (!__found_dec && !__found_sci) 7770: __found_grouping += static_cast(__sep_pos); 7770: 7770: if (!std::__verify_grouping(__lc->_M_grouping, 7770: __lc->_M_grouping_size, 7770: __found_grouping)) 7770: __err = ios_base::failbit; 7770: } 7770: 7770: return __beg; 7770: } 7770: 7770: template 7770: template 7770: __attribute ((__abi_tag__ ("cxx11"))) 7770: _InIter 7770: num_get<_CharT, _InIter>:: 7770: _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io, 7770: ios_base::iostate& __err, _ValueT& __v) const 7770: { 7770: typedef char_traits<_CharT> __traits_type; 7770: using __gnu_cxx::__add_unsigned; 7770: typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; 7770: typedef __numpunct_cache<_CharT> __cache_type; 7770: __use_cache<__cache_type> __uc; 7770: const locale& __loc = __io._M_getloc(); 7770: const __cache_type* __lc = __uc(__loc); 7770: const _CharT* __lit = __lc->_M_atoms_in; 7770: char_type __c = char_type(); 7770: 7770: 7770: const ios_base::fmtflags __basefield = __io.flags() 7770: & ios_base::basefield; 7770: const bool __oct = __basefield == ios_base::oct; 7770: int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10); 7770: 7770: 7770: bool __testeof = __beg == __end; 7770: 7770: 7770: bool __negative = false; 7770: if (!__testeof) 7770: { 7770: __c = *__beg; 7770: __negative = __c == __lit[__num_base::_S_iminus]; 7770: if ((__negative || __c == __lit[__num_base::_S_iplus]) 7770: && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) 7770: && !(__c == __lc->_M_decimal_point)) 7770: { 7770: if (++__beg != __end) 7770: __c = *__beg; 7770: else 7770: __testeof = true; 7770: } 7770: } 7770: 7770: 7770: 7770: bool __found_zero = false; 7770: int __sep_pos = 0; 7770: while (!__testeof) 7770: { 7770: if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) 7770: || __c == __lc->_M_decimal_point) 7770: break; 7770: else if (__c == __lit[__num_base::_S_izero] 7770: && (!__found_zero || __base == 10)) 7770: { 7770: __found_zero = true; 7770: ++__sep_pos; 7770: if (__basefield == 0) 7770: __base = 8; 7770: if (__base == 8) 7770: __sep_pos = 0; 7770: } 7770: else if (__found_zero 7770: && (__c == __lit[__num_base::_S_ix] 7770: || __c == __lit[__num_base::_S_iX])) 7770: { 7770: if (__basefield == 0) 7770: __base = 16; 7770: if (__base == 16) 7770: { 7770: __found_zero = false; 7770: __sep_pos = 0; 7770: } 7770: else 7770: break; 7770: } 7770: else 7770: break; 7770: 7770: if (++__beg != __end) 7770: { 7770: __c = *__beg; 7770: if (!__found_zero) 7770: break; 7770: } 7770: else 7770: __testeof = true; 7770: } 7770: 7770: 7770: 7770: const size_t __len = (__base == 16 ? __num_base::_S_iend 7770: - __num_base::_S_izero : __base); 7770: 7770: 7770: typedef __gnu_cxx::__numeric_traits<_ValueT> __num_traits; 7770: string __found_grouping; 7770: if (__lc->_M_use_grouping) 7770: __found_grouping.reserve(32); 7770: bool __testfail = false; 7770: bool __testoverflow = false; 7770: const __unsigned_type __max = 7770: (__negative && __num_traits::__is_signed) 7770: ? -static_cast<__unsigned_type>(__num_traits::__min) 7770: : __num_traits::__max; 7770: const __unsigned_type __smax = __max / __base; 7770: __unsigned_type __result = 0; 7770: int __digit = 0; 7770: const char_type* __lit_zero = __lit + __num_base::_S_izero; 7770: 7770: if (!__lc->_M_allocated) 7770: 7770: while (!__testeof) 7770: { 7770: __digit = _M_find(__lit_zero, __len, __c); 7770: if (__digit == -1) 7770: break; 7770: 7770: if (__result > __smax) 7770: __testoverflow = true; 7770: else 7770: { 7770: __result *= __base; 7770: __testoverflow |= __result > __max - __digit; 7770: __result += __digit; 7770: ++__sep_pos; 7770: } 7770: 7770: if (++__beg != __end) 7770: __c = *__beg; 7770: else 7770: __testeof = true; 7770: } 7770: else 7770: while (!__testeof) 7770: { 7770: 7770: 7770: if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) 7770: { 7770: 7770: 7770: if (__sep_pos) 7770: { 7770: __found_grouping += static_cast(__sep_pos); 7770: __sep_pos = 0; 7770: } 7770: else 7770: { 7770: __testfail = true; 7770: break; 7770: } 7770: } 7770: else if (__c == __lc->_M_decimal_point) 7770: break; 7770: else 7770: { 7770: const char_type* __q = 7770: __traits_type::find(__lit_zero, __len, __c); 7770: if (!__q) 7770: break; 7770: 7770: __digit = __q - __lit_zero; 7770: if (__digit > 15) 7770: __digit -= 6; 7770: if (__result > __smax) 7770: __testoverflow = true; 7770: else 7770: { 7770: __result *= __base; 7770: __testoverflow |= __result > __max - __digit; 7770: __result += __digit; 7770: ++__sep_pos; 7770: } 7770: } 7770: 7770: if (++__beg != __end) 7770: __c = *__beg; 7770: else 7770: __testeof = true; 7770: } 7770: 7770: 7770: 7770: if (__found_grouping.size()) 7770: { 7770: 7770: __found_grouping += static_cast(__sep_pos); 7770: 7770: if (!std::__verify_grouping(__lc->_M_grouping, 7770: __lc->_M_grouping_size, 7770: __found_grouping)) 7770: __err = ios_base::failbit; 7770: } 7770: 7770: 7770: 7770: if ((!__sep_pos && !__found_zero && !__found_grouping.size()) 7770: || __testfail) 7770: { 7770: __v = 0; 7770: __err = ios_base::failbit; 7770: } 7770: else if (__testoverflow) 7770: { 7770: if (__negative && __num_traits::__is_signed) 7770: __v = __num_traits::__min; 7770: else 7770: __v = __num_traits::__max; 7770: __err = ios_base::failbit; 7770: } 7770: else 7770: __v = __negative ? -__result : __result; 7770: 7770: if (__testeof) 7770: __err |= ios_base::eofbit; 7770: return __beg; 7770: } 7770: 7770: 7770: 7770: template 7770: _InIter 7770: num_get<_CharT, _InIter>:: 7770: do_get(iter_type __beg, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, bool& __v) const 7770: { 7770: if (!(__io.flags() & ios_base::boolalpha)) 7770: { 7770: 7770: 7770: 7770: long __l = -1; 7770: __beg = _M_extract_int(__beg, __end, __io, __err, __l); 7770: if (__l == 0 || __l == 1) 7770: __v = bool(__l); 7770: else 7770: { 7770: 7770: 7770: __v = true; 7770: __err = ios_base::failbit; 7770: if (__beg == __end) 7770: __err |= ios_base::eofbit; 7770: } 7770: } 7770: else 7770: { 7770: 7770: typedef __numpunct_cache<_CharT> __cache_type; 7770: __use_cache<__cache_type> __uc; 7770: const locale& __loc = __io._M_getloc(); 7770: const __cache_type* __lc = __uc(__loc); 7770: 7770: bool __testf = true; 7770: bool __testt = true; 7770: bool __donef = __lc->_M_falsename_size == 0; 7770: bool __donet = __lc->_M_truename_size == 0; 7770: bool __testeof = false; 7770: size_t __n = 0; 7770: while (!__donef || !__donet) 7770: { 7770: if (__beg == __end) 7770: { 7770: __testeof = true; 7770: break; 7770: } 7770: 7770: const char_type __c = *__beg; 7770: 7770: if (!__donef) 7770: __testf = __c == __lc->_M_falsename[__n]; 7770: 7770: if (!__testf && __donet) 7770: break; 7770: 7770: if (!__donet) 7770: __testt = __c == __lc->_M_truename[__n]; 7770: 7770: if (!__testt && __donef) 7770: break; 7770: 7770: if (!__testt && !__testf) 7770: break; 7770: 7770: ++__n; 7770: ++__beg; 7770: 7770: __donef = !__testf || __n >= __lc->_M_falsename_size; 7770: __donet = !__testt || __n >= __lc->_M_truename_size; 7770: } 7770: if (__testf && __n == __lc->_M_falsename_size && __n) 7770: { 7770: __v = false; 7770: if (__testt && __n == __lc->_M_truename_size) 7770: __err = ios_base::failbit; 7770: else 7770: __err = __testeof ? ios_base::eofbit : ios_base::goodbit; 7770: } 7770: else if (__testt && __n == __lc->_M_truename_size && __n) 7770: { 7770: __v = true; 7770: __err = __testeof ? ios_base::eofbit : ios_base::goodbit; 7770: } 7770: else 7770: { 7770: 7770: 7770: __v = false; 7770: __err = ios_base::failbit; 7770: if (__testeof) 7770: __err |= ios_base::eofbit; 7770: } 7770: } 7770: return __beg; 7770: } 7770: 7770: template 7770: _InIter 7770: num_get<_CharT, _InIter>:: 7770: do_get(iter_type __beg, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, float& __v) const 7770: { 7770: string __xtrc; 7770: __xtrc.reserve(32); 7770: __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); 7770: std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); 7770: if (__beg == __end) 7770: __err |= ios_base::eofbit; 7770: return __beg; 7770: } 7770: 7770: template 7770: _InIter 7770: num_get<_CharT, _InIter>:: 7770: do_get(iter_type __beg, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, double& __v) const 7770: { 7770: string __xtrc; 7770: __xtrc.reserve(32); 7770: __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); 7770: std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); 7770: if (__beg == __end) 7770: __err |= ios_base::eofbit; 7770: return __beg; 7770: } 7770: # 735 "/usr/include/c++/8/bits/locale_facets.tcc" 3 7770: template 7770: _InIter 7770: num_get<_CharT, _InIter>:: 7770: do_get(iter_type __beg, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, long double& __v) const 7770: { 7770: string __xtrc; 7770: __xtrc.reserve(32); 7770: __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); 7770: std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); 7770: if (__beg == __end) 7770: __err |= ios_base::eofbit; 7770: return __beg; 7770: } 7770: 7770: template 7770: _InIter 7770: num_get<_CharT, _InIter>:: 7770: do_get(iter_type __beg, iter_type __end, ios_base& __io, 7770: ios_base::iostate& __err, void*& __v) const 7770: { 7770: 7770: typedef ios_base::fmtflags fmtflags; 7770: const fmtflags __fmt = __io.flags(); 7770: __io.flags((__fmt & ~ios_base::basefield) | ios_base::hex); 7770: 7770: typedef __gnu_cxx::__conditional_type<(sizeof(void*) 7770: <= sizeof(unsigned long)), 7770: unsigned long, unsigned long long>::__type _UIntPtrType; 7770: 7770: _UIntPtrType __ul; 7770: __beg = _M_extract_int(__beg, __end, __io, __err, __ul); 7770: 7770: 7770: __io.flags(__fmt); 7770: 7770: __v = reinterpret_cast(__ul); 7770: return __beg; 7770: } 7770: 7770: 7770: 7770: template 7770: void 7770: num_put<_CharT, _OutIter>:: 7770: _M_pad(_CharT __fill, streamsize __w, ios_base& __io, 7770: _CharT* __new, const _CharT* __cs, int& __len) const 7770: { 7770: 7770: 7770: __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new, 7770: __cs, __w, __len); 7770: __len = static_cast(__w); 7770: } 7770: 7770: 7770: 7770: template 7770: int 7770: __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit, 7770: ios_base::fmtflags __flags, bool __dec) 7770: { 7770: _CharT* __buf = __bufend; 7770: if (__builtin_expect(__dec, true)) 7770: { 7770: 7770: do 7770: { 7770: *--__buf = __lit[(__v % 10) + __num_base::_S_odigits]; 7770: __v /= 10; 7770: } 7770: while (__v != 0); 7770: } 7770: else if ((__flags & ios_base::basefield) == ios_base::oct) 7770: { 7770: 7770: do 7770: { 7770: *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits]; 7770: __v >>= 3; 7770: } 7770: while (__v != 0); 7770: } 7770: else 7770: { 7770: 7770: const bool __uppercase = __flags & ios_base::uppercase; 7770: const int __case_offset = __uppercase ? __num_base::_S_oudigits 7770: : __num_base::_S_odigits; 7770: do 7770: { 7770: *--__buf = __lit[(__v & 0xf) + __case_offset]; 7770: __v >>= 4; 7770: } 7770: while (__v != 0); 7770: } 7770: return __bufend - __buf; 7770: } 7770: 7770: 7770: 7770: template 7770: void 7770: num_put<_CharT, _OutIter>:: 7770: _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep, 7770: ios_base&, _CharT* __new, _CharT* __cs, int& __len) const 7770: { 7770: _CharT* __p = std::__add_grouping(__new, __sep, __grouping, 7770: __grouping_size, __cs, __cs + __len); 7770: __len = __p - __new; 7770: } 7770: 7770: template 7770: template 7770: _OutIter 7770: num_put<_CharT, _OutIter>:: 7770: _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill, 7770: _ValueT __v) const 7770: { 7770: using __gnu_cxx::__add_unsigned; 7770: typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; 7770: typedef __numpunct_cache<_CharT> __cache_type; 7770: __use_cache<__cache_type> __uc; 7770: const locale& __loc = __io._M_getloc(); 7770: const __cache_type* __lc = __uc(__loc); 7770: const _CharT* __lit = __lc->_M_atoms_out; 7770: const ios_base::fmtflags __flags = __io.flags(); 7770: 7770: 7770: const int __ilen = 5 * sizeof(_ValueT); 7770: _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 7770: * __ilen)); 7770: 7770: 7770: 7770: const ios_base::fmtflags __basefield = __flags & ios_base::basefield; 7770: const bool __dec = (__basefield != ios_base::oct 7770: && __basefield != ios_base::hex); 7770: const __unsigned_type __u = ((__v > 0 || !__dec) 7770: ? __unsigned_type(__v) 7770: : -__unsigned_type(__v)); 7770: int __len = __int_to_char(__cs + __ilen, __u, __lit, __flags, __dec); 7770: __cs += __ilen - __len; 7770: 7770: 7770: if (__lc->_M_use_grouping) 7770: { 7770: 7770: 7770: _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 7770: * (__len + 1) 7770: * 2)); 7770: _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size, 7770: __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len); 7770: __cs = __cs2 + 2; 7770: } 7770: 7770: 7770: if (__builtin_expect(__dec, true)) 7770: { 7770: 7770: if (__v >= 0) 7770: { 7770: if (bool(__flags & ios_base::showpos) 7770: && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) 7770: *--__cs = __lit[__num_base::_S_oplus], ++__len; 7770: } 7770: else 7770: *--__cs = __lit[__num_base::_S_ominus], ++__len; 7770: } 7770: else if (bool(__flags & ios_base::showbase) && __v) 7770: { 7770: if (__basefield == ios_base::oct) 7770: *--__cs = __lit[__num_base::_S_odigits], ++__len; 7770: else 7770: { 7770: 7770: const bool __uppercase = __flags & ios_base::uppercase; 7770: *--__cs = __lit[__num_base::_S_ox + __uppercase]; 7770: 7770: *--__cs = __lit[__num_base::_S_odigits]; 7770: __len += 2; 7770: } 7770: } 7770: 7770: 7770: const streamsize __w = __io.width(); 7770: if (__w > static_cast(__len)) 7770: { 7770: _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 7770: * __w)); 7770: _M_pad(__fill, __w, __io, __cs3, __cs, __len); 7770: __cs = __cs3; 7770: } 7770: __io.width(0); 7770: 7770: 7770: 7770: return std::__write(__s, __cs, __len); 7770: } 7770: 7770: template 7770: void 7770: num_put<_CharT, _OutIter>:: 7770: _M_group_float(const char* __grouping, size_t __grouping_size, 7770: _CharT __sep, const _CharT* __p, _CharT* __new, 7770: _CharT* __cs, int& __len) const 7770: { 7770: 7770: 7770: 7770: const int __declen = __p ? __p - __cs : __len; 7770: _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping, 7770: __grouping_size, 7770: __cs, __cs + __declen); 7770: 7770: 7770: int __newlen = __p2 - __new; 7770: if (__p) 7770: { 7770: char_traits<_CharT>::copy(__p2, __p, __len - __declen); 7770: __newlen += __len - __declen; 7770: } 7770: __len = __newlen; 7770: } 7770: # 971 "/usr/include/c++/8/bits/locale_facets.tcc" 3 7770: template 7770: template 7770: _OutIter 7770: num_put<_CharT, _OutIter>:: 7770: _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod, 7770: _ValueT __v) const 7770: { 7770: typedef __numpunct_cache<_CharT> __cache_type; 7770: __use_cache<__cache_type> __uc; 7770: const locale& __loc = __io._M_getloc(); 7770: const __cache_type* __lc = __uc(__loc); 7770: 7770: 7770: const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision(); 7770: 7770: const int __max_digits = 7770: __gnu_cxx::__numeric_traits<_ValueT>::__digits10; 7770: 7770: 7770: int __len; 7770: 7770: char __fbuf[16]; 7770: __num_base::_S_format_float(__io, __fbuf, __mod); 7770: 7770: 7770: 7770: const bool __use_prec = 7770: (__io.flags() & ios_base::floatfield) != ios_base::floatfield; 7770: 7770: 7770: 7770: int __cs_size = __max_digits * 3; 7770: char* __cs = static_cast(__builtin_alloca(__cs_size)); 7770: if (__use_prec) 7770: __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, 7770: __fbuf, __prec, __v); 7770: else 7770: __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, 7770: __fbuf, __v); 7770: 7770: 7770: if (__len >= __cs_size) 7770: { 7770: __cs_size = __len + 1; 7770: __cs = static_cast(__builtin_alloca(__cs_size)); 7770: if (__use_prec) 7770: __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, 7770: __fbuf, __prec, __v); 7770: else 7770: __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, 7770: __fbuf, __v); 7770: } 7770: # 1044 "/usr/include/c++/8/bits/locale_facets.tcc" 3 7770: const ctype<_CharT>& __ctype = use_facet >(__loc); 7770: 7770: _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 7770: * __len)); 7770: __ctype.widen(__cs, __cs + __len, __ws); 7770: 7770: 7770: _CharT* __wp = 0; 7770: const char* __p = char_traits::find(__cs, __len, '.'); 7770: if (__p) 7770: { 7770: __wp = __ws + (__p - __cs); 7770: *__wp = __lc->_M_decimal_point; 7770: } 7770: 7770: 7770: 7770: 7770: if (__lc->_M_use_grouping 7770: && (__wp || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9' 7770: && __cs[1] >= '0' && __cs[2] >= '0'))) 7770: { 7770: 7770: 7770: _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 7770: * __len * 2)); 7770: 7770: streamsize __off = 0; 7770: if (__cs[0] == '-' || __cs[0] == '+') 7770: { 7770: __off = 1; 7770: __ws2[0] = __ws[0]; 7770: __len -= 1; 7770: } 7770: 7770: _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size, 7770: __lc->_M_thousands_sep, __wp, __ws2 + __off, 7770: __ws + __off, __len); 7770: __len += __off; 7770: 7770: __ws = __ws2; 7770: } 7770: 7770: 7770: const streamsize __w = __io.width(); 7770: if (__w > static_cast(__len)) 7770: { 7770: _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 7770: * __w)); 7770: _M_pad(__fill, __w, __io, __ws3, __ws, __len); 7770: __ws = __ws3; 7770: } 7770: __io.width(0); 7770: 7770: 7770: 7770: return std::__write(__s, __ws, __len); 7770: } 7770: 7770: template 7770: _OutIter 7770: num_put<_CharT, _OutIter>:: 7770: do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const 7770: { 7770: const ios_base::fmtflags __flags = __io.flags(); 7770: if ((__flags & ios_base::boolalpha) == 0) 7770: { 7770: const long __l = __v; 7770: __s = _M_insert_int(__s, __io, __fill, __l); 7770: } 7770: else 7770: { 7770: typedef __numpunct_cache<_CharT> __cache_type; 7770: __use_cache<__cache_type> __uc; 7770: const locale& __loc = __io._M_getloc(); 7770: const __cache_type* __lc = __uc(__loc); 7770: 7770: const _CharT* __name = __v ? __lc->_M_truename 7770: : __lc->_M_falsename; 7770: int __len = __v ? __lc->_M_truename_size 7770: : __lc->_M_falsename_size; 7770: 7770: const streamsize __w = __io.width(); 7770: if (__w > static_cast(__len)) 7770: { 7770: const streamsize __plen = __w - __len; 7770: _CharT* __ps 7770: = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) 7770: * __plen)); 7770: 7770: char_traits<_CharT>::assign(__ps, __plen, __fill); 7770: __io.width(0); 7770: 7770: if ((__flags & ios_base::adjustfield) == ios_base::left) 7770: { 7770: __s = std::__write(__s, __name, __len); 7770: __s = std::__write(__s, __ps, __plen); 7770: } 7770: else 7770: { 7770: __s = std::__write(__s, __ps, __plen); 7770: __s = std::__write(__s, __name, __len); 7770: } 7770: return __s; 7770: } 7770: __io.width(0); 7770: __s = std::__write(__s, __name, __len); 7770: } 7770: return __s; 7770: } 7770: 7770: template 7770: _OutIter 7770: num_put<_CharT, _OutIter>:: 7770: do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const 7770: { return _M_insert_float(__s, __io, __fill, char(), __v); } 7770: # 1169 "/usr/include/c++/8/bits/locale_facets.tcc" 3 7770: template 7770: _OutIter 7770: num_put<_CharT, _OutIter>:: 7770: do_put(iter_type __s, ios_base& __io, char_type __fill, 7770: long double __v) const 7770: { return _M_insert_float(__s, __io, __fill, 'L', __v); } 7770: 7770: template 7770: _OutIter 7770: num_put<_CharT, _OutIter>:: 7770: do_put(iter_type __s, ios_base& __io, char_type __fill, 7770: const void* __v) const 7770: { 7770: const ios_base::fmtflags __flags = __io.flags(); 7770: const ios_base::fmtflags __fmt = ~(ios_base::basefield 7770: | ios_base::uppercase); 7770: __io.flags((__flags & __fmt) | (ios_base::hex | ios_base::showbase)); 7770: 7770: typedef __gnu_cxx::__conditional_type<(sizeof(const void*) 7770: <= sizeof(unsigned long)), 7770: unsigned long, unsigned long long>::__type _UIntPtrType; 7770: 7770: __s = _M_insert_int(__s, __io, __fill, 7770: reinterpret_cast<_UIntPtrType>(__v)); 7770: __io.flags(__flags); 7770: return __s; 7770: } 7770: 7770: 7770: # 1206 "/usr/include/c++/8/bits/locale_facets.tcc" 3 7770: template 7770: void 7770: __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill, 7770: _CharT* __news, const _CharT* __olds, 7770: streamsize __newlen, streamsize __oldlen) 7770: { 7770: const size_t __plen = static_cast(__newlen - __oldlen); 7770: const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield; 7770: 7770: 7770: if (__adjust == ios_base::left) 7770: { 7770: _Traits::copy(__news, __olds, __oldlen); 7770: _Traits::assign(__news + __oldlen, __plen, __fill); 7770: return; 7770: } 7770: 7770: size_t __mod = 0; 7770: if (__adjust == ios_base::internal) 7770: { 7770: 7770: 7770: 7770: const locale& __loc = __io._M_getloc(); 7770: const ctype<_CharT>& __ctype = use_facet >(__loc); 7770: 7770: if (__ctype.widen('-') == __olds[0] 7770: || __ctype.widen('+') == __olds[0]) 7770: { 7770: __news[0] = __olds[0]; 7770: __mod = 1; 7770: ++__news; 7770: } 7770: else if (__ctype.widen('0') == __olds[0] 7770: && __oldlen > 1 7770: && (__ctype.widen('x') == __olds[1] 7770: || __ctype.widen('X') == __olds[1])) 7770: { 7770: __news[0] = __olds[0]; 7770: __news[1] = __olds[1]; 7770: __mod = 2; 7770: __news += 2; 7770: } 7770: 7770: } 7770: _Traits::assign(__news, __plen, __fill); 7770: _Traits::copy(__news + __plen, __olds + __mod, __oldlen - __mod); 7770: } 7770: 7770: template 7770: _CharT* 7770: __add_grouping(_CharT* __s, _CharT __sep, 7770: const char* __gbeg, size_t __gsize, 7770: const _CharT* __first, const _CharT* __last) 7770: { 7770: size_t __idx = 0; 7770: size_t __ctr = 0; 7770: 7770: while (__last - __first > __gbeg[__idx] 7770: && static_cast(__gbeg[__idx]) > 0 7770: && __gbeg[__idx] != __gnu_cxx::__numeric_traits::__max) 7770: { 7770: __last -= __gbeg[__idx]; 7770: __idx < __gsize - 1 ? ++__idx : ++__ctr; 7770: } 7770: 7770: while (__first != __last) 7770: *__s++ = *__first++; 7770: 7770: while (__ctr--) 7770: { 7770: *__s++ = __sep; 7770: for (char __i = __gbeg[__idx]; __i > 0; --__i) 7770: *__s++ = *__first++; 7770: } 7770: 7770: while (__idx--) 7770: { 7770: *__s++ = __sep; 7770: for (char __i = __gbeg[__idx]; __i > 0; --__i) 7770: *__s++ = *__first++; 7770: } 7770: 7770: return __s; 7770: } 7770: 7770: 7770: 7770: 7770: extern template class __cxx11:: numpunct; 7770: extern template class __cxx11:: numpunct_byname; 7770: extern template class num_get; 7770: extern template class num_put; 7770: extern template class ctype_byname; 7770: 7770: extern template 7770: const ctype& 7770: use_facet >(const locale&); 7770: 7770: extern template 7770: const numpunct& 7770: use_facet >(const locale&); 7770: 7770: extern template 7770: const num_put& 7770: use_facet >(const locale&); 7770: 7770: extern template 7770: const num_get& 7770: use_facet >(const locale&); 7770: 7770: extern template 7770: bool 7770: has_facet >(const locale&); 7770: 7770: extern template 7770: bool 7770: has_facet >(const locale&); 7770: 7770: extern template 7770: bool 7770: has_facet >(const locale&); 7770: 7770: extern template 7770: bool 7770: has_facet >(const locale&); 7770: 7770: 7770: extern template class __cxx11:: numpunct; 7770: extern template class __cxx11:: numpunct_byname; 7770: extern template class num_get; 7770: extern template class num_put; 7770: extern template class ctype_byname; 7770: 7770: extern template 7770: const ctype& 7770: use_facet >(const locale&); 7770: 7770: extern template 7770: const numpunct& 7770: use_facet >(const locale&); 7770: 7770: extern template 7770: const num_put& 7770: use_facet >(const locale&); 7770: 7770: extern template 7770: const num_get& 7770: use_facet >(const locale&); 7770: 7770: extern template 7770: bool 7770: has_facet >(const locale&); 7770: 7770: extern template 7770: bool 7770: has_facet >(const locale&); 7770: 7770: extern template 7770: bool 7770: has_facet >(const locale&); 7770: 7770: extern template 7770: bool 7770: has_facet >(const locale&); 7770: 7770: 7770: 7770: 7770: } 7770: # 2652 "/usr/include/c++/8/bits/locale_facets.h" 2 3 7770: # 38 "/usr/include/c++/8/bits/basic_ios.h" 2 3 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: template 7770: inline const _Facet& 7770: __check_facet(const _Facet* __f) 7770: { 7770: if (!__f) 7770: __throw_bad_cast(); 7770: return *__f; 7770: } 7770: # 66 "/usr/include/c++/8/bits/basic_ios.h" 3 7770: template 7770: class basic_ios : public ios_base 7770: { 7770: public: 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef _CharT char_type; 7770: typedef typename _Traits::int_type int_type; 7770: typedef typename _Traits::pos_type pos_type; 7770: typedef typename _Traits::off_type off_type; 7770: typedef _Traits traits_type; 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef ctype<_CharT> __ctype_type; 7770: typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > 7770: __num_put_type; 7770: typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > 7770: __num_get_type; 7770: 7770: 7770: 7770: protected: 7770: basic_ostream<_CharT, _Traits>* _M_tie; 7770: mutable char_type _M_fill; 7770: mutable bool _M_fill_init; 7770: basic_streambuf<_CharT, _Traits>* _M_streambuf; 7770: 7770: 7770: const __ctype_type* _M_ctype; 7770: 7770: const __num_put_type* _M_num_put; 7770: 7770: const __num_get_type* _M_num_get; 7770: 7770: public: 7770: # 117 "/usr/include/c++/8/bits/basic_ios.h" 3 7770: explicit operator bool() const 7770: { return !this->fail(); } 7770: 7770: 7770: 7770: 7770: 7770: bool 7770: operator!() const 7770: { return this->fail(); } 7770: # 136 "/usr/include/c++/8/bits/basic_ios.h" 3 7770: iostate 7770: rdstate() const 7770: { return _M_streambuf_state; } 7770: # 147 "/usr/include/c++/8/bits/basic_ios.h" 3 7770: void 7770: clear(iostate __state = goodbit); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: void 7770: setstate(iostate __state) 7770: { this->clear(this->rdstate() | __state); } 7770: 7770: 7770: 7770: 7770: void 7770: _M_setstate(iostate __state) 7770: { 7770: 7770: 7770: _M_streambuf_state |= __state; 7770: if (this->exceptions() & __state) 7770: ; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: bool 7770: good() const 7770: { return this->rdstate() == 0; } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: bool 7770: eof() const 7770: { return (this->rdstate() & eofbit) != 0; } 7770: # 200 "/usr/include/c++/8/bits/basic_ios.h" 3 7770: bool 7770: fail() const 7770: { return (this->rdstate() & (badbit | failbit)) != 0; } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: bool 7770: bad() const 7770: { return (this->rdstate() & badbit) != 0; } 7770: # 221 "/usr/include/c++/8/bits/basic_ios.h" 3 7770: iostate 7770: exceptions() const 7770: { return _M_exception; } 7770: # 256 "/usr/include/c++/8/bits/basic_ios.h" 3 7770: void 7770: exceptions(iostate __except) 7770: { 7770: _M_exception = __except; 7770: this->clear(_M_streambuf_state); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: explicit 7770: basic_ios(basic_streambuf<_CharT, _Traits>* __sb) 7770: : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0), 7770: _M_ctype(0), _M_num_put(0), _M_num_get(0) 7770: { this->init(__sb); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: virtual 7770: ~basic_ios() { } 7770: # 294 "/usr/include/c++/8/bits/basic_ios.h" 3 7770: basic_ostream<_CharT, _Traits>* 7770: tie() const 7770: { return _M_tie; } 7770: # 306 "/usr/include/c++/8/bits/basic_ios.h" 3 7770: basic_ostream<_CharT, _Traits>* 7770: tie(basic_ostream<_CharT, _Traits>* __tiestr) 7770: { 7770: basic_ostream<_CharT, _Traits>* __old = _M_tie; 7770: _M_tie = __tiestr; 7770: return __old; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: basic_streambuf<_CharT, _Traits>* 7770: rdbuf() const 7770: { return _M_streambuf; } 7770: # 346 "/usr/include/c++/8/bits/basic_ios.h" 3 7770: basic_streambuf<_CharT, _Traits>* 7770: rdbuf(basic_streambuf<_CharT, _Traits>* __sb); 7770: # 360 "/usr/include/c++/8/bits/basic_ios.h" 3 7770: basic_ios& 7770: copyfmt(const basic_ios& __rhs); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: char_type 7770: fill() const 7770: { 7770: if (!_M_fill_init) 7770: { 7770: _M_fill = this->widen(' '); 7770: _M_fill_init = true; 7770: } 7770: return _M_fill; 7770: } 7770: # 389 "/usr/include/c++/8/bits/basic_ios.h" 3 7770: char_type 7770: fill(char_type __ch) 7770: { 7770: char_type __old = this->fill(); 7770: _M_fill = __ch; 7770: return __old; 7770: } 7770: # 409 "/usr/include/c++/8/bits/basic_ios.h" 3 7770: locale 7770: imbue(const locale& __loc); 7770: # 429 "/usr/include/c++/8/bits/basic_ios.h" 3 7770: char 7770: narrow(char_type __c, char __dfault) const 7770: { return __check_facet(_M_ctype).narrow(__c, __dfault); } 7770: # 448 "/usr/include/c++/8/bits/basic_ios.h" 3 7770: char_type 7770: widen(char __c) const 7770: { return __check_facet(_M_ctype).widen(__c); } 7770: 7770: protected: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: basic_ios() 7770: : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false), 7770: _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0) 7770: { } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: void 7770: init(basic_streambuf<_CharT, _Traits>* __sb); 7770: 7770: 7770: basic_ios(const basic_ios&) = delete; 7770: basic_ios& operator=(const basic_ios&) = delete; 7770: 7770: void 7770: move(basic_ios& __rhs) 7770: { 7770: ios_base::_M_move(__rhs); 7770: _M_cache_locale(_M_ios_locale); 7770: this->tie(__rhs.tie(nullptr)); 7770: _M_fill = __rhs._M_fill; 7770: _M_fill_init = __rhs._M_fill_init; 7770: _M_streambuf = nullptr; 7770: } 7770: 7770: void 7770: move(basic_ios&& __rhs) 7770: { this->move(__rhs); } 7770: 7770: void 7770: swap(basic_ios& __rhs) noexcept 7770: { 7770: ios_base::_M_swap(__rhs); 7770: _M_cache_locale(_M_ios_locale); 7770: __rhs._M_cache_locale(__rhs._M_ios_locale); 7770: std::swap(_M_tie, __rhs._M_tie); 7770: std::swap(_M_fill, __rhs._M_fill); 7770: std::swap(_M_fill_init, __rhs._M_fill_init); 7770: } 7770: 7770: void 7770: set_rdbuf(basic_streambuf<_CharT, _Traits>* __sb) 7770: { _M_streambuf = __sb; } 7770: 7770: 7770: void 7770: _M_cache_locale(const locale& __loc); 7770: }; 7770: 7770: 7770: } 7770: 7770: # 1 "/usr/include/c++/8/bits/basic_ios.tcc" 1 3 7770: # 33 "/usr/include/c++/8/bits/basic_ios.tcc" 3 7770: 7770: # 34 "/usr/include/c++/8/bits/basic_ios.tcc" 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: template 7770: void 7770: basic_ios<_CharT, _Traits>::clear(iostate __state) 7770: { 7770: if (this->rdbuf()) 7770: _M_streambuf_state = __state; 7770: else 7770: _M_streambuf_state = __state | badbit; 7770: if (this->exceptions() & this->rdstate()) 7770: __throw_ios_failure(("basic_ios::clear")); 7770: } 7770: 7770: template 7770: basic_streambuf<_CharT, _Traits>* 7770: basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb) 7770: { 7770: basic_streambuf<_CharT, _Traits>* __old = _M_streambuf; 7770: _M_streambuf = __sb; 7770: this->clear(); 7770: return __old; 7770: } 7770: 7770: template 7770: basic_ios<_CharT, _Traits>& 7770: basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs) 7770: { 7770: 7770: 7770: if (this != &__rhs) 7770: { 7770: 7770: 7770: 7770: 7770: _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ? 7770: _M_local_word : new _Words[__rhs._M_word_size]; 7770: 7770: 7770: _Callback_list* __cb = __rhs._M_callbacks; 7770: if (__cb) 7770: __cb->_M_add_reference(); 7770: _M_call_callbacks(erase_event); 7770: if (_M_word != _M_local_word) 7770: { 7770: delete [] _M_word; 7770: _M_word = 0; 7770: } 7770: _M_dispose_callbacks(); 7770: 7770: 7770: _M_callbacks = __cb; 7770: for (int __i = 0; __i < __rhs._M_word_size; ++__i) 7770: __words[__i] = __rhs._M_word[__i]; 7770: _M_word = __words; 7770: _M_word_size = __rhs._M_word_size; 7770: 7770: this->flags(__rhs.flags()); 7770: this->width(__rhs.width()); 7770: this->precision(__rhs.precision()); 7770: this->tie(__rhs.tie()); 7770: this->fill(__rhs.fill()); 7770: _M_ios_locale = __rhs.getloc(); 7770: _M_cache_locale(_M_ios_locale); 7770: 7770: _M_call_callbacks(copyfmt_event); 7770: 7770: 7770: this->exceptions(__rhs.exceptions()); 7770: } 7770: return *this; 7770: } 7770: 7770: 7770: template 7770: locale 7770: basic_ios<_CharT, _Traits>::imbue(const locale& __loc) 7770: { 7770: locale __old(this->getloc()); 7770: ios_base::imbue(__loc); 7770: _M_cache_locale(__loc); 7770: if (this->rdbuf() != 0) 7770: this->rdbuf()->pubimbue(__loc); 7770: return __old; 7770: } 7770: 7770: template 7770: void 7770: basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb) 7770: { 7770: 7770: ios_base::_M_init(); 7770: 7770: 7770: _M_cache_locale(_M_ios_locale); 7770: # 146 "/usr/include/c++/8/bits/basic_ios.tcc" 3 7770: _M_fill = _CharT(); 7770: _M_fill_init = false; 7770: 7770: _M_tie = 0; 7770: _M_exception = goodbit; 7770: _M_streambuf = __sb; 7770: _M_streambuf_state = __sb ? goodbit : badbit; 7770: } 7770: 7770: template 7770: void 7770: basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc) 7770: { 7770: if (__builtin_expect(has_facet<__ctype_type>(__loc), true)) 7770: _M_ctype = std::__addressof(use_facet<__ctype_type>(__loc)); 7770: else 7770: _M_ctype = 0; 7770: 7770: if (__builtin_expect(has_facet<__num_put_type>(__loc), true)) 7770: _M_num_put = std::__addressof(use_facet<__num_put_type>(__loc)); 7770: else 7770: _M_num_put = 0; 7770: 7770: if (__builtin_expect(has_facet<__num_get_type>(__loc), true)) 7770: _M_num_get = std::__addressof(use_facet<__num_get_type>(__loc)); 7770: else 7770: _M_num_get = 0; 7770: } 7770: 7770: 7770: 7770: 7770: extern template class basic_ios; 7770: 7770: 7770: extern template class basic_ios; 7770: 7770: 7770: 7770: 7770: } 7770: # 517 "/usr/include/c++/8/bits/basic_ios.h" 2 3 7770: # 45 "/usr/include/c++/8/ios" 2 3 7770: # 39 "/usr/include/c++/8/ostream" 2 3 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 57 "/usr/include/c++/8/ostream" 3 7770: template 7770: class basic_ostream : virtual public basic_ios<_CharT, _Traits> 7770: { 7770: public: 7770: 7770: typedef _CharT char_type; 7770: typedef typename _Traits::int_type int_type; 7770: typedef typename _Traits::pos_type pos_type; 7770: typedef typename _Traits::off_type off_type; 7770: typedef _Traits traits_type; 7770: 7770: 7770: typedef basic_streambuf<_CharT, _Traits> __streambuf_type; 7770: typedef basic_ios<_CharT, _Traits> __ios_type; 7770: typedef basic_ostream<_CharT, _Traits> __ostream_type; 7770: typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > 7770: __num_put_type; 7770: typedef ctype<_CharT> __ctype_type; 7770: # 83 "/usr/include/c++/8/ostream" 3 7770: explicit 7770: basic_ostream(__streambuf_type* __sb) 7770: { this->init(__sb); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: virtual 7770: ~basic_ostream() { } 7770: 7770: 7770: class sentry; 7770: friend class sentry; 7770: # 107 "/usr/include/c++/8/ostream" 3 7770: __ostream_type& 7770: operator<<(__ostream_type& (*__pf)(__ostream_type&)) 7770: { 7770: 7770: 7770: 7770: return __pf(*this); 7770: } 7770: 7770: __ostream_type& 7770: operator<<(__ios_type& (*__pf)(__ios_type&)) 7770: { 7770: 7770: 7770: 7770: __pf(*this); 7770: return *this; 7770: } 7770: 7770: __ostream_type& 7770: operator<<(ios_base& (*__pf) (ios_base&)) 7770: { 7770: 7770: 7770: 7770: __pf(*this); 7770: return *this; 7770: } 7770: # 165 "/usr/include/c++/8/ostream" 3 7770: __ostream_type& 7770: operator<<(long __n) 7770: { return _M_insert(__n); } 7770: 7770: __ostream_type& 7770: operator<<(unsigned long __n) 7770: { return _M_insert(__n); } 7770: 7770: __ostream_type& 7770: operator<<(bool __n) 7770: { return _M_insert(__n); } 7770: 7770: __ostream_type& 7770: operator<<(short __n); 7770: 7770: __ostream_type& 7770: operator<<(unsigned short __n) 7770: { 7770: 7770: 7770: return _M_insert(static_cast(__n)); 7770: } 7770: 7770: __ostream_type& 7770: operator<<(int __n); 7770: 7770: __ostream_type& 7770: operator<<(unsigned int __n) 7770: { 7770: 7770: 7770: return _M_insert(static_cast(__n)); 7770: } 7770: 7770: 7770: __ostream_type& 7770: operator<<(long long __n) 7770: { return _M_insert(__n); } 7770: 7770: __ostream_type& 7770: operator<<(unsigned long long __n) 7770: { return _M_insert(__n); } 7770: # 219 "/usr/include/c++/8/ostream" 3 7770: __ostream_type& 7770: operator<<(double __f) 7770: { return _M_insert(__f); } 7770: 7770: __ostream_type& 7770: operator<<(float __f) 7770: { 7770: 7770: 7770: return _M_insert(static_cast(__f)); 7770: } 7770: 7770: __ostream_type& 7770: operator<<(long double __f) 7770: { return _M_insert(__f); } 7770: # 244 "/usr/include/c++/8/ostream" 3 7770: __ostream_type& 7770: operator<<(const void* __p) 7770: { return _M_insert(__p); } 7770: # 269 "/usr/include/c++/8/ostream" 3 7770: __ostream_type& 7770: operator<<(__streambuf_type* __sb); 7770: # 302 "/usr/include/c++/8/ostream" 3 7770: __ostream_type& 7770: put(char_type __c); 7770: 7770: 7770: 7770: 7770: 7770: 7770: void 7770: _M_write(const char_type* __s, streamsize __n) 7770: { 7770: const streamsize __put = this->rdbuf()->sputn(__s, __n); 7770: if (__put != __n) 7770: this->setstate(ios_base::badbit); 7770: } 7770: # 334 "/usr/include/c++/8/ostream" 3 7770: __ostream_type& 7770: write(const char_type* __s, streamsize __n); 7770: # 347 "/usr/include/c++/8/ostream" 3 7770: __ostream_type& 7770: flush(); 7770: # 357 "/usr/include/c++/8/ostream" 3 7770: pos_type 7770: tellp(); 7770: # 368 "/usr/include/c++/8/ostream" 3 7770: __ostream_type& 7770: seekp(pos_type); 7770: # 380 "/usr/include/c++/8/ostream" 3 7770: __ostream_type& 7770: seekp(off_type, ios_base::seekdir); 7770: 7770: protected: 7770: basic_ostream() 7770: { this->init(0); } 7770: 7770: 7770: 7770: basic_ostream(basic_iostream<_CharT, _Traits>&) { } 7770: 7770: basic_ostream(const basic_ostream&) = delete; 7770: 7770: basic_ostream(basic_ostream&& __rhs) 7770: : __ios_type() 7770: { __ios_type::move(__rhs); } 7770: 7770: 7770: 7770: basic_ostream& operator=(const basic_ostream&) = delete; 7770: 7770: basic_ostream& 7770: operator=(basic_ostream&& __rhs) 7770: { 7770: swap(__rhs); 7770: return *this; 7770: } 7770: 7770: void 7770: swap(basic_ostream& __rhs) 7770: { __ios_type::swap(__rhs); } 7770: 7770: 7770: template 7770: __ostream_type& 7770: _M_insert(_ValueT __v); 7770: }; 7770: # 425 "/usr/include/c++/8/ostream" 3 7770: template 7770: class basic_ostream<_CharT, _Traits>::sentry 7770: { 7770: 7770: bool _M_ok; 7770: basic_ostream<_CharT, _Traits>& _M_os; 7770: 7770: public: 7770: # 444 "/usr/include/c++/8/ostream" 3 7770: explicit 7770: sentry(basic_ostream<_CharT, _Traits>& __os); 7770: # 454 "/usr/include/c++/8/ostream" 3 7770: ~sentry() 7770: { 7770: 7770: if (bool(_M_os.flags() & ios_base::unitbuf) && !uncaught_exception()) 7770: { 7770: 7770: if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1) 7770: _M_os.setstate(ios_base::badbit); 7770: } 7770: } 7770: # 473 "/usr/include/c++/8/ostream" 3 7770: explicit 7770: 7770: operator bool() const 7770: { return _M_ok; } 7770: }; 7770: # 495 "/usr/include/c++/8/ostream" 3 7770: template 7770: inline basic_ostream<_CharT, _Traits>& 7770: operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) 7770: { return __ostream_insert(__out, &__c, 1); } 7770: 7770: template 7770: inline basic_ostream<_CharT, _Traits>& 7770: operator<<(basic_ostream<_CharT, _Traits>& __out, char __c) 7770: { return (__out << __out.widen(__c)); } 7770: 7770: 7770: template 7770: inline basic_ostream& 7770: operator<<(basic_ostream& __out, char __c) 7770: { return __ostream_insert(__out, &__c, 1); } 7770: 7770: 7770: template 7770: inline basic_ostream& 7770: operator<<(basic_ostream& __out, signed char __c) 7770: { return (__out << static_cast(__c)); } 7770: 7770: template 7770: inline basic_ostream& 7770: operator<<(basic_ostream& __out, unsigned char __c) 7770: { return (__out << static_cast(__c)); } 7770: # 537 "/usr/include/c++/8/ostream" 3 7770: template 7770: inline basic_ostream<_CharT, _Traits>& 7770: operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) 7770: { 7770: if (!__s) 7770: __out.setstate(ios_base::badbit); 7770: else 7770: __ostream_insert(__out, __s, 7770: static_cast(_Traits::length(__s))); 7770: return __out; 7770: } 7770: 7770: template 7770: basic_ostream<_CharT, _Traits> & 7770: operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s); 7770: 7770: 7770: template 7770: inline basic_ostream& 7770: operator<<(basic_ostream& __out, const char* __s) 7770: { 7770: if (!__s) 7770: __out.setstate(ios_base::badbit); 7770: else 7770: __ostream_insert(__out, __s, 7770: static_cast(_Traits::length(__s))); 7770: return __out; 7770: } 7770: 7770: 7770: template 7770: inline basic_ostream& 7770: operator<<(basic_ostream& __out, const signed char* __s) 7770: { return (__out << reinterpret_cast(__s)); } 7770: 7770: template 7770: inline basic_ostream & 7770: operator<<(basic_ostream& __out, const unsigned char* __s) 7770: { return (__out << reinterpret_cast(__s)); } 7770: # 588 "/usr/include/c++/8/ostream" 3 7770: template 7770: inline basic_ostream<_CharT, _Traits>& 7770: endl(basic_ostream<_CharT, _Traits>& __os) 7770: { return flush(__os.put(__os.widen('\n'))); } 7770: # 600 "/usr/include/c++/8/ostream" 3 7770: template 7770: inline basic_ostream<_CharT, _Traits>& 7770: ends(basic_ostream<_CharT, _Traits>& __os) 7770: { return __os.put(_CharT()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline basic_ostream<_CharT, _Traits>& 7770: flush(basic_ostream<_CharT, _Traits>& __os) 7770: { return __os.flush(); } 7770: 7770: 7770: template 7770: basic_ostream<_Ch, _Up>& 7770: __is_convertible_to_basic_ostream_test(basic_ostream<_Ch, _Up>*); 7770: 7770: template 7770: struct __is_convertible_to_basic_ostream_impl 7770: { 7770: using __ostream_type = void; 7770: }; 7770: 7770: template 7770: using __do_is_convertible_to_basic_ostream_impl = 7770: decltype(__is_convertible_to_basic_ostream_test 7770: (declval::type*>())); 7770: 7770: template 7770: struct __is_convertible_to_basic_ostream_impl 7770: <_Tp, 7770: __void_t<__do_is_convertible_to_basic_ostream_impl<_Tp>>> 7770: { 7770: using __ostream_type = 7770: __do_is_convertible_to_basic_ostream_impl<_Tp>; 7770: }; 7770: 7770: template 7770: struct __is_convertible_to_basic_ostream 7770: : __is_convertible_to_basic_ostream_impl<_Tp> 7770: { 7770: public: 7770: using type = __not_::__ostream_type>>; 7770: constexpr static bool value = type::value; 7770: }; 7770: 7770: template 7770: struct __is_insertable : false_type {}; 7770: 7770: template 7770: struct __is_insertable<_Ostream, _Tp, 7770: __void_t() 7770: << declval())>> 7770: : true_type {}; 7770: 7770: template 7770: using __rvalue_ostream_type = 7770: typename __is_convertible_to_basic_ostream< 7770: _Ostream>::__ostream_type; 7770: # 674 "/usr/include/c++/8/ostream" 3 7770: template 7770: inline 7770: typename enable_if<__and_<__not_>, 7770: __is_convertible_to_basic_ostream<_Ostream>, 7770: __is_insertable< 7770: __rvalue_ostream_type<_Ostream>, 7770: const _Tp&>>::value, 7770: __rvalue_ostream_type<_Ostream>>::type 7770: operator<<(_Ostream&& __os, const _Tp& __x) 7770: { 7770: __rvalue_ostream_type<_Ostream> __ret_os = __os; 7770: __ret_os << __x; 7770: return __ret_os; 7770: } 7770: 7770: 7770: 7770: } 7770: 7770: # 1 "/usr/include/c++/8/bits/ostream.tcc" 1 3 7770: # 37 "/usr/include/c++/8/bits/ostream.tcc" 3 7770: 7770: # 38 "/usr/include/c++/8/bits/ostream.tcc" 3 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: template 7770: basic_ostream<_CharT, _Traits>::sentry:: 7770: sentry(basic_ostream<_CharT, _Traits>& __os) 7770: : _M_ok(false), _M_os(__os) 7770: { 7770: 7770: if (__os.tie() && __os.good()) 7770: __os.tie()->flush(); 7770: 7770: if (__os.good()) 7770: _M_ok = true; 7770: else 7770: __os.setstate(ios_base::failbit); 7770: } 7770: 7770: template 7770: template 7770: basic_ostream<_CharT, _Traits>& 7770: basic_ostream<_CharT, _Traits>:: 7770: _M_insert(_ValueT __v) 7770: { 7770: sentry __cerb(*this); 7770: if (__cerb) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (true) 7770: { 7770: const __num_put_type& __np = __check_facet(this->_M_num_put); 7770: if (__np.put(*this, *this, this->fill(), __v).failed()) 7770: __err |= ios_base::badbit; 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: if (__err) 7770: this->setstate(__err); 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: basic_ostream<_CharT, _Traits>& 7770: basic_ostream<_CharT, _Traits>:: 7770: operator<<(short __n) 7770: { 7770: 7770: 7770: const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; 7770: if (__fmt == ios_base::oct || __fmt == ios_base::hex) 7770: return _M_insert(static_cast(static_cast(__n))); 7770: else 7770: return _M_insert(static_cast(__n)); 7770: } 7770: 7770: template 7770: basic_ostream<_CharT, _Traits>& 7770: basic_ostream<_CharT, _Traits>:: 7770: operator<<(int __n) 7770: { 7770: 7770: 7770: const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; 7770: if (__fmt == ios_base::oct || __fmt == ios_base::hex) 7770: return _M_insert(static_cast(static_cast(__n))); 7770: else 7770: return _M_insert(static_cast(__n)); 7770: } 7770: 7770: template 7770: basic_ostream<_CharT, _Traits>& 7770: basic_ostream<_CharT, _Traits>:: 7770: operator<<(__streambuf_type* __sbin) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: sentry __cerb(*this); 7770: if (__cerb && __sbin) 7770: { 7770: if (true) 7770: { 7770: if (!__copy_streambufs(__sbin, this->rdbuf())) 7770: __err |= ios_base::failbit; 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::failbit); } 7770: } 7770: else if (!__sbin) 7770: __err |= ios_base::badbit; 7770: if (__err) 7770: this->setstate(__err); 7770: return *this; 7770: } 7770: 7770: template 7770: basic_ostream<_CharT, _Traits>& 7770: basic_ostream<_CharT, _Traits>:: 7770: put(char_type __c) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: sentry __cerb(*this); 7770: if (__cerb) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (true) 7770: { 7770: const int_type __put = this->rdbuf()->sputc(__c); 7770: if (traits_type::eq_int_type(__put, traits_type::eof())) 7770: __err |= ios_base::badbit; 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: if (__err) 7770: this->setstate(__err); 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: basic_ostream<_CharT, _Traits>& 7770: basic_ostream<_CharT, _Traits>:: 7770: write(const _CharT* __s, streamsize __n) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: sentry __cerb(*this); 7770: if (__cerb) 7770: { 7770: if (true) 7770: { _M_write(__s, __n); } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: basic_ostream<_CharT, _Traits>& 7770: basic_ostream<_CharT, _Traits>:: 7770: flush() 7770: { 7770: 7770: 7770: 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (true) 7770: { 7770: if (this->rdbuf() && this->rdbuf()->pubsync() == -1) 7770: __err |= ios_base::badbit; 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: if (__err) 7770: this->setstate(__err); 7770: return *this; 7770: } 7770: 7770: template 7770: typename basic_ostream<_CharT, _Traits>::pos_type 7770: basic_ostream<_CharT, _Traits>:: 7770: tellp() 7770: { 7770: pos_type __ret = pos_type(-1); 7770: if (true) 7770: { 7770: if (!this->fail()) 7770: __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out); 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: return __ret; 7770: } 7770: 7770: template 7770: basic_ostream<_CharT, _Traits>& 7770: basic_ostream<_CharT, _Traits>:: 7770: seekp(pos_type __pos) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (true) 7770: { 7770: if (!this->fail()) 7770: { 7770: 7770: 7770: const pos_type __p = this->rdbuf()->pubseekpos(__pos, 7770: ios_base::out); 7770: 7770: 7770: if (__p == pos_type(off_type(-1))) 7770: __err |= ios_base::failbit; 7770: } 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: if (__err) 7770: this->setstate(__err); 7770: return *this; 7770: } 7770: 7770: template 7770: basic_ostream<_CharT, _Traits>& 7770: basic_ostream<_CharT, _Traits>:: 7770: seekp(off_type __off, ios_base::seekdir __dir) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (true) 7770: { 7770: if (!this->fail()) 7770: { 7770: 7770: 7770: const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, 7770: ios_base::out); 7770: 7770: 7770: if (__p == pos_type(off_type(-1))) 7770: __err |= ios_base::failbit; 7770: } 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: if (__err) 7770: this->setstate(__err); 7770: return *this; 7770: } 7770: 7770: template 7770: basic_ostream<_CharT, _Traits>& 7770: operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s) 7770: { 7770: if (!__s) 7770: __out.setstate(ios_base::badbit); 7770: else 7770: { 7770: 7770: 7770: const size_t __clen = char_traits::length(__s); 7770: if (true) 7770: { 7770: struct __ptr_guard 7770: { 7770: _CharT *__p; 7770: __ptr_guard (_CharT *__ip): __p(__ip) { } 7770: ~__ptr_guard() { delete[] __p; } 7770: _CharT* __get() { return __p; } 7770: } __pg (new _CharT[__clen]); 7770: 7770: _CharT *__ws = __pg.__get(); 7770: for (size_t __i = 0; __i < __clen; ++__i) 7770: __ws[__i] = __out.widen(__s[__i]); 7770: __ostream_insert(__out, __ws, __clen); 7770: } 7770: if (false) 7770: { 7770: __out._M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { __out._M_setstate(ios_base::badbit); } 7770: } 7770: return __out; 7770: } 7770: 7770: 7770: 7770: 7770: extern template class basic_ostream; 7770: extern template ostream& endl(ostream&); 7770: extern template ostream& ends(ostream&); 7770: extern template ostream& flush(ostream&); 7770: extern template ostream& operator<<(ostream&, char); 7770: extern template ostream& operator<<(ostream&, unsigned char); 7770: extern template ostream& operator<<(ostream&, signed char); 7770: extern template ostream& operator<<(ostream&, const char*); 7770: extern template ostream& operator<<(ostream&, const unsigned char*); 7770: extern template ostream& operator<<(ostream&, const signed char*); 7770: 7770: extern template ostream& ostream::_M_insert(long); 7770: extern template ostream& ostream::_M_insert(unsigned long); 7770: extern template ostream& ostream::_M_insert(bool); 7770: 7770: extern template ostream& ostream::_M_insert(long long); 7770: extern template ostream& ostream::_M_insert(unsigned long long); 7770: 7770: extern template ostream& ostream::_M_insert(double); 7770: extern template ostream& ostream::_M_insert(long double); 7770: extern template ostream& ostream::_M_insert(const void*); 7770: 7770: 7770: extern template class basic_ostream; 7770: extern template wostream& endl(wostream&); 7770: extern template wostream& ends(wostream&); 7770: extern template wostream& flush(wostream&); 7770: extern template wostream& operator<<(wostream&, wchar_t); 7770: extern template wostream& operator<<(wostream&, char); 7770: extern template wostream& operator<<(wostream&, const wchar_t*); 7770: extern template wostream& operator<<(wostream&, const char*); 7770: 7770: extern template wostream& wostream::_M_insert(long); 7770: extern template wostream& wostream::_M_insert(unsigned long); 7770: extern template wostream& wostream::_M_insert(bool); 7770: 7770: extern template wostream& wostream::_M_insert(long long); 7770: extern template wostream& wostream::_M_insert(unsigned long long); 7770: 7770: extern template wostream& wostream::_M_insert(double); 7770: extern template wostream& wostream::_M_insert(long double); 7770: extern template wostream& wostream::_M_insert(const void*); 7770: 7770: 7770: 7770: 7770: } 7770: # 694 "/usr/include/c++/8/ostream" 2 3 7770: # 65 "/usr/include/c++/8/iterator" 2 3 7770: # 1 "/usr/include/c++/8/istream" 1 3 7770: # 36 "/usr/include/c++/8/istream" 3 7770: 7770: # 37 "/usr/include/c++/8/istream" 3 7770: 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 57 "/usr/include/c++/8/istream" 3 7770: template 7770: class basic_istream : virtual public basic_ios<_CharT, _Traits> 7770: { 7770: public: 7770: 7770: typedef _CharT char_type; 7770: typedef typename _Traits::int_type int_type; 7770: typedef typename _Traits::pos_type pos_type; 7770: typedef typename _Traits::off_type off_type; 7770: typedef _Traits traits_type; 7770: 7770: 7770: typedef basic_streambuf<_CharT, _Traits> __streambuf_type; 7770: typedef basic_ios<_CharT, _Traits> __ios_type; 7770: typedef basic_istream<_CharT, _Traits> __istream_type; 7770: typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > 7770: __num_get_type; 7770: typedef ctype<_CharT> __ctype_type; 7770: 7770: protected: 7770: 7770: 7770: 7770: 7770: 7770: streamsize _M_gcount; 7770: 7770: public: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: explicit 7770: basic_istream(__streambuf_type* __sb) 7770: : _M_gcount(streamsize(0)) 7770: { this->init(__sb); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: virtual 7770: ~basic_istream() 7770: { _M_gcount = streamsize(0); } 7770: 7770: 7770: class sentry; 7770: friend class sentry; 7770: # 119 "/usr/include/c++/8/istream" 3 7770: __istream_type& 7770: operator>>(__istream_type& (*__pf)(__istream_type&)) 7770: { return __pf(*this); } 7770: 7770: __istream_type& 7770: operator>>(__ios_type& (*__pf)(__ios_type&)) 7770: { 7770: __pf(*this); 7770: return *this; 7770: } 7770: 7770: __istream_type& 7770: operator>>(ios_base& (*__pf)(ios_base&)) 7770: { 7770: __pf(*this); 7770: return *this; 7770: } 7770: # 167 "/usr/include/c++/8/istream" 3 7770: __istream_type& 7770: operator>>(bool& __n) 7770: { return _M_extract(__n); } 7770: 7770: __istream_type& 7770: operator>>(short& __n); 7770: 7770: __istream_type& 7770: operator>>(unsigned short& __n) 7770: { return _M_extract(__n); } 7770: 7770: __istream_type& 7770: operator>>(int& __n); 7770: 7770: __istream_type& 7770: operator>>(unsigned int& __n) 7770: { return _M_extract(__n); } 7770: 7770: __istream_type& 7770: operator>>(long& __n) 7770: { return _M_extract(__n); } 7770: 7770: __istream_type& 7770: operator>>(unsigned long& __n) 7770: { return _M_extract(__n); } 7770: 7770: 7770: __istream_type& 7770: operator>>(long long& __n) 7770: { return _M_extract(__n); } 7770: 7770: __istream_type& 7770: operator>>(unsigned long long& __n) 7770: { return _M_extract(__n); } 7770: # 213 "/usr/include/c++/8/istream" 3 7770: __istream_type& 7770: operator>>(float& __f) 7770: { return _M_extract(__f); } 7770: 7770: __istream_type& 7770: operator>>(double& __f) 7770: { return _M_extract(__f); } 7770: 7770: __istream_type& 7770: operator>>(long double& __f) 7770: { return _M_extract(__f); } 7770: # 234 "/usr/include/c++/8/istream" 3 7770: __istream_type& 7770: operator>>(void*& __p) 7770: { return _M_extract(__p); } 7770: # 258 "/usr/include/c++/8/istream" 3 7770: __istream_type& 7770: operator>>(__streambuf_type* __sb); 7770: # 268 "/usr/include/c++/8/istream" 3 7770: streamsize 7770: gcount() const 7770: { return _M_gcount; } 7770: # 301 "/usr/include/c++/8/istream" 3 7770: int_type 7770: get(); 7770: # 315 "/usr/include/c++/8/istream" 3 7770: __istream_type& 7770: get(char_type& __c); 7770: # 342 "/usr/include/c++/8/istream" 3 7770: __istream_type& 7770: get(char_type* __s, streamsize __n, char_type __delim); 7770: # 353 "/usr/include/c++/8/istream" 3 7770: __istream_type& 7770: get(char_type* __s, streamsize __n) 7770: { return this->get(__s, __n, this->widen('\n')); } 7770: # 376 "/usr/include/c++/8/istream" 3 7770: __istream_type& 7770: get(__streambuf_type& __sb, char_type __delim); 7770: # 386 "/usr/include/c++/8/istream" 3 7770: __istream_type& 7770: get(__streambuf_type& __sb) 7770: { return this->get(__sb, this->widen('\n')); } 7770: # 415 "/usr/include/c++/8/istream" 3 7770: __istream_type& 7770: getline(char_type* __s, streamsize __n, char_type __delim); 7770: # 426 "/usr/include/c++/8/istream" 3 7770: __istream_type& 7770: getline(char_type* __s, streamsize __n) 7770: { return this->getline(__s, __n, this->widen('\n')); } 7770: # 450 "/usr/include/c++/8/istream" 3 7770: __istream_type& 7770: ignore(streamsize __n, int_type __delim); 7770: 7770: __istream_type& 7770: ignore(streamsize __n); 7770: 7770: __istream_type& 7770: ignore(); 7770: # 467 "/usr/include/c++/8/istream" 3 7770: int_type 7770: peek(); 7770: # 485 "/usr/include/c++/8/istream" 3 7770: __istream_type& 7770: read(char_type* __s, streamsize __n); 7770: # 504 "/usr/include/c++/8/istream" 3 7770: streamsize 7770: readsome(char_type* __s, streamsize __n); 7770: # 521 "/usr/include/c++/8/istream" 3 7770: __istream_type& 7770: putback(char_type __c); 7770: # 537 "/usr/include/c++/8/istream" 3 7770: __istream_type& 7770: unget(); 7770: # 555 "/usr/include/c++/8/istream" 3 7770: int 7770: sync(); 7770: # 570 "/usr/include/c++/8/istream" 3 7770: pos_type 7770: tellg(); 7770: # 585 "/usr/include/c++/8/istream" 3 7770: __istream_type& 7770: seekg(pos_type); 7770: # 601 "/usr/include/c++/8/istream" 3 7770: __istream_type& 7770: seekg(off_type, ios_base::seekdir); 7770: 7770: 7770: protected: 7770: basic_istream() 7770: : _M_gcount(streamsize(0)) 7770: { this->init(0); } 7770: 7770: 7770: basic_istream(const basic_istream&) = delete; 7770: 7770: basic_istream(basic_istream&& __rhs) 7770: : __ios_type(), _M_gcount(__rhs._M_gcount) 7770: { 7770: __ios_type::move(__rhs); 7770: __rhs._M_gcount = 0; 7770: } 7770: 7770: 7770: 7770: basic_istream& operator=(const basic_istream&) = delete; 7770: 7770: basic_istream& 7770: operator=(basic_istream&& __rhs) 7770: { 7770: swap(__rhs); 7770: return *this; 7770: } 7770: 7770: void 7770: swap(basic_istream& __rhs) 7770: { 7770: __ios_type::swap(__rhs); 7770: std::swap(_M_gcount, __rhs._M_gcount); 7770: } 7770: 7770: 7770: template 7770: __istream_type& 7770: _M_extract(_ValueT& __v); 7770: }; 7770: 7770: 7770: template<> 7770: basic_istream& 7770: basic_istream:: 7770: getline(char_type* __s, streamsize __n, char_type __delim); 7770: 7770: template<> 7770: basic_istream& 7770: basic_istream:: 7770: ignore(streamsize __n); 7770: 7770: template<> 7770: basic_istream& 7770: basic_istream:: 7770: ignore(streamsize __n, int_type __delim); 7770: 7770: 7770: template<> 7770: basic_istream& 7770: basic_istream:: 7770: getline(char_type* __s, streamsize __n, char_type __delim); 7770: 7770: template<> 7770: basic_istream& 7770: basic_istream:: 7770: ignore(streamsize __n); 7770: 7770: template<> 7770: basic_istream& 7770: basic_istream:: 7770: ignore(streamsize __n, int_type __delim); 7770: # 685 "/usr/include/c++/8/istream" 3 7770: template 7770: class basic_istream<_CharT, _Traits>::sentry 7770: { 7770: 7770: bool _M_ok; 7770: 7770: public: 7770: 7770: typedef _Traits traits_type; 7770: typedef basic_streambuf<_CharT, _Traits> __streambuf_type; 7770: typedef basic_istream<_CharT, _Traits> __istream_type; 7770: typedef typename __istream_type::__ctype_type __ctype_type; 7770: typedef typename _Traits::int_type __int_type; 7770: # 721 "/usr/include/c++/8/istream" 3 7770: explicit 7770: sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false); 7770: # 732 "/usr/include/c++/8/istream" 3 7770: explicit 7770: 7770: operator bool() const 7770: { return _M_ok; } 7770: }; 7770: # 750 "/usr/include/c++/8/istream" 3 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c); 7770: 7770: template 7770: inline basic_istream& 7770: operator>>(basic_istream& __in, unsigned char& __c) 7770: { return (__in >> reinterpret_cast(__c)); } 7770: 7770: template 7770: inline basic_istream& 7770: operator>>(basic_istream& __in, signed char& __c) 7770: { return (__in >> reinterpret_cast(__c)); } 7770: # 792 "/usr/include/c++/8/istream" 3 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s); 7770: 7770: 7770: template<> 7770: basic_istream& 7770: operator>>(basic_istream& __in, char* __s); 7770: 7770: template 7770: inline basic_istream& 7770: operator>>(basic_istream& __in, unsigned char* __s) 7770: { return (__in >> reinterpret_cast(__s)); } 7770: 7770: template 7770: inline basic_istream& 7770: operator>>(basic_istream& __in, signed char* __s) 7770: { return (__in >> reinterpret_cast(__s)); } 7770: # 823 "/usr/include/c++/8/istream" 3 7770: template 7770: class basic_iostream 7770: : public basic_istream<_CharT, _Traits>, 7770: public basic_ostream<_CharT, _Traits> 7770: { 7770: public: 7770: 7770: 7770: 7770: typedef _CharT char_type; 7770: typedef typename _Traits::int_type int_type; 7770: typedef typename _Traits::pos_type pos_type; 7770: typedef typename _Traits::off_type off_type; 7770: typedef _Traits traits_type; 7770: 7770: 7770: typedef basic_istream<_CharT, _Traits> __istream_type; 7770: typedef basic_ostream<_CharT, _Traits> __ostream_type; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: explicit 7770: basic_iostream(basic_streambuf<_CharT, _Traits>* __sb) 7770: : __istream_type(__sb), __ostream_type(__sb) { } 7770: 7770: 7770: 7770: 7770: virtual 7770: ~basic_iostream() { } 7770: 7770: protected: 7770: basic_iostream() 7770: : __istream_type(), __ostream_type() { } 7770: 7770: 7770: basic_iostream(const basic_iostream&) = delete; 7770: 7770: basic_iostream(basic_iostream&& __rhs) 7770: : __istream_type(std::move(__rhs)), __ostream_type(*this) 7770: { } 7770: 7770: 7770: 7770: basic_iostream& operator=(const basic_iostream&) = delete; 7770: 7770: basic_iostream& 7770: operator=(basic_iostream&& __rhs) 7770: { 7770: swap(__rhs); 7770: return *this; 7770: } 7770: 7770: void 7770: swap(basic_iostream& __rhs) 7770: { __istream_type::swap(__rhs); } 7770: 7770: }; 7770: # 906 "/usr/include/c++/8/istream" 3 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: ws(basic_istream<_CharT, _Traits>& __is); 7770: 7770: 7770: template 7770: basic_istream<_Ch, _Up>& 7770: __is_convertible_to_basic_istream_test(basic_istream<_Ch, _Up>*); 7770: 7770: template 7770: struct __is_convertible_to_basic_istream_impl 7770: { 7770: using __istream_type = void; 7770: }; 7770: 7770: template 7770: using __do_is_convertible_to_basic_istream_impl = 7770: decltype(__is_convertible_to_basic_istream_test 7770: (declval::type*>())); 7770: 7770: template 7770: struct __is_convertible_to_basic_istream_impl 7770: <_Tp, 7770: __void_t<__do_is_convertible_to_basic_istream_impl<_Tp>>> 7770: { 7770: using __istream_type = 7770: __do_is_convertible_to_basic_istream_impl<_Tp>; 7770: }; 7770: 7770: template 7770: struct __is_convertible_to_basic_istream 7770: : __is_convertible_to_basic_istream_impl<_Tp> 7770: { 7770: public: 7770: using type = __not_::__istream_type>>; 7770: constexpr static bool value = type::value; 7770: }; 7770: 7770: template 7770: struct __is_extractable : false_type {}; 7770: 7770: template 7770: struct __is_extractable<_Istream, _Tp, 7770: __void_t() 7770: >> declval<_Tp>())>> 7770: : true_type {}; 7770: 7770: template 7770: using __rvalue_istream_type = 7770: typename __is_convertible_to_basic_istream< 7770: _Istream>::__istream_type; 7770: # 972 "/usr/include/c++/8/istream" 3 7770: template 7770: inline 7770: typename enable_if<__and_<__not_>, 7770: __is_convertible_to_basic_istream<_Istream>, 7770: __is_extractable< 7770: __rvalue_istream_type<_Istream>, 7770: _Tp&&>>::value, 7770: __rvalue_istream_type<_Istream>>::type 7770: operator>>(_Istream&& __is, _Tp&& __x) 7770: { 7770: __rvalue_istream_type<_Istream> __ret_is = __is; 7770: __ret_is >> std::forward<_Tp>(__x); 7770: return __ret_is; 7770: } 7770: 7770: 7770: 7770: } 7770: 7770: # 1 "/usr/include/c++/8/bits/istream.tcc" 1 3 7770: # 37 "/usr/include/c++/8/bits/istream.tcc" 3 7770: 7770: # 38 "/usr/include/c++/8/bits/istream.tcc" 3 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: template 7770: basic_istream<_CharT, _Traits>::sentry:: 7770: sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (__in.good()) 7770: if (true) 7770: { 7770: if (__in.tie()) 7770: __in.tie()->flush(); 7770: if (!__noskip && bool(__in.flags() & ios_base::skipws)) 7770: { 7770: const __int_type __eof = traits_type::eof(); 7770: __streambuf_type* __sb = __in.rdbuf(); 7770: __int_type __c = __sb->sgetc(); 7770: 7770: const __ctype_type& __ct = __check_facet(__in._M_ctype); 7770: while (!traits_type::eq_int_type(__c, __eof) 7770: && __ct.is(ctype_base::space, 7770: traits_type::to_char_type(__c))) 7770: __c = __sb->snextc(); 7770: 7770: 7770: 7770: 7770: if (traits_type::eq_int_type(__c, __eof)) 7770: __err |= ios_base::eofbit; 7770: } 7770: } 7770: if (false) 7770: { 7770: __in._M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { __in._M_setstate(ios_base::badbit); } 7770: 7770: if (__in.good() && __err == ios_base::goodbit) 7770: _M_ok = true; 7770: else 7770: { 7770: __err |= ios_base::failbit; 7770: __in.setstate(__err); 7770: } 7770: } 7770: 7770: template 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: basic_istream<_CharT, _Traits>:: 7770: _M_extract(_ValueT& __v) 7770: { 7770: sentry __cerb(*this, false); 7770: if (__cerb) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (true) 7770: { 7770: const __num_get_type& __ng = __check_facet(this->_M_num_get); 7770: __ng.get(*this, 0, *this, __err, __v); 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: if (__err) 7770: this->setstate(__err); 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: basic_istream<_CharT, _Traits>:: 7770: operator>>(short& __n) 7770: { 7770: 7770: 7770: sentry __cerb(*this, false); 7770: if (__cerb) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (true) 7770: { 7770: long __l; 7770: const __num_get_type& __ng = __check_facet(this->_M_num_get); 7770: __ng.get(*this, 0, *this, __err, __l); 7770: 7770: 7770: 7770: if (__l < __gnu_cxx::__numeric_traits::__min) 7770: { 7770: __err |= ios_base::failbit; 7770: __n = __gnu_cxx::__numeric_traits::__min; 7770: } 7770: else if (__l > __gnu_cxx::__numeric_traits::__max) 7770: { 7770: __err |= ios_base::failbit; 7770: __n = __gnu_cxx::__numeric_traits::__max; 7770: } 7770: else 7770: __n = short(__l); 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: if (__err) 7770: this->setstate(__err); 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: basic_istream<_CharT, _Traits>:: 7770: operator>>(int& __n) 7770: { 7770: 7770: 7770: sentry __cerb(*this, false); 7770: if (__cerb) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (true) 7770: { 7770: long __l; 7770: const __num_get_type& __ng = __check_facet(this->_M_num_get); 7770: __ng.get(*this, 0, *this, __err, __l); 7770: 7770: 7770: 7770: if (__l < __gnu_cxx::__numeric_traits::__min) 7770: { 7770: __err |= ios_base::failbit; 7770: __n = __gnu_cxx::__numeric_traits::__min; 7770: } 7770: else if (__l > __gnu_cxx::__numeric_traits::__max) 7770: { 7770: __err |= ios_base::failbit; 7770: __n = __gnu_cxx::__numeric_traits::__max; 7770: } 7770: else 7770: __n = int(__l); 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: if (__err) 7770: this->setstate(__err); 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: basic_istream<_CharT, _Traits>:: 7770: operator>>(__streambuf_type* __sbout) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: sentry __cerb(*this, false); 7770: if (__cerb && __sbout) 7770: { 7770: if (true) 7770: { 7770: bool __ineof; 7770: if (!__copy_streambufs_eof(this->rdbuf(), __sbout, __ineof)) 7770: __err |= ios_base::failbit; 7770: if (__ineof) 7770: __err |= ios_base::eofbit; 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::failbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::failbit); } 7770: } 7770: else if (!__sbout) 7770: __err |= ios_base::failbit; 7770: if (__err) 7770: this->setstate(__err); 7770: return *this; 7770: } 7770: 7770: template 7770: typename basic_istream<_CharT, _Traits>::int_type 7770: basic_istream<_CharT, _Traits>:: 7770: get(void) 7770: { 7770: const int_type __eof = traits_type::eof(); 7770: int_type __c = __eof; 7770: _M_gcount = 0; 7770: ios_base::iostate __err = ios_base::goodbit; 7770: sentry __cerb(*this, true); 7770: if (__cerb) 7770: { 7770: if (true) 7770: { 7770: __c = this->rdbuf()->sbumpc(); 7770: 7770: if (!traits_type::eq_int_type(__c, __eof)) 7770: _M_gcount = 1; 7770: else 7770: __err |= ios_base::eofbit; 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: } 7770: if (!_M_gcount) 7770: __err |= ios_base::failbit; 7770: if (__err) 7770: this->setstate(__err); 7770: return __c; 7770: } 7770: 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: basic_istream<_CharT, _Traits>:: 7770: get(char_type& __c) 7770: { 7770: _M_gcount = 0; 7770: ios_base::iostate __err = ios_base::goodbit; 7770: sentry __cerb(*this, true); 7770: if (__cerb) 7770: { 7770: if (true) 7770: { 7770: const int_type __cb = this->rdbuf()->sbumpc(); 7770: 7770: if (!traits_type::eq_int_type(__cb, traits_type::eof())) 7770: { 7770: _M_gcount = 1; 7770: __c = traits_type::to_char_type(__cb); 7770: } 7770: else 7770: __err |= ios_base::eofbit; 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: } 7770: if (!_M_gcount) 7770: __err |= ios_base::failbit; 7770: if (__err) 7770: this->setstate(__err); 7770: return *this; 7770: } 7770: 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: basic_istream<_CharT, _Traits>:: 7770: get(char_type* __s, streamsize __n, char_type __delim) 7770: { 7770: _M_gcount = 0; 7770: ios_base::iostate __err = ios_base::goodbit; 7770: sentry __cerb(*this, true); 7770: if (__cerb) 7770: { 7770: if (true) 7770: { 7770: const int_type __idelim = traits_type::to_int_type(__delim); 7770: const int_type __eof = traits_type::eof(); 7770: __streambuf_type* __sb = this->rdbuf(); 7770: int_type __c = __sb->sgetc(); 7770: 7770: while (_M_gcount + 1 < __n 7770: && !traits_type::eq_int_type(__c, __eof) 7770: && !traits_type::eq_int_type(__c, __idelim)) 7770: { 7770: *__s++ = traits_type::to_char_type(__c); 7770: ++_M_gcount; 7770: __c = __sb->snextc(); 7770: } 7770: if (traits_type::eq_int_type(__c, __eof)) 7770: __err |= ios_base::eofbit; 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: } 7770: 7770: 7770: if (__n > 0) 7770: *__s = char_type(); 7770: if (!_M_gcount) 7770: __err |= ios_base::failbit; 7770: if (__err) 7770: this->setstate(__err); 7770: return *this; 7770: } 7770: 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: basic_istream<_CharT, _Traits>:: 7770: get(__streambuf_type& __sb, char_type __delim) 7770: { 7770: _M_gcount = 0; 7770: ios_base::iostate __err = ios_base::goodbit; 7770: sentry __cerb(*this, true); 7770: if (__cerb) 7770: { 7770: if (true) 7770: { 7770: const int_type __idelim = traits_type::to_int_type(__delim); 7770: const int_type __eof = traits_type::eof(); 7770: __streambuf_type* __this_sb = this->rdbuf(); 7770: int_type __c = __this_sb->sgetc(); 7770: char_type __c2 = traits_type::to_char_type(__c); 7770: 7770: while (!traits_type::eq_int_type(__c, __eof) 7770: && !traits_type::eq_int_type(__c, __idelim) 7770: && !traits_type::eq_int_type(__sb.sputc(__c2), __eof)) 7770: { 7770: ++_M_gcount; 7770: __c = __this_sb->snextc(); 7770: __c2 = traits_type::to_char_type(__c); 7770: } 7770: if (traits_type::eq_int_type(__c, __eof)) 7770: __err |= ios_base::eofbit; 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: } 7770: if (!_M_gcount) 7770: __err |= ios_base::failbit; 7770: if (__err) 7770: this->setstate(__err); 7770: return *this; 7770: } 7770: 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: basic_istream<_CharT, _Traits>:: 7770: getline(char_type* __s, streamsize __n, char_type __delim) 7770: { 7770: _M_gcount = 0; 7770: ios_base::iostate __err = ios_base::goodbit; 7770: sentry __cerb(*this, true); 7770: if (__cerb) 7770: { 7770: if (true) 7770: { 7770: const int_type __idelim = traits_type::to_int_type(__delim); 7770: const int_type __eof = traits_type::eof(); 7770: __streambuf_type* __sb = this->rdbuf(); 7770: int_type __c = __sb->sgetc(); 7770: 7770: while (_M_gcount + 1 < __n 7770: && !traits_type::eq_int_type(__c, __eof) 7770: && !traits_type::eq_int_type(__c, __idelim)) 7770: { 7770: *__s++ = traits_type::to_char_type(__c); 7770: __c = __sb->snextc(); 7770: ++_M_gcount; 7770: } 7770: if (traits_type::eq_int_type(__c, __eof)) 7770: __err |= ios_base::eofbit; 7770: else 7770: { 7770: if (traits_type::eq_int_type(__c, __idelim)) 7770: { 7770: __sb->sbumpc(); 7770: ++_M_gcount; 7770: } 7770: else 7770: __err |= ios_base::failbit; 7770: } 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: } 7770: 7770: 7770: if (__n > 0) 7770: *__s = char_type(); 7770: if (!_M_gcount) 7770: __err |= ios_base::failbit; 7770: if (__err) 7770: this->setstate(__err); 7770: return *this; 7770: } 7770: 7770: 7770: 7770: 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: basic_istream<_CharT, _Traits>:: 7770: ignore(void) 7770: { 7770: _M_gcount = 0; 7770: sentry __cerb(*this, true); 7770: if (__cerb) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (true) 7770: { 7770: const int_type __eof = traits_type::eof(); 7770: __streambuf_type* __sb = this->rdbuf(); 7770: 7770: if (traits_type::eq_int_type(__sb->sbumpc(), __eof)) 7770: __err |= ios_base::eofbit; 7770: else 7770: _M_gcount = 1; 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: if (__err) 7770: this->setstate(__err); 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: basic_istream<_CharT, _Traits>:: 7770: ignore(streamsize __n) 7770: { 7770: _M_gcount = 0; 7770: sentry __cerb(*this, true); 7770: if (__cerb && __n > 0) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (true) 7770: { 7770: const int_type __eof = traits_type::eof(); 7770: __streambuf_type* __sb = this->rdbuf(); 7770: int_type __c = __sb->sgetc(); 7770: # 521 "/usr/include/c++/8/bits/istream.tcc" 3 7770: bool __large_ignore = false; 7770: while (true) 7770: { 7770: while (_M_gcount < __n 7770: && !traits_type::eq_int_type(__c, __eof)) 7770: { 7770: ++_M_gcount; 7770: __c = __sb->snextc(); 7770: } 7770: if (__n == __gnu_cxx::__numeric_traits::__max 7770: && !traits_type::eq_int_type(__c, __eof)) 7770: { 7770: _M_gcount = 7770: __gnu_cxx::__numeric_traits::__min; 7770: __large_ignore = true; 7770: } 7770: else 7770: break; 7770: } 7770: 7770: if (__large_ignore) 7770: _M_gcount = __gnu_cxx::__numeric_traits::__max; 7770: 7770: if (traits_type::eq_int_type(__c, __eof)) 7770: __err |= ios_base::eofbit; 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: if (__err) 7770: this->setstate(__err); 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: basic_istream<_CharT, _Traits>:: 7770: ignore(streamsize __n, int_type __delim) 7770: { 7770: _M_gcount = 0; 7770: sentry __cerb(*this, true); 7770: if (__cerb && __n > 0) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (true) 7770: { 7770: const int_type __eof = traits_type::eof(); 7770: __streambuf_type* __sb = this->rdbuf(); 7770: int_type __c = __sb->sgetc(); 7770: 7770: 7770: bool __large_ignore = false; 7770: while (true) 7770: { 7770: while (_M_gcount < __n 7770: && !traits_type::eq_int_type(__c, __eof) 7770: && !traits_type::eq_int_type(__c, __delim)) 7770: { 7770: ++_M_gcount; 7770: __c = __sb->snextc(); 7770: } 7770: if (__n == __gnu_cxx::__numeric_traits::__max 7770: && !traits_type::eq_int_type(__c, __eof) 7770: && !traits_type::eq_int_type(__c, __delim)) 7770: { 7770: _M_gcount = 7770: __gnu_cxx::__numeric_traits::__min; 7770: __large_ignore = true; 7770: } 7770: else 7770: break; 7770: } 7770: 7770: if (__large_ignore) 7770: _M_gcount = __gnu_cxx::__numeric_traits::__max; 7770: 7770: if (traits_type::eq_int_type(__c, __eof)) 7770: __err |= ios_base::eofbit; 7770: else if (traits_type::eq_int_type(__c, __delim)) 7770: { 7770: if (_M_gcount 7770: < __gnu_cxx::__numeric_traits::__max) 7770: ++_M_gcount; 7770: __sb->sbumpc(); 7770: } 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: if (__err) 7770: this->setstate(__err); 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: typename basic_istream<_CharT, _Traits>::int_type 7770: basic_istream<_CharT, _Traits>:: 7770: peek(void) 7770: { 7770: int_type __c = traits_type::eof(); 7770: _M_gcount = 0; 7770: sentry __cerb(*this, true); 7770: if (__cerb) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (true) 7770: { 7770: __c = this->rdbuf()->sgetc(); 7770: if (traits_type::eq_int_type(__c, traits_type::eof())) 7770: __err |= ios_base::eofbit; 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: if (__err) 7770: this->setstate(__err); 7770: } 7770: return __c; 7770: } 7770: 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: basic_istream<_CharT, _Traits>:: 7770: read(char_type* __s, streamsize __n) 7770: { 7770: _M_gcount = 0; 7770: sentry __cerb(*this, true); 7770: if (__cerb) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (true) 7770: { 7770: _M_gcount = this->rdbuf()->sgetn(__s, __n); 7770: if (_M_gcount != __n) 7770: __err |= (ios_base::eofbit | ios_base::failbit); 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: if (__err) 7770: this->setstate(__err); 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: streamsize 7770: basic_istream<_CharT, _Traits>:: 7770: readsome(char_type* __s, streamsize __n) 7770: { 7770: _M_gcount = 0; 7770: sentry __cerb(*this, true); 7770: if (__cerb) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (true) 7770: { 7770: 7770: const streamsize __num = this->rdbuf()->in_avail(); 7770: if (__num > 0) 7770: _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n)); 7770: else if (__num == -1) 7770: __err |= ios_base::eofbit; 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: if (__err) 7770: this->setstate(__err); 7770: } 7770: return _M_gcount; 7770: } 7770: 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: basic_istream<_CharT, _Traits>:: 7770: putback(char_type __c) 7770: { 7770: 7770: 7770: _M_gcount = 0; 7770: 7770: this->clear(this->rdstate() & ~ios_base::eofbit); 7770: sentry __cerb(*this, true); 7770: if (__cerb) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (true) 7770: { 7770: const int_type __eof = traits_type::eof(); 7770: __streambuf_type* __sb = this->rdbuf(); 7770: if (!__sb 7770: || traits_type::eq_int_type(__sb->sputbackc(__c), __eof)) 7770: __err |= ios_base::badbit; 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: if (__err) 7770: this->setstate(__err); 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: basic_istream<_CharT, _Traits>:: 7770: unget(void) 7770: { 7770: 7770: 7770: _M_gcount = 0; 7770: 7770: this->clear(this->rdstate() & ~ios_base::eofbit); 7770: sentry __cerb(*this, true); 7770: if (__cerb) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (true) 7770: { 7770: const int_type __eof = traits_type::eof(); 7770: __streambuf_type* __sb = this->rdbuf(); 7770: if (!__sb 7770: || traits_type::eq_int_type(__sb->sungetc(), __eof)) 7770: __err |= ios_base::badbit; 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: if (__err) 7770: this->setstate(__err); 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: int 7770: basic_istream<_CharT, _Traits>:: 7770: sync(void) 7770: { 7770: 7770: 7770: int __ret = -1; 7770: sentry __cerb(*this, true); 7770: if (__cerb) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (true) 7770: { 7770: __streambuf_type* __sb = this->rdbuf(); 7770: if (__sb) 7770: { 7770: if (__sb->pubsync() == -1) 7770: __err |= ios_base::badbit; 7770: else 7770: __ret = 0; 7770: } 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: if (__err) 7770: this->setstate(__err); 7770: } 7770: return __ret; 7770: } 7770: 7770: template 7770: typename basic_istream<_CharT, _Traits>::pos_type 7770: basic_istream<_CharT, _Traits>:: 7770: tellg(void) 7770: { 7770: 7770: 7770: pos_type __ret = pos_type(-1); 7770: sentry __cerb(*this, true); 7770: if (__cerb) 7770: { 7770: if (true) 7770: { 7770: if (!this->fail()) 7770: __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, 7770: ios_base::in); 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: } 7770: return __ret; 7770: } 7770: 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: basic_istream<_CharT, _Traits>:: 7770: seekg(pos_type __pos) 7770: { 7770: 7770: 7770: 7770: this->clear(this->rdstate() & ~ios_base::eofbit); 7770: sentry __cerb(*this, true); 7770: if (__cerb) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (true) 7770: { 7770: if (!this->fail()) 7770: { 7770: 7770: const pos_type __p = this->rdbuf()->pubseekpos(__pos, 7770: ios_base::in); 7770: 7770: 7770: if (__p == pos_type(off_type(-1))) 7770: __err |= ios_base::failbit; 7770: } 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: if (__err) 7770: this->setstate(__err); 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: basic_istream<_CharT, _Traits>:: 7770: seekg(off_type __off, ios_base::seekdir __dir) 7770: { 7770: 7770: 7770: 7770: this->clear(this->rdstate() & ~ios_base::eofbit); 7770: sentry __cerb(*this, true); 7770: if (__cerb) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (true) 7770: { 7770: if (!this->fail()) 7770: { 7770: 7770: const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, 7770: ios_base::in); 7770: 7770: 7770: if (__p == pos_type(off_type(-1))) 7770: __err |= ios_base::failbit; 7770: } 7770: } 7770: if (false) 7770: { 7770: this->_M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { this->_M_setstate(ios_base::badbit); } 7770: if (__err) 7770: this->setstate(__err); 7770: } 7770: return *this; 7770: } 7770: 7770: 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c) 7770: { 7770: typedef basic_istream<_CharT, _Traits> __istream_type; 7770: typedef typename __istream_type::int_type __int_type; 7770: 7770: typename __istream_type::sentry __cerb(__in, false); 7770: if (__cerb) 7770: { 7770: ios_base::iostate __err = ios_base::goodbit; 7770: if (true) 7770: { 7770: const __int_type __cb = __in.rdbuf()->sbumpc(); 7770: if (!_Traits::eq_int_type(__cb, _Traits::eof())) 7770: __c = _Traits::to_char_type(__cb); 7770: else 7770: __err |= (ios_base::eofbit | ios_base::failbit); 7770: } 7770: if (false) 7770: { 7770: __in._M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { __in._M_setstate(ios_base::badbit); } 7770: if (__err) 7770: __in.setstate(__err); 7770: } 7770: return __in; 7770: } 7770: 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s) 7770: { 7770: typedef basic_istream<_CharT, _Traits> __istream_type; 7770: typedef basic_streambuf<_CharT, _Traits> __streambuf_type; 7770: typedef typename _Traits::int_type int_type; 7770: typedef _CharT char_type; 7770: typedef ctype<_CharT> __ctype_type; 7770: 7770: streamsize __extracted = 0; 7770: ios_base::iostate __err = ios_base::goodbit; 7770: typename __istream_type::sentry __cerb(__in, false); 7770: if (__cerb) 7770: { 7770: if (true) 7770: { 7770: 7770: streamsize __num = __in.width(); 7770: if (__num <= 0) 7770: __num = __gnu_cxx::__numeric_traits::__max; 7770: 7770: const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); 7770: 7770: const int_type __eof = _Traits::eof(); 7770: __streambuf_type* __sb = __in.rdbuf(); 7770: int_type __c = __sb->sgetc(); 7770: 7770: while (__extracted < __num - 1 7770: && !_Traits::eq_int_type(__c, __eof) 7770: && !__ct.is(ctype_base::space, 7770: _Traits::to_char_type(__c))) 7770: { 7770: *__s++ = _Traits::to_char_type(__c); 7770: ++__extracted; 7770: __c = __sb->snextc(); 7770: } 7770: if (_Traits::eq_int_type(__c, __eof)) 7770: __err |= ios_base::eofbit; 7770: 7770: 7770: 7770: *__s = char_type(); 7770: __in.width(0); 7770: } 7770: if (false) 7770: { 7770: __in._M_setstate(ios_base::badbit); 7770: ; 7770: } 7770: if (false) 7770: { __in._M_setstate(ios_base::badbit); } 7770: } 7770: if (!__extracted) 7770: __err |= ios_base::failbit; 7770: if (__err) 7770: __in.setstate(__err); 7770: return __in; 7770: } 7770: 7770: 7770: template 7770: basic_istream<_CharT, _Traits>& 7770: ws(basic_istream<_CharT, _Traits>& __in) 7770: { 7770: typedef basic_istream<_CharT, _Traits> __istream_type; 7770: typedef basic_streambuf<_CharT, _Traits> __streambuf_type; 7770: typedef typename __istream_type::int_type __int_type; 7770: typedef ctype<_CharT> __ctype_type; 7770: 7770: const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); 7770: const __int_type __eof = _Traits::eof(); 7770: __streambuf_type* __sb = __in.rdbuf(); 7770: __int_type __c = __sb->sgetc(); 7770: 7770: while (!_Traits::eq_int_type(__c, __eof) 7770: && __ct.is(ctype_base::space, _Traits::to_char_type(__c))) 7770: __c = __sb->snextc(); 7770: 7770: if (_Traits::eq_int_type(__c, __eof)) 7770: __in.setstate(ios_base::eofbit); 7770: return __in; 7770: } 7770: 7770: 7770: 7770: 7770: extern template class basic_istream; 7770: extern template istream& ws(istream&); 7770: extern template istream& operator>>(istream&, char&); 7770: extern template istream& operator>>(istream&, char*); 7770: extern template istream& operator>>(istream&, unsigned char&); 7770: extern template istream& operator>>(istream&, signed char&); 7770: extern template istream& operator>>(istream&, unsigned char*); 7770: extern template istream& operator>>(istream&, signed char*); 7770: 7770: extern template istream& istream::_M_extract(unsigned short&); 7770: extern template istream& istream::_M_extract(unsigned int&); 7770: extern template istream& istream::_M_extract(long&); 7770: extern template istream& istream::_M_extract(unsigned long&); 7770: extern template istream& istream::_M_extract(bool&); 7770: 7770: extern template istream& istream::_M_extract(long long&); 7770: extern template istream& istream::_M_extract(unsigned long long&); 7770: 7770: extern template istream& istream::_M_extract(float&); 7770: extern template istream& istream::_M_extract(double&); 7770: extern template istream& istream::_M_extract(long double&); 7770: extern template istream& istream::_M_extract(void*&); 7770: 7770: extern template class basic_iostream; 7770: 7770: 7770: extern template class basic_istream; 7770: extern template wistream& ws(wistream&); 7770: extern template wistream& operator>>(wistream&, wchar_t&); 7770: extern template wistream& operator>>(wistream&, wchar_t*); 7770: 7770: extern template wistream& wistream::_M_extract(unsigned short&); 7770: extern template wistream& wistream::_M_extract(unsigned int&); 7770: extern template wistream& wistream::_M_extract(long&); 7770: extern template wistream& wistream::_M_extract(unsigned long&); 7770: extern template wistream& wistream::_M_extract(bool&); 7770: 7770: extern template wistream& wistream::_M_extract(long long&); 7770: extern template wistream& wistream::_M_extract(unsigned long long&); 7770: 7770: extern template wistream& wistream::_M_extract(float&); 7770: extern template wistream& wistream::_M_extract(double&); 7770: extern template wistream& wistream::_M_extract(long double&); 7770: extern template wistream& wistream::_M_extract(void*&); 7770: 7770: extern template class basic_iostream; 7770: 7770: 7770: 7770: 7770: } 7770: # 992 "/usr/include/c++/8/istream" 2 3 7770: # 66 "/usr/include/c++/8/iterator" 2 3 7770: # 1 "/usr/include/c++/8/bits/stream_iterator.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/stream_iterator.h" 3 7770: 7770: # 34 "/usr/include/c++/8/bits/stream_iterator.h" 3 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template, typename _Dist = ptrdiff_t> 7770: class istream_iterator 7770: : public iterator 7770: { 7770: public: 7770: typedef _CharT char_type; 7770: typedef _Traits traits_type; 7770: typedef basic_istream<_CharT, _Traits> istream_type; 7770: 7770: private: 7770: istream_type* _M_stream; 7770: _Tp _M_value; 7770: bool _M_ok; 7770: 7770: public: 7770: 7770: constexpr istream_iterator() 7770: : _M_stream(0), _M_value(), _M_ok(false) {} 7770: 7770: 7770: istream_iterator(istream_type& __s) 7770: : _M_stream(std::__addressof(__s)) 7770: { _M_read(); } 7770: 7770: istream_iterator(const istream_iterator& __obj) 7770: : _M_stream(__obj._M_stream), _M_value(__obj._M_value), 7770: _M_ok(__obj._M_ok) 7770: { } 7770: 7770: const _Tp& 7770: operator*() const 7770: { 7770: 7770: 7770: ; 7770: return _M_value; 7770: } 7770: 7770: const _Tp* 7770: operator->() const { return std::__addressof((operator*())); } 7770: 7770: istream_iterator& 7770: operator++() 7770: { 7770: 7770: 7770: ; 7770: _M_read(); 7770: return *this; 7770: } 7770: 7770: istream_iterator 7770: operator++(int) 7770: { 7770: 7770: 7770: ; 7770: istream_iterator __tmp = *this; 7770: _M_read(); 7770: return __tmp; 7770: } 7770: 7770: bool 7770: _M_equal(const istream_iterator& __x) const 7770: { return (_M_ok == __x._M_ok) && (!_M_ok || _M_stream == __x._M_stream); } 7770: 7770: private: 7770: void 7770: _M_read() 7770: { 7770: _M_ok = (_M_stream && *_M_stream) ? true : false; 7770: if (_M_ok) 7770: { 7770: *_M_stream >> _M_value; 7770: _M_ok = *_M_stream ? true : false; 7770: } 7770: } 7770: }; 7770: 7770: 7770: template 7770: inline bool 7770: operator==(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x, 7770: const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __y) 7770: { return __x._M_equal(__y); } 7770: 7770: 7770: template 7770: inline bool 7770: operator!=(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x, 7770: const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __y) 7770: { return !__x._M_equal(__y); } 7770: # 152 "/usr/include/c++/8/bits/stream_iterator.h" 3 7770: template > 7770: class ostream_iterator 7770: : public iterator 7770: { 7770: public: 7770: 7770: 7770: typedef _CharT char_type; 7770: typedef _Traits traits_type; 7770: typedef basic_ostream<_CharT, _Traits> ostream_type; 7770: 7770: 7770: private: 7770: ostream_type* _M_stream; 7770: const _CharT* _M_string; 7770: 7770: public: 7770: 7770: ostream_iterator(ostream_type& __s) 7770: : _M_stream(std::__addressof(__s)), _M_string(0) {} 7770: # 184 "/usr/include/c++/8/bits/stream_iterator.h" 3 7770: ostream_iterator(ostream_type& __s, const _CharT* __c) 7770: : _M_stream(&__s), _M_string(__c) { } 7770: 7770: 7770: ostream_iterator(const ostream_iterator& __obj) 7770: : _M_stream(__obj._M_stream), _M_string(__obj._M_string) { } 7770: 7770: 7770: 7770: ostream_iterator& 7770: operator=(const _Tp& __value) 7770: { 7770: 7770: 7770: ; 7770: *_M_stream << __value; 7770: if (_M_string) *_M_stream << _M_string; 7770: return *this; 7770: } 7770: 7770: ostream_iterator& 7770: operator*() 7770: { return *this; } 7770: 7770: ostream_iterator& 7770: operator++() 7770: { return *this; } 7770: 7770: ostream_iterator& 7770: operator++(int) 7770: { return *this; } 7770: }; 7770: 7770: 7770: 7770: 7770: } 7770: # 67 "/usr/include/c++/8/iterator" 2 3 7770: # 54 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearray.h" 2 3 4 7770: # 64 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearray.h" 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) char *qstrdup(const char *); 7770: 7770: inline uint qstrlen(const char *str) 7770: { return str ? uint(strlen(str)) : 0; } 7770: 7770: inline uint qstrnlen(const char *str, uint maxlen) 7770: { 7770: uint length = 0; 7770: if (str) { 7770: while (length < maxlen && *str++) 7770: length++; 7770: } 7770: return length; 7770: } 7770: 7770: __attribute__((visibility("default"))) char *qstrcpy(char *dst, const char *src); 7770: __attribute__((visibility("default"))) char *qstrncpy(char *dst, const char *src, uint len); 7770: 7770: __attribute__((visibility("default"))) int qstrcmp(const char *str1, const char *str2); 7770: __attribute__((visibility("default"))) int qstrcmp(const QByteArray &str1, const QByteArray &str2); 7770: __attribute__((visibility("default"))) int qstrcmp(const QByteArray &str1, const char *str2); 7770: static inline int qstrcmp(const char *str1, const QByteArray &str2) 7770: { return -qstrcmp(str2, str1); } 7770: 7770: inline int qstrncmp(const char *str1, const char *str2, uint len) 7770: { 7770: return (str1 && str2) ? strncmp(str1, str2, len) 7770: : (str1 ? 1 : (str2 ? -1 : 0)); 7770: } 7770: __attribute__((visibility("default"))) int qstricmp(const char *, const char *); 7770: __attribute__((visibility("default"))) int qstrnicmp(const char *, const char *, uint len); 7770: 7770: 7770: __attribute__((visibility("default"))) int qvsnprintf(char *str, size_t n, const char *fmt, va_list ap); 7770: __attribute__((visibility("default"))) int qsnprintf(char *str, size_t n, const char *fmt, ...); 7770: 7770: 7770: __attribute__((visibility("default"))) quint16 qChecksum(const char *s, uint len); 7770: __attribute__((visibility("default"))) quint16 qChecksum(const char *s, uint len, Qt::ChecksumType standard); 7770: 7770: class QByteRef; 7770: class QString; 7770: class QDataStream; 7770: template class QList; 7770: 7770: typedef QArrayData QByteArrayData; 7770: 7770: template struct QStaticByteArrayData 7770: { 7770: QByteArrayData ba; 7770: char data[N + 1]; 7770: 7770: QByteArrayData *data_ptr() const 7770: { 7770: do { } while ((false) && (ba.ref.isStatic())); 7770: return const_cast(&ba); 7770: } 7770: }; 7770: 7770: struct QByteArrayDataPtr 7770: { 7770: QByteArrayData *ptr; 7770: }; 7770: # 155 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearray.h" 3 4 7770: class __attribute__((visibility("default"))) QByteArray 7770: { 7770: private: 7770: typedef QTypedArrayData Data; 7770: 7770: public: 7770: enum Base64Option { 7770: Base64Encoding = 0, 7770: Base64UrlEncoding = 1, 7770: 7770: KeepTrailingEquals = 0, 7770: OmitTrailingEquals = 2 7770: }; 7770: typedef QFlags Base64Options; 7770: 7770: inline QByteArray() noexcept; 7770: QByteArray(const char *, int size = -1); 7770: QByteArray(int size, char c); 7770: QByteArray(int size, Qt::Initialization); 7770: inline QByteArray(const QByteArray &) noexcept; 7770: inline ~QByteArray(); 7770: 7770: QByteArray &operator=(const QByteArray &) noexcept; 7770: QByteArray &operator=(const char *str); 7770: 7770: inline QByteArray(QByteArray && other) noexcept : d(other.d) { other.d = Data::sharedNull(); } 7770: inline QByteArray &operator=(QByteArray &&other) noexcept 7770: { qSwap(d, other.d); return *this; } 7770: 7770: 7770: inline void swap(QByteArray &other) noexcept 7770: { qSwap(d, other.d); } 7770: 7770: inline int size() const; 7770: bool isEmpty() const; 7770: void resize(int size); 7770: 7770: QByteArray &fill(char c, int size = -1); 7770: 7770: int capacity() const; 7770: void reserve(int size); 7770: void squeeze(); 7770: 7770: 7770: operator const char *() const; 7770: operator const void *() const; 7770: 7770: char *data(); 7770: const char *data() const; 7770: inline const char *constData() const; 7770: inline void detach(); 7770: bool isDetached() const; 7770: inline bool isSharedWith(const QByteArray &other) const { return d == other.d; } 7770: void clear(); 7770: 7770: char at(int i) const; 7770: char operator[](int i) const; 7770: char operator[](uint i) const; 7770: QByteRef operator[](int i); 7770: QByteRef operator[](uint i); 7770: 7770: int indexOf(char c, int from = 0) const; 7770: int indexOf(const char *c, int from = 0) const; 7770: int indexOf(const QByteArray &a, int from = 0) const; 7770: int lastIndexOf(char c, int from = -1) const; 7770: int lastIndexOf(const char *c, int from = -1) const; 7770: int lastIndexOf(const QByteArray &a, int from = -1) const; 7770: 7770: bool contains(char c) const; 7770: bool contains(const char *a) const; 7770: bool contains(const QByteArray &a) const; 7770: int count(char c) const; 7770: int count(const char *a) const; 7770: int count(const QByteArray &a) const; 7770: 7770: [[nodiscard]] QByteArray left(int len) const; 7770: [[nodiscard]] QByteArray right(int len) const; 7770: [[nodiscard]] QByteArray mid(int index, int len = -1) const; 7770: 7770: bool startsWith(const QByteArray &a) const; 7770: bool startsWith(char c) const; 7770: bool startsWith(const char *c) const; 7770: 7770: bool endsWith(const QByteArray &a) const; 7770: bool endsWith(char c) const; 7770: bool endsWith(const char *c) const; 7770: 7770: void truncate(int pos); 7770: void chop(int n); 7770: # 253 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearray.h" 3 4 7770: [[nodiscard]] inline __attribute__((always_inline)) QByteArray toLower() const & 7770: { return toLower_helper(*this); } 7770: [[nodiscard]] inline __attribute__((always_inline)) QByteArray toLower() && 7770: { return toLower_helper(*this); } 7770: [[nodiscard]] inline __attribute__((always_inline)) QByteArray toUpper() const & 7770: { return toUpper_helper(*this); } 7770: [[nodiscard]] inline __attribute__((always_inline)) QByteArray toUpper() && 7770: { return toUpper_helper(*this); } 7770: [[nodiscard]] inline __attribute__((always_inline)) QByteArray trimmed() const & 7770: { return trimmed_helper(*this); } 7770: [[nodiscard]] inline __attribute__((always_inline)) QByteArray trimmed() && 7770: { return trimmed_helper(*this); } 7770: [[nodiscard]] inline __attribute__((always_inline)) QByteArray simplified() const & 7770: { return simplified_helper(*this); } 7770: [[nodiscard]] inline __attribute__((always_inline)) QByteArray simplified() && 7770: { return simplified_helper(*this); } 7770: # 279 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearray.h" 3 4 7770: [[nodiscard]] QByteArray leftJustified(int width, char fill = ' ', bool truncate = false) const; 7770: [[nodiscard]] QByteArray rightJustified(int width, char fill = ' ', bool truncate = false) const; 7770: 7770: QByteArray &prepend(char c); 7770: QByteArray &prepend(int count, char c); 7770: QByteArray &prepend(const char *s); 7770: QByteArray &prepend(const char *s, int len); 7770: QByteArray &prepend(const QByteArray &a); 7770: QByteArray &append(char c); 7770: QByteArray &append(int count, char c); 7770: QByteArray &append(const char *s); 7770: QByteArray &append(const char *s, int len); 7770: QByteArray &append(const QByteArray &a); 7770: QByteArray &insert(int i, char c); 7770: QByteArray &insert(int i, int count, char c); 7770: QByteArray &insert(int i, const char *s); 7770: QByteArray &insert(int i, const char *s, int len); 7770: QByteArray &insert(int i, const QByteArray &a); 7770: QByteArray &remove(int index, int len); 7770: QByteArray &replace(int index, int len, const char *s); 7770: QByteArray &replace(int index, int len, const char *s, int alen); 7770: QByteArray &replace(int index, int len, const QByteArray &s); 7770: QByteArray &replace(char before, const char *after); 7770: QByteArray &replace(char before, const QByteArray &after); 7770: QByteArray &replace(const char *before, const char *after); 7770: QByteArray &replace(const char *before, int bsize, const char *after, int asize); 7770: QByteArray &replace(const QByteArray &before, const QByteArray &after); 7770: QByteArray &replace(const QByteArray &before, const char *after); 7770: QByteArray &replace(const char *before, const QByteArray &after); 7770: QByteArray &replace(char before, char after); 7770: QByteArray &operator+=(char c); 7770: QByteArray &operator+=(const char *s); 7770: QByteArray &operator+=(const QByteArray &a); 7770: 7770: QList split(char sep) const; 7770: 7770: [[nodiscard]] QByteArray repeated(int times) const; 7770: # 329 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearray.h" 3 4 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator==(const QString &s2) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator!=(const QString &s2) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<(const QString &s2) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>(const QString &s2) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<=(const QString &s2) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>=(const QString &s2) const; 7770: 7770: 7770: short toShort(bool *ok = nullptr, int base = 10) const; 7770: ushort toUShort(bool *ok = nullptr, int base = 10) const; 7770: int toInt(bool *ok = nullptr, int base = 10) const; 7770: uint toUInt(bool *ok = nullptr, int base = 10) const; 7770: long toLong(bool *ok = nullptr, int base = 10) const; 7770: ulong toULong(bool *ok = nullptr, int base = 10) const; 7770: qlonglong toLongLong(bool *ok = nullptr, int base = 10) const; 7770: qulonglong toULongLong(bool *ok = nullptr, int base = 10) const; 7770: float toFloat(bool *ok = nullptr) const; 7770: double toDouble(bool *ok = nullptr) const; 7770: QByteArray toBase64(Base64Options options) const; 7770: QByteArray toBase64() const; 7770: QByteArray toHex() const; 7770: QByteArray toHex(char separator) const; 7770: QByteArray toPercentEncoding(const QByteArray &exclude = QByteArray(), 7770: const QByteArray &include = QByteArray(), 7770: char percent = '%') const; 7770: 7770: QByteArray &setNum(short, int base = 10); 7770: QByteArray &setNum(ushort, int base = 10); 7770: QByteArray &setNum(int, int base = 10); 7770: QByteArray &setNum(uint, int base = 10); 7770: QByteArray &setNum(qlonglong, int base = 10); 7770: QByteArray &setNum(qulonglong, int base = 10); 7770: QByteArray &setNum(float, char f = 'g', int prec = 6); 7770: QByteArray &setNum(double, char f = 'g', int prec = 6); 7770: QByteArray &setRawData(const char *a, uint n); 7770: 7770: [[nodiscard]] static QByteArray number(int, int base = 10); 7770: [[nodiscard]] static QByteArray number(uint, int base = 10); 7770: [[nodiscard]] static QByteArray number(qlonglong, int base = 10); 7770: [[nodiscard]] static QByteArray number(qulonglong, int base = 10); 7770: [[nodiscard]] static QByteArray number(double, char f = 'g', int prec = 6); 7770: [[nodiscard]] static QByteArray fromRawData(const char *, int size); 7770: [[nodiscard]] static QByteArray fromBase64(const QByteArray &base64, Base64Options options); 7770: [[nodiscard]] static QByteArray fromBase64(const QByteArray &base64); 7770: [[nodiscard]] static QByteArray fromHex(const QByteArray &hexEncoded); 7770: [[nodiscard]] static QByteArray fromPercentEncoding(const QByteArray &pctEncoded, char percent = '%'); 7770: # 387 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearray.h" 3 4 7770: typedef char *iterator; 7770: typedef const char *const_iterator; 7770: typedef iterator Iterator; 7770: typedef const_iterator ConstIterator; 7770: typedef std::reverse_iterator reverse_iterator; 7770: typedef std::reverse_iterator const_reverse_iterator; 7770: inline iterator begin(); 7770: inline const_iterator begin() const; 7770: inline const_iterator cbegin() const; 7770: inline const_iterator constBegin() const; 7770: inline iterator end(); 7770: inline const_iterator end() const; 7770: inline const_iterator cend() const; 7770: inline const_iterator constEnd() const; 7770: reverse_iterator rbegin() { return reverse_iterator(end()); } 7770: reverse_iterator rend() { return reverse_iterator(begin()); } 7770: const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } 7770: const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } 7770: const_reverse_iterator crbegin() const { return const_reverse_iterator(end()); } 7770: const_reverse_iterator crend() const { return const_reverse_iterator(begin()); } 7770: 7770: 7770: typedef int size_type; 7770: typedef qptrdiff difference_type; 7770: typedef const char & const_reference; 7770: typedef char & reference; 7770: typedef char *pointer; 7770: typedef const char *const_pointer; 7770: typedef char value_type; 7770: void push_back(char c); 7770: void push_back(const char *c); 7770: void push_back(const QByteArray &a); 7770: void push_front(char c); 7770: void push_front(const char *c); 7770: void push_front(const QByteArray &a); 7770: 7770: static inline QByteArray fromStdString(const std::string &s); 7770: inline std::string toStdString() const; 7770: 7770: inline int count() const { return d->size; } 7770: int length() const { return d->size; } 7770: bool isNull() const; 7770: 7770: inline QByteArray(QByteArrayDataPtr dd) 7770: : d(static_cast(dd.ptr)) 7770: { 7770: } 7770: 7770: private: 7770: operator QNoImplicitBoolCast() const; 7770: Data *d; 7770: void reallocData(uint alloc, Data::AllocationOptions options); 7770: void expand(int i); 7770: QByteArray nulTerminated() const; 7770: 7770: static QByteArray toLower_helper(const QByteArray &a); 7770: static QByteArray toLower_helper(QByteArray &a); 7770: static QByteArray toUpper_helper(const QByteArray &a); 7770: static QByteArray toUpper_helper(QByteArray &a); 7770: static QByteArray trimmed_helper(const QByteArray &a); 7770: static QByteArray trimmed_helper(QByteArray &a); 7770: static QByteArray simplified_helper(const QByteArray &a); 7770: static QByteArray simplified_helper(QByteArray &a); 7770: 7770: friend class QByteRef; 7770: friend class QString; 7770: friend __attribute__((visibility("default"))) QByteArray qUncompress(const uchar *data, int nbytes); 7770: public: 7770: typedef Data * DataPtr; 7770: inline DataPtr &data_ptr() { return d; } 7770: }; 7770: 7770: 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); } 7770: 7770: inline QByteArray::QByteArray() noexcept : d(Data::sharedNull()) { } 7770: inline QByteArray::~QByteArray() { if (!d->ref.deref()) Data::deallocate(d); } 7770: inline int QByteArray::size() const 7770: { return d->size; } 7770: 7770: inline char QByteArray::at(int i) const 7770: { do { } while ((false) && (uint(i) < uint(size()))); return d->data()[i]; } 7770: inline char QByteArray::operator[](int i) const 7770: { do { } while ((false) && (uint(i) < uint(size()))); return d->data()[i]; } 7770: inline char QByteArray::operator[](uint i) const 7770: { do { } while ((false) && (i < uint(size()))); return d->data()[i]; } 7770: 7770: inline bool QByteArray::isEmpty() const 7770: { return d->size == 0; } 7770: 7770: inline QByteArray::operator const char *() const 7770: { return d->data(); } 7770: inline QByteArray::operator const void *() const 7770: { return d->data(); } 7770: 7770: inline char *QByteArray::data() 7770: { detach(); return d->data(); } 7770: inline const char *QByteArray::data() const 7770: { return d->data(); } 7770: inline const char *QByteArray::constData() const 7770: { return d->data(); } 7770: inline void QByteArray::detach() 7770: { if (d->ref.isShared() || (d->offset != sizeof(QByteArrayData))) reallocData(uint(d->size) + 1u, d->detachFlags()); } 7770: inline bool QByteArray::isDetached() const 7770: { return !d->ref.isShared(); } 7770: inline QByteArray::QByteArray(const QByteArray &a) noexcept : d(a.d) 7770: { d->ref.ref(); } 7770: 7770: inline int QByteArray::capacity() const 7770: { return d->alloc ? d->alloc - 1 : 0; } 7770: 7770: inline void QByteArray::reserve(int asize) 7770: { 7770: if (d->ref.isShared() || uint(asize) + 1u > d->alloc) { 7770: reallocData(qMax(uint(size()), uint(asize)) + 1u, d->detachFlags() | Data::CapacityReserved); 7770: } else { 7770: 7770: 7770: d->capacityReserved = true; 7770: } 7770: } 7770: 7770: inline void QByteArray::squeeze() 7770: { 7770: if (d->ref.isShared() || uint(d->size) + 1u < d->alloc) { 7770: reallocData(uint(d->size) + 1u, d->detachFlags() & ~Data::CapacityReserved); 7770: } else { 7770: 7770: 7770: d->capacityReserved = false; 7770: } 7770: } 7770: 7770: class __attribute__((visibility("default"))) QByteRef { 7770: QByteArray &a; 7770: int i; 7770: inline QByteRef(QByteArray &array, int idx) 7770: : a(array),i(idx) {} 7770: friend class QByteArray; 7770: public: 7770: inline operator char() const 7770: { return i < a.d->size ? a.d->data()[i] : char(0); } 7770: inline QByteRef &operator=(char c) 7770: { if (i >= a.d->size) a.expand(i); else a.detach(); 7770: a.d->data()[i] = c; return *this; } 7770: inline QByteRef &operator=(const QByteRef &c) 7770: { if (i >= a.d->size) a.expand(i); else a.detach(); 7770: a.d->data()[i] = c.a.d->data()[c.i]; return *this; } 7770: inline bool operator==(char c) const 7770: { return a.d->data()[i] == c; } 7770: inline bool operator!=(char c) const 7770: { return a.d->data()[i] != c; } 7770: inline bool operator>(char c) const 7770: { return a.d->data()[i] > c; } 7770: inline bool operator>=(char c) const 7770: { return a.d->data()[i] >= c; } 7770: inline bool operator<(char c) const 7770: { return a.d->data()[i] < c; } 7770: inline bool operator<=(char c) const 7770: { return a.d->data()[i] <= c; } 7770: }; 7770: 7770: inline QByteRef QByteArray::operator[](int i) 7770: { do { } while ((false) && (i >= 0)); return QByteRef(*this, i); } 7770: inline QByteRef QByteArray::operator[](uint i) 7770: { return QByteRef(*this, i); } 7770: inline QByteArray::iterator QByteArray::begin() 7770: { detach(); return d->data(); } 7770: inline QByteArray::const_iterator QByteArray::begin() const 7770: { return d->data(); } 7770: inline QByteArray::const_iterator QByteArray::cbegin() const 7770: { return d->data(); } 7770: inline QByteArray::const_iterator QByteArray::constBegin() const 7770: { return d->data(); } 7770: inline QByteArray::iterator QByteArray::end() 7770: { detach(); return d->data() + d->size; } 7770: inline QByteArray::const_iterator QByteArray::end() const 7770: { return d->data() + d->size; } 7770: inline QByteArray::const_iterator QByteArray::cend() const 7770: { return d->data() + d->size; } 7770: inline QByteArray::const_iterator QByteArray::constEnd() const 7770: { return d->data() + d->size; } 7770: inline QByteArray &QByteArray::append(int n, char ch) 7770: { return insert(d->size, n, ch); } 7770: inline QByteArray &QByteArray::prepend(int n, char ch) 7770: { return insert(0, n, ch); } 7770: inline QByteArray &QByteArray::operator+=(char c) 7770: { return append(c); } 7770: inline QByteArray &QByteArray::operator+=(const char *s) 7770: { return append(s); } 7770: inline QByteArray &QByteArray::operator+=(const QByteArray &a) 7770: { return append(a); } 7770: inline void QByteArray::push_back(char c) 7770: { append(c); } 7770: inline void QByteArray::push_back(const char *c) 7770: { append(c); } 7770: inline void QByteArray::push_back(const QByteArray &a) 7770: { append(a); } 7770: inline void QByteArray::push_front(char c) 7770: { prepend(c); } 7770: inline void QByteArray::push_front(const char *c) 7770: { prepend(c); } 7770: inline void QByteArray::push_front(const QByteArray &a) 7770: { prepend(a); } 7770: inline bool QByteArray::contains(const QByteArray &a) const 7770: { return indexOf(a) != -1; } 7770: inline bool QByteArray::contains(char c) const 7770: { return indexOf(c) != -1; } 7770: inline bool operator==(const QByteArray &a1, const QByteArray &a2) noexcept 7770: { return (a1.size() == a2.size()) && (memcmp(a1.constData(), a2.constData(), a1.size())==0); } 7770: inline bool operator==(const QByteArray &a1, const char *a2) noexcept 7770: { return a2 ? qstrcmp(a1,a2) == 0 : a1.isEmpty(); } 7770: inline bool operator==(const char *a1, const QByteArray &a2) noexcept 7770: { return a1 ? qstrcmp(a1,a2) == 0 : a2.isEmpty(); } 7770: inline bool operator!=(const QByteArray &a1, const QByteArray &a2) noexcept 7770: { return !(a1==a2); } 7770: inline bool operator!=(const QByteArray &a1, const char *a2) noexcept 7770: { return a2 ? qstrcmp(a1,a2) != 0 : !a1.isEmpty(); } 7770: inline bool operator!=(const char *a1, const QByteArray &a2) noexcept 7770: { return a1 ? qstrcmp(a1,a2) != 0 : !a2.isEmpty(); } 7770: inline bool operator<(const QByteArray &a1, const QByteArray &a2) noexcept 7770: { return qstrcmp(a1, a2) < 0; } 7770: inline bool operator<(const QByteArray &a1, const char *a2) noexcept 7770: { return qstrcmp(a1, a2) < 0; } 7770: inline bool operator<(const char *a1, const QByteArray &a2) noexcept 7770: { return qstrcmp(a1, a2) < 0; } 7770: inline bool operator<=(const QByteArray &a1, const QByteArray &a2) noexcept 7770: { return qstrcmp(a1, a2) <= 0; } 7770: inline bool operator<=(const QByteArray &a1, const char *a2) noexcept 7770: { return qstrcmp(a1, a2) <= 0; } 7770: inline bool operator<=(const char *a1, const QByteArray &a2) noexcept 7770: { return qstrcmp(a1, a2) <= 0; } 7770: inline bool operator>(const QByteArray &a1, const QByteArray &a2) noexcept 7770: { return qstrcmp(a1, a2) > 0; } 7770: inline bool operator>(const QByteArray &a1, const char *a2) noexcept 7770: { return qstrcmp(a1, a2) > 0; } 7770: inline bool operator>(const char *a1, const QByteArray &a2) noexcept 7770: { return qstrcmp(a1, a2) > 0; } 7770: inline bool operator>=(const QByteArray &a1, const QByteArray &a2) noexcept 7770: { return qstrcmp(a1, a2) >= 0; } 7770: inline bool operator>=(const QByteArray &a1, const char *a2) noexcept 7770: { return qstrcmp(a1, a2) >= 0; } 7770: inline bool operator>=(const char *a1, const QByteArray &a2) noexcept 7770: { return qstrcmp(a1, a2) >= 0; } 7770: # 642 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearray.h" 3 4 7770: inline bool QByteArray::contains(const char *c) const 7770: { return indexOf(c) != -1; } 7770: inline QByteArray &QByteArray::replace(char before, const char *c) 7770: { return replace(&before, 1, c, qstrlen(c)); } 7770: inline QByteArray &QByteArray::replace(const QByteArray &before, const char *c) 7770: { return replace(before.constData(), before.size(), c, qstrlen(c)); } 7770: inline QByteArray &QByteArray::replace(const char *before, const char *after) 7770: { return replace(before, qstrlen(before), after, qstrlen(after)); } 7770: 7770: inline QByteArray &QByteArray::setNum(short n, int base) 7770: { return base == 10 ? setNum(qlonglong(n), base) : setNum(qulonglong(ushort(n)), base); } 7770: inline QByteArray &QByteArray::setNum(ushort n, int base) 7770: { return setNum(qulonglong(n), base); } 7770: inline QByteArray &QByteArray::setNum(int n, int base) 7770: { return base == 10 ? setNum(qlonglong(n), base) : setNum(qulonglong(uint(n)), base); } 7770: inline QByteArray &QByteArray::setNum(uint n, int base) 7770: { return setNum(qulonglong(n), base); } 7770: inline QByteArray &QByteArray::setNum(float n, char f, int prec) 7770: { return setNum(double(n),f,prec); } 7770: 7770: inline std::string QByteArray::toStdString() const 7770: { return std::string(constData(), length()); } 7770: 7770: inline QByteArray QByteArray::fromStdString(const std::string &s) 7770: { return QByteArray(s.data(), int(s.size())); } 7770: 7770: 7770: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QByteArray &); 7770: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QByteArray &); 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) QByteArray qCompress(const uchar* data, int nbytes, int compressionLevel = -1); 7770: __attribute__((visibility("default"))) QByteArray qUncompress(const uchar* data, int nbytes); 7770: inline QByteArray qCompress(const QByteArray& data, int compressionLevel = -1) 7770: { return qCompress(reinterpret_cast(data.constData()), data.size(), compressionLevel); } 7770: inline QByteArray qUncompress(const QByteArray& data) 7770: { return qUncompress(reinterpret_cast(data.constData()), data.size()); } 7770: 7770: 7770: 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); } 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 1 3 4 7770: # 48 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qchar.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qchar.h" 3 4 7770: 7770: 7770: 7770: class QString; 7770: 7770: struct QLatin1Char 7770: { 7770: public: 7770: constexpr inline explicit QLatin1Char(char c) noexcept : ch(c) {} 7770: constexpr inline char toLatin1() const noexcept { return ch; } 7770: constexpr inline ushort unicode() const noexcept { return ushort(uchar(ch)); } 7770: 7770: private: 7770: char ch; 7770: }; 7770: 7770: 7770: class __attribute__((visibility("default"))) QChar { 7770: public: 7770: enum SpecialCharacter { 7770: Null = 0x0000, 7770: Tabulation = 0x0009, 7770: LineFeed = 0x000a, 7770: CarriageReturn = 0x000d, 7770: Space = 0x0020, 7770: Nbsp = 0x00a0, 7770: SoftHyphen = 0x00ad, 7770: ReplacementCharacter = 0xfffd, 7770: ObjectReplacementCharacter = 0xfffc, 7770: ByteOrderMark = 0xfeff, 7770: ByteOrderSwapped = 0xfffe, 7770: ParagraphSeparator = 0x2029, 7770: LineSeparator = 0x2028, 7770: LastValidCodePoint = 0x10ffff 7770: }; 7770: 7770: constexpr QChar() noexcept : ucs(0) {} 7770: constexpr QChar(ushort rc) noexcept : ucs(rc) {} 7770: constexpr QChar(uchar c, uchar r) noexcept : ucs(ushort((r << 8) | c)) {} 7770: constexpr QChar(short rc) noexcept : ucs(ushort(rc)) {} 7770: constexpr QChar(uint rc) noexcept : ucs(ushort(rc & 0xffff)) {} 7770: constexpr QChar(int rc) noexcept : ucs(ushort(rc & 0xffff)) {} 7770: constexpr QChar(SpecialCharacter s) noexcept : ucs(ushort(s)) {} 7770: constexpr QChar(QLatin1Char ch) noexcept : ucs(ch.unicode()) {} 7770: 7770: 7770: __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) constexpr explicit QChar(char c) noexcept : ucs(uchar(c)) { } 7770: 7770: __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) constexpr explicit QChar(uchar c) noexcept : ucs(c) { } 7770: 7770: 7770: 7770: 7770: enum Category 7770: { 7770: Mark_NonSpacing, 7770: Mark_SpacingCombining, 7770: Mark_Enclosing, 7770: 7770: Number_DecimalDigit, 7770: Number_Letter, 7770: Number_Other, 7770: 7770: Separator_Space, 7770: Separator_Line, 7770: Separator_Paragraph, 7770: 7770: Other_Control, 7770: Other_Format, 7770: Other_Surrogate, 7770: Other_PrivateUse, 7770: Other_NotAssigned, 7770: 7770: Letter_Uppercase, 7770: Letter_Lowercase, 7770: Letter_Titlecase, 7770: Letter_Modifier, 7770: Letter_Other, 7770: 7770: Punctuation_Connector, 7770: Punctuation_Dash, 7770: Punctuation_Open, 7770: Punctuation_Close, 7770: Punctuation_InitialQuote, 7770: Punctuation_FinalQuote, 7770: Punctuation_Other, 7770: 7770: Symbol_Math, 7770: Symbol_Currency, 7770: Symbol_Modifier, 7770: Symbol_Other 7770: }; 7770: 7770: enum Script 7770: { 7770: Script_Unknown, 7770: Script_Inherited, 7770: Script_Common, 7770: 7770: Script_Latin, 7770: Script_Greek, 7770: Script_Cyrillic, 7770: Script_Armenian, 7770: Script_Hebrew, 7770: Script_Arabic, 7770: Script_Syriac, 7770: Script_Thaana, 7770: Script_Devanagari, 7770: Script_Bengali, 7770: Script_Gurmukhi, 7770: Script_Gujarati, 7770: Script_Oriya, 7770: Script_Tamil, 7770: Script_Telugu, 7770: Script_Kannada, 7770: Script_Malayalam, 7770: Script_Sinhala, 7770: Script_Thai, 7770: Script_Lao, 7770: Script_Tibetan, 7770: Script_Myanmar, 7770: Script_Georgian, 7770: Script_Hangul, 7770: Script_Ethiopic, 7770: Script_Cherokee, 7770: Script_CanadianAboriginal, 7770: Script_Ogham, 7770: Script_Runic, 7770: Script_Khmer, 7770: Script_Mongolian, 7770: Script_Hiragana, 7770: Script_Katakana, 7770: Script_Bopomofo, 7770: Script_Han, 7770: Script_Yi, 7770: Script_OldItalic, 7770: Script_Gothic, 7770: Script_Deseret, 7770: Script_Tagalog, 7770: Script_Hanunoo, 7770: Script_Buhid, 7770: Script_Tagbanwa, 7770: Script_Coptic, 7770: 7770: 7770: Script_Limbu, 7770: Script_TaiLe, 7770: Script_LinearB, 7770: Script_Ugaritic, 7770: Script_Shavian, 7770: Script_Osmanya, 7770: Script_Cypriot, 7770: Script_Braille, 7770: 7770: 7770: Script_Buginese, 7770: Script_NewTaiLue, 7770: Script_Glagolitic, 7770: Script_Tifinagh, 7770: Script_SylotiNagri, 7770: Script_OldPersian, 7770: Script_Kharoshthi, 7770: 7770: 7770: Script_Balinese, 7770: Script_Cuneiform, 7770: Script_Phoenician, 7770: Script_PhagsPa, 7770: Script_Nko, 7770: 7770: 7770: Script_Sundanese, 7770: Script_Lepcha, 7770: Script_OlChiki, 7770: Script_Vai, 7770: Script_Saurashtra, 7770: Script_KayahLi, 7770: Script_Rejang, 7770: Script_Lycian, 7770: Script_Carian, 7770: Script_Lydian, 7770: Script_Cham, 7770: 7770: 7770: Script_TaiTham, 7770: Script_TaiViet, 7770: Script_Avestan, 7770: Script_EgyptianHieroglyphs, 7770: Script_Samaritan, 7770: Script_Lisu, 7770: Script_Bamum, 7770: Script_Javanese, 7770: Script_MeeteiMayek, 7770: Script_ImperialAramaic, 7770: Script_OldSouthArabian, 7770: Script_InscriptionalParthian, 7770: Script_InscriptionalPahlavi, 7770: Script_OldTurkic, 7770: Script_Kaithi, 7770: 7770: 7770: Script_Batak, 7770: Script_Brahmi, 7770: Script_Mandaic, 7770: 7770: 7770: Script_Chakma, 7770: Script_MeroiticCursive, 7770: Script_MeroiticHieroglyphs, 7770: Script_Miao, 7770: Script_Sharada, 7770: Script_SoraSompeng, 7770: Script_Takri, 7770: 7770: 7770: Script_CaucasianAlbanian, 7770: Script_BassaVah, 7770: Script_Duployan, 7770: Script_Elbasan, 7770: Script_Grantha, 7770: Script_PahawhHmong, 7770: Script_Khojki, 7770: Script_LinearA, 7770: Script_Mahajani, 7770: Script_Manichaean, 7770: Script_MendeKikakui, 7770: Script_Modi, 7770: Script_Mro, 7770: Script_OldNorthArabian, 7770: Script_Nabataean, 7770: Script_Palmyrene, 7770: Script_PauCinHau, 7770: Script_OldPermic, 7770: Script_PsalterPahlavi, 7770: Script_Siddham, 7770: Script_Khudawadi, 7770: Script_Tirhuta, 7770: Script_WarangCiti, 7770: 7770: 7770: Script_Ahom, 7770: Script_AnatolianHieroglyphs, 7770: Script_Hatran, 7770: Script_Multani, 7770: Script_OldHungarian, 7770: Script_SignWriting, 7770: 7770: ScriptCount 7770: }; 7770: 7770: enum Direction 7770: { 7770: DirL, DirR, DirEN, DirES, DirET, DirAN, DirCS, DirB, DirS, DirWS, DirON, 7770: DirLRE, DirLRO, DirAL, DirRLE, DirRLO, DirPDF, DirNSM, DirBN, 7770: DirLRI, DirRLI, DirFSI, DirPDI 7770: }; 7770: 7770: enum Decomposition 7770: { 7770: NoDecomposition, 7770: Canonical, 7770: Font, 7770: NoBreak, 7770: Initial, 7770: Medial, 7770: Final, 7770: Isolated, 7770: Circle, 7770: Super, 7770: Sub, 7770: Vertical, 7770: Wide, 7770: Narrow, 7770: Small, 7770: Square, 7770: Compat, 7770: Fraction 7770: }; 7770: 7770: enum JoiningType { 7770: Joining_None, 7770: Joining_Causing, 7770: Joining_Dual, 7770: Joining_Right, 7770: Joining_Left, 7770: Joining_Transparent 7770: }; 7770: 7770: 7770: enum Joining 7770: { 7770: OtherJoining, Dual, Right, Center 7770: }; 7770: 7770: 7770: enum CombiningClass 7770: { 7770: Combining_BelowLeftAttached = 200, 7770: Combining_BelowAttached = 202, 7770: Combining_BelowRightAttached = 204, 7770: Combining_LeftAttached = 208, 7770: Combining_RightAttached = 210, 7770: Combining_AboveLeftAttached = 212, 7770: Combining_AboveAttached = 214, 7770: Combining_AboveRightAttached = 216, 7770: 7770: Combining_BelowLeft = 218, 7770: Combining_Below = 220, 7770: Combining_BelowRight = 222, 7770: Combining_Left = 224, 7770: Combining_Right = 226, 7770: Combining_AboveLeft = 228, 7770: Combining_Above = 230, 7770: Combining_AboveRight = 232, 7770: 7770: Combining_DoubleBelow = 233, 7770: Combining_DoubleAbove = 234, 7770: Combining_IotaSubscript = 240 7770: }; 7770: 7770: enum UnicodeVersion { 7770: Unicode_Unassigned, 7770: Unicode_1_1, 7770: Unicode_2_0, 7770: Unicode_2_1_2, 7770: Unicode_3_0, 7770: Unicode_3_1, 7770: Unicode_3_2, 7770: Unicode_4_0, 7770: Unicode_4_1, 7770: Unicode_5_0, 7770: Unicode_5_1, 7770: Unicode_5_2, 7770: Unicode_6_0, 7770: Unicode_6_1, 7770: Unicode_6_2, 7770: Unicode_6_3, 7770: Unicode_7_0, 7770: Unicode_8_0 7770: }; 7770: 7770: 7770: inline Category category() const noexcept { return QChar::category(ucs); } 7770: inline Direction direction() const noexcept { return QChar::direction(ucs); } 7770: inline JoiningType joiningType() const noexcept { return QChar::joiningType(ucs); } 7770: 7770: __attribute__ ((__deprecated__)) inline Joining joining() const noexcept 7770: { 7770: switch (QChar::joiningType(ucs)) { 7770: case QChar::Joining_Causing: return QChar::Center; 7770: case QChar::Joining_Dual: return QChar::Dual; 7770: case QChar::Joining_Right: return QChar::Right; 7770: case QChar::Joining_None: 7770: case QChar::Joining_Left: 7770: case QChar::Joining_Transparent: 7770: default: return QChar::OtherJoining; 7770: } 7770: } 7770: 7770: inline unsigned char combiningClass() const noexcept { return QChar::combiningClass(ucs); } 7770: 7770: inline QChar mirroredChar() const noexcept { return QChar::mirroredChar(ucs); } 7770: inline bool hasMirrored() const noexcept { return QChar::hasMirrored(ucs); } 7770: 7770: QString decomposition() const; 7770: inline Decomposition decompositionTag() const noexcept { return QChar::decompositionTag(ucs); } 7770: 7770: inline int digitValue() const noexcept { return QChar::digitValue(ucs); } 7770: inline QChar toLower() const noexcept { return QChar::toLower(ucs); } 7770: inline QChar toUpper() const noexcept { return QChar::toUpper(ucs); } 7770: inline QChar toTitleCase() const noexcept { return QChar::toTitleCase(ucs); } 7770: inline QChar toCaseFolded() const noexcept { return QChar::toCaseFolded(ucs); } 7770: 7770: inline Script script() const noexcept { return QChar::script(ucs); } 7770: 7770: inline UnicodeVersion unicodeVersion() const noexcept { return QChar::unicodeVersion(ucs); } 7770: 7770: 7770: 7770: 7770: constexpr inline char toLatin1() const noexcept { return ucs > 0xff ? '\0' : char(ucs); } 7770: constexpr inline ushort unicode() const noexcept { return ucs; } 7770: constexpr inline ushort &unicode() noexcept { return ucs; } 7770: 7770: 7770: 7770: 7770: 7770: static constexpr inline QChar fromLatin1(char c) noexcept { return QChar(ushort(uchar(c))); } 7770: 7770: constexpr inline bool isNull() const noexcept { return ucs == 0; } 7770: 7770: inline bool isPrint() const noexcept { return QChar::isPrint(ucs); } 7770: constexpr inline bool isSpace() const noexcept { return QChar::isSpace(ucs); } 7770: inline bool isMark() const noexcept { return QChar::isMark(ucs); } 7770: inline bool isPunct() const noexcept { return QChar::isPunct(ucs); } 7770: inline bool isSymbol() const noexcept { return QChar::isSymbol(ucs); } 7770: constexpr inline bool isLetter() const noexcept { return QChar::isLetter(ucs); } 7770: constexpr inline bool isNumber() const noexcept { return QChar::isNumber(ucs); } 7770: constexpr inline bool isLetterOrNumber() const noexcept { return QChar::isLetterOrNumber(ucs); } 7770: constexpr inline bool isDigit() const noexcept { return QChar::isDigit(ucs); } 7770: constexpr inline bool isLower() const noexcept { return QChar::isLower(ucs); } 7770: constexpr inline bool isUpper() const noexcept { return QChar::isUpper(ucs); } 7770: constexpr inline bool isTitleCase() const noexcept { return QChar::isTitleCase(ucs); } 7770: 7770: constexpr inline bool isNonCharacter() const noexcept { return QChar::isNonCharacter(ucs); } 7770: constexpr inline bool isHighSurrogate() const noexcept { return QChar::isHighSurrogate(ucs); } 7770: constexpr inline bool isLowSurrogate() const noexcept { return QChar::isLowSurrogate(ucs); } 7770: constexpr inline bool isSurrogate() const noexcept { return QChar::isSurrogate(ucs); } 7770: 7770: constexpr inline uchar cell() const noexcept { return uchar(ucs & 0xff); } 7770: constexpr inline uchar row() const noexcept { return uchar((ucs>>8)&0xff); } 7770: constexpr inline void setCell(uchar acell) noexcept { ucs = ushort((ucs & 0xff00) + acell); } 7770: constexpr inline void setRow(uchar arow) noexcept { ucs = ushort((ushort(arow)<<8) + (ucs&0xff)); } 7770: 7770: static constexpr inline bool isNonCharacter(uint ucs4) noexcept 7770: { 7770: return ucs4 >= 0xfdd0 && (ucs4 <= 0xfdef || (ucs4 & 0xfffe) == 0xfffe); 7770: } 7770: static constexpr inline bool isHighSurrogate(uint ucs4) noexcept 7770: { 7770: return ((ucs4 & 0xfffffc00) == 0xd800); 7770: } 7770: static constexpr inline bool isLowSurrogate(uint ucs4) noexcept 7770: { 7770: return ((ucs4 & 0xfffffc00) == 0xdc00); 7770: } 7770: static constexpr inline bool isSurrogate(uint ucs4) noexcept 7770: { 7770: return (ucs4 - 0xd800u < 2048u); 7770: } 7770: static constexpr inline bool requiresSurrogates(uint ucs4) noexcept 7770: { 7770: return (ucs4 >= 0x10000); 7770: } 7770: static constexpr inline uint surrogateToUcs4(ushort high, ushort low) noexcept 7770: { 7770: return (uint(high)<<10) + low - 0x35fdc00; 7770: } 7770: static constexpr inline uint surrogateToUcs4(QChar high, QChar low) noexcept 7770: { 7770: return surrogateToUcs4(high.ucs, low.ucs); 7770: } 7770: static constexpr inline ushort highSurrogate(uint ucs4) noexcept 7770: { 7770: return ushort((ucs4>>10) + 0xd7c0); 7770: } 7770: static constexpr inline ushort lowSurrogate(uint ucs4) noexcept 7770: { 7770: return ushort(ucs4%0x400 + 0xdc00); 7770: } 7770: 7770: static Category category(uint ucs4) noexcept __attribute__((const)); 7770: static Direction direction(uint ucs4) noexcept __attribute__((const)); 7770: static JoiningType joiningType(uint ucs4) noexcept __attribute__((const)); 7770: 7770: __attribute__ ((__deprecated__)) static Joining joining(uint ucs4) noexcept __attribute__((const)); 7770: 7770: static unsigned char combiningClass(uint ucs4) noexcept __attribute__((const)); 7770: 7770: static uint mirroredChar(uint ucs4) noexcept __attribute__((const)); 7770: static bool hasMirrored(uint ucs4) noexcept __attribute__((const)); 7770: 7770: static QString decomposition(uint ucs4); 7770: static Decomposition decompositionTag(uint ucs4) noexcept __attribute__((const)); 7770: 7770: static int digitValue(uint ucs4) noexcept __attribute__((const)); 7770: static uint toLower(uint ucs4) noexcept __attribute__((const)); 7770: static uint toUpper(uint ucs4) noexcept __attribute__((const)); 7770: static uint toTitleCase(uint ucs4) noexcept __attribute__((const)); 7770: static uint toCaseFolded(uint ucs4) noexcept __attribute__((const)); 7770: 7770: static Script script(uint ucs4) noexcept __attribute__((const)); 7770: 7770: static UnicodeVersion unicodeVersion(uint ucs4) noexcept __attribute__((const)); 7770: 7770: static UnicodeVersion currentUnicodeVersion() noexcept __attribute__((const)); 7770: 7770: static bool isPrint(uint ucs4) noexcept __attribute__((const)); 7770: static constexpr inline bool isSpace(uint ucs4) noexcept __attribute__((const)) 7770: { 7770: 7770: return ucs4 == 0x20 || (ucs4 <= 0x0d && ucs4 >= 0x09) 7770: || (ucs4 > 127 && (ucs4 == 0x85 || ucs4 == 0xa0 || QChar::isSpace_helper(ucs4))); 7770: } 7770: static bool isMark(uint ucs4) noexcept __attribute__((const)); 7770: static bool isPunct(uint ucs4) noexcept __attribute__((const)); 7770: static bool isSymbol(uint ucs4) noexcept __attribute__((const)); 7770: static constexpr inline bool isLetter(uint ucs4) noexcept __attribute__((const)) 7770: { 7770: return (ucs4 >= 'A' && ucs4 <= 'z' && (ucs4 >= 'a' || ucs4 <= 'Z')) 7770: || (ucs4 > 127 && QChar::isLetter_helper(ucs4)); 7770: } 7770: static constexpr inline bool isNumber(uint ucs4) noexcept __attribute__((const)) 7770: { return (ucs4 <= '9' && ucs4 >= '0') || (ucs4 > 127 && QChar::isNumber_helper(ucs4)); } 7770: static constexpr inline bool isLetterOrNumber(uint ucs4) noexcept __attribute__((const)) 7770: { 7770: return (ucs4 >= 'A' && ucs4 <= 'z' && (ucs4 >= 'a' || ucs4 <= 'Z')) 7770: || (ucs4 >= '0' && ucs4 <= '9') 7770: || (ucs4 > 127 && QChar::isLetterOrNumber_helper(ucs4)); 7770: } 7770: static constexpr inline bool isDigit(uint ucs4) noexcept __attribute__((const)) 7770: { return (ucs4 <= '9' && ucs4 >= '0') || (ucs4 > 127 && QChar::category(ucs4) == Number_DecimalDigit); } 7770: static constexpr inline bool isLower(uint ucs4) noexcept __attribute__((const)) 7770: { return (ucs4 <= 'z' && ucs4 >= 'a') || (ucs4 > 127 && QChar::category(ucs4) == Letter_Lowercase); } 7770: static constexpr inline bool isUpper(uint ucs4) noexcept __attribute__((const)) 7770: { return (ucs4 <= 'Z' && ucs4 >= 'A') || (ucs4 > 127 && QChar::category(ucs4) == Letter_Uppercase); } 7770: static constexpr inline bool isTitleCase(uint ucs4) noexcept __attribute__((const)) 7770: { return ucs4 > 127 && QChar::category(ucs4) == Letter_Titlecase; } 7770: 7770: private: 7770: static bool isSpace_helper(uint ucs4) noexcept __attribute__((const)); 7770: static bool isLetter_helper(uint ucs4) noexcept __attribute__((const)); 7770: static bool isNumber_helper(uint ucs4) noexcept __attribute__((const)); 7770: static bool isLetterOrNumber_helper(uint ucs4) noexcept __attribute__((const)); 7770: 7770: 7770: 7770: 7770: 7770: 7770: friend constexpr bool operator==(QChar, QChar) noexcept; 7770: friend constexpr bool operator< (QChar, QChar) noexcept; 7770: ushort ucs; 7770: }; 7770: 7770: 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"; } }; 7770: 7770: constexpr inline bool operator==(QChar c1, QChar c2) noexcept { return c1.ucs == c2.ucs; } 7770: constexpr inline bool operator< (QChar c1, QChar c2) noexcept { return c1.ucs < c2.ucs; } 7770: 7770: constexpr inline bool operator!=(QChar c1, QChar c2) noexcept { return !operator==(c1, c2); } 7770: constexpr inline bool operator>=(QChar c1, QChar c2) noexcept { return !operator< (c1, c2); } 7770: constexpr inline bool operator> (QChar c1, QChar c2) noexcept { return operator< (c2, c1); } 7770: constexpr inline bool operator<=(QChar c1, QChar c2) noexcept { return !operator< (c2, c1); } 7770: 7770: 7770: constexpr inline bool operator==(QChar lhs, std::nullptr_t) noexcept { return lhs.isNull(); } 7770: constexpr inline bool operator< (QChar, std::nullptr_t) noexcept { return false; } 7770: constexpr inline bool operator==(std::nullptr_t, QChar rhs) noexcept { return rhs.isNull(); } 7770: constexpr inline bool operator< (std::nullptr_t, QChar rhs) noexcept { return !rhs.isNull(); } 7770: 7770: constexpr inline bool operator!=(QChar lhs, std::nullptr_t) noexcept { return !operator==(lhs, nullptr); } 7770: constexpr inline bool operator>=(QChar lhs, std::nullptr_t) noexcept { return !operator< (lhs, nullptr); } 7770: constexpr inline bool operator> (QChar lhs, std::nullptr_t) noexcept { return operator< (nullptr, lhs); } 7770: constexpr inline bool operator<=(QChar lhs, std::nullptr_t) noexcept { return !operator< (nullptr, lhs); } 7770: 7770: constexpr inline bool operator!=(std::nullptr_t, QChar rhs) noexcept { return !operator==(nullptr, rhs); } 7770: constexpr inline bool operator>=(std::nullptr_t, QChar rhs) noexcept { return !operator< (nullptr, rhs); } 7770: constexpr inline bool operator> (std::nullptr_t, QChar rhs) noexcept { return operator< (rhs, nullptr); } 7770: constexpr inline bool operator<=(std::nullptr_t, QChar rhs) noexcept { return !operator< (rhs, nullptr); } 7770: 7770: 7770: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, QChar); 7770: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QChar &); 7770: 7770: 7770: 7770: # 49 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearray.h" 1 3 4 7770: # 50 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 2 3 4 7770: # 76 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 3 4 7770: 7770: 7770: class QCharRef; 7770: class QRegExp; 7770: class QRegularExpression; 7770: class QRegularExpressionMatch; 7770: class QString; 7770: class QStringList; 7770: class QTextCodec; 7770: class QStringRef; 7770: template class QVector; 7770: 7770: class QLatin1String 7770: { 7770: public: 7770: constexpr inline QLatin1String() noexcept : m_size(0), m_data(nullptr) {} 7770: constexpr inline explicit QLatin1String(const char *s) noexcept : m_size(s ? int(strlen(s)) : 0), m_data(s) {} 7770: constexpr inline explicit QLatin1String(const char *s, int sz) noexcept : m_size(sz), m_data(s) {} 7770: inline explicit QLatin1String(const QByteArray &s) noexcept : m_size(int(qstrnlen(s.constData(), s.size()))), m_data(s.constData()) {} 7770: 7770: constexpr const char *latin1() const noexcept { return m_data; } 7770: constexpr int size() const noexcept { return m_size; } 7770: constexpr const char *data() const noexcept { return m_data; } 7770: 7770: constexpr QLatin1Char at(int i) const { return QLatin1Char(m_data[i]); } 7770: constexpr QLatin1Char operator[](int i) const { return at(i); } 7770: 7770: constexpr QLatin1String mid(int pos) const 7770: { return QLatin1String(m_data + pos, m_size - pos); } 7770: constexpr QLatin1String mid(int pos, int n) const 7770: { return QLatin1String(m_data + pos, n); } 7770: constexpr QLatin1String left(int n) const 7770: { return QLatin1String(m_data, n); } 7770: constexpr QLatin1String right(int n) const 7770: { return QLatin1String(m_data + m_size - n, n); } 7770: 7770: inline bool operator==(const QString &s) const noexcept; 7770: inline bool operator!=(const QString &s) const noexcept; 7770: inline bool operator>(const QString &s) const noexcept; 7770: inline bool operator<(const QString &s) const noexcept; 7770: inline bool operator>=(const QString &s) const noexcept; 7770: inline bool operator<=(const QString &s) const noexcept; 7770: 7770: 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator==(const char *s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator!=(const char *s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<(const char *s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>(const char *s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<=(const char *s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>=(const char *s) const; 7770: 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator==(const QByteArray &s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator!=(const QByteArray &s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<(const QByteArray &s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>(const QByteArray &s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<=(const QByteArray &s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>=(const QByteArray &s) const; 7770: 7770: 7770: private: 7770: int m_size; 7770: const char *m_data; 7770: }; 7770: 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"; } }; 7770: 7770: 7770: typedef QLatin1String QLatin1Literal; 7770: 7770: 7770: typedef QTypedArrayData QStringData; 7770: # 166 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 3 4 7770: typedef char16_t qunicodechar; 7770: 7770: 7770: 7770: static_assert(bool(sizeof(qunicodechar) == 2), "qunicodechar must typedef an integral type of size 2") 7770: ; 7770: # 194 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 3 4 7770: template 7770: struct QStaticStringData 7770: { 7770: QArrayData str; 7770: qunicodechar data[N + 1]; 7770: 7770: QStringData *data_ptr() const 7770: { 7770: do { } while ((false) && (str.ref.isStatic())); 7770: return const_cast(static_cast(&str)); 7770: } 7770: }; 7770: 7770: struct QStringDataPtr 7770: { 7770: QStringData *ptr; 7770: }; 7770: 7770: class __attribute__((visibility("default"))) QString 7770: { 7770: public: 7770: typedef QStringData Data; 7770: 7770: inline QString() noexcept; 7770: explicit QString(const QChar *unicode, int size = -1); 7770: QString(QChar c); 7770: QString(int size, QChar c); 7770: inline QString(QLatin1String latin1); 7770: inline QString(const QString &) noexcept; 7770: inline ~QString(); 7770: QString &operator=(QChar c); 7770: QString &operator=(const QString &) noexcept; 7770: QString &operator=(QLatin1String latin1); 7770: 7770: inline QString(QString && other) noexcept : d(other.d) { other.d = Data::sharedNull(); } 7770: inline QString &operator=(QString &&other) noexcept 7770: { qSwap(d, other.d); return *this; } 7770: 7770: inline void swap(QString &other) noexcept { qSwap(d, other.d); } 7770: inline int size() const { return d->size; } 7770: inline int count() const { return d->size; } 7770: inline int length() const; 7770: inline bool isEmpty() const; 7770: void resize(int size); 7770: void resize(int size, QChar fillChar); 7770: 7770: QString &fill(QChar c, int size = -1); 7770: void truncate(int pos); 7770: void chop(int n); 7770: 7770: int capacity() const; 7770: inline void reserve(int size); 7770: inline void squeeze(); 7770: 7770: inline const QChar *unicode() const; 7770: inline QChar *data(); 7770: inline const QChar *data() const; 7770: inline const QChar *constData() const; 7770: 7770: inline void detach(); 7770: inline bool isDetached() const; 7770: inline bool isSharedWith(const QString &other) const { return d == other.d; } 7770: void clear(); 7770: 7770: inline const QChar at(int i) const; 7770: const QChar operator[](int i) const; 7770: QCharRef operator[](int i); 7770: const QChar operator[](uint i) const; 7770: QCharRef operator[](uint i); 7770: 7770: [[nodiscard]] QString arg(qlonglong a, int fieldwidth=0, int base=10, 7770: QChar fillChar = QLatin1Char(' ')) const; 7770: [[nodiscard]] QString arg(qulonglong a, int fieldwidth=0, int base=10, 7770: QChar fillChar = QLatin1Char(' ')) const; 7770: [[nodiscard]] QString arg(long a, int fieldwidth=0, int base=10, 7770: QChar fillChar = QLatin1Char(' ')) const; 7770: [[nodiscard]] QString arg(ulong a, int fieldwidth=0, int base=10, 7770: QChar fillChar = QLatin1Char(' ')) const; 7770: [[nodiscard]] QString arg(int a, int fieldWidth = 0, int base = 10, 7770: QChar fillChar = QLatin1Char(' ')) const; 7770: [[nodiscard]] QString arg(uint a, int fieldWidth = 0, int base = 10, 7770: QChar fillChar = QLatin1Char(' ')) const; 7770: [[nodiscard]] QString arg(short a, int fieldWidth = 0, int base = 10, 7770: QChar fillChar = QLatin1Char(' ')) const; 7770: [[nodiscard]] QString arg(ushort a, int fieldWidth = 0, int base = 10, 7770: QChar fillChar = QLatin1Char(' ')) const; 7770: [[nodiscard]] QString arg(double a, int fieldWidth = 0, char fmt = 'g', int prec = -1, 7770: QChar fillChar = QLatin1Char(' ')) const; 7770: [[nodiscard]] QString arg(char a, int fieldWidth = 0, 7770: QChar fillChar = QLatin1Char(' ')) const; 7770: [[nodiscard]] QString arg(QChar a, int fieldWidth = 0, 7770: QChar fillChar = QLatin1Char(' ')) const; 7770: [[nodiscard]] QString arg(const QString &a, int fieldWidth = 0, 7770: QChar fillChar = QLatin1Char(' ')) const; 7770: [[nodiscard]] QString arg(const QString &a1, const QString &a2) const; 7770: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3) const; 7770: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3, 7770: const QString &a4) const; 7770: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3, 7770: const QString &a4, const QString &a5) const; 7770: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3, 7770: const QString &a4, const QString &a5, const QString &a6) const; 7770: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3, 7770: const QString &a4, const QString &a5, const QString &a6, 7770: const QString &a7) const; 7770: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3, 7770: const QString &a4, const QString &a5, const QString &a6, 7770: const QString &a7, const QString &a8) const; 7770: [[nodiscard]] QString arg(const QString &a1, const QString &a2, const QString &a3, 7770: const QString &a4, const QString &a5, const QString &a6, 7770: const QString &a7, const QString &a8, const QString &a9) const; 7770: 7770: QString &vsprintf(const char *format, va_list ap) __attribute__((format(printf, (2), (0)))); 7770: QString &sprintf(const char *format, ...) __attribute__((format(printf, (2), (3)))); 7770: static QString vasprintf(const char *format, va_list ap) __attribute__((format(printf, (1), (0)))); 7770: static QString asprintf(const char *format, ...) __attribute__((format(printf, (1), (2)))); 7770: 7770: int indexOf(QChar c, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: int indexOf(const QString &s, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: int indexOf(QLatin1String s, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: int indexOf(const QStringRef &s, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: int lastIndexOf(QChar c, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: int lastIndexOf(const QString &s, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: int lastIndexOf(QLatin1String s, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: int lastIndexOf(const QStringRef &s, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: 7770: inline bool contains(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: inline bool contains(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: inline bool contains(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: inline bool contains(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: int count(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: int count(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: int count(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: 7770: 7770: int indexOf(const QRegExp &, int from = 0) const; 7770: int lastIndexOf(const QRegExp &, int from = -1) const; 7770: inline bool contains(const QRegExp &rx) const { return indexOf(rx) != -1; } 7770: int count(const QRegExp &) const; 7770: 7770: int indexOf(QRegExp &, int from = 0) const; 7770: int lastIndexOf(QRegExp &, int from = -1) const; 7770: inline bool contains(QRegExp &rx) const { return indexOf(rx) != -1; } 7770: 7770: 7770: 7770: int indexOf(const QRegularExpression &re, int from = 0) const; 7770: int indexOf(const QRegularExpression &re, int from, QRegularExpressionMatch *rmatch) const; 7770: int lastIndexOf(const QRegularExpression &re, int from = -1) const; 7770: int lastIndexOf(const QRegularExpression &re, int from, QRegularExpressionMatch *rmatch) const; 7770: bool contains(const QRegularExpression &re) const; 7770: bool contains(const QRegularExpression &re, QRegularExpressionMatch *match) const; 7770: int count(const QRegularExpression &re) const; 7770: 7770: 7770: enum SectionFlag { 7770: SectionDefault = 0x00, 7770: SectionSkipEmpty = 0x01, 7770: SectionIncludeLeadingSep = 0x02, 7770: SectionIncludeTrailingSep = 0x04, 7770: SectionCaseInsensitiveSeps = 0x08 7770: }; 7770: typedef QFlags SectionFlags; 7770: 7770: QString section(QChar sep, int start, int end = -1, SectionFlags flags = SectionDefault) const; 7770: QString section(const QString &in_sep, int start, int end = -1, SectionFlags flags = SectionDefault) const; 7770: 7770: QString section(const QRegExp ®, int start, int end = -1, SectionFlags flags = SectionDefault) const; 7770: 7770: 7770: QString section(const QRegularExpression &re, int start, int end = -1, SectionFlags flags = SectionDefault) const; 7770: 7770: [[nodiscard]] QString left(int n) const; 7770: [[nodiscard]] QString right(int n) const; 7770: [[nodiscard]] QString mid(int position, int n = -1) const; 7770: [[nodiscard]] QStringRef leftRef(int n) const; 7770: [[nodiscard]] QStringRef rightRef(int n) const; 7770: [[nodiscard]] QStringRef midRef(int position, int n = -1) const; 7770: 7770: bool startsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: bool startsWith(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: bool startsWith(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: bool startsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: bool endsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: bool endsWith(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: bool endsWith(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: bool endsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: 7770: [[nodiscard]] QString leftJustified(int width, QChar fill = QLatin1Char(' '), bool trunc = false) const; 7770: [[nodiscard]] QString rightJustified(int width, QChar fill = QLatin1Char(' '), bool trunc = false) const; 7770: # 393 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 3 4 7770: [[nodiscard]] inline __attribute__((always_inline)) QString toLower() const & 7770: { return toLower_helper(*this); } 7770: [[nodiscard]] inline __attribute__((always_inline)) QString toLower() && 7770: { return toLower_helper(*this); } 7770: [[nodiscard]] inline __attribute__((always_inline)) QString toUpper() const & 7770: { return toUpper_helper(*this); } 7770: [[nodiscard]] inline __attribute__((always_inline)) QString toUpper() && 7770: { return toUpper_helper(*this); } 7770: [[nodiscard]] inline __attribute__((always_inline)) QString toCaseFolded() const & 7770: { return toCaseFolded_helper(*this); } 7770: [[nodiscard]] inline __attribute__((always_inline)) QString toCaseFolded() && 7770: { return toCaseFolded_helper(*this); } 7770: [[nodiscard]] inline __attribute__((always_inline)) QString trimmed() const & 7770: { return trimmed_helper(*this); } 7770: [[nodiscard]] inline __attribute__((always_inline)) QString trimmed() && 7770: { return trimmed_helper(*this); } 7770: [[nodiscard]] inline __attribute__((always_inline)) QString simplified() const & 7770: { return simplified_helper(*this); } 7770: [[nodiscard]] inline __attribute__((always_inline)) QString simplified() && 7770: { return simplified_helper(*this); } 7770: # 423 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 3 4 7770: [[nodiscard]] QString toHtmlEscaped() const; 7770: 7770: QString &insert(int i, QChar c); 7770: QString &insert(int i, const QChar *uc, int len); 7770: inline QString &insert(int i, const QString &s) { return insert(i, s.constData(), s.length()); } 7770: inline QString &insert(int i, const QStringRef &s); 7770: QString &insert(int i, QLatin1String s); 7770: QString &append(QChar c); 7770: QString &append(const QChar *uc, int len); 7770: QString &append(const QString &s); 7770: QString &append(const QStringRef &s); 7770: QString &append(QLatin1String s); 7770: inline QString &prepend(QChar c) { return insert(0, c); } 7770: inline QString &prepend(const QChar *uc, int len) { return insert(0, uc, len); } 7770: inline QString &prepend(const QString &s) { return insert(0, s); } 7770: inline QString &prepend(const QStringRef &s) { return insert(0, s); } 7770: inline QString &prepend(QLatin1String s) { return insert(0, s); } 7770: 7770: inline QString &operator+=(QChar c) { 7770: if (d->ref.isShared() || uint(d->size) + 2u > d->alloc) 7770: reallocData(uint(d->size) + 2u, true); 7770: d->data()[d->size++] = c.unicode(); 7770: d->data()[d->size] = '\0'; 7770: return *this; 7770: } 7770: 7770: inline QString &operator+=(QChar::SpecialCharacter c) { return append(QChar(c)); } 7770: inline QString &operator+=(const QString &s) { return append(s); } 7770: inline QString &operator+=(const QStringRef &s) { return append(s); } 7770: inline QString &operator+=(QLatin1String s) { return append(s); } 7770: 7770: QString &remove(int i, int len); 7770: QString &remove(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive); 7770: QString &remove(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive); 7770: QString &replace(int i, int len, QChar after); 7770: QString &replace(int i, int len, const QChar *s, int slen); 7770: QString &replace(int i, int len, const QString &after); 7770: QString &replace(QChar before, QChar after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 7770: QString &replace(const QChar *before, int blen, const QChar *after, int alen, Qt::CaseSensitivity cs = Qt::CaseSensitive); 7770: QString &replace(QLatin1String before, QLatin1String after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 7770: QString &replace(QLatin1String before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 7770: QString &replace(const QString &before, QLatin1String after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 7770: QString &replace(const QString &before, const QString &after, 7770: Qt::CaseSensitivity cs = Qt::CaseSensitive); 7770: QString &replace(QChar c, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 7770: QString &replace(QChar c, QLatin1String after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 7770: 7770: QString &replace(const QRegExp &rx, const QString &after); 7770: inline QString &remove(const QRegExp &rx) 7770: { return replace(rx, QString()); } 7770: 7770: 7770: QString &replace(const QRegularExpression &re, const QString &after); 7770: inline QString &remove(const QRegularExpression &re) 7770: { return replace(re, QString()); } 7770: 7770: 7770: enum SplitBehavior { KeepEmptyParts, SkipEmptyParts }; 7770: 7770: [[nodiscard]] QStringList split(const QString &sep, SplitBehavior behavior = KeepEmptyParts, 7770: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: [[nodiscard]] QVector splitRef(const QString &sep, SplitBehavior behavior = KeepEmptyParts, 7770: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: [[nodiscard]] QStringList split(QChar sep, SplitBehavior behavior = KeepEmptyParts, 7770: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: [[nodiscard]] QVector splitRef(QChar sep, SplitBehavior behavior = KeepEmptyParts, 7770: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: 7770: [[nodiscard]] QStringList split(const QRegExp &sep, SplitBehavior behavior = KeepEmptyParts) const; 7770: [[nodiscard]] QVector splitRef(const QRegExp &sep, SplitBehavior behavior = KeepEmptyParts) const; 7770: 7770: 7770: [[nodiscard]] QStringList split(const QRegularExpression &sep, SplitBehavior behavior = KeepEmptyParts) const; 7770: [[nodiscard]] QVector splitRef(const QRegularExpression &sep, SplitBehavior behavior = KeepEmptyParts) const; 7770: 7770: enum NormalizationForm { 7770: NormalizationForm_D, 7770: NormalizationForm_C, 7770: NormalizationForm_KD, 7770: NormalizationForm_KC 7770: }; 7770: [[nodiscard]] QString normalized(NormalizationForm mode, QChar::UnicodeVersion version = QChar::Unicode_Unassigned) const; 7770: 7770: [[nodiscard]] QString repeated(int times) const; 7770: 7770: const ushort *utf16() const; 7770: 7770: 7770: [[nodiscard]] QByteArray toLatin1() const & 7770: { return toLatin1_helper(*this); } 7770: [[nodiscard]] QByteArray toLatin1() && 7770: { return toLatin1_helper_inplace(*this); } 7770: [[nodiscard]] QByteArray toUtf8() const & 7770: { return toUtf8_helper(*this); } 7770: [[nodiscard]] QByteArray toUtf8() && 7770: { return toUtf8_helper(*this); } 7770: [[nodiscard]] QByteArray toLocal8Bit() const & 7770: { return toLocal8Bit_helper(isNull() ? nullptr : constData(), size()); } 7770: [[nodiscard]] QByteArray toLocal8Bit() && 7770: { return toLocal8Bit_helper(isNull() ? nullptr : constData(), size()); } 7770: 7770: 7770: 7770: 7770: 7770: [[nodiscard]] QVector toUcs4() const; 7770: 7770: 7770: static inline QString fromLatin1(const char *str, int size = -1) 7770: { 7770: QStringDataPtr dataPtr = { fromLatin1_helper(str, (str && size == -1) ? int(strlen(str)) : size) }; 7770: return QString(dataPtr); 7770: } 7770: static inline QString fromUtf8(const char *str, int size = -1) 7770: { 7770: return fromUtf8_helper(str, (str && size == -1) ? int(strlen(str)) : size); 7770: } 7770: static inline QString fromLocal8Bit(const char *str, int size = -1) 7770: { 7770: return fromLocal8Bit_helper(str, (str && size == -1) ? int(strlen(str)) : size); 7770: } 7770: static inline QString fromLatin1(const QByteArray &str) 7770: { return str.isNull() ? QString() : fromLatin1(str.data(), qstrnlen(str.constData(), str.size())); } 7770: static inline QString fromUtf8(const QByteArray &str) 7770: { return str.isNull() ? QString() : fromUtf8(str.data(), qstrnlen(str.constData(), str.size())); } 7770: static inline QString fromLocal8Bit(const QByteArray &str) 7770: { return str.isNull() ? QString() : fromLocal8Bit(str.data(), qstrnlen(str.constData(), str.size())); } 7770: static QString fromUtf16(const ushort *, int size = -1); 7770: static QString fromUcs4(const uint *, int size = -1); 7770: static QString fromRawData(const QChar *, int size); 7770: 7770: 7770: static QString fromUtf16(const char16_t *str, int size = -1) 7770: { return fromUtf16(reinterpret_cast(str), size); } 7770: static QString fromUcs4(const char32_t *str, int size = -1) 7770: { return fromUcs4(reinterpret_cast(str), size); } 7770: # 570 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 3 4 7770: inline int toWCharArray(wchar_t *array) const; 7770: [[nodiscard]] static inline QString fromWCharArray(const wchar_t *string, int size = -1); 7770: 7770: QString &setRawData(const QChar *unicode, int size); 7770: QString &setUnicode(const QChar *unicode, int size); 7770: inline QString &setUtf16(const ushort *utf16, int size); 7770: 7770: int compare(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 7770: int compare(QLatin1String other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 7770: 7770: static inline int compare(const QString &s1, const QString &s2, 7770: Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept 7770: { return s1.compare(s2, cs); } 7770: 7770: static inline int compare(const QString &s1, QLatin1String s2, 7770: Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept 7770: { return s1.compare(s2, cs); } 7770: static inline int compare(QLatin1String s1, const QString &s2, 7770: Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept 7770: { return -s2.compare(s1, cs); } 7770: 7770: inline int compare(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 7770: static int compare(const QString &s1, const QStringRef &s2, 7770: Qt::CaseSensitivity = Qt::CaseSensitive) noexcept; 7770: 7770: int localeAwareCompare(const QString& s) const; 7770: static int localeAwareCompare(const QString& s1, const QString& s2) 7770: { return s1.localeAwareCompare(s2); } 7770: 7770: int localeAwareCompare(const QStringRef &s) const; 7770: static int localeAwareCompare(const QString& s1, const QStringRef& s2); 7770: 7770: 7770: short toShort(bool *ok=nullptr, int base=10) const; 7770: ushort toUShort(bool *ok=nullptr, int base=10) const; 7770: int toInt(bool *ok=nullptr, int base=10) const; 7770: uint toUInt(bool *ok=nullptr, int base=10) const; 7770: long toLong(bool *ok=nullptr, int base=10) const; 7770: ulong toULong(bool *ok=nullptr, int base=10) const; 7770: qlonglong toLongLong(bool *ok=nullptr, int base=10) const; 7770: qulonglong toULongLong(bool *ok=nullptr, int base=10) const; 7770: float toFloat(bool *ok=nullptr) const; 7770: double toDouble(bool *ok=nullptr) const; 7770: 7770: QString &setNum(short, int base=10); 7770: QString &setNum(ushort, int base=10); 7770: QString &setNum(int, int base=10); 7770: QString &setNum(uint, int base=10); 7770: QString &setNum(long, int base=10); 7770: QString &setNum(ulong, int base=10); 7770: QString &setNum(qlonglong, int base=10); 7770: QString &setNum(qulonglong, int base=10); 7770: QString &setNum(float, char f='g', int prec=6); 7770: QString &setNum(double, char f='g', int prec=6); 7770: 7770: static QString number(int, int base=10); 7770: static QString number(uint, int base=10); 7770: static QString number(long, int base=10); 7770: static QString number(ulong, int base=10); 7770: static QString number(qlonglong, int base=10); 7770: static QString number(qulonglong, int base=10); 7770: static QString number(double, char f='g', int prec=6); 7770: 7770: friend __attribute__((visibility("default"))) bool operator==(const QString &s1, const QString &s2) noexcept; 7770: friend __attribute__((visibility("default"))) bool operator<(const QString &s1, const QString &s2) noexcept; 7770: friend inline bool operator>(const QString &s1, const QString &s2) noexcept { return s2 < s1; } 7770: friend inline bool operator!=(const QString &s1, const QString &s2) noexcept { return !(s1 == s2); } 7770: friend inline bool operator<=(const QString &s1, const QString &s2) noexcept { return !(s1 > s2); } 7770: friend inline bool operator>=(const QString &s1, const QString &s2) noexcept { return !(s1 < s2); } 7770: 7770: bool operator==(QLatin1String s) const noexcept; 7770: bool operator<(QLatin1String s) const noexcept; 7770: bool operator>(QLatin1String s) const noexcept; 7770: inline bool operator!=(QLatin1String s) const noexcept { return !operator==(s); } 7770: inline bool operator<=(QLatin1String s) const noexcept { return !operator>(s); } 7770: inline bool operator>=(QLatin1String s) const noexcept { return !operator<(s); } 7770: # 658 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 3 4 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) QString(const char *ch) 7770: : d(fromAscii_helper(ch, ch ? int(strlen(ch)) : -1)) 7770: {} 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) QString(const QByteArray &a) 7770: : d(fromAscii_helper(a.constData(), qstrnlen(a.constData(), a.size()))) 7770: {} 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) QString &operator=(const char *ch) 7770: { return (*this = fromUtf8(ch)); } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) QString &operator=(const QByteArray &a) 7770: { return (*this = fromUtf8(a)); } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) QString &operator=(char c) 7770: { return (*this = QChar::fromLatin1(c)); } 7770: 7770: 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) QString &prepend(const char *s) 7770: { return prepend(QString::fromUtf8(s)); } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) QString &prepend(const QByteArray &s) 7770: { return prepend(QString::fromUtf8(s)); } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) QString &append(const char *s) 7770: { return append(QString::fromUtf8(s)); } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) QString &append(const QByteArray &s) 7770: { return append(QString::fromUtf8(s)); } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) QString &insert(int i, const char *s) 7770: { return insert(i, QString::fromUtf8(s)); } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) QString &insert(int i, const QByteArray &s) 7770: { return insert(i, QString::fromUtf8(s)); } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) QString &operator+=(const char *s) 7770: { return append(QString::fromUtf8(s)); } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) QString &operator+=(const QByteArray &s) 7770: { return append(QString::fromUtf8(s)); } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) QString &operator+=(char c) 7770: { return append(QChar::fromLatin1(c)); } 7770: 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator==(const char *s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator!=(const char *s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<(const char *s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<=(const char *s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>(const char *s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>=(const char *s) const; 7770: 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator==(const QByteArray &s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator!=(const QByteArray &s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<(const QByteArray &s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>(const QByteArray &s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<=(const QByteArray &s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>=(const QByteArray &s) const; 7770: 7770: friend inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator==(const char *s1, const QString &s2); 7770: friend inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator!=(const char *s1, const QString &s2); 7770: friend inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<(const char *s1, const QString &s2); 7770: friend inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>(const char *s1, const QString &s2); 7770: friend inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<=(const char *s1, const QString &s2); 7770: friend inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>=(const char *s1, const QString &s2); 7770: 7770: friend inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator==(const char *s1, const QStringRef &s2); 7770: friend inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator!=(const char *s1, const QStringRef &s2); 7770: friend inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<(const char *s1, const QStringRef &s2); 7770: friend inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>(const char *s1, const QStringRef &s2); 7770: friend inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<=(const char *s1, const QStringRef &s2); 7770: friend inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>=(const char *s1, const QStringRef &s2); 7770: 7770: 7770: typedef QChar *iterator; 7770: typedef const QChar *const_iterator; 7770: typedef iterator Iterator; 7770: typedef const_iterator ConstIterator; 7770: typedef std::reverse_iterator reverse_iterator; 7770: typedef std::reverse_iterator const_reverse_iterator; 7770: inline iterator begin(); 7770: inline const_iterator begin() const; 7770: inline const_iterator cbegin() const; 7770: inline const_iterator constBegin() const; 7770: inline iterator end(); 7770: inline const_iterator end() const; 7770: inline const_iterator cend() const; 7770: inline const_iterator constEnd() const; 7770: reverse_iterator rbegin() { return reverse_iterator(end()); } 7770: reverse_iterator rend() { return reverse_iterator(begin()); } 7770: const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } 7770: const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } 7770: const_reverse_iterator crbegin() const { return const_reverse_iterator(end()); } 7770: const_reverse_iterator crend() const { return const_reverse_iterator(begin()); } 7770: 7770: 7770: typedef int size_type; 7770: typedef qptrdiff difference_type; 7770: typedef const QChar & const_reference; 7770: typedef QChar & reference; 7770: typedef QChar *pointer; 7770: typedef const QChar *const_pointer; 7770: typedef QChar value_type; 7770: inline void push_back(QChar c) { append(c); } 7770: inline void push_back(const QString &s) { append(s); } 7770: inline void push_front(QChar c) { prepend(c); } 7770: inline void push_front(const QString &s) { prepend(s); } 7770: 7770: static inline QString fromStdString(const std::string &s); 7770: inline std::string toStdString() const; 7770: static inline QString fromStdWString(const std::wstring &s); 7770: inline std::wstring toStdWString() const; 7770: 7770: 7770: static inline QString fromStdU16String(const std::u16string &s); 7770: inline std::u16string toStdU16String() const; 7770: static inline QString fromStdU32String(const std::u32string &s); 7770: inline std::u32string toStdU32String() const; 7770: # 774 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 3 4 7770: struct Null { }; 7770: __attribute__ ((__deprecated__("use QString()"))) 7770: static const Null null; 7770: inline QString(const Null &): d(Data::sharedNull()) {} 7770: inline QString &operator=(const Null &) { *this = QString(); return *this; } 7770: 7770: inline bool isNull() const { return d == Data::sharedNull(); } 7770: 7770: 7770: bool isSimpleText() const; 7770: bool isRightToLeft() const; 7770: 7770: QString(int size, Qt::Initialization); 7770: constexpr inline QString(QStringDataPtr dd) : d(dd.ptr) {} 7770: 7770: private: 7770: # 799 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 3 4 7770: Data *d; 7770: 7770: friend inline bool operator==(QChar, const QString &) noexcept; 7770: friend inline bool operator< (QChar, const QString &) noexcept; 7770: friend inline bool operator> (QChar, const QString &) noexcept; 7770: friend inline bool operator==(QChar, const QStringRef &) noexcept; 7770: friend inline bool operator< (QChar, const QStringRef &) noexcept; 7770: friend inline bool operator> (QChar, const QStringRef &) noexcept; 7770: friend inline bool operator==(QChar, QLatin1String) noexcept; 7770: friend inline bool operator< (QChar, QLatin1String) noexcept; 7770: friend inline bool operator> (QChar, QLatin1String) noexcept; 7770: 7770: void reallocData(uint alloc, bool grow = false); 7770: 7770: void expand(int i); 7770: 7770: QString multiArg(int numArgs, const QString **args) const; 7770: static int compare_helper(const QChar *data1, int length1, 7770: const QChar *data2, int length2, 7770: Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 7770: static int compare_helper(const QChar *data1, int length1, 7770: const char *data2, int length2, 7770: Qt::CaseSensitivity cs = Qt::CaseSensitive); 7770: static int compare_helper(const QChar *data1, int length1, 7770: QLatin1String s2, 7770: Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 7770: static int localeAwareCompare_helper(const QChar *data1, int length1, 7770: const QChar *data2, int length2); 7770: static QString toLower_helper(const QString &str); 7770: static QString toLower_helper(QString &str); 7770: static QString toUpper_helper(const QString &str); 7770: static QString toUpper_helper(QString &str); 7770: static QString toCaseFolded_helper(const QString &str); 7770: static QString toCaseFolded_helper(QString &str); 7770: static QString trimmed_helper(const QString &str); 7770: static QString trimmed_helper(QString &str); 7770: static QString simplified_helper(const QString &str); 7770: static QString simplified_helper(QString &str); 7770: static Data *fromLatin1_helper(const char *str, int size = -1); 7770: static Data *fromAscii_helper(const char *str, int size = -1); 7770: static QString fromUtf8_helper(const char *str, int size); 7770: static QString fromLocal8Bit_helper(const char *, int size); 7770: static QByteArray toLatin1_helper(const QString &); 7770: static QByteArray toLatin1_helper(const QChar *data, int size); 7770: static QByteArray toLatin1_helper_inplace(QString &); 7770: static QByteArray toUtf8_helper(const QString &); 7770: static QByteArray toLocal8Bit_helper(const QChar *data, int size); 7770: static int toUcs4_helper(const ushort *uc, int length, uint *out); 7770: static qlonglong toIntegral_helper(const QChar *data, int len, bool *ok, int base); 7770: static qulonglong toIntegral_helper(const QChar *data, uint len, bool *ok, int base); 7770: void replace_helper(uint *indices, int nIndices, int blen, const QChar *after, int alen); 7770: friend class QCharRef; 7770: friend class QTextCodec; 7770: friend class QStringRef; 7770: friend class QByteArray; 7770: friend class QCollator; 7770: friend struct QAbstractConcatenable; 7770: 7770: template static 7770: T toIntegral_helper(const QChar *data, int len, bool *ok, int base) 7770: { 7770: 7770: const bool isUnsigned = T(0) < T(-1); 7770: typedef typename QtPrivate::QConditional::Type Int64; 7770: typedef typename QtPrivate::QConditional::Type Int32; 7770: 7770: 7770: Int64 val = toIntegral_helper(data, Int32(len), ok, base); 7770: if (T(val) != val) { 7770: if (ok) 7770: *ok = false; 7770: val = 0; 7770: } 7770: return T(val); 7770: } 7770: 7770: public: 7770: typedef Data * DataPtr; 7770: inline DataPtr &data_ptr() { return d; } 7770: }; 7770: 7770: inline QString::QString(QLatin1String aLatin1) : d(fromLatin1_helper(aLatin1.latin1(), aLatin1.size())) 7770: { } 7770: inline int QString::length() const 7770: { return d->size; } 7770: inline const QChar QString::at(int i) const 7770: { do { } while ((false) && (uint(i) < uint(size()))); return d->data()[i]; } 7770: inline const QChar QString::operator[](int i) const 7770: { do { } while ((false) && (uint(i) < uint(size()))); return d->data()[i]; } 7770: inline const QChar QString::operator[](uint i) const 7770: { do { } while ((false) && (i < uint(size()))); return d->data()[i]; } 7770: inline bool QString::isEmpty() const 7770: { return d->size == 0; } 7770: inline const QChar *QString::unicode() const 7770: { return reinterpret_cast(d->data()); } 7770: inline const QChar *QString::data() const 7770: { return reinterpret_cast(d->data()); } 7770: inline QChar *QString::data() 7770: { detach(); return reinterpret_cast(d->data()); } 7770: inline const QChar *QString::constData() const 7770: { return reinterpret_cast(d->data()); } 7770: inline void QString::detach() 7770: { if (d->ref.isShared() || (d->offset != sizeof(QStringData))) reallocData(uint(d->size) + 1u); } 7770: inline bool QString::isDetached() const 7770: { return !d->ref.isShared(); } 7770: inline void QString::clear() 7770: { if (!isNull()) *this = QString(); } 7770: inline QString::QString(const QString &other) noexcept : d(other.d) 7770: { do { } while ((false) && (&other != this)); d->ref.ref(); } 7770: inline int QString::capacity() const 7770: { return d->alloc ? d->alloc - 1 : 0; } 7770: inline QString &QString::setNum(short n, int base) 7770: { return setNum(qlonglong(n), base); } 7770: inline QString &QString::setNum(ushort n, int base) 7770: { return setNum(qulonglong(n), base); } 7770: inline QString &QString::setNum(int n, int base) 7770: { return setNum(qlonglong(n), base); } 7770: inline QString &QString::setNum(uint n, int base) 7770: { return setNum(qulonglong(n), base); } 7770: inline QString &QString::setNum(long n, int base) 7770: { return setNum(qlonglong(n), base); } 7770: inline QString &QString::setNum(ulong n, int base) 7770: { return setNum(qulonglong(n), base); } 7770: inline QString &QString::setNum(float n, char f, int prec) 7770: { return setNum(double(n),f,prec); } 7770: inline QString QString::arg(int a, int fieldWidth, int base, QChar fillChar) const 7770: { return arg(qlonglong(a), fieldWidth, base, fillChar); } 7770: inline QString QString::arg(uint a, int fieldWidth, int base, QChar fillChar) const 7770: { return arg(qulonglong(a), fieldWidth, base, fillChar); } 7770: inline QString QString::arg(long a, int fieldWidth, int base, QChar fillChar) const 7770: { return arg(qlonglong(a), fieldWidth, base, fillChar); } 7770: inline QString QString::arg(ulong a, int fieldWidth, int base, QChar fillChar) const 7770: { return arg(qulonglong(a), fieldWidth, base, fillChar); } 7770: inline QString QString::arg(short a, int fieldWidth, int base, QChar fillChar) const 7770: { return arg(qlonglong(a), fieldWidth, base, fillChar); } 7770: inline QString QString::arg(ushort a, int fieldWidth, int base, QChar fillChar) const 7770: { return arg(qulonglong(a), fieldWidth, base, fillChar); } 7770: inline QString QString::arg(const QString &a1, const QString &a2) const 7770: { const QString *args[2] = { &a1, &a2 }; return multiArg(2, args); } 7770: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3) const 7770: { const QString *args[3] = { &a1, &a2, &a3 }; return multiArg(3, args); } 7770: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, 7770: const QString &a4) const 7770: { const QString *args[4] = { &a1, &a2, &a3, &a4 }; return multiArg(4, args); } 7770: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, 7770: const QString &a4, const QString &a5) const 7770: { const QString *args[5] = { &a1, &a2, &a3, &a4, &a5 }; return multiArg(5, args); } 7770: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, 7770: const QString &a4, const QString &a5, const QString &a6) const 7770: { const QString *args[6] = { &a1, &a2, &a3, &a4, &a5, &a6 }; return multiArg(6, args); } 7770: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, 7770: const QString &a4, const QString &a5, const QString &a6, 7770: const QString &a7) const 7770: { const QString *args[7] = { &a1, &a2, &a3, &a4, &a5, &a6, &a7 }; return multiArg(7, args); } 7770: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, 7770: const QString &a4, const QString &a5, const QString &a6, 7770: const QString &a7, const QString &a8) const 7770: { const QString *args[8] = { &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8 }; return multiArg(8, args); } 7770: inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, 7770: const QString &a4, const QString &a5, const QString &a6, 7770: const QString &a7, const QString &a8, const QString &a9) const 7770: { const QString *args[9] = { &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9 }; return multiArg(9, args); } 7770: 7770: inline QString QString::section(QChar asep, int astart, int aend, SectionFlags aflags) const 7770: { return section(QString(asep), astart, aend, aflags); } 7770: 7770: 7770: # 965 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 965 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 3 4 7770: 7770: 7770: 7770: 7770: inline int QString::toWCharArray(wchar_t *array) const 7770: { 7770: if (sizeof(wchar_t) == sizeof(QChar)) { 7770: memcpy(array, d->data(), sizeof(QChar) * size()); 7770: return size(); 7770: } else { 7770: return toUcs4_helper(d->data(), size(), reinterpret_cast(array)); 7770: } 7770: } 7770: 7770: 7770: # 979 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 979 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 3 4 7770: 7770: 7770: inline QString QString::fromWCharArray(const wchar_t *string, int size) 7770: { 7770: return sizeof(wchar_t) == sizeof(QChar) ? fromUtf16(reinterpret_cast(string), size) 7770: : fromUcs4(reinterpret_cast(string), size); 7770: } 7770: 7770: 7770: class __attribute__((visibility("default"))) QCharRef { 7770: QString &s; 7770: int i; 7770: inline QCharRef(QString &str, int idx) 7770: : s(str),i(idx) {} 7770: friend class QString; 7770: public: 7770: 7770: 7770: 7770: 7770: inline operator QChar() const 7770: { return i < s.d->size ? s.d->data()[i] : 0; } 7770: inline QCharRef &operator=(QChar c) 7770: { if (i >= s.d->size) s.resize(i + 1, QLatin1Char(' ')); else s.detach(); 7770: s.d->data()[i] = c.unicode(); return *this; } 7770: 7770: 7770: 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) QCharRef &operator=(char c) 7770: { return operator=(QChar::fromLatin1(c)); } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) QCharRef &operator=(uchar c) 7770: { return operator=(QChar::fromLatin1(c)); } 7770: 7770: inline QCharRef &operator=(const QCharRef &c) { return operator=(QChar(c)); } 7770: inline QCharRef &operator=(ushort rc) { return operator=(QChar(rc)); } 7770: inline QCharRef &operator=(short rc) { return operator=(QChar(rc)); } 7770: inline QCharRef &operator=(uint rc) { return operator=(QChar(rc)); } 7770: inline QCharRef &operator=(int rc) { return operator=(QChar(rc)); } 7770: 7770: 7770: inline bool isNull() const { return QChar(*this).isNull(); } 7770: inline bool isPrint() const { return QChar(*this).isPrint(); } 7770: inline bool isPunct() const { return QChar(*this).isPunct(); } 7770: inline bool isSpace() const { return QChar(*this).isSpace(); } 7770: inline bool isMark() const { return QChar(*this).isMark(); } 7770: inline bool isLetter() const { return QChar(*this).isLetter(); } 7770: inline bool isNumber() const { return QChar(*this).isNumber(); } 7770: inline bool isLetterOrNumber() { return QChar(*this).isLetterOrNumber(); } 7770: inline bool isDigit() const { return QChar(*this).isDigit(); } 7770: inline bool isLower() const { return QChar(*this).isLower(); } 7770: inline bool isUpper() const { return QChar(*this).isUpper(); } 7770: inline bool isTitleCase() const { return QChar(*this).isTitleCase(); } 7770: 7770: inline int digitValue() const { return QChar(*this).digitValue(); } 7770: QChar toLower() const { return QChar(*this).toLower(); } 7770: QChar toUpper() const { return QChar(*this).toUpper(); } 7770: QChar toTitleCase () const { return QChar(*this).toTitleCase(); } 7770: 7770: QChar::Category category() const { return QChar(*this).category(); } 7770: QChar::Direction direction() const { return QChar(*this).direction(); } 7770: QChar::JoiningType joiningType() const { return QChar(*this).joiningType(); } 7770: 7770: __attribute__ ((__deprecated__)) QChar::Joining joining() const 7770: { 7770: switch (QChar(*this).joiningType()) { 7770: case QChar::Joining_Causing: return QChar::Center; 7770: case QChar::Joining_Dual: return QChar::Dual; 7770: case QChar::Joining_Right: return QChar::Right; 7770: case QChar::Joining_None: 7770: case QChar::Joining_Left: 7770: case QChar::Joining_Transparent: 7770: default: return QChar::OtherJoining; 7770: } 7770: } 7770: 7770: bool hasMirrored() const { return QChar(*this).hasMirrored(); } 7770: QChar mirroredChar() const { return QChar(*this).mirroredChar(); } 7770: QString decomposition() const { return QChar(*this).decomposition(); } 7770: QChar::Decomposition decompositionTag() const { return QChar(*this).decompositionTag(); } 7770: uchar combiningClass() const { return QChar(*this).combiningClass(); } 7770: 7770: inline QChar::Script script() const { return QChar(*this).script(); } 7770: 7770: QChar::UnicodeVersion unicodeVersion() const { return QChar(*this).unicodeVersion(); } 7770: 7770: inline uchar cell() const { return QChar(*this).cell(); } 7770: inline uchar row() const { return QChar(*this).row(); } 7770: inline void setCell(uchar cell); 7770: inline void setRow(uchar row); 7770: 7770: 7770: 7770: 7770: char toLatin1() const { return QChar(*this).toLatin1(); } 7770: ushort unicode() const { return QChar(*this).unicode(); } 7770: ushort& unicode() { return s.data()[i].unicode(); } 7770: 7770: }; 7770: 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"; } }; 7770: 7770: inline void QCharRef::setRow(uchar arow) { QChar(*this).setRow(arow); } 7770: inline void QCharRef::setCell(uchar acell) { QChar(*this).setCell(acell); } 7770: 7770: 7770: inline QString::QString() noexcept : d(Data::sharedNull()) {} 7770: inline QString::~QString() { if (!d->ref.deref()) Data::deallocate(d); } 7770: 7770: inline void QString::reserve(int asize) 7770: { 7770: if (d->ref.isShared() || uint(asize) >= d->alloc) 7770: reallocData(qMax(asize, d->size) + 1u); 7770: 7770: if (!d->capacityReserved) { 7770: 7770: d->capacityReserved = true; 7770: } 7770: } 7770: 7770: inline void QString::squeeze() 7770: { 7770: if (d->ref.isShared() || uint(d->size) + 1u < d->alloc) 7770: reallocData(uint(d->size) + 1u); 7770: 7770: if (d->capacityReserved) { 7770: 7770: 7770: d->capacityReserved = false; 7770: } 7770: } 7770: 7770: inline QString &QString::setUtf16(const ushort *autf16, int asize) 7770: { return setUnicode(reinterpret_cast(autf16), asize); } 7770: inline QCharRef QString::operator[](int i) 7770: { do { } while ((false) && (i >= 0)); return QCharRef(*this, i); } 7770: inline QCharRef QString::operator[](uint i) 7770: { return QCharRef(*this, i); } 7770: inline QString::iterator QString::begin() 7770: { detach(); return reinterpret_cast(d->data()); } 7770: inline QString::const_iterator QString::begin() const 7770: { return reinterpret_cast(d->data()); } 7770: inline QString::const_iterator QString::cbegin() const 7770: { return reinterpret_cast(d->data()); } 7770: inline QString::const_iterator QString::constBegin() const 7770: { return reinterpret_cast(d->data()); } 7770: inline QString::iterator QString::end() 7770: { detach(); return reinterpret_cast(d->data() + d->size); } 7770: inline QString::const_iterator QString::end() const 7770: { return reinterpret_cast(d->data() + d->size); } 7770: inline QString::const_iterator QString::cend() const 7770: { return reinterpret_cast(d->data() + d->size); } 7770: inline QString::const_iterator QString::constEnd() const 7770: { return reinterpret_cast(d->data() + d->size); } 7770: inline bool QString::contains(const QString &s, Qt::CaseSensitivity cs) const 7770: { return indexOf(s, 0, cs) != -1; } 7770: inline bool QString::contains(const QStringRef &s, Qt::CaseSensitivity cs) const 7770: { return indexOf(s, 0, cs) != -1; } 7770: inline bool QString::contains(QLatin1String s, Qt::CaseSensitivity cs) const 7770: { return indexOf(s, 0, cs) != -1; } 7770: inline bool QString::contains(QChar c, Qt::CaseSensitivity cs) const 7770: { return indexOf(c, 0, cs) != -1; } 7770: 7770: 7770: inline bool operator==(QString::Null, QString::Null) { return true; } 7770: __attribute__ ((__deprecated__("use QString::isNull()"))) 7770: inline bool operator==(QString::Null, const QString &s) { return s.isNull(); } 7770: __attribute__ ((__deprecated__("use QString::isNull()"))) 7770: inline bool operator==(const QString &s, QString::Null) { return s.isNull(); } 7770: inline bool operator!=(QString::Null, QString::Null) { return false; } 7770: __attribute__ ((__deprecated__("use !QString::isNull()"))) 7770: inline bool operator!=(QString::Null, const QString &s) { return !s.isNull(); } 7770: __attribute__ ((__deprecated__("use !QString::isNull()"))) 7770: inline bool operator!=(const QString &s, QString::Null) { return !s.isNull(); } 7770: 7770: 7770: inline bool operator==(QLatin1String s1, QLatin1String s2) noexcept 7770: { return s1.size() == s2.size() && (!s1.size() || !memcmp(s1.latin1(), s2.latin1(), s1.size())); } 7770: inline bool operator!=(QLatin1String s1, QLatin1String s2) noexcept 7770: { return !operator==(s1, s2); } 7770: inline bool operator<(QLatin1String s1, QLatin1String s2) noexcept 7770: { 7770: const int len = qMin(s1.size(), s2.size()); 7770: const int r = len ? memcmp(s1.latin1(), s2.latin1(), len) : 0; 7770: return r < 0 || (r == 0 && s1.size() < s2.size()); 7770: } 7770: inline bool operator>(QLatin1String s1, QLatin1String s2) noexcept 7770: { return operator<(s2, s1); } 7770: inline bool operator<=(QLatin1String s1, QLatin1String s2) noexcept 7770: { return !operator>(s1, s2); } 7770: inline bool operator>=(QLatin1String s1, QLatin1String s2) noexcept 7770: { return !operator<(s1, s2); } 7770: 7770: inline bool QLatin1String::operator==(const QString &s) const noexcept 7770: { return s == *this; } 7770: inline bool QLatin1String::operator!=(const QString &s) const noexcept 7770: { return s != *this; } 7770: inline bool QLatin1String::operator>(const QString &s) const noexcept 7770: { return s < *this; } 7770: inline bool QLatin1String::operator<(const QString &s) const noexcept 7770: { return s > *this; } 7770: inline bool QLatin1String::operator>=(const QString &s) const noexcept 7770: { return s <= *this; } 7770: inline bool QLatin1String::operator<=(const QString &s) const noexcept 7770: { return s >= *this; } 7770: 7770: 7770: inline bool QString::operator==(const char *s) const 7770: { return QString::compare_helper(constData(), size(), s, -1) == 0; } 7770: inline bool QString::operator!=(const char *s) const 7770: { return QString::compare_helper(constData(), size(), s, -1) != 0; } 7770: inline bool QString::operator<(const char *s) const 7770: { return QString::compare_helper(constData(), size(), s, -1) < 0; } 7770: inline bool QString::operator>(const char *s) const 7770: { return QString::compare_helper(constData(), size(), s, -1) > 0; } 7770: inline bool QString::operator<=(const char *s) const 7770: { return QString::compare_helper(constData(), size(), s, -1) <= 0; } 7770: inline bool QString::operator>=(const char *s) const 7770: { return QString::compare_helper(constData(), size(), s, -1) >= 0; } 7770: 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator==(const char *s1, const QString &s2) 7770: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) == 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator!=(const char *s1, const QString &s2) 7770: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) != 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<(const char *s1, const QString &s2) 7770: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) > 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>(const char *s1, const QString &s2) 7770: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) < 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<=(const char *s1, const QString &s2) 7770: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) >= 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>=(const char *s1, const QString &s2) 7770: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) <= 0; } 7770: 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator==(const char *s1, QLatin1String s2) 7770: { return QString::fromUtf8(s1) == s2; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator!=(const char *s1, QLatin1String s2) 7770: { return QString::fromUtf8(s1) != s2; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<(const char *s1, QLatin1String s2) 7770: { return (QString::fromUtf8(s1) < s2); } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>(const char *s1, QLatin1String s2) 7770: { return (QString::fromUtf8(s1) > s2); } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<=(const char *s1, QLatin1String s2) 7770: { return (QString::fromUtf8(s1) <= s2); } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>=(const char *s1, QLatin1String s2) 7770: { return (QString::fromUtf8(s1) >= s2); } 7770: 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QLatin1String::operator==(const char *s) const 7770: { return QString::fromUtf8(s) == *this; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QLatin1String::operator!=(const char *s) const 7770: { return QString::fromUtf8(s) != *this; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QLatin1String::operator<(const char *s) const 7770: { return QString::fromUtf8(s) > *this; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QLatin1String::operator>(const char *s) const 7770: { return QString::fromUtf8(s) < *this; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QLatin1String::operator<=(const char *s) const 7770: { return QString::fromUtf8(s) >= *this; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QLatin1String::operator>=(const char *s) const 7770: { return QString::fromUtf8(s) <= *this; } 7770: 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QLatin1String::operator==(const QByteArray &s) const 7770: { return QString::fromUtf8(s) == *this; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QLatin1String::operator!=(const QByteArray &s) const 7770: { return QString::fromUtf8(s) != *this; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QLatin1String::operator<(const QByteArray &s) const 7770: { return QString::fromUtf8(s) > *this; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QLatin1String::operator>(const QByteArray &s) const 7770: { return QString::fromUtf8(s) < *this; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QLatin1String::operator<=(const QByteArray &s) const 7770: { return QString::fromUtf8(s) >= *this; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QLatin1String::operator>=(const QByteArray &s) const 7770: { return QString::fromUtf8(s) <= *this; } 7770: 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QString::operator==(const QByteArray &s) const 7770: { return QString::compare_helper(constData(), size(), s.constData(), qstrnlen(s.constData(), s.size())) == 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QString::operator!=(const QByteArray &s) const 7770: { return QString::compare_helper(constData(), size(), s.constData(), qstrnlen(s.constData(), s.size())) != 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QString::operator<(const QByteArray &s) const 7770: { return QString::compare_helper(constData(), size(), s.constData(), s.size()) < 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QString::operator>(const QByteArray &s) const 7770: { return QString::compare_helper(constData(), size(), s.constData(), s.size()) > 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QString::operator<=(const QByteArray &s) const 7770: { return QString::compare_helper(constData(), size(), s.constData(), s.size()) <= 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QString::operator>=(const QByteArray &s) const 7770: { return QString::compare_helper(constData(), size(), s.constData(), s.size()) >= 0; } 7770: 7770: inline bool QByteArray::operator==(const QString &s) const 7770: { return QString::compare_helper(s.constData(), s.size(), constData(), qstrnlen(constData(), size())) == 0; } 7770: inline bool QByteArray::operator!=(const QString &s) const 7770: { return QString::compare_helper(s.constData(), s.size(), constData(), qstrnlen(constData(), size())) != 0; } 7770: inline bool QByteArray::operator<(const QString &s) const 7770: { return QString::compare_helper(s.constData(), s.size(), constData(), size()) > 0; } 7770: inline bool QByteArray::operator>(const QString &s) const 7770: { return QString::compare_helper(s.constData(), s.size(), constData(), size()) < 0; } 7770: inline bool QByteArray::operator<=(const QString &s) const 7770: { return QString::compare_helper(s.constData(), s.size(), constData(), size()) >= 0; } 7770: inline bool QByteArray::operator>=(const QString &s) const 7770: { return QString::compare_helper(s.constData(), s.size(), constData(), size()) <= 0; } 7770: # 1318 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 3 4 7770: inline std::string QString::toStdString() const 7770: { return toUtf8().toStdString(); } 7770: 7770: inline QString QString::fromStdString(const std::string &s) 7770: { return fromUtf8(s.data(), int(s.size())); } 7770: 7770: inline std::wstring QString::toStdWString() const 7770: { 7770: std::wstring str; 7770: str.resize(length()); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: str.resize(toWCharArray(&(*str.begin()))); 7770: return str; 7770: } 7770: 7770: inline QString QString::fromStdWString(const std::wstring &s) 7770: { return fromWCharArray(s.data(), int(s.size())); } 7770: 7770: 7770: inline QString QString::fromStdU16String(const std::u16string &s) 7770: { return fromUtf16(s.data(), int(s.size())); } 7770: 7770: inline std::u16string QString::toStdU16String() const 7770: { return std::u16string(reinterpret_cast(utf16()), length()); } 7770: 7770: inline QString QString::fromStdU32String(const std::u32string &s) 7770: { return fromUcs4(s.data(), int(s.size())); } 7770: 7770: inline std::u32string QString::toStdU32String() const 7770: { 7770: std::u32string u32str(length(), char32_t(0)); 7770: int len = toUcs4_helper(d->data(), length(), reinterpret_cast(&u32str[0])); 7770: u32str.resize(len); 7770: return u32str; 7770: } 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QString &); 7770: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QString &); 7770: 7770: 7770: 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); } 7770: 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); } 7770: 7770: 7770: class __attribute__((visibility("default"))) QStringRef { 7770: const QString *m_string; 7770: int m_position; 7770: int m_size; 7770: public: 7770: typedef QString::size_type size_type; 7770: typedef QString::value_type value_type; 7770: typedef const QChar *const_iterator; 7770: typedef std::reverse_iterator const_reverse_iterator; 7770: typedef QString::const_pointer const_pointer; 7770: typedef QString::const_reference const_reference; 7770: 7770: 7770: inline QStringRef() : m_string(nullptr), m_position(0), m_size(0) {} 7770: inline QStringRef(const QString *string, int position, int size); 7770: inline QStringRef(const QString *string); 7770: 7770: 7770: 7770: QStringRef(const QStringRef &other) noexcept 7770: :m_string(other.m_string), m_position(other.m_position), m_size(other.m_size) 7770: {} 7770: 7770: QStringRef(QStringRef &&other) noexcept : m_string(other.m_string), m_position(other.m_position), m_size(other.m_size) {} 7770: QStringRef &operator=(QStringRef &&other) noexcept { return *this = other; } 7770: 7770: QStringRef &operator=(const QStringRef &other) noexcept 7770: { 7770: m_string = other.m_string; m_position = other.m_position; 7770: m_size = other.m_size; return *this; 7770: } 7770: inline ~QStringRef(){} 7770: 7770: 7770: inline const QString *string() const { return m_string; } 7770: inline int position() const { return m_position; } 7770: inline int size() const { return m_size; } 7770: inline int count() const { return m_size; } 7770: inline int length() const { return m_size; } 7770: 7770: int indexOf(const QString &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: int indexOf(QChar ch, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: int indexOf(QLatin1String str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: int indexOf(const QStringRef &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: int lastIndexOf(const QString &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: int lastIndexOf(QChar ch, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: int lastIndexOf(QLatin1String str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: int lastIndexOf(const QStringRef &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: 7770: inline bool contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: inline bool contains(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: inline bool contains(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: inline bool contains(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: 7770: int count(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: int count(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: int count(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: 7770: [[nodiscard]] QVector split(const QString &sep, QString::SplitBehavior behavior = QString::KeepEmptyParts, 7770: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: [[nodiscard]] QVector split(QChar sep, QString::SplitBehavior behavior = QString::KeepEmptyParts, 7770: Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: 7770: [[nodiscard]] QStringRef left(int n) const; 7770: [[nodiscard]] QStringRef right(int n) const; 7770: [[nodiscard]] QStringRef mid(int pos, int n = -1) const; 7770: 7770: void truncate(int pos) noexcept { m_size = qBound(0, pos, m_size); } 7770: void chop(int n) noexcept 7770: { 7770: if (n >= m_size) 7770: m_size = 0; 7770: else if (n > 0) 7770: m_size -= n; 7770: } 7770: 7770: bool isRightToLeft() const; 7770: 7770: bool startsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: bool startsWith(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: bool startsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: bool startsWith(const QStringRef &c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: 7770: bool endsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: bool endsWith(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: bool endsWith(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: bool endsWith(const QStringRef &c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: 7770: inline QStringRef &operator=(const QString *string); 7770: 7770: inline const QChar *unicode() const 7770: { 7770: if (!m_string) 7770: return reinterpret_cast(QString::Data::sharedNull()->data()); 7770: return m_string->unicode() + m_position; 7770: } 7770: inline const QChar *data() const { return unicode(); } 7770: inline const QChar *constData() const { return unicode(); } 7770: 7770: inline const_iterator begin() const { return unicode(); } 7770: inline const_iterator cbegin() const { return unicode(); } 7770: inline const_iterator constBegin() const { return unicode(); } 7770: inline const_iterator end() const { return unicode() + size(); } 7770: inline const_iterator cend() const { return unicode() + size(); } 7770: inline const_iterator constEnd() const { return unicode() + size(); } 7770: inline const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } 7770: inline const_reverse_iterator crbegin() const { return rbegin(); } 7770: inline const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } 7770: inline const_reverse_iterator crend() const { return rend(); } 7770: 7770: 7770: 7770: 7770: 7770: [[nodiscard]] QByteArray toLatin1() const; 7770: [[nodiscard]] QByteArray toUtf8() const; 7770: [[nodiscard]] QByteArray toLocal8Bit() const; 7770: [[nodiscard]] QVector toUcs4() const; 7770: 7770: inline void clear() { m_string = nullptr; m_position = m_size = 0; } 7770: QString toString() const; 7770: inline bool isEmpty() const { return m_size == 0; } 7770: inline bool isNull() const { return m_string == nullptr || m_string->isNull(); } 7770: 7770: QStringRef appendTo(QString *string) const; 7770: 7770: inline const QChar at(int i) const 7770: { do { } while ((false) && (uint(i) < uint(size()))); return m_string->at(i + m_position); } 7770: QChar operator[](int i) const { return at(i); } 7770: 7770: 7770: 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator==(const char *s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator!=(const char *s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<(const char *s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<=(const char *s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>(const char *s) const; 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>=(const char *s) const; 7770: 7770: 7770: int compare(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 7770: int compare(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 7770: int compare(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const noexcept; 7770: 7770: int compare(const QByteArray &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const 7770: { return QString::compare_helper(unicode(), size(), s.data(), qstrnlen(s.data(), s.size()), cs); } 7770: 7770: static int compare(const QStringRef &s1, const QString &s2, 7770: Qt::CaseSensitivity = Qt::CaseSensitive) noexcept; 7770: static int compare(const QStringRef &s1, const QStringRef &s2, 7770: Qt::CaseSensitivity = Qt::CaseSensitive) noexcept; 7770: static int compare(const QStringRef &s1, QLatin1String s2, 7770: Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept; 7770: 7770: int localeAwareCompare(const QString &s) const; 7770: int localeAwareCompare(const QStringRef &s) const; 7770: static int localeAwareCompare(const QStringRef &s1, const QString &s2); 7770: static int localeAwareCompare(const QStringRef &s1, const QStringRef &s2); 7770: 7770: [[nodiscard]] QStringRef trimmed() const; 7770: short toShort(bool *ok = nullptr, int base = 10) const; 7770: ushort toUShort(bool *ok = nullptr, int base = 10) const; 7770: int toInt(bool *ok = nullptr, int base = 10) const; 7770: uint toUInt(bool *ok = nullptr, int base = 10) const; 7770: long toLong(bool *ok = nullptr, int base = 10) const; 7770: ulong toULong(bool *ok = nullptr, int base = 10) const; 7770: qlonglong toLongLong(bool *ok = nullptr, int base = 10) const; 7770: qulonglong toULongLong(bool *ok = nullptr, int base = 10) const; 7770: float toFloat(bool *ok = nullptr) const; 7770: double toDouble(bool *ok = nullptr) const; 7770: }; 7770: 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"; } }; 7770: 7770: inline QStringRef &QStringRef::operator=(const QString *aString) 7770: { m_string = aString; m_position = 0; m_size = aString?aString->size():0; return *this; } 7770: 7770: inline QStringRef::QStringRef(const QString *aString, int aPosition, int aSize) 7770: :m_string(aString), m_position(aPosition), m_size(aSize){} 7770: 7770: inline QStringRef::QStringRef(const QString *aString) 7770: :m_string(aString), m_position(0), m_size(aString?aString->size() : 0){} 7770: 7770: 7770: __attribute__((visibility("default"))) bool operator==(const QStringRef &s1, const QStringRef &s2) noexcept; 7770: inline bool operator!=(const QStringRef &s1, const QStringRef &s2) noexcept 7770: { return !(s1 == s2); } 7770: __attribute__((visibility("default"))) bool operator<(const QStringRef &s1, const QStringRef &s2) noexcept; 7770: inline bool operator>(const QStringRef &s1, const QStringRef &s2) noexcept 7770: { return s2 < s1; } 7770: inline bool operator<=(const QStringRef &s1, const QStringRef &s2) noexcept 7770: { return !(s1 > s2); } 7770: inline bool operator>=(const QStringRef &s1, const QStringRef &s2) noexcept 7770: { return !(s1 < s2); } 7770: 7770: 7770: __attribute__((visibility("default"))) bool operator==(const QString &lhs, const QStringRef &rhs) noexcept; 7770: inline bool operator!=(const QString &lhs, const QStringRef &rhs) noexcept { return lhs.compare(rhs) != 0; } 7770: inline bool operator< (const QString &lhs, const QStringRef &rhs) noexcept { return lhs.compare(rhs) < 0; } 7770: inline bool operator> (const QString &lhs, const QStringRef &rhs) noexcept { return lhs.compare(rhs) > 0; } 7770: inline bool operator<=(const QString &lhs, const QStringRef &rhs) noexcept { return lhs.compare(rhs) <= 0; } 7770: inline bool operator>=(const QString &lhs, const QStringRef &rhs) noexcept { return lhs.compare(rhs) >= 0; } 7770: 7770: inline bool operator==(const QStringRef &lhs, const QString &rhs) noexcept { return rhs == lhs; } 7770: inline bool operator!=(const QStringRef &lhs, const QString &rhs) noexcept { return rhs != lhs; } 7770: inline bool operator< (const QStringRef &lhs, const QString &rhs) noexcept { return rhs > lhs; } 7770: inline bool operator> (const QStringRef &lhs, const QString &rhs) noexcept { return rhs < lhs; } 7770: inline bool operator<=(const QStringRef &lhs, const QString &rhs) noexcept { return rhs >= lhs; } 7770: inline bool operator>=(const QStringRef &lhs, const QString &rhs) noexcept { return rhs <= lhs; } 7770: 7770: inline int QString::compare(const QStringRef &s, Qt::CaseSensitivity cs) const noexcept 7770: { return QString::compare_helper(constData(), length(), s.constData(), s.length(), cs); } 7770: inline int QString::compare(const QString &s1, const QStringRef &s2, Qt::CaseSensitivity cs) noexcept 7770: { return QString::compare_helper(s1.constData(), s1.length(), s2.constData(), s2.length(), cs); } 7770: inline int QStringRef::compare(const QString &s, Qt::CaseSensitivity cs) const noexcept 7770: { return QString::compare_helper(constData(), length(), s.constData(), s.length(), cs); } 7770: inline int QStringRef::compare(const QStringRef &s, Qt::CaseSensitivity cs) const noexcept 7770: { return QString::compare_helper(constData(), length(), s.constData(), s.length(), cs); } 7770: inline int QStringRef::compare(QLatin1String s, Qt::CaseSensitivity cs) const noexcept 7770: { return QString::compare_helper(constData(), length(), s, cs); } 7770: inline int QStringRef::compare(const QStringRef &s1, const QString &s2, Qt::CaseSensitivity cs) noexcept 7770: { return QString::compare_helper(s1.constData(), s1.length(), s2.constData(), s2.length(), cs); } 7770: inline int QStringRef::compare(const QStringRef &s1, const QStringRef &s2, Qt::CaseSensitivity cs) noexcept 7770: { return QString::compare_helper(s1.constData(), s1.length(), s2.constData(), s2.length(), cs); } 7770: inline int QStringRef::compare(const QStringRef &s1, QLatin1String s2, Qt::CaseSensitivity cs) noexcept 7770: { return QString::compare_helper(s1.constData(), s1.length(), s2, cs); } 7770: 7770: 7770: __attribute__((visibility("default"))) bool operator==(QLatin1String lhs, const QStringRef &rhs) noexcept; 7770: inline bool operator!=(QLatin1String lhs, const QStringRef &rhs) noexcept { return rhs.compare(lhs) != 0; } 7770: inline bool operator< (QLatin1String lhs, const QStringRef &rhs) noexcept { return rhs.compare(lhs) > 0; } 7770: inline bool operator> (QLatin1String lhs, const QStringRef &rhs) noexcept { return rhs.compare(lhs) < 0; } 7770: inline bool operator<=(QLatin1String lhs, const QStringRef &rhs) noexcept { return rhs.compare(lhs) >= 0; } 7770: inline bool operator>=(QLatin1String lhs, const QStringRef &rhs) noexcept { return rhs.compare(lhs) <= 0; } 7770: 7770: inline bool operator==(const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs == lhs; } 7770: inline bool operator!=(const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs != lhs; } 7770: inline bool operator< (const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs > lhs; } 7770: inline bool operator> (const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs < lhs; } 7770: inline bool operator<=(const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs >= lhs; } 7770: inline bool operator>=(const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs <= lhs; } 7770: 7770: 7770: inline bool operator==(QChar lhs, const QString &rhs) noexcept 7770: { return QString::compare_helper(&lhs, 1, rhs.data(), rhs.size()) == 0; } 7770: inline bool operator< (QChar lhs, const QString &rhs) noexcept 7770: { return QString::compare_helper(&lhs, 1, rhs.data(), rhs.size()) < 0; } 7770: inline bool operator> (QChar lhs, const QString &rhs) noexcept 7770: { return QString::compare_helper(&lhs, 1, rhs.data(), rhs.size()) > 0; } 7770: 7770: inline bool operator!=(QChar lhs, const QString &rhs) noexcept { return !(lhs == rhs); } 7770: inline bool operator<=(QChar lhs, const QString &rhs) noexcept { return !(lhs > rhs); } 7770: inline bool operator>=(QChar lhs, const QString &rhs) noexcept { return !(lhs < rhs); } 7770: 7770: inline bool operator==(const QString &lhs, QChar rhs) noexcept { return rhs == lhs; } 7770: inline bool operator!=(const QString &lhs, QChar rhs) noexcept { return !(rhs == lhs); } 7770: inline bool operator< (const QString &lhs, QChar rhs) noexcept { return rhs > lhs; } 7770: inline bool operator> (const QString &lhs, QChar rhs) noexcept { return rhs < lhs; } 7770: inline bool operator<=(const QString &lhs, QChar rhs) noexcept { return !(rhs < lhs); } 7770: inline bool operator>=(const QString &lhs, QChar rhs) noexcept { return !(rhs > lhs); } 7770: 7770: 7770: inline bool operator==(QChar lhs, const QStringRef &rhs) noexcept 7770: { return QString::compare_helper(&lhs, 1, rhs.data(), rhs.size()) == 0; } 7770: inline bool operator< (QChar lhs, const QStringRef &rhs) noexcept 7770: { return QString::compare_helper(&lhs, 1, rhs.data(), rhs.size()) < 0; } 7770: inline bool operator> (QChar lhs, const QStringRef &rhs) noexcept 7770: { return QString::compare_helper(&lhs, 1, rhs.data(), rhs.size()) > 0; } 7770: 7770: inline bool operator!=(QChar lhs, const QStringRef &rhs) noexcept { return !(lhs == rhs); } 7770: inline bool operator<=(QChar lhs, const QStringRef &rhs) noexcept { return !(lhs > rhs); } 7770: inline bool operator>=(QChar lhs, const QStringRef &rhs) noexcept { return !(lhs < rhs); } 7770: 7770: inline bool operator==(const QStringRef &lhs, QChar rhs) noexcept { return rhs == lhs; } 7770: inline bool operator!=(const QStringRef &lhs, QChar rhs) noexcept { return !(rhs == lhs); } 7770: inline bool operator< (const QStringRef &lhs, QChar rhs) noexcept { return rhs > lhs; } 7770: inline bool operator> (const QStringRef &lhs, QChar rhs) noexcept { return rhs < lhs; } 7770: inline bool operator<=(const QStringRef &lhs, QChar rhs) noexcept { return !(rhs < lhs); } 7770: inline bool operator>=(const QStringRef &lhs, QChar rhs) noexcept { return !(rhs > lhs); } 7770: 7770: 7770: inline bool operator==(QChar lhs, QLatin1String rhs) noexcept 7770: { return QString::compare_helper(&lhs, 1, rhs) == 0; } 7770: inline bool operator< (QChar lhs, QLatin1String rhs) noexcept 7770: { return QString::compare_helper(&lhs, 1, rhs) < 0; } 7770: inline bool operator> (QChar lhs, QLatin1String rhs) noexcept 7770: { return QString::compare_helper(&lhs, 1, rhs) > 0; } 7770: 7770: inline bool operator!=(QChar lhs, QLatin1String rhs) noexcept { return !(lhs == rhs); } 7770: inline bool operator<=(QChar lhs, QLatin1String rhs) noexcept { return !(lhs > rhs); } 7770: inline bool operator>=(QChar lhs, QLatin1String rhs) noexcept { return !(lhs < rhs); } 7770: 7770: inline bool operator==(QLatin1String lhs, QChar rhs) noexcept { return rhs == lhs; } 7770: inline bool operator!=(QLatin1String lhs, QChar rhs) noexcept { return !(rhs == lhs); } 7770: inline bool operator< (QLatin1String lhs, QChar rhs) noexcept { return rhs > lhs; } 7770: inline bool operator> (QLatin1String lhs, QChar rhs) noexcept { return rhs < lhs; } 7770: inline bool operator<=(QLatin1String lhs, QChar rhs) noexcept { return !(rhs < lhs); } 7770: inline bool operator>=(QLatin1String lhs, QChar rhs) noexcept { return !(rhs > lhs); } 7770: 7770: 7770: 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator==(const QStringRef &lhs, const QByteArray &rhs) { return lhs.compare(rhs) == 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator!=(const QStringRef &lhs, const QByteArray &rhs) { return lhs.compare(rhs) != 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator< (const QStringRef &lhs, const QByteArray &rhs) { return lhs.compare(rhs) < 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator> (const QStringRef &lhs, const QByteArray &rhs) { return lhs.compare(rhs) > 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<=(const QStringRef &lhs, const QByteArray &rhs) { return lhs.compare(rhs) <= 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>=(const QStringRef &lhs, const QByteArray &rhs) { return lhs.compare(rhs) >= 0; } 7770: 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator==(const QByteArray &lhs, const QStringRef &rhs) { return rhs.compare(lhs) == 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator!=(const QByteArray &lhs, const QStringRef &rhs) { return rhs.compare(lhs) != 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator< (const QByteArray &lhs, const QStringRef &rhs) { return rhs.compare(lhs) > 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator> (const QByteArray &lhs, const QStringRef &rhs) { return rhs.compare(lhs) < 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<=(const QByteArray &lhs, const QStringRef &rhs) { return rhs.compare(lhs) >= 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>=(const QByteArray &lhs, const QStringRef &rhs) { return rhs.compare(lhs) <= 0; } 7770: 7770: 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QStringRef::operator==(const char *s) const 7770: { return QString::compare_helper(constData(), size(), s, -1) == 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QStringRef::operator!=(const char *s) const 7770: { return QString::compare_helper(constData(), size(), s, -1) != 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QStringRef::operator<(const char *s) const 7770: { return QString::compare_helper(constData(), size(), s, -1) < 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QStringRef::operator<=(const char *s) const 7770: { return QString::compare_helper(constData(), size(), s, -1) <= 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QStringRef::operator>(const char *s) const 7770: { return QString::compare_helper(constData(), size(), s, -1) > 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool QStringRef::operator>=(const char *s) const 7770: { return QString::compare_helper(constData(), size(), s, -1) >= 0; } 7770: 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator==(const char *s1, const QStringRef &s2) 7770: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) == 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator!=(const char *s1, const QStringRef &s2) 7770: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) != 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<(const char *s1, const QStringRef &s2) 7770: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) > 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator<=(const char *s1, const QStringRef &s2) 7770: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) >= 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>(const char *s1, const QStringRef &s2) 7770: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) < 0; } 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) bool operator>=(const char *s1, const QStringRef &s2) 7770: { return QString::compare_helper(s2.constData(), s2.size(), s1, -1) <= 0; } 7770: 7770: 7770: inline int QString::localeAwareCompare(const QStringRef &s) const 7770: { return localeAwareCompare_helper(constData(), length(), s.constData(), s.length()); } 7770: inline int QString::localeAwareCompare(const QString& s1, const QStringRef& s2) 7770: { return localeAwareCompare_helper(s1.constData(), s1.length(), s2.constData(), s2.length()); } 7770: inline int QStringRef::localeAwareCompare(const QString &s) const 7770: { return QString::localeAwareCompare_helper(constData(), length(), s.constData(), s.length()); } 7770: inline int QStringRef::localeAwareCompare(const QStringRef &s) const 7770: { return QString::localeAwareCompare_helper(constData(), length(), s.constData(), s.length()); } 7770: inline int QStringRef::localeAwareCompare(const QStringRef &s1, const QString &s2) 7770: { return QString::localeAwareCompare_helper(s1.constData(), s1.length(), s2.constData(), s2.length()); } 7770: inline int QStringRef::localeAwareCompare(const QStringRef &s1, const QStringRef &s2) 7770: { return QString::localeAwareCompare_helper(s1.constData(), s1.length(), s2.constData(), s2.length()); } 7770: 7770: inline bool QStringRef::contains(const QString &s, Qt::CaseSensitivity cs) const 7770: { return indexOf(s, 0, cs) != -1; } 7770: inline bool QStringRef::contains(QLatin1String s, Qt::CaseSensitivity cs) const 7770: { return indexOf(s, 0, cs) != -1; } 7770: inline bool QStringRef::contains(QChar c, Qt::CaseSensitivity cs) const 7770: { return indexOf(c, 0, cs) != -1; } 7770: inline bool QStringRef::contains(const QStringRef &s, Qt::CaseSensitivity cs) const 7770: { return indexOf(s, 0, cs) != -1; } 7770: 7770: inline QString &QString::insert(int i, const QStringRef &s) 7770: { return insert(i, s.constData(), s.length()); } 7770: # 1754 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 3 4 7770: namespace Qt { 7770: 7770: 7770: 7770: 7770: 7770: } 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstringbuilder.h" 1 3 4 7770: # 50 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstringbuilder.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 1 3 4 7770: # 51 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstringbuilder.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: struct __attribute__((visibility("default"))) QAbstractConcatenable 7770: { 7770: protected: 7770: static void convertFromAscii(const char *a, int len, QChar *&out) noexcept; 7770: static inline void convertFromAscii(char a, QChar *&out) noexcept 7770: { 7770: *out++ = QLatin1Char(a); 7770: } 7770: static void appendLatin1To(const char *a, int len, QChar *out) noexcept; 7770: }; 7770: 7770: template struct QConcatenable {}; 7770: 7770: namespace QtStringBuilder { 7770: template struct ConvertToTypeHelper 7770: { typedef A ConvertTo; }; 7770: template struct ConvertToTypeHelper 7770: { typedef QString ConvertTo; }; 7770: } 7770: 7770: template 7770: struct QStringBuilderCommon 7770: { 7770: T toUpper() const { return resolved().toUpper(); } 7770: T toLower() const { return resolved().toLower(); } 7770: 7770: protected: 7770: T resolved() const { return *static_cast(this); } 7770: }; 7770: 7770: template 7770: struct QStringBuilderBase : public QStringBuilderCommon 7770: { 7770: }; 7770: 7770: template 7770: struct QStringBuilderBase : public QStringBuilderCommon 7770: { 7770: QByteArray toLatin1() const { return this->resolved().toLatin1(); } 7770: QByteArray toUtf8() const { return this->resolved().toUtf8(); } 7770: QByteArray toLocal8Bit() const { return this->resolved().toLocal8Bit(); } 7770: }; 7770: 7770: template 7770: class QStringBuilder : public QStringBuilderBase, typename QtStringBuilder::ConvertToTypeHelper::ConvertTo, typename QConcatenable::ConvertTo>::ConvertTo> 7770: { 7770: public: 7770: QStringBuilder(const A &a_, const B &b_) : a(a_), b(b_) {} 7770: private: 7770: friend class QByteArray; 7770: friend class QString; 7770: template T convertTo() const 7770: { 7770: const uint len = QConcatenable< QStringBuilder >::size(*this); 7770: T s(len, Qt::Uninitialized); 7770: 7770: 7770: 7770: typename T::iterator d = const_cast(s.constData()); 7770: typename T::const_iterator const start = d; 7770: QConcatenable< QStringBuilder >::appendTo(*this, d); 7770: 7770: if (!QConcatenable< QStringBuilder >::ExactSize && int(len) != d - start) { 7770: 7770: 7770: s.resize(d - start); 7770: } 7770: return s; 7770: } 7770: 7770: typedef QConcatenable > Concatenable; 7770: typedef typename Concatenable::ConvertTo ConvertTo; 7770: public: 7770: operator ConvertTo() const { return convertTo(); } 7770: 7770: int size() const { return Concatenable::size(*this); } 7770: 7770: const A &a; 7770: const B &b; 7770: }; 7770: 7770: template <> 7770: class QStringBuilder : public QStringBuilderBase, QString> 7770: { 7770: public: 7770: QStringBuilder(const QString &a_, const QString &b_) : a(a_), b(b_) {} 7770: QStringBuilder(const QStringBuilder &other) : a(other.a), b(other.b) {} 7770: 7770: operator QString() const 7770: { QString r(a); r += b; return r; } 7770: 7770: const QString &a; 7770: const QString &b; 7770: 7770: private: 7770: QStringBuilder &operator=(const QStringBuilder &) = delete; 7770: }; 7770: 7770: template <> 7770: class QStringBuilder : public QStringBuilderBase, QByteArray> 7770: { 7770: public: 7770: QStringBuilder(const QByteArray &a_, const QByteArray &b_) : a(a_), b(b_) {} 7770: QStringBuilder(const QStringBuilder &other) : a(other.a), b(other.b) {} 7770: 7770: operator QByteArray() const 7770: { QByteArray r(a); r += b; return r; } 7770: 7770: const QByteArray &a; 7770: const QByteArray &b; 7770: 7770: private: 7770: QStringBuilder &operator=(const QStringBuilder &) = delete; 7770: }; 7770: 7770: 7770: template <> struct QConcatenable : private QAbstractConcatenable 7770: { 7770: typedef char type; 7770: typedef QByteArray ConvertTo; 7770: enum { ExactSize = true }; 7770: static int size(const char) { return 1; } 7770: 7770: static inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) void appendTo(const char c, QChar *&out) 7770: { 7770: QAbstractConcatenable::convertFromAscii(c, out); 7770: } 7770: 7770: static inline void appendTo(const char c, char *&out) 7770: { *out++ = c; } 7770: }; 7770: 7770: template <> struct QConcatenable 7770: { 7770: typedef QLatin1Char type; 7770: typedef QString ConvertTo; 7770: enum { ExactSize = true }; 7770: static int size(const QLatin1Char) { return 1; } 7770: static inline void appendTo(const QLatin1Char c, QChar *&out) 7770: { *out++ = c; } 7770: static inline void appendTo(const QLatin1Char c, char *&out) 7770: { *out++ = c.toLatin1(); } 7770: }; 7770: 7770: template <> struct QConcatenable : private QAbstractConcatenable 7770: { 7770: typedef QChar type; 7770: typedef QString ConvertTo; 7770: enum { ExactSize = true }; 7770: static int size(const QChar) { return 1; } 7770: static inline void appendTo(const QChar c, QChar *&out) 7770: { *out++ = c; } 7770: }; 7770: 7770: template <> struct QConcatenable : private QAbstractConcatenable 7770: { 7770: typedef QChar::SpecialCharacter type; 7770: typedef QString ConvertTo; 7770: enum { ExactSize = true }; 7770: static int size(const QChar::SpecialCharacter) { return 1; } 7770: static inline void appendTo(const QChar::SpecialCharacter c, QChar *&out) 7770: { *out++ = c; } 7770: }; 7770: 7770: template <> struct QConcatenable : private QAbstractConcatenable 7770: { 7770: typedef QCharRef type; 7770: typedef QString ConvertTo; 7770: enum { ExactSize = true }; 7770: static int size(QCharRef) { return 1; } 7770: static inline void appendTo(QCharRef c, QChar *&out) 7770: { *out++ = QChar(c); } 7770: }; 7770: 7770: template <> struct QConcatenable : private QAbstractConcatenable 7770: { 7770: typedef QLatin1String type; 7770: typedef QString ConvertTo; 7770: enum { ExactSize = true }; 7770: static int size(const QLatin1String a) { return a.size(); } 7770: static inline void appendTo(const QLatin1String a, QChar *&out) 7770: { 7770: appendLatin1To(a.latin1(), a.size(), out); 7770: out += a.size(); 7770: } 7770: static inline void appendTo(const QLatin1String a, char *&out) 7770: { 7770: if (const char *data = a.data()) { 7770: memcpy(out, data, a.size()); 7770: out += a.size(); 7770: } 7770: } 7770: }; 7770: 7770: template <> struct QConcatenable : private QAbstractConcatenable 7770: { 7770: typedef QString type; 7770: typedef QString ConvertTo; 7770: enum { ExactSize = true }; 7770: static int size(const QString &a) { return a.size(); } 7770: static inline void appendTo(const QString &a, QChar *&out) 7770: { 7770: const int n = a.size(); 7770: memcpy(out, reinterpret_cast(a.constData()), sizeof(QChar) * n); 7770: out += n; 7770: } 7770: }; 7770: 7770: template <> struct QConcatenable : private QAbstractConcatenable 7770: { 7770: typedef QStringRef type; 7770: typedef QString ConvertTo; 7770: enum { ExactSize = true }; 7770: static int size(const QStringRef &a) { return a.size(); } 7770: static inline void appendTo(const QStringRef &a, QChar *&out) 7770: { 7770: const int n = a.size(); 7770: memcpy(out, reinterpret_cast(a.constData()), sizeof(QChar) * n); 7770: out += n; 7770: } 7770: }; 7770: 7770: template struct QConcatenable : private QAbstractConcatenable 7770: { 7770: typedef const char type[N]; 7770: typedef QByteArray ConvertTo; 7770: enum { ExactSize = false }; 7770: static int size(const char[N]) { return N - 1; } 7770: 7770: static inline void __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) appendTo(const char a[N], QChar *&out) 7770: { 7770: QAbstractConcatenable::convertFromAscii(a, N - 1, out); 7770: } 7770: 7770: static inline void appendTo(const char a[N], char *&out) 7770: { 7770: while (*a) 7770: *out++ = *a++; 7770: } 7770: }; 7770: 7770: template struct QConcatenable : QConcatenable 7770: { 7770: typedef char type[N]; 7770: }; 7770: 7770: template <> struct QConcatenable : private QAbstractConcatenable 7770: { 7770: typedef char const *type; 7770: typedef QByteArray ConvertTo; 7770: enum { ExactSize = false }; 7770: static int size(const char *a) { return qstrlen(a); } 7770: 7770: static inline void __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) appendTo(const char *a, QChar *&out) 7770: { QAbstractConcatenable::convertFromAscii(a, -1, out); } 7770: 7770: static inline void appendTo(const char *a, char *&out) 7770: { 7770: if (!a) 7770: return; 7770: while (*a) 7770: *out++ = *a++; 7770: } 7770: }; 7770: 7770: template <> struct QConcatenable : private QAbstractConcatenable 7770: { 7770: typedef QByteArray type; 7770: typedef QByteArray ConvertTo; 7770: enum { ExactSize = false }; 7770: static int size(const QByteArray &ba) { return ba.size(); } 7770: 7770: static inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) void appendTo(const QByteArray &ba, QChar *&out) 7770: { 7770: QAbstractConcatenable::convertFromAscii(ba.constData(), ba.size(), out); 7770: } 7770: 7770: static inline void appendTo(const QByteArray &ba, char *&out) 7770: { 7770: const char *a = ba.constData(); 7770: const char * const end = ba.end(); 7770: while (a != end) 7770: *out++ = *a++; 7770: } 7770: }; 7770: 7770: 7770: template 7770: struct QConcatenable< QStringBuilder > 7770: { 7770: typedef QStringBuilder type; 7770: typedef typename QtStringBuilder::ConvertToTypeHelper::ConvertTo, typename QConcatenable::ConvertTo>::ConvertTo ConvertTo; 7770: enum { ExactSize = QConcatenable::ExactSize && QConcatenable::ExactSize }; 7770: static int size(const type &p) 7770: { 7770: return QConcatenable::size(p.a) + QConcatenable::size(p.b); 7770: } 7770: template static inline void appendTo(const type &p, T *&out) 7770: { 7770: QConcatenable::appendTo(p.a, out); 7770: QConcatenable::appendTo(p.b, out); 7770: } 7770: }; 7770: 7770: template 7770: QStringBuilder::type, typename QConcatenable::type> 7770: operator%(const A &a, const B &b) 7770: { 7770: return QStringBuilder::type, typename QConcatenable::type>(a, b); 7770: } 7770: 7770: 7770: 7770: 7770: template 7770: QStringBuilder::type, typename QConcatenable::type> 7770: operator+(const A &a, const B &b) 7770: { 7770: return QStringBuilder::type, typename QConcatenable::type>(a, b); 7770: } 7770: 7770: 7770: namespace QtStringBuilder { 7770: template 7770: QByteArray &appendToByteArray(QByteArray &a, const QStringBuilder &b, char) 7770: { 7770: 7770: int len = a.size() + QConcatenable< QStringBuilder >::size(b); 7770: a.reserve(len); 7770: char *it = a.data() + a.size(); 7770: QConcatenable< QStringBuilder >::appendTo(b, it); 7770: a.resize(len); 7770: return a; 7770: } 7770: # 400 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstringbuilder.h" 3 4 7770: } 7770: 7770: template 7770: QByteArray &operator+=(QByteArray &a, const QStringBuilder &b) 7770: { 7770: return QtStringBuilder::appendToByteArray(a, b, 7770: typename QConcatenable< QStringBuilder >::ConvertTo::value_type()); 7770: } 7770: 7770: template 7770: QString &operator+=(QString &a, const QStringBuilder &b) 7770: { 7770: int len = a.size() + QConcatenable< QStringBuilder >::size(b); 7770: a.reserve(len); 7770: QChar *it = a.data() + a.size(); 7770: QConcatenable< QStringBuilder >::appendTo(b, it); 7770: a.resize(int(it - a.constData())); 7770: return a; 7770: } 7770: 7770: 7770: 7770: # 1766 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 2 3 4 7770: # 688 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearray.h" 2 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvariant.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlist.h" 1 3 4 7770: # 43 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlist.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qalgorithms.h" 1 3 4 7770: # 49 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 7770: 7770: 7770: # 50 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 50 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 7770: 7770: 7770: # 51 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 7770: # 51 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: namespace QAlgorithmsPrivate { 7770: 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::sort"))) void qSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan); 7770: template 7770: __attribute__ ((__deprecated__("Use std::sort"))) inline void qSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy); 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::stable_sort"))) void qStableSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan); 7770: template 7770: __attribute__ ((__deprecated__("Use std::stable_sort"))) inline void qStableSortHelper(RandomAccessIterator, RandomAccessIterator, const T &); 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::lower_bound"))) RandomAccessIterator qLowerBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan); 7770: template 7770: __attribute__ ((__deprecated__("Use std::upper_bound"))) RandomAccessIterator qUpperBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan); 7770: template 7770: __attribute__ ((__deprecated__("Use std::binary_search"))) RandomAccessIterator qBinaryFindHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan); 7770: 7770: 7770: } 7770: 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::copy"))) inline OutputIterator qCopy(InputIterator begin, InputIterator end, OutputIterator dest) 7770: { 7770: while (begin != end) 7770: *dest++ = *begin++; 7770: return dest; 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::copy_backward"))) inline BiIterator2 qCopyBackward(BiIterator1 begin, BiIterator1 end, BiIterator2 dest) 7770: { 7770: while (begin != end) 7770: *--dest = *--end; 7770: return dest; 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::equal"))) inline bool qEqual(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2) 7770: { 7770: for (; first1 != last1; ++first1, ++first2) 7770: if (!(*first1 == *first2)) 7770: return false; 7770: return true; 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::fill"))) inline void qFill(ForwardIterator first, ForwardIterator last, const T &val) 7770: { 7770: for (; first != last; ++first) 7770: *first = val; 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::fill"))) inline void qFill(Container &container, const T &val) 7770: { 7770: qFill(container.begin(), container.end(), val); 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::find"))) inline InputIterator qFind(InputIterator first, InputIterator last, const T &val) 7770: { 7770: while (first != last && !(*first == val)) 7770: ++first; 7770: return first; 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::find"))) inline typename Container::const_iterator qFind(const Container &container, const T &val) 7770: { 7770: return qFind(container.constBegin(), container.constEnd(), val); 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::count"))) inline void qCount(InputIterator first, InputIterator last, const T &value, Size &n) 7770: { 7770: for (; first != last; ++first) 7770: if (*first == value) 7770: ++n; 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::count"))) inline void qCount(const Container &container, const T &value, Size &n) 7770: { 7770: qCount(container.constBegin(), container.constEnd(), value, n); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: class __attribute__ ((__deprecated__("Use std::less"))) qLess 7770: { 7770: public: 7770: inline bool operator()(const T &t1, const T &t2) const 7770: { 7770: return (t1 < t2); 7770: } 7770: }; 7770: 7770: template 7770: class __attribute__ ((__deprecated__("Use std::greater"))) qGreater 7770: { 7770: public: 7770: inline bool operator()(const T &t1, const T &t2) const 7770: { 7770: return (t2 < t1); 7770: } 7770: }; 7770: 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::sort"))) inline void qSort(RandomAccessIterator start, RandomAccessIterator end) 7770: { 7770: if (start != end) 7770: QAlgorithmsPrivate::qSortHelper(start, end, *start); 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::sort"))) inline void qSort(RandomAccessIterator start, RandomAccessIterator end, LessThan lessThan) 7770: { 7770: if (start != end) 7770: QAlgorithmsPrivate::qSortHelper(start, end, *start, lessThan); 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::sort"))) inline void qSort(Container &c) 7770: { 7770: 7770: 7770: 7770: 7770: if (!c.empty()) 7770: QAlgorithmsPrivate::qSortHelper(c.begin(), c.end(), *c.begin()); 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::stable_sort"))) inline void qStableSort(RandomAccessIterator start, RandomAccessIterator end) 7770: { 7770: if (start != end) 7770: QAlgorithmsPrivate::qStableSortHelper(start, end, *start); 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::stable_sort"))) inline void qStableSort(RandomAccessIterator start, RandomAccessIterator end, LessThan lessThan) 7770: { 7770: if (start != end) 7770: QAlgorithmsPrivate::qStableSortHelper(start, end, *start, lessThan); 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::stable_sort"))) inline void qStableSort(Container &c) 7770: { 7770: 7770: 7770: 7770: 7770: if (!c.empty()) 7770: QAlgorithmsPrivate::qStableSortHelper(c.begin(), c.end(), *c.begin()); 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::lower_bound"))) RandomAccessIterator qLowerBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value) 7770: { 7770: 7770: 7770: 7770: RandomAccessIterator middle; 7770: int n = end - begin; 7770: int half; 7770: 7770: while (n > 0) { 7770: half = n >> 1; 7770: middle = begin + half; 7770: if (*middle < value) { 7770: begin = middle + 1; 7770: n -= half + 1; 7770: } else { 7770: n = half; 7770: } 7770: } 7770: return begin; 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::lower_bound"))) RandomAccessIterator qLowerBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) 7770: { 7770: return QAlgorithmsPrivate::qLowerBoundHelper(begin, end, value, lessThan); 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::lower_bound"))) typename Container::const_iterator qLowerBound(const Container &container, const T &value) 7770: { 7770: return QAlgorithmsPrivate::qLowerBoundHelper(container.constBegin(), container.constEnd(), value, qLess()); 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::upper_bound"))) RandomAccessIterator qUpperBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value) 7770: { 7770: 7770: RandomAccessIterator middle; 7770: int n = end - begin; 7770: int half; 7770: 7770: while (n > 0) { 7770: half = n >> 1; 7770: middle = begin + half; 7770: if (value < *middle) { 7770: n = half; 7770: } else { 7770: begin = middle + 1; 7770: n -= half + 1; 7770: } 7770: } 7770: return begin; 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::upper_bound"))) RandomAccessIterator qUpperBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) 7770: { 7770: return QAlgorithmsPrivate::qUpperBoundHelper(begin, end, value, lessThan); 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::upper_bound"))) typename Container::const_iterator qUpperBound(const Container &container, const T &value) 7770: { 7770: return QAlgorithmsPrivate::qUpperBoundHelper(container.constBegin(), container.constEnd(), value, qLess()); 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::binary_search"))) RandomAccessIterator qBinaryFind(RandomAccessIterator begin, RandomAccessIterator end, const T &value) 7770: { 7770: 7770: RandomAccessIterator it = qLowerBound(begin, end, value); 7770: 7770: if (it == end || value < *it) 7770: return end; 7770: 7770: return it; 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::binary_search"))) RandomAccessIterator qBinaryFind(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) 7770: { 7770: return QAlgorithmsPrivate::qBinaryFindHelper(begin, end, value, lessThan); 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::binary_search"))) typename Container::const_iterator qBinaryFind(const Container &container, const T &value) 7770: { 7770: return QAlgorithmsPrivate::qBinaryFindHelper(container.constBegin(), container.constEnd(), value, qLess()); 7770: } 7770: 7770: 7770: template 7770: void qDeleteAll(ForwardIterator begin, ForwardIterator end) 7770: { 7770: while (begin != end) { 7770: delete *begin; 7770: ++begin; 7770: } 7770: } 7770: 7770: template 7770: inline void qDeleteAll(const Container &c) 7770: { 7770: qDeleteAll(c.begin(), c.end()); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: namespace QAlgorithmsPrivate { 7770: 7770: 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::sort"))) void qSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan) 7770: { 7770: top: 7770: int span = int(end - start); 7770: if (span < 2) 7770: return; 7770: 7770: --end; 7770: RandomAccessIterator low = start, high = end - 1; 7770: RandomAccessIterator pivot = start + span / 2; 7770: 7770: if (lessThan(*end, *start)) 7770: qSwap(*end, *start); 7770: if (span == 2) 7770: return; 7770: 7770: if (lessThan(*pivot, *start)) 7770: qSwap(*pivot, *start); 7770: if (lessThan(*end, *pivot)) 7770: qSwap(*end, *pivot); 7770: if (span == 3) 7770: return; 7770: 7770: qSwap(*pivot, *end); 7770: 7770: while (low < high) { 7770: while (low < high && lessThan(*low, *end)) 7770: ++low; 7770: 7770: while (high > low && lessThan(*end, *high)) 7770: --high; 7770: 7770: if (low < high) { 7770: qSwap(*low, *high); 7770: ++low; 7770: --high; 7770: } else { 7770: break; 7770: } 7770: } 7770: 7770: if (lessThan(*low, *end)) 7770: ++low; 7770: 7770: qSwap(*end, *low); 7770: qSortHelper(start, low, t, lessThan); 7770: 7770: start = low + 1; 7770: ++end; 7770: goto top; 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::sort"))) inline void qSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy) 7770: { 7770: qSortHelper(begin, end, dummy, qLess()); 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::reverse"))) void qReverse(RandomAccessIterator begin, RandomAccessIterator end) 7770: { 7770: --end; 7770: while (begin < end) 7770: qSwap(*begin++, *end--); 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::rotate"))) void qRotate(RandomAccessIterator begin, RandomAccessIterator middle, RandomAccessIterator end) 7770: { 7770: qReverse(begin, middle); 7770: qReverse(middle, end); 7770: qReverse(begin, end); 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::merge"))) void qMerge(RandomAccessIterator begin, RandomAccessIterator pivot, RandomAccessIterator end, T &t, LessThan lessThan) 7770: { 7770: const int len1 = pivot - begin; 7770: const int len2 = end - pivot; 7770: 7770: if (len1 == 0 || len2 == 0) 7770: return; 7770: 7770: if (len1 + len2 == 2) { 7770: if (lessThan(*(begin + 1), *(begin))) 7770: qSwap(*begin, *(begin + 1)); 7770: return; 7770: } 7770: 7770: RandomAccessIterator firstCut; 7770: RandomAccessIterator secondCut; 7770: int len2Half; 7770: if (len1 > len2) { 7770: const int len1Half = len1 / 2; 7770: firstCut = begin + len1Half; 7770: secondCut = qLowerBound(pivot, end, *firstCut, lessThan); 7770: len2Half = secondCut - pivot; 7770: } else { 7770: len2Half = len2 / 2; 7770: secondCut = pivot + len2Half; 7770: firstCut = qUpperBound(begin, pivot, *secondCut, lessThan); 7770: } 7770: 7770: qRotate(firstCut, pivot, secondCut); 7770: const RandomAccessIterator newPivot = firstCut + len2Half; 7770: qMerge(begin, firstCut, newPivot, t, lessThan); 7770: qMerge(newPivot, secondCut, end, t, lessThan); 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::stable_sort"))) void qStableSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &t, LessThan lessThan) 7770: { 7770: const int span = end - begin; 7770: if (span < 2) 7770: return; 7770: 7770: const RandomAccessIterator middle = begin + span / 2; 7770: qStableSortHelper(begin, middle, t, lessThan); 7770: qStableSortHelper(middle, end, t, lessThan); 7770: qMerge(begin, middle, end, t, lessThan); 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::stable_sort"))) inline void qStableSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy) 7770: { 7770: qStableSortHelper(begin, end, dummy, qLess()); 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::lower_bound"))) RandomAccessIterator qLowerBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) 7770: { 7770: RandomAccessIterator middle; 7770: int n = int(end - begin); 7770: int half; 7770: 7770: while (n > 0) { 7770: half = n >> 1; 7770: middle = begin + half; 7770: if (lessThan(*middle, value)) { 7770: begin = middle + 1; 7770: n -= half + 1; 7770: } else { 7770: n = half; 7770: } 7770: } 7770: return begin; 7770: } 7770: 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::upper_bound"))) RandomAccessIterator qUpperBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) 7770: { 7770: RandomAccessIterator middle; 7770: int n = end - begin; 7770: int half; 7770: 7770: while (n > 0) { 7770: half = n >> 1; 7770: middle = begin + half; 7770: if (lessThan(value, *middle)) { 7770: n = half; 7770: } else { 7770: begin = middle + 1; 7770: n -= half + 1; 7770: } 7770: } 7770: return begin; 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__("Use std::binary_search"))) RandomAccessIterator qBinaryFindHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) 7770: { 7770: RandomAccessIterator it = qLowerBoundHelper(begin, end, value, lessThan); 7770: 7770: if (it == end || lessThan(value, *it)) 7770: return end; 7770: 7770: return it; 7770: } 7770: # 536 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 7770: constexpr inline __attribute__((always_inline)) uint qt_builtin_ctzs(quint16 v) noexcept 7770: { 7770: 7770: 7770: 7770: return __builtin_ctz(v); 7770: 7770: } 7770: 7770: constexpr inline __attribute__((always_inline)) uint qt_builtin_clzs(quint16 v) noexcept 7770: { 7770: 7770: 7770: 7770: return __builtin_clz(v) - 16U; 7770: 7770: } 7770: 7770: constexpr inline __attribute__((always_inline)) uint qt_builtin_ctz(quint32 v) noexcept 7770: { 7770: return __builtin_ctz(v); 7770: } 7770: 7770: constexpr inline __attribute__((always_inline)) uint qt_builtin_clz(quint32 v) noexcept 7770: { 7770: return __builtin_clz(v); 7770: } 7770: 7770: constexpr inline __attribute__((always_inline)) uint qt_builtin_ctzll(quint64 v) noexcept 7770: { 7770: return __builtin_ctzll(v); 7770: } 7770: 7770: constexpr inline __attribute__((always_inline)) uint qt_builtin_clzll(quint64 v) noexcept 7770: { 7770: return __builtin_clzll(v); 7770: } 7770: 7770: constexpr inline __attribute__((always_inline)) uint qt_builtin_popcount(quint32 v) noexcept 7770: { 7770: return __builtin_popcount(v); 7770: } 7770: constexpr inline __attribute__((always_inline)) uint qt_builtin_popcount(quint8 v) noexcept 7770: { 7770: return __builtin_popcount(v); 7770: } 7770: constexpr inline __attribute__((always_inline)) uint qt_builtin_popcount(quint16 v) noexcept 7770: { 7770: return __builtin_popcount(v); 7770: } 7770: 7770: constexpr inline __attribute__((always_inline)) uint qt_builtin_popcountll(quint64 v) noexcept 7770: { 7770: return __builtin_popcountll(v); 7770: } 7770: # 681 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 7770: } 7770: 7770: __attribute__((const)) constexpr inline uint qPopulationCount(quint32 v) noexcept 7770: { 7770: 7770: return QAlgorithmsPrivate::qt_builtin_popcount(v); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: } 7770: 7770: __attribute__((const)) constexpr inline uint qPopulationCount(quint8 v) noexcept 7770: { 7770: 7770: return QAlgorithmsPrivate::qt_builtin_popcount(v); 7770: 7770: 7770: 7770: 7770: } 7770: 7770: __attribute__((const)) constexpr inline uint qPopulationCount(quint16 v) noexcept 7770: { 7770: 7770: return QAlgorithmsPrivate::qt_builtin_popcount(v); 7770: 7770: 7770: 7770: 7770: 7770: } 7770: 7770: __attribute__((const)) constexpr inline uint qPopulationCount(quint64 v) noexcept 7770: { 7770: 7770: return QAlgorithmsPrivate::qt_builtin_popcountll(v); 7770: # 730 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 7770: } 7770: 7770: __attribute__((const)) constexpr inline uint qPopulationCount(long unsigned int v) noexcept 7770: { 7770: return qPopulationCount(static_cast(v)); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: constexpr inline uint qCountTrailingZeroBits(quint32 v) noexcept 7770: { 7770: 7770: return v ? QAlgorithmsPrivate::qt_builtin_ctz(v) : 32U; 7770: # 758 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 7770: } 7770: 7770: constexpr inline uint qCountTrailingZeroBits(quint8 v) noexcept 7770: { 7770: 7770: return v ? QAlgorithmsPrivate::qt_builtin_ctz(v) : 8U; 7770: # 773 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 7770: } 7770: 7770: constexpr inline uint qCountTrailingZeroBits(quint16 v) noexcept 7770: { 7770: 7770: return v ? QAlgorithmsPrivate::qt_builtin_ctzs(v) : 16U; 7770: # 789 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 7770: } 7770: 7770: constexpr inline uint qCountTrailingZeroBits(quint64 v) noexcept 7770: { 7770: 7770: return v ? QAlgorithmsPrivate::qt_builtin_ctzll(v) : 64; 7770: 7770: 7770: 7770: 7770: 7770: } 7770: 7770: constexpr inline uint qCountTrailingZeroBits(unsigned long v) noexcept 7770: { 7770: return qCountTrailingZeroBits(QIntegerForSizeof::Unsigned(v)); 7770: } 7770: 7770: constexpr inline uint qCountLeadingZeroBits(quint32 v) noexcept 7770: { 7770: 7770: return v ? QAlgorithmsPrivate::qt_builtin_clz(v) : 32U; 7770: # 820 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 7770: } 7770: 7770: constexpr inline uint qCountLeadingZeroBits(quint8 v) noexcept 7770: { 7770: 7770: return v ? QAlgorithmsPrivate::qt_builtin_clz(v)-24U : 8U; 7770: 7770: 7770: 7770: 7770: 7770: 7770: } 7770: 7770: constexpr inline uint qCountLeadingZeroBits(quint16 v) noexcept 7770: { 7770: 7770: return v ? QAlgorithmsPrivate::qt_builtin_clzs(v) : 16U; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: } 7770: 7770: constexpr inline uint qCountLeadingZeroBits(quint64 v) noexcept 7770: { 7770: 7770: return v ? QAlgorithmsPrivate::qt_builtin_clzll(v) : 64U; 7770: # 860 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 7770: } 7770: 7770: constexpr inline uint qCountLeadingZeroBits(unsigned long v) noexcept 7770: { 7770: return qCountLeadingZeroBits(QIntegerForSizeof::Unsigned(v)); 7770: } 7770: 7770: 7770: # 867 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 867 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qalgorithms.h" 3 4 7770: 7770: 7770: # 44 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlist.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qiterator.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qiterator.h" 3 4 7770: 7770: # 182 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qiterator.h" 3 4 7770: 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlist.h" 2 3 4 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qhashfunctions.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qhashfunctions.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qpair.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qpair.h" 3 4 7770: 7770: 7770: 7770: template 7770: struct QPair 7770: { 7770: typedef T1 first_type; 7770: typedef T2 second_type; 7770: 7770: constexpr QPair() 7770: noexcept((std::is_nothrow_default_constructible::value && std::is_nothrow_default_constructible::value)) 7770: 7770: : first(), second() {} 7770: constexpr QPair(const T1 &t1, const T2 &t2) 7770: noexcept((std::is_nothrow_copy_constructible::value && std::is_nothrow_copy_constructible::value)) 7770: 7770: : first(t1), second(t2) {} 7770: 7770: 7770: template 7770: constexpr QPair(const QPair &p) 7770: noexcept((std::is_nothrow_constructible::value && std::is_nothrow_constructible::value)) 7770: 7770: : first(p.first), second(p.second) {} 7770: template 7770: constexpr QPair &operator=(const QPair &p) 7770: noexcept((std::is_nothrow_assignable::value && std::is_nothrow_assignable::value)) 7770: 7770: { first = p.first; second = p.second; return *this; } 7770: 7770: template 7770: constexpr QPair(QPair &&p) 7770: noexcept((std::is_nothrow_constructible::value && std::is_nothrow_constructible::value)) 7770: 7770: 7770: : first(static_cast(p.first)), second(static_cast(p.second)) {} 7770: template 7770: constexpr QPair &operator=(QPair &&p) 7770: noexcept((std::is_nothrow_assignable::value && std::is_nothrow_assignable::value)) 7770: 7770: { first = std::move(p.first); second = std::move(p.second); return *this; } 7770: 7770: 7770: constexpr void swap(QPair &other) 7770: noexcept(noexcept(qSwap(other.first, other.first)) && noexcept(qSwap(other.second, other.second))) 7770: { 7770: 7770: qSwap(first, other.first); 7770: qSwap(second, other.second); 7770: } 7770: 7770: T1 first; 7770: T2 second; 7770: }; 7770: 7770: template 7770: void swap(QPair &lhs, QPair &rhs) noexcept(noexcept(lhs.swap(rhs))) 7770: { lhs.swap(rhs); } 7770: 7770: 7770: 7770: template 7770: class QTypeInfo > : public QTypeInfoMerger, T1, T2> {}; 7770: 7770: template 7770: constexpr inline bool operator==(const QPair &p1, const QPair &p2) 7770: noexcept(noexcept(p1.first == p2.first && p1.second == p2.second)) 7770: { return p1.first == p2.first && p1.second == p2.second; } 7770: 7770: template 7770: constexpr inline bool operator!=(const QPair &p1, const QPair &p2) 7770: noexcept(noexcept(!(p1 == p2))) 7770: { return !(p1 == p2); } 7770: 7770: template 7770: constexpr inline bool operator<(const QPair &p1, const QPair &p2) 7770: noexcept(noexcept(p1.first < p2.first || (!(p2.first < p1.first) && p1.second < p2.second))) 7770: { 7770: return p1.first < p2.first || (!(p2.first < p1.first) && p1.second < p2.second); 7770: } 7770: 7770: template 7770: constexpr inline bool operator>(const QPair &p1, const QPair &p2) 7770: noexcept(noexcept(p2 < p1)) 7770: { 7770: return p2 < p1; 7770: } 7770: 7770: template 7770: constexpr inline bool operator<=(const QPair &p1, const QPair &p2) 7770: noexcept(noexcept(!(p2 < p1))) 7770: { 7770: return !(p2 < p1); 7770: } 7770: 7770: template 7770: constexpr inline bool operator>=(const QPair &p1, const QPair &p2) 7770: noexcept(noexcept(!(p1 < p2))) 7770: { 7770: return !(p1 < p2); 7770: } 7770: 7770: template 7770: constexpr QPair qMakePair(const T1 &x, const T2 &y) 7770: noexcept(noexcept(QPair(x, y))) 7770: { 7770: return QPair(x, y); 7770: } 7770: 7770: 7770: # 46 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qhashfunctions.h" 2 3 4 7770: 7770: # 1 "/usr/include/c++/8/numeric" 1 3 4 7770: # 58 "/usr/include/c++/8/numeric" 3 4 7770: 7770: # 59 "/usr/include/c++/8/numeric" 3 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/stl_numeric.h" 1 3 7770: # 65 "/usr/include/c++/8/bits/stl_numeric.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 80 "/usr/include/c++/8/bits/stl_numeric.h" 3 7770: template 7770: void 7770: iota(_ForwardIterator __first, _ForwardIterator __last, _Tp __value) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: for (; __first != __last; ++__first) 7770: { 7770: *__first = __value; 7770: ++__value; 7770: } 7770: } 7770: 7770: 7770: } 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 118 "/usr/include/c++/8/bits/stl_numeric.h" 3 7770: template 7770: inline _Tp 7770: accumulate(_InputIterator __first, _InputIterator __last, _Tp __init) 7770: { 7770: 7770: 7770: ; 7770: 7770: for (; __first != __last; ++__first) 7770: __init = __init + *__first; 7770: return __init; 7770: } 7770: # 144 "/usr/include/c++/8/bits/stl_numeric.h" 3 7770: template 7770: inline _Tp 7770: accumulate(_InputIterator __first, _InputIterator __last, _Tp __init, 7770: _BinaryOperation __binary_op) 7770: { 7770: 7770: 7770: ; 7770: 7770: for (; __first != __last; ++__first) 7770: __init = __binary_op(__init, *__first); 7770: return __init; 7770: } 7770: # 172 "/usr/include/c++/8/bits/stl_numeric.h" 3 7770: template 7770: inline _Tp 7770: inner_product(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _Tp __init) 7770: { 7770: 7770: 7770: 7770: ; 7770: 7770: for (; __first1 != __last1; ++__first1, (void)++__first2) 7770: __init = __init + (*__first1 * *__first2); 7770: return __init; 7770: } 7770: # 203 "/usr/include/c++/8/bits/stl_numeric.h" 3 7770: template 7770: inline _Tp 7770: inner_product(_InputIterator1 __first1, _InputIterator1 __last1, 7770: _InputIterator2 __first2, _Tp __init, 7770: _BinaryOperation1 __binary_op1, 7770: _BinaryOperation2 __binary_op2) 7770: { 7770: 7770: 7770: 7770: ; 7770: 7770: for (; __first1 != __last1; ++__first1, (void)++__first2) 7770: __init = __binary_op1(__init, __binary_op2(*__first1, *__first2)); 7770: return __init; 7770: } 7770: # 235 "/usr/include/c++/8/bits/stl_numeric.h" 3 7770: template 7770: _OutputIterator 7770: partial_sum(_InputIterator __first, _InputIterator __last, 7770: _OutputIterator __result) 7770: { 7770: typedef typename iterator_traits<_InputIterator>::value_type _ValueType; 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: if (__first == __last) 7770: return __result; 7770: _ValueType __value = *__first; 7770: *__result = __value; 7770: while (++__first != __last) 7770: { 7770: __value = __value + *__first; 7770: *++__result = __value; 7770: } 7770: return ++__result; 7770: } 7770: # 275 "/usr/include/c++/8/bits/stl_numeric.h" 3 7770: template 7770: _OutputIterator 7770: partial_sum(_InputIterator __first, _InputIterator __last, 7770: _OutputIterator __result, _BinaryOperation __binary_op) 7770: { 7770: typedef typename iterator_traits<_InputIterator>::value_type _ValueType; 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: if (__first == __last) 7770: return __result; 7770: _ValueType __value = *__first; 7770: *__result = __value; 7770: while (++__first != __last) 7770: { 7770: __value = __binary_op(__value, *__first); 7770: *++__result = __value; 7770: } 7770: return ++__result; 7770: } 7770: # 315 "/usr/include/c++/8/bits/stl_numeric.h" 3 7770: template 7770: _OutputIterator 7770: adjacent_difference(_InputIterator __first, 7770: _InputIterator __last, _OutputIterator __result) 7770: { 7770: typedef typename iterator_traits<_InputIterator>::value_type _ValueType; 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: if (__first == __last) 7770: return __result; 7770: _ValueType __value = *__first; 7770: *__result = __value; 7770: while (++__first != __last) 7770: { 7770: _ValueType __tmp = *__first; 7770: *++__result = __tmp - __value; 7770: __value = std::move(__tmp); 7770: } 7770: return ++__result; 7770: } 7770: # 357 "/usr/include/c++/8/bits/stl_numeric.h" 3 7770: template 7770: _OutputIterator 7770: adjacent_difference(_InputIterator __first, _InputIterator __last, 7770: _OutputIterator __result, _BinaryOperation __binary_op) 7770: { 7770: typedef typename iterator_traits<_InputIterator>::value_type _ValueType; 7770: 7770: 7770: 7770: 7770: 7770: ; 7770: 7770: if (__first == __last) 7770: return __result; 7770: _ValueType __value = *__first; 7770: *__result = __value; 7770: while (++__first != __last) 7770: { 7770: _ValueType __tmp = *__first; 7770: *++__result = __binary_op(__tmp, __value); 7770: __value = std::move(__tmp); 7770: } 7770: return ++__result; 7770: } 7770: 7770: 7770: } 7770: # 63 "/usr/include/c++/8/numeric" 2 3 7770: # 80 "/usr/include/c++/8/numeric" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: namespace __detail 7770: { 7770: 7770: template 7770: constexpr 7770: enable_if_t<__and_, is_signed<_Tp>>::value, _Tp> 7770: __abs_integral(_Tp __val) 7770: { return __val < 0 ? -__val : __val; } 7770: 7770: template 7770: constexpr 7770: enable_if_t<__and_, is_unsigned<_Tp>>::value, _Tp> 7770: __abs_integral(_Tp __val) 7770: { return __val; } 7770: 7770: void __abs_integral(bool) = delete; 7770: 7770: template 7770: constexpr common_type_t<_Mn, _Nn> 7770: __gcd(_Mn __m, _Nn __n) 7770: { 7770: return __m == 0 ? __detail::__abs_integral(__n) 7770: : __n == 0 ? __detail::__abs_integral(__m) 7770: : __detail::__gcd(__n, __m % __n); 7770: } 7770: 7770: 7770: template 7770: constexpr common_type_t<_Mn, _Nn> 7770: __lcm(_Mn __m, _Nn __n) 7770: { 7770: return (__m != 0 && __n != 0) 7770: ? (__detail::__abs_integral(__m) / __detail::__gcd(__m, __n)) 7770: * __detail::__abs_integral(__n) 7770: : 0; 7770: } 7770: } 7770: # 130 "/usr/include/c++/8/numeric" 3 7770: template 7770: constexpr common_type_t<_Mn, _Nn> 7770: gcd(_Mn __m, _Nn __n) 7770: { 7770: static_assert(is_integral_v<_Mn>, "gcd arguments are integers"); 7770: static_assert(is_integral_v<_Nn>, "gcd arguments are integers"); 7770: static_assert(!is_same_v, bool>, 7770: "gcd arguments are not bools"); 7770: static_assert(!is_same_v, bool>, 7770: "gcd arguments are not bools"); 7770: return __detail::__gcd(__m, __n); 7770: } 7770: 7770: 7770: template 7770: constexpr common_type_t<_Mn, _Nn> 7770: lcm(_Mn __m, _Nn __n) 7770: { 7770: static_assert(is_integral_v<_Mn>, "lcm arguments are integers"); 7770: static_assert(is_integral_v<_Nn>, "lcm arguments are integers"); 7770: static_assert(!is_same_v, bool>, 7770: "lcm arguments are not bools"); 7770: static_assert(!is_same_v, bool>, 7770: "lcm arguments are not bools"); 7770: return __detail::__lcm(__m, __n); 7770: } 7770: 7770: 7770: 7770: 7770: } 7770: # 48 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qhashfunctions.h" 2 3 4 7770: # 59 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qhashfunctions.h" 3 4 7770: 7770: 7770: class QBitArray; 7770: class QByteArray; 7770: class QString; 7770: class QStringRef; 7770: class QLatin1String; 7770: 7770: __attribute__((visibility("default"))) int qGlobalQHashSeed(); 7770: __attribute__((visibility("default"))) void qSetGlobalQHashSeed(int newSeed); 7770: 7770: __attribute__((visibility("default"))) __attribute__((pure)) uint qHashBits(const void *p, size_t size, uint seed = 0) noexcept; 7770: 7770: __attribute__((const)) constexpr inline uint qHash(char key, uint seed = 0) noexcept { return uint(key) ^ seed; } 7770: __attribute__((const)) constexpr inline uint qHash(uchar key, uint seed = 0) noexcept { return uint(key) ^ seed; } 7770: __attribute__((const)) constexpr inline uint qHash(signed char key, uint seed = 0) noexcept { return uint(key) ^ seed; } 7770: __attribute__((const)) constexpr inline uint qHash(ushort key, uint seed = 0) noexcept { return uint(key) ^ seed; } 7770: __attribute__((const)) constexpr inline uint qHash(short key, uint seed = 0) noexcept { return uint(key) ^ seed; } 7770: __attribute__((const)) constexpr inline uint qHash(uint key, uint seed = 0) noexcept { return key ^ seed; } 7770: __attribute__((const)) constexpr inline uint qHash(int key, uint seed = 0) noexcept { return uint(key) ^ seed; } 7770: __attribute__((const)) constexpr inline uint qHash(ulong key, uint seed = 0) noexcept 7770: { 7770: return (sizeof(ulong) > sizeof(uint)) 7770: ? (uint(((key >> (8 * sizeof(uint) - 1)) ^ key) & (~0U)) ^ seed) 7770: : (uint(key & (~0U)) ^ seed); 7770: } 7770: __attribute__((const)) constexpr inline uint qHash(long key, uint seed = 0) noexcept { return qHash(ulong(key), seed); } 7770: __attribute__((const)) constexpr inline uint qHash(quint64 key, uint seed = 0) noexcept 7770: { 7770: return uint(((key >> (8 * sizeof(uint) - 1)) ^ key) & (~0U)) ^ seed; 7770: } 7770: __attribute__((const)) constexpr inline uint qHash(qint64 key, uint seed = 0) noexcept { return qHash(quint64(key), seed); } 7770: __attribute__((visibility("default"))) __attribute__((const)) uint qHash(float key, uint seed = 0) noexcept; 7770: __attribute__((visibility("default"))) __attribute__((const)) uint qHash(double key, uint seed = 0) noexcept; 7770: 7770: __attribute__((visibility("default"))) __attribute__((const)) uint qHash(long double key, uint seed = 0) noexcept; 7770: 7770: __attribute__((const)) constexpr inline uint qHash(const QChar key, uint seed = 0) noexcept { return qHash(key.unicode(), seed); } 7770: __attribute__((visibility("default"))) __attribute__((pure)) uint qHash(const QByteArray &key, uint seed = 0) noexcept; 7770: __attribute__((visibility("default"))) __attribute__((pure)) uint qHash(const QString &key, uint seed = 0) noexcept; 7770: __attribute__((visibility("default"))) __attribute__((pure)) uint qHash(const QStringRef &key, uint seed = 0) noexcept; 7770: __attribute__((visibility("default"))) __attribute__((pure)) uint qHash(const QBitArray &key, uint seed = 0) noexcept; 7770: __attribute__((visibility("default"))) __attribute__((pure)) uint qHash(QLatin1String key, uint seed = 0) noexcept; 7770: __attribute__((visibility("default"))) __attribute__((pure)) uint qt_hash(const QString &key) noexcept; 7770: __attribute__((visibility("default"))) __attribute__((pure)) uint qt_hash(const QStringRef &key) noexcept; 7770: 7770: template inline uint qHash(const T *key, uint seed = 0) noexcept 7770: { 7770: return qHash(reinterpret_cast(key), seed); 7770: } 7770: template inline uint qHash(const T &t, uint seed) 7770: noexcept(noexcept(qHash(t))) 7770: { return qHash(t) ^ seed; } 7770: 7770: namespace QtPrivate { 7770: 7770: struct QHashCombine { 7770: typedef uint result_type; 7770: template 7770: constexpr result_type operator()(uint seed, const T &t) const noexcept(noexcept(qHash(t))) 7770: 7770: { return seed ^ (qHash(t) + 0x9e3779b9 + (seed << 6) + (seed >> 2)) ; } 7770: }; 7770: 7770: struct QHashCombineCommutative { 7770: 7770: 7770: 7770: 7770: 7770: typedef uint result_type; 7770: template 7770: constexpr result_type operator()(uint seed, const T &t) const noexcept(noexcept(qHash(t))) 7770: { return seed + qHash(t); } 7770: }; 7770: 7770: } 7770: 7770: template 7770: inline uint qHashRange(InputIterator first, InputIterator last, uint seed = 0) 7770: noexcept(noexcept(qHash(*first))) 7770: { 7770: return std::accumulate(first, last, seed, QtPrivate::QHashCombine()); 7770: } 7770: 7770: template 7770: inline uint qHashRangeCommutative(InputIterator first, InputIterator last, uint seed = 0) 7770: noexcept(noexcept(qHash(*first))) 7770: { 7770: return std::accumulate(first, last, seed, QtPrivate::QHashCombineCommutative()); 7770: } 7770: 7770: template inline uint qHash(const QPair &key, uint seed = 0) 7770: noexcept(noexcept(qHash(key.first, seed)) && noexcept(qHash(key.second, seed))) 7770: { 7770: uint h1 = qHash(key.first, seed); 7770: uint h2 = qHash(key.second, seed); 7770: return ((h1 << 16) | (h1 >> 16)) ^ h2 ^ seed; 7770: } 7770: 7770: template inline uint qHash(const std::pair &key, uint seed = 0) 7770: noexcept(noexcept(qHash(key.first, seed)) && noexcept(qHash(key.second, seed))) 7770: { 7770: QtPrivate::QHashCombine hash; 7770: seed = hash(seed, key.first); 7770: seed = hash(seed, key.second); 7770: return seed; 7770: } 7770: 7770: 7770: # 48 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlist.h" 2 3 4 7770: 7770: 7770: # 1 "/usr/include/c++/8/list" 1 3 4 7770: # 58 "/usr/include/c++/8/list" 3 4 7770: 7770: # 59 "/usr/include/c++/8/list" 3 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/stl_list.h" 1 3 7770: # 63 "/usr/include/c++/8/bits/stl_list.h" 3 7770: # 1 "/usr/include/c++/8/bits/allocated_ptr.h" 1 3 7770: # 40 "/usr/include/c++/8/bits/allocated_ptr.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: template 7770: struct __allocated_ptr 7770: { 7770: using pointer = typename allocator_traits<_Alloc>::pointer; 7770: using value_type = typename allocator_traits<_Alloc>::value_type; 7770: 7770: 7770: __allocated_ptr(_Alloc& __a, pointer __ptr) noexcept 7770: : _M_alloc(std::__addressof(__a)), _M_ptr(__ptr) 7770: { } 7770: 7770: 7770: template>> 7770: __allocated_ptr(_Alloc& __a, _Ptr __ptr) 7770: : _M_alloc(std::__addressof(__a)), 7770: _M_ptr(pointer_traits::pointer_to(*__ptr)) 7770: { } 7770: 7770: 7770: __allocated_ptr(__allocated_ptr&& __gd) noexcept 7770: : _M_alloc(__gd._M_alloc), _M_ptr(__gd._M_ptr) 7770: { __gd._M_ptr = nullptr; } 7770: 7770: 7770: ~__allocated_ptr() 7770: { 7770: if (_M_ptr != nullptr) 7770: std::allocator_traits<_Alloc>::deallocate(*_M_alloc, _M_ptr, 1); 7770: } 7770: 7770: 7770: __allocated_ptr& 7770: operator=(std::nullptr_t) noexcept 7770: { 7770: _M_ptr = nullptr; 7770: return *this; 7770: } 7770: 7770: 7770: value_type* get() { return std::__to_address(_M_ptr); } 7770: 7770: private: 7770: _Alloc* _M_alloc; 7770: pointer _M_ptr; 7770: }; 7770: 7770: 7770: template 7770: __allocated_ptr<_Alloc> 7770: __allocate_guarded(_Alloc& __a) 7770: { 7770: return { __a, std::allocator_traits<_Alloc>::allocate(__a, 1) }; 7770: } 7770: 7770: 7770: } 7770: # 64 "/usr/include/c++/8/bits/stl_list.h" 2 3 7770: # 1 "/usr/include/c++/8/ext/aligned_buffer.h" 1 3 7770: # 32 "/usr/include/c++/8/ext/aligned_buffer.h" 3 7770: 7770: # 33 "/usr/include/c++/8/ext/aligned_buffer.h" 3 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: namespace __gnu_cxx 7770: { 7770: 7770: 7770: 7770: 7770: template 7770: struct __aligned_membuf 7770: { 7770: 7770: 7770: 7770: struct _Tp2 { _Tp _M_t; }; 7770: 7770: alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)]; 7770: 7770: __aligned_membuf() = default; 7770: 7770: 7770: __aligned_membuf(std::nullptr_t) { } 7770: 7770: void* 7770: _M_addr() noexcept 7770: { return static_cast(&_M_storage); } 7770: 7770: const void* 7770: _M_addr() const noexcept 7770: { return static_cast(&_M_storage); } 7770: 7770: _Tp* 7770: _M_ptr() noexcept 7770: { return static_cast<_Tp*>(_M_addr()); } 7770: 7770: const _Tp* 7770: _M_ptr() const noexcept 7770: { return static_cast(_M_addr()); } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct __aligned_buffer 7770: : std::aligned_storage::value> 7770: { 7770: typename 7770: std::aligned_storage::value>::type 7770: _M_storage; 7770: 7770: __aligned_buffer() = default; 7770: 7770: 7770: __aligned_buffer(std::nullptr_t) { } 7770: 7770: void* 7770: _M_addr() noexcept 7770: { 7770: return static_cast(&_M_storage); 7770: } 7770: 7770: const void* 7770: _M_addr() const noexcept 7770: { 7770: return static_cast(&_M_storage); 7770: } 7770: 7770: _Tp* 7770: _M_ptr() noexcept 7770: { return static_cast<_Tp*>(_M_addr()); } 7770: 7770: const _Tp* 7770: _M_ptr() const noexcept 7770: { return static_cast(_M_addr()); } 7770: }; 7770: 7770: } 7770: # 65 "/usr/include/c++/8/bits/stl_list.h" 2 3 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: namespace __detail 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: struct _List_node_base 7770: { 7770: _List_node_base* _M_next; 7770: _List_node_base* _M_prev; 7770: 7770: static void 7770: swap(_List_node_base& __x, _List_node_base& __y) noexcept; 7770: 7770: void 7770: _M_transfer(_List_node_base* const __first, 7770: _List_node_base* const __last) noexcept; 7770: 7770: void 7770: _M_reverse() noexcept; 7770: 7770: void 7770: _M_hook(_List_node_base* const __position) noexcept; 7770: 7770: void 7770: _M_unhook() noexcept; 7770: }; 7770: 7770: 7770: struct _List_node_header : public _List_node_base 7770: { 7770: 7770: std::size_t _M_size; 7770: 7770: 7770: _List_node_header() noexcept 7770: { _M_init(); } 7770: 7770: 7770: _List_node_header(_List_node_header&& __x) noexcept 7770: : _List_node_base{ __x._M_next, __x._M_prev } 7770: 7770: , _M_size(__x._M_size) 7770: 7770: { 7770: if (__x._M_base()->_M_next == __x._M_base()) 7770: this->_M_next = this->_M_prev = this; 7770: else 7770: { 7770: this->_M_next->_M_prev = this->_M_prev->_M_next = this->_M_base(); 7770: __x._M_init(); 7770: } 7770: } 7770: 7770: void 7770: _M_move_nodes(_List_node_header&& __x) 7770: { 7770: _List_node_base* const __xnode = __x._M_base(); 7770: if (__xnode->_M_next == __xnode) 7770: _M_init(); 7770: else 7770: { 7770: _List_node_base* const __node = this->_M_base(); 7770: __node->_M_next = __xnode->_M_next; 7770: __node->_M_prev = __xnode->_M_prev; 7770: __node->_M_next->_M_prev = __node->_M_prev->_M_next = __node; 7770: 7770: _M_size = __x._M_size; 7770: 7770: __x._M_init(); 7770: } 7770: } 7770: 7770: 7770: void 7770: _M_init() noexcept 7770: { 7770: this->_M_next = this->_M_prev = this; 7770: 7770: this->_M_size = 0; 7770: 7770: } 7770: 7770: private: 7770: _List_node_base* _M_base() { return this; } 7770: }; 7770: } 7770: 7770: 7770: 7770: 7770: template 7770: struct _List_node : public __detail::_List_node_base 7770: { 7770: 7770: __gnu_cxx::__aligned_membuf<_Tp> _M_storage; 7770: _Tp* _M_valptr() { return _M_storage._M_ptr(); } 7770: _Tp const* _M_valptr() const { return _M_storage._M_ptr(); } 7770: 7770: 7770: 7770: 7770: 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _List_iterator 7770: { 7770: typedef _List_iterator<_Tp> _Self; 7770: typedef _List_node<_Tp> _Node; 7770: 7770: typedef ptrdiff_t difference_type; 7770: typedef std::bidirectional_iterator_tag iterator_category; 7770: typedef _Tp value_type; 7770: typedef _Tp* pointer; 7770: typedef _Tp& reference; 7770: 7770: _List_iterator() noexcept 7770: : _M_node() { } 7770: 7770: explicit 7770: _List_iterator(__detail::_List_node_base* __x) noexcept 7770: : _M_node(__x) { } 7770: 7770: _Self 7770: _M_const_cast() const noexcept 7770: { return *this; } 7770: 7770: 7770: reference 7770: operator*() const noexcept 7770: { return *static_cast<_Node*>(_M_node)->_M_valptr(); } 7770: 7770: pointer 7770: operator->() const noexcept 7770: { return static_cast<_Node*>(_M_node)->_M_valptr(); } 7770: 7770: _Self& 7770: operator++() noexcept 7770: { 7770: _M_node = _M_node->_M_next; 7770: return *this; 7770: } 7770: 7770: _Self 7770: operator++(int) noexcept 7770: { 7770: _Self __tmp = *this; 7770: _M_node = _M_node->_M_next; 7770: return __tmp; 7770: } 7770: 7770: _Self& 7770: operator--() noexcept 7770: { 7770: _M_node = _M_node->_M_prev; 7770: return *this; 7770: } 7770: 7770: _Self 7770: operator--(int) noexcept 7770: { 7770: _Self __tmp = *this; 7770: _M_node = _M_node->_M_prev; 7770: return __tmp; 7770: } 7770: 7770: bool 7770: operator==(const _Self& __x) const noexcept 7770: { return _M_node == __x._M_node; } 7770: 7770: bool 7770: operator!=(const _Self& __x) const noexcept 7770: { return _M_node != __x._M_node; } 7770: 7770: 7770: __detail::_List_node_base* _M_node; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _List_const_iterator 7770: { 7770: typedef _List_const_iterator<_Tp> _Self; 7770: typedef const _List_node<_Tp> _Node; 7770: typedef _List_iterator<_Tp> iterator; 7770: 7770: typedef ptrdiff_t difference_type; 7770: typedef std::bidirectional_iterator_tag iterator_category; 7770: typedef _Tp value_type; 7770: typedef const _Tp* pointer; 7770: typedef const _Tp& reference; 7770: 7770: _List_const_iterator() noexcept 7770: : _M_node() { } 7770: 7770: explicit 7770: _List_const_iterator(const __detail::_List_node_base* __x) 7770: noexcept 7770: : _M_node(__x) { } 7770: 7770: _List_const_iterator(const iterator& __x) noexcept 7770: : _M_node(__x._M_node) { } 7770: 7770: iterator 7770: _M_const_cast() const noexcept 7770: { return iterator(const_cast<__detail::_List_node_base*>(_M_node)); } 7770: 7770: 7770: reference 7770: operator*() const noexcept 7770: { return *static_cast<_Node*>(_M_node)->_M_valptr(); } 7770: 7770: pointer 7770: operator->() const noexcept 7770: { return static_cast<_Node*>(_M_node)->_M_valptr(); } 7770: 7770: _Self& 7770: operator++() noexcept 7770: { 7770: _M_node = _M_node->_M_next; 7770: return *this; 7770: } 7770: 7770: _Self 7770: operator++(int) noexcept 7770: { 7770: _Self __tmp = *this; 7770: _M_node = _M_node->_M_next; 7770: return __tmp; 7770: } 7770: 7770: _Self& 7770: operator--() noexcept 7770: { 7770: _M_node = _M_node->_M_prev; 7770: return *this; 7770: } 7770: 7770: _Self 7770: operator--(int) noexcept 7770: { 7770: _Self __tmp = *this; 7770: _M_node = _M_node->_M_prev; 7770: return __tmp; 7770: } 7770: 7770: bool 7770: operator==(const _Self& __x) const noexcept 7770: { return _M_node == __x._M_node; } 7770: 7770: bool 7770: operator!=(const _Self& __x) const noexcept 7770: { return _M_node != __x._M_node; } 7770: 7770: 7770: const __detail::_List_node_base* _M_node; 7770: }; 7770: 7770: template 7770: inline bool 7770: operator==(const _List_iterator<_Val>& __x, 7770: const _List_const_iterator<_Val>& __y) noexcept 7770: { return __x._M_node == __y._M_node; } 7770: 7770: template 7770: inline bool 7770: operator!=(const _List_iterator<_Val>& __x, 7770: const _List_const_iterator<_Val>& __y) noexcept 7770: { return __x._M_node != __y._M_node; } 7770: 7770: namespace __cxx11 { 7770: 7770: template 7770: class _List_base 7770: { 7770: protected: 7770: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 7770: rebind<_Tp>::other _Tp_alloc_type; 7770: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tp_alloc_traits; 7770: typedef typename _Tp_alloc_traits::template 7770: rebind<_List_node<_Tp> >::other _Node_alloc_type; 7770: typedef __gnu_cxx::__alloc_traits<_Node_alloc_type> _Node_alloc_traits; 7770: 7770: 7770: static size_t 7770: _S_distance(const __detail::_List_node_base* __first, 7770: const __detail::_List_node_base* __last) 7770: { 7770: size_t __n = 0; 7770: while (__first != __last) 7770: { 7770: __first = __first->_M_next; 7770: ++__n; 7770: } 7770: return __n; 7770: } 7770: 7770: 7770: struct _List_impl 7770: : public _Node_alloc_type 7770: { 7770: __detail::_List_node_header _M_node; 7770: 7770: _List_impl() noexcept(noexcept(_Node_alloc_type())) 7770: : _Node_alloc_type() 7770: { } 7770: 7770: _List_impl(const _Node_alloc_type& __a) noexcept 7770: : _Node_alloc_type(__a) 7770: { } 7770: 7770: 7770: _List_impl(_List_impl&&) = default; 7770: 7770: _List_impl(_Node_alloc_type&& __a, _List_impl&& __x) 7770: : _Node_alloc_type(std::move(__a)), _M_node(std::move(__x._M_node)) 7770: { } 7770: 7770: _List_impl(_Node_alloc_type&& __a) noexcept 7770: : _Node_alloc_type(std::move(__a)) 7770: { } 7770: 7770: }; 7770: 7770: _List_impl _M_impl; 7770: 7770: 7770: size_t _M_get_size() const { return _M_impl._M_node._M_size; } 7770: 7770: void _M_set_size(size_t __n) { _M_impl._M_node._M_size = __n; } 7770: 7770: void _M_inc_size(size_t __n) { _M_impl._M_node._M_size += __n; } 7770: 7770: void _M_dec_size(size_t __n) { _M_impl._M_node._M_size -= __n; } 7770: 7770: 7770: size_t 7770: _M_distance(const __detail::_List_node_base* __first, 7770: const __detail::_List_node_base* __last) const 7770: { return _S_distance(__first, __last); } 7770: 7770: 7770: size_t _M_node_count() const { return _M_get_size(); } 7770: # 447 "/usr/include/c++/8/bits/stl_list.h" 3 7770: typename _Node_alloc_traits::pointer 7770: _M_get_node() 7770: { return _Node_alloc_traits::allocate(_M_impl, 1); } 7770: 7770: void 7770: _M_put_node(typename _Node_alloc_traits::pointer __p) noexcept 7770: { _Node_alloc_traits::deallocate(_M_impl, __p, 1); } 7770: 7770: public: 7770: typedef _Alloc allocator_type; 7770: 7770: _Node_alloc_type& 7770: _M_get_Node_allocator() noexcept 7770: { return _M_impl; } 7770: 7770: const _Node_alloc_type& 7770: _M_get_Node_allocator() const noexcept 7770: { return _M_impl; } 7770: 7770: 7770: _List_base() = default; 7770: 7770: 7770: 7770: 7770: _List_base(const _Node_alloc_type& __a) noexcept 7770: : _M_impl(__a) 7770: { } 7770: 7770: 7770: _List_base(_List_base&&) = default; 7770: 7770: 7770: _List_base(_List_base&& __x, _Node_alloc_type&& __a) 7770: : _M_impl(std::move(__a)) 7770: { 7770: if (__x._M_get_Node_allocator() == _M_get_Node_allocator()) 7770: _M_move_nodes(std::move(__x)); 7770: 7770: } 7770: 7770: 7770: 7770: _List_base(_Node_alloc_type&& __a, _List_base&& __x) 7770: : _M_impl(std::move(__a), std::move(__x._M_impl)) 7770: { } 7770: 7770: 7770: _List_base(_Node_alloc_type&& __a) 7770: : _M_impl(std::move(__a)) 7770: { } 7770: 7770: void 7770: _M_move_nodes(_List_base&& __x) 7770: { _M_impl._M_node._M_move_nodes(std::move(__x._M_impl._M_node)); } 7770: 7770: 7770: 7770: ~_List_base() noexcept 7770: { _M_clear(); } 7770: 7770: void 7770: _M_clear() noexcept; 7770: 7770: void 7770: _M_init() noexcept 7770: { this->_M_impl._M_node._M_init(); } 7770: }; 7770: # 562 "/usr/include/c++/8/bits/stl_list.h" 3 7770: template > 7770: class list : protected _List_base<_Tp, _Alloc> 7770: { 7770: # 575 "/usr/include/c++/8/bits/stl_list.h" 3 7770: static_assert(is_same::type, _Tp>::value, 7770: "std::list must have a non-const, non-volatile value_type"); 7770: 7770: static_assert(is_same::value, 7770: "std::list must have the same value_type as its allocator"); 7770: 7770: 7770: 7770: typedef _List_base<_Tp, _Alloc> _Base; 7770: typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; 7770: typedef typename _Base::_Tp_alloc_traits _Tp_alloc_traits; 7770: typedef typename _Base::_Node_alloc_type _Node_alloc_type; 7770: typedef typename _Base::_Node_alloc_traits _Node_alloc_traits; 7770: 7770: public: 7770: typedef _Tp value_type; 7770: typedef typename _Tp_alloc_traits::pointer pointer; 7770: typedef typename _Tp_alloc_traits::const_pointer const_pointer; 7770: typedef typename _Tp_alloc_traits::reference reference; 7770: typedef typename _Tp_alloc_traits::const_reference const_reference; 7770: typedef _List_iterator<_Tp> iterator; 7770: typedef _List_const_iterator<_Tp> const_iterator; 7770: typedef std::reverse_iterator const_reverse_iterator; 7770: typedef std::reverse_iterator reverse_iterator; 7770: typedef size_t size_type; 7770: typedef ptrdiff_t difference_type; 7770: typedef _Alloc allocator_type; 7770: 7770: protected: 7770: 7770: 7770: typedef _List_node<_Tp> _Node; 7770: 7770: using _Base::_M_impl; 7770: using _Base::_M_put_node; 7770: using _Base::_M_get_node; 7770: using _Base::_M_get_Node_allocator; 7770: # 637 "/usr/include/c++/8/bits/stl_list.h" 3 7770: template 7770: _Node* 7770: _M_create_node(_Args&&... __args) 7770: { 7770: auto __p = this->_M_get_node(); 7770: auto& __alloc = _M_get_Node_allocator(); 7770: __allocated_ptr<_Node_alloc_type> __guard{__alloc, __p}; 7770: _Node_alloc_traits::construct(__alloc, __p->_M_valptr(), 7770: std::forward<_Args>(__args)...); 7770: __guard = nullptr; 7770: return __p; 7770: } 7770: 7770: 7770: 7770: static size_t 7770: _S_distance(const_iterator __first, const_iterator __last) 7770: { return std::distance(__first, __last); } 7770: 7770: 7770: size_t 7770: _M_node_count() const 7770: { return this->_M_get_size(); } 7770: # 672 "/usr/include/c++/8/bits/stl_list.h" 3 7770: public: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: list() = default; 7770: # 689 "/usr/include/c++/8/bits/stl_list.h" 3 7770: explicit 7770: list(const allocator_type& __a) noexcept 7770: : _Base(_Node_alloc_type(__a)) { } 7770: # 702 "/usr/include/c++/8/bits/stl_list.h" 3 7770: explicit 7770: list(size_type __n, const allocator_type& __a = allocator_type()) 7770: : _Base(_Node_alloc_type(__a)) 7770: { _M_default_initialize(__n); } 7770: # 715 "/usr/include/c++/8/bits/stl_list.h" 3 7770: list(size_type __n, const value_type& __value, 7770: const allocator_type& __a = allocator_type()) 7770: : _Base(_Node_alloc_type(__a)) 7770: { _M_fill_initialize(__n, __value); } 7770: # 742 "/usr/include/c++/8/bits/stl_list.h" 3 7770: list(const list& __x) 7770: : _Base(_Node_alloc_traits:: 7770: _S_select_on_copy(__x._M_get_Node_allocator())) 7770: { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); } 7770: # 755 "/usr/include/c++/8/bits/stl_list.h" 3 7770: list(list&&) = default; 7770: # 765 "/usr/include/c++/8/bits/stl_list.h" 3 7770: list(initializer_list __l, 7770: const allocator_type& __a = allocator_type()) 7770: : _Base(_Node_alloc_type(__a)) 7770: { _M_initialize_dispatch(__l.begin(), __l.end(), __false_type()); } 7770: 7770: list(const list& __x, const allocator_type& __a) 7770: : _Base(_Node_alloc_type(__a)) 7770: { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); } 7770: 7770: private: 7770: list(list&& __x, const allocator_type& __a, true_type) noexcept 7770: : _Base(_Node_alloc_type(__a), std::move(__x)) 7770: { } 7770: 7770: list(list&& __x, const allocator_type& __a, false_type) 7770: : _Base(_Node_alloc_type(__a)) 7770: { 7770: if (__x._M_get_Node_allocator() == this->_M_get_Node_allocator()) 7770: this->_M_move_nodes(std::move(__x)); 7770: else 7770: insert(begin(), std::__make_move_if_noexcept_iterator(__x.begin()), 7770: std::__make_move_if_noexcept_iterator(__x.end())); 7770: } 7770: 7770: public: 7770: list(list&& __x, const allocator_type& __a) 7770: noexcept(_Node_alloc_traits::_S_always_equal()) 7770: : list(std::move(__x), __a, 7770: typename _Node_alloc_traits::is_always_equal{}) 7770: { } 7770: # 808 "/usr/include/c++/8/bits/stl_list.h" 3 7770: template> 7770: list(_InputIterator __first, _InputIterator __last, 7770: const allocator_type& __a = allocator_type()) 7770: : _Base(_Node_alloc_type(__a)) 7770: { _M_initialize_dispatch(__first, __last, __false_type()); } 7770: # 834 "/usr/include/c++/8/bits/stl_list.h" 3 7770: ~list() = default; 7770: # 845 "/usr/include/c++/8/bits/stl_list.h" 3 7770: list& 7770: operator=(const list& __x); 7770: # 859 "/usr/include/c++/8/bits/stl_list.h" 3 7770: list& 7770: operator=(list&& __x) 7770: noexcept(_Node_alloc_traits::_S_nothrow_move()) 7770: { 7770: constexpr bool __move_storage = 7770: _Node_alloc_traits::_S_propagate_on_move_assign() 7770: || _Node_alloc_traits::_S_always_equal(); 7770: _M_move_assign(std::move(__x), __bool_constant<__move_storage>()); 7770: return *this; 7770: } 7770: # 877 "/usr/include/c++/8/bits/stl_list.h" 3 7770: list& 7770: operator=(initializer_list __l) 7770: { 7770: this->assign(__l.begin(), __l.end()); 7770: return *this; 7770: } 7770: # 895 "/usr/include/c++/8/bits/stl_list.h" 3 7770: void 7770: assign(size_type __n, const value_type& __val) 7770: { _M_fill_assign(__n, __val); } 7770: # 912 "/usr/include/c++/8/bits/stl_list.h" 3 7770: template> 7770: void 7770: assign(_InputIterator __first, _InputIterator __last) 7770: { _M_assign_dispatch(__first, __last, __false_type()); } 7770: # 936 "/usr/include/c++/8/bits/stl_list.h" 3 7770: void 7770: assign(initializer_list __l) 7770: { this->_M_assign_dispatch(__l.begin(), __l.end(), __false_type()); } 7770: 7770: 7770: 7770: allocator_type 7770: get_allocator() const noexcept 7770: { return allocator_type(_Base::_M_get_Node_allocator()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: iterator 7770: begin() noexcept 7770: { return iterator(this->_M_impl._M_node._M_next); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: begin() const noexcept 7770: { return const_iterator(this->_M_impl._M_node._M_next); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: iterator 7770: end() noexcept 7770: { return iterator(&this->_M_impl._M_node); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: end() const noexcept 7770: { return const_iterator(&this->_M_impl._M_node); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: reverse_iterator 7770: rbegin() noexcept 7770: { return reverse_iterator(end()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_reverse_iterator 7770: rbegin() const noexcept 7770: { return const_reverse_iterator(end()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: reverse_iterator 7770: rend() noexcept 7770: { return reverse_iterator(begin()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_reverse_iterator 7770: rend() const noexcept 7770: { return const_reverse_iterator(begin()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: cbegin() const noexcept 7770: { return const_iterator(this->_M_impl._M_node._M_next); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: cend() const noexcept 7770: { return const_iterator(&this->_M_impl._M_node); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_reverse_iterator 7770: crbegin() const noexcept 7770: { return const_reverse_iterator(end()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_reverse_iterator 7770: crend() const noexcept 7770: { return const_reverse_iterator(begin()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: bool 7770: empty() const noexcept 7770: { return this->_M_impl._M_node._M_next == &this->_M_impl._M_node; } 7770: 7770: 7770: size_type 7770: size() const noexcept 7770: { return _M_node_count(); } 7770: 7770: 7770: size_type 7770: max_size() const noexcept 7770: { return _Node_alloc_traits::max_size(_M_get_Node_allocator()); } 7770: # 1085 "/usr/include/c++/8/bits/stl_list.h" 3 7770: void 7770: resize(size_type __new_size); 7770: # 1098 "/usr/include/c++/8/bits/stl_list.h" 3 7770: void 7770: resize(size_type __new_size, const value_type& __x); 7770: # 1120 "/usr/include/c++/8/bits/stl_list.h" 3 7770: reference 7770: front() noexcept 7770: { return *begin(); } 7770: 7770: 7770: 7770: 7770: 7770: const_reference 7770: front() const noexcept 7770: { return *begin(); } 7770: 7770: 7770: 7770: 7770: 7770: reference 7770: back() noexcept 7770: { 7770: iterator __tmp = end(); 7770: --__tmp; 7770: return *__tmp; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: const_reference 7770: back() const noexcept 7770: { 7770: const_iterator __tmp = end(); 7770: --__tmp; 7770: return *__tmp; 7770: } 7770: # 1167 "/usr/include/c++/8/bits/stl_list.h" 3 7770: void 7770: push_front(const value_type& __x) 7770: { this->_M_insert(begin(), __x); } 7770: 7770: 7770: void 7770: push_front(value_type&& __x) 7770: { this->_M_insert(begin(), std::move(__x)); } 7770: 7770: template 7770: 7770: reference 7770: 7770: 7770: 7770: emplace_front(_Args&&... __args) 7770: { 7770: this->_M_insert(begin(), std::forward<_Args>(__args)...); 7770: 7770: return front(); 7770: 7770: } 7770: # 1203 "/usr/include/c++/8/bits/stl_list.h" 3 7770: void 7770: pop_front() noexcept 7770: { this->_M_erase(begin()); } 7770: # 1217 "/usr/include/c++/8/bits/stl_list.h" 3 7770: void 7770: push_back(const value_type& __x) 7770: { this->_M_insert(end(), __x); } 7770: 7770: 7770: void 7770: push_back(value_type&& __x) 7770: { this->_M_insert(end(), std::move(__x)); } 7770: 7770: template 7770: 7770: reference 7770: 7770: 7770: 7770: emplace_back(_Args&&... __args) 7770: { 7770: this->_M_insert(end(), std::forward<_Args>(__args)...); 7770: 7770: return back(); 7770: 7770: } 7770: # 1252 "/usr/include/c++/8/bits/stl_list.h" 3 7770: void 7770: pop_back() noexcept 7770: { this->_M_erase(iterator(this->_M_impl._M_node._M_prev)); } 7770: # 1269 "/usr/include/c++/8/bits/stl_list.h" 3 7770: template 7770: iterator 7770: emplace(const_iterator __position, _Args&&... __args); 7770: # 1284 "/usr/include/c++/8/bits/stl_list.h" 3 7770: iterator 7770: insert(const_iterator __position, const value_type& __x); 7770: # 1314 "/usr/include/c++/8/bits/stl_list.h" 3 7770: iterator 7770: insert(const_iterator __position, value_type&& __x) 7770: { return emplace(__position, std::move(__x)); } 7770: # 1333 "/usr/include/c++/8/bits/stl_list.h" 3 7770: iterator 7770: insert(const_iterator __p, initializer_list __l) 7770: { return this->insert(__p, __l.begin(), __l.end()); } 7770: # 1353 "/usr/include/c++/8/bits/stl_list.h" 3 7770: iterator 7770: insert(const_iterator __position, size_type __n, const value_type& __x); 7770: # 1392 "/usr/include/c++/8/bits/stl_list.h" 3 7770: template> 7770: iterator 7770: insert(const_iterator __position, _InputIterator __first, 7770: _InputIterator __last); 7770: # 1436 "/usr/include/c++/8/bits/stl_list.h" 3 7770: iterator 7770: 7770: erase(const_iterator __position) noexcept; 7770: # 1461 "/usr/include/c++/8/bits/stl_list.h" 3 7770: iterator 7770: 7770: erase(const_iterator __first, const_iterator __last) noexcept 7770: 7770: 7770: 7770: { 7770: while (__first != __last) 7770: __first = erase(__first); 7770: return __last._M_const_cast(); 7770: } 7770: # 1484 "/usr/include/c++/8/bits/stl_list.h" 3 7770: void 7770: swap(list& __x) noexcept 7770: { 7770: __detail::_List_node_base::swap(this->_M_impl._M_node, 7770: __x._M_impl._M_node); 7770: 7770: size_t __xsize = __x._M_get_size(); 7770: __x._M_set_size(this->_M_get_size()); 7770: this->_M_set_size(__xsize); 7770: 7770: _Node_alloc_traits::_S_on_swap(this->_M_get_Node_allocator(), 7770: __x._M_get_Node_allocator()); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: void 7770: clear() noexcept 7770: { 7770: _Base::_M_clear(); 7770: _Base::_M_init(); 7770: } 7770: # 1523 "/usr/include/c++/8/bits/stl_list.h" 3 7770: void 7770: 7770: splice(const_iterator __position, list&& __x) noexcept 7770: 7770: 7770: 7770: { 7770: if (!__x.empty()) 7770: { 7770: _M_check_equal_allocators(__x); 7770: 7770: this->_M_transfer(__position._M_const_cast(), 7770: __x.begin(), __x.end()); 7770: 7770: this->_M_inc_size(__x._M_get_size()); 7770: __x._M_set_size(0); 7770: } 7770: } 7770: 7770: 7770: void 7770: splice(const_iterator __position, list& __x) noexcept 7770: { splice(__position, std::move(__x)); } 7770: # 1559 "/usr/include/c++/8/bits/stl_list.h" 3 7770: void 7770: splice(const_iterator __position, list&& __x, const_iterator __i) noexcept 7770: # 1574 "/usr/include/c++/8/bits/stl_list.h" 3 7770: { 7770: iterator __j = __i._M_const_cast(); 7770: ++__j; 7770: if (__position == __i || __position == __j) 7770: return; 7770: 7770: if (this != std::__addressof(__x)) 7770: _M_check_equal_allocators(__x); 7770: 7770: this->_M_transfer(__position._M_const_cast(), 7770: __i._M_const_cast(), __j); 7770: 7770: this->_M_inc_size(1); 7770: __x._M_dec_size(1); 7770: } 7770: # 1601 "/usr/include/c++/8/bits/stl_list.h" 3 7770: void 7770: splice(const_iterator __position, list& __x, const_iterator __i) noexcept 7770: { splice(__position, std::move(__x), __i); } 7770: # 1620 "/usr/include/c++/8/bits/stl_list.h" 3 7770: void 7770: splice(const_iterator __position, list&& __x, const_iterator __first, 7770: const_iterator __last) noexcept 7770: # 1640 "/usr/include/c++/8/bits/stl_list.h" 3 7770: { 7770: if (__first != __last) 7770: { 7770: if (this != std::__addressof(__x)) 7770: _M_check_equal_allocators(__x); 7770: 7770: size_t __n = _S_distance(__first, __last); 7770: this->_M_inc_size(__n); 7770: __x._M_dec_size(__n); 7770: 7770: this->_M_transfer(__position._M_const_cast(), 7770: __first._M_const_cast(), 7770: __last._M_const_cast()); 7770: } 7770: } 7770: # 1670 "/usr/include/c++/8/bits/stl_list.h" 3 7770: void 7770: splice(const_iterator __position, list& __x, const_iterator __first, 7770: const_iterator __last) noexcept 7770: { splice(__position, std::move(__x), __first, __last); } 7770: # 1687 "/usr/include/c++/8/bits/stl_list.h" 3 7770: void 7770: remove(const _Tp& __value); 7770: # 1701 "/usr/include/c++/8/bits/stl_list.h" 3 7770: template 7770: void 7770: remove_if(_Predicate); 7770: # 1715 "/usr/include/c++/8/bits/stl_list.h" 3 7770: void 7770: unique(); 7770: # 1730 "/usr/include/c++/8/bits/stl_list.h" 3 7770: template 7770: void 7770: unique(_BinaryPredicate); 7770: # 1744 "/usr/include/c++/8/bits/stl_list.h" 3 7770: void 7770: merge(list&& __x); 7770: 7770: void 7770: merge(list& __x) 7770: { merge(std::move(__x)); } 7770: # 1769 "/usr/include/c++/8/bits/stl_list.h" 3 7770: template 7770: void 7770: merge(list&& __x, _StrictWeakOrdering __comp); 7770: 7770: template 7770: void 7770: merge(list& __x, _StrictWeakOrdering __comp) 7770: { merge(std::move(__x), __comp); } 7770: # 1788 "/usr/include/c++/8/bits/stl_list.h" 3 7770: void 7770: reverse() noexcept 7770: { this->_M_impl._M_node._M_reverse(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: void 7770: sort(); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: void 7770: sort(_StrictWeakOrdering); 7770: 7770: protected: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: void 7770: _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) 7770: { _M_fill_initialize(static_cast(__n), __x); } 7770: 7770: 7770: template 7770: void 7770: _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, 7770: __false_type) 7770: { 7770: for (; __first != __last; ++__first) 7770: 7770: emplace_back(*__first); 7770: 7770: 7770: 7770: } 7770: 7770: 7770: 7770: void 7770: _M_fill_initialize(size_type __n, const value_type& __x) 7770: { 7770: for (; __n; --__n) 7770: push_back(__x); 7770: } 7770: 7770: 7770: 7770: void 7770: _M_default_initialize(size_type __n) 7770: { 7770: for (; __n; --__n) 7770: emplace_back(); 7770: } 7770: 7770: 7770: void 7770: _M_default_append(size_type __n); 7770: # 1866 "/usr/include/c++/8/bits/stl_list.h" 3 7770: template 7770: void 7770: _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) 7770: { _M_fill_assign(__n, __val); } 7770: 7770: 7770: template 7770: void 7770: _M_assign_dispatch(_InputIterator __first, _InputIterator __last, 7770: __false_type); 7770: 7770: 7770: 7770: void 7770: _M_fill_assign(size_type __n, const value_type& __val); 7770: 7770: 7770: 7770: void 7770: _M_transfer(iterator __position, iterator __first, iterator __last) 7770: { __position._M_node->_M_transfer(__first._M_node, __last._M_node); } 7770: # 1898 "/usr/include/c++/8/bits/stl_list.h" 3 7770: template 7770: void 7770: _M_insert(iterator __position, _Args&&... __args) 7770: { 7770: _Node* __tmp = _M_create_node(std::forward<_Args>(__args)...); 7770: __tmp->_M_hook(__position._M_node); 7770: this->_M_inc_size(1); 7770: } 7770: 7770: 7770: 7770: void 7770: _M_erase(iterator __position) noexcept 7770: { 7770: this->_M_dec_size(1); 7770: __position._M_node->_M_unhook(); 7770: _Node* __n = static_cast<_Node*>(__position._M_node); 7770: 7770: _Node_alloc_traits::destroy(_M_get_Node_allocator(), __n->_M_valptr()); 7770: 7770: 7770: 7770: 7770: _M_put_node(__n); 7770: } 7770: 7770: 7770: void 7770: _M_check_equal_allocators(list& __x) noexcept 7770: { 7770: if (std::__alloc_neq:: 7770: _S_do_it(_M_get_Node_allocator(), __x._M_get_Node_allocator())) 7770: __builtin_abort(); 7770: } 7770: 7770: 7770: const_iterator 7770: _M_resize_pos(size_type& __new_size) const; 7770: 7770: 7770: void 7770: _M_move_assign(list&& __x, true_type) noexcept 7770: { 7770: this->_M_clear(); 7770: this->_M_move_nodes(std::move(__x)); 7770: std::__alloc_on_move(this->_M_get_Node_allocator(), 7770: __x._M_get_Node_allocator()); 7770: } 7770: 7770: void 7770: _M_move_assign(list&& __x, false_type) 7770: { 7770: if (__x._M_get_Node_allocator() == this->_M_get_Node_allocator()) 7770: _M_move_assign(std::move(__x), true_type{}); 7770: else 7770: 7770: 7770: _M_assign_dispatch(std::__make_move_if_noexcept_iterator(__x.begin()), 7770: std::__make_move_if_noexcept_iterator(__x.end()), 7770: __false_type{}); 7770: } 7770: 7770: }; 7770: 7770: 7770: template::value_type, 7770: typename _Allocator = allocator<_ValT>, 7770: typename = _RequireInputIter<_InputIterator>, 7770: typename = _RequireAllocator<_Allocator>> 7770: list(_InputIterator, _InputIterator, _Allocator = _Allocator()) 7770: -> list<_ValT, _Allocator>; 7770: 7770: 7770: } 7770: # 1984 "/usr/include/c++/8/bits/stl_list.h" 3 7770: template 7770: inline bool 7770: operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) 7770: { 7770: 7770: if (__x.size() != __y.size()) 7770: return false; 7770: 7770: 7770: typedef typename list<_Tp, _Alloc>::const_iterator const_iterator; 7770: const_iterator __end1 = __x.end(); 7770: const_iterator __end2 = __y.end(); 7770: 7770: const_iterator __i1 = __x.begin(); 7770: const_iterator __i2 = __y.begin(); 7770: while (__i1 != __end1 && __i2 != __end2 && *__i1 == *__i2) 7770: { 7770: ++__i1; 7770: ++__i2; 7770: } 7770: return __i1 == __end1 && __i2 == __end2; 7770: } 7770: # 2018 "/usr/include/c++/8/bits/stl_list.h" 3 7770: template 7770: inline bool 7770: operator<(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) 7770: { return std::lexicographical_compare(__x.begin(), __x.end(), 7770: __y.begin(), __y.end()); } 7770: 7770: 7770: template 7770: inline bool 7770: operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) 7770: { return !(__x == __y); } 7770: 7770: 7770: template 7770: inline bool 7770: operator>(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) 7770: { return __y < __x; } 7770: 7770: 7770: template 7770: inline bool 7770: operator<=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) 7770: { return !(__y < __x); } 7770: 7770: 7770: template 7770: inline bool 7770: operator>=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) 7770: { return !(__x < __y); } 7770: 7770: 7770: template 7770: inline void 7770: swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y) 7770: noexcept(noexcept(__x.swap(__y))) 7770: { __x.swap(__y); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline ptrdiff_t 7770: __distance(std::_List_iterator<_Tp> __first, 7770: std::_List_iterator<_Tp> __last, 7770: input_iterator_tag __tag) 7770: { 7770: typedef std::_List_const_iterator<_Tp> _CIter; 7770: return std::__distance(_CIter(__first), _CIter(__last), __tag); 7770: } 7770: 7770: template 7770: inline ptrdiff_t 7770: __distance(std::_List_const_iterator<_Tp> __first, 7770: std::_List_const_iterator<_Tp> __last, 7770: input_iterator_tag) 7770: { 7770: typedef __detail::_List_node_header _Sentinel; 7770: std::_List_const_iterator<_Tp> __beyond = __last; 7770: ++__beyond; 7770: const bool __whole = __first == __beyond; 7770: if (__builtin_constant_p (__whole) && __whole) 7770: return static_cast(__last._M_node)->_M_size; 7770: 7770: ptrdiff_t __n = 0; 7770: while (__first != __last) 7770: { 7770: ++__first; 7770: ++__n; 7770: } 7770: return __n; 7770: } 7770: 7770: 7770: 7770: } 7770: # 64 "/usr/include/c++/8/list" 2 3 7770: # 1 "/usr/include/c++/8/bits/list.tcc" 1 3 7770: # 59 "/usr/include/c++/8/bits/list.tcc" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: template 7770: void 7770: _List_base<_Tp, _Alloc>:: 7770: _M_clear() noexcept 7770: { 7770: typedef _List_node<_Tp> _Node; 7770: __detail::_List_node_base* __cur = _M_impl._M_node._M_next; 7770: while (__cur != &_M_impl._M_node) 7770: { 7770: _Node* __tmp = static_cast<_Node*>(__cur); 7770: __cur = __tmp->_M_next; 7770: _Tp* __val = __tmp->_M_valptr(); 7770: 7770: _Node_alloc_traits::destroy(_M_get_Node_allocator(), __val); 7770: 7770: 7770: 7770: _M_put_node(__tmp); 7770: } 7770: } 7770: 7770: 7770: template 7770: template 7770: typename list<_Tp, _Alloc>::iterator 7770: list<_Tp, _Alloc>:: 7770: emplace(const_iterator __position, _Args&&... __args) 7770: { 7770: _Node* __tmp = _M_create_node(std::forward<_Args>(__args)...); 7770: __tmp->_M_hook(__position._M_const_cast()._M_node); 7770: this->_M_inc_size(1); 7770: return iterator(__tmp); 7770: } 7770: 7770: 7770: template 7770: typename list<_Tp, _Alloc>::iterator 7770: list<_Tp, _Alloc>:: 7770: 7770: insert(const_iterator __position, const value_type& __x) 7770: 7770: 7770: 7770: { 7770: _Node* __tmp = _M_create_node(__x); 7770: __tmp->_M_hook(__position._M_const_cast()._M_node); 7770: this->_M_inc_size(1); 7770: return iterator(__tmp); 7770: } 7770: 7770: 7770: template 7770: typename list<_Tp, _Alloc>::iterator 7770: list<_Tp, _Alloc>:: 7770: insert(const_iterator __position, size_type __n, const value_type& __x) 7770: { 7770: if (__n) 7770: { 7770: list __tmp(__n, __x, get_allocator()); 7770: iterator __it = __tmp.begin(); 7770: splice(__position, __tmp); 7770: return __it; 7770: } 7770: return __position._M_const_cast(); 7770: } 7770: 7770: template 7770: template 7770: typename list<_Tp, _Alloc>::iterator 7770: list<_Tp, _Alloc>:: 7770: insert(const_iterator __position, _InputIterator __first, 7770: _InputIterator __last) 7770: { 7770: list __tmp(__first, __last, get_allocator()); 7770: if (!__tmp.empty()) 7770: { 7770: iterator __it = __tmp.begin(); 7770: splice(__position, __tmp); 7770: return __it; 7770: } 7770: return __position._M_const_cast(); 7770: } 7770: 7770: 7770: template 7770: typename list<_Tp, _Alloc>::iterator 7770: list<_Tp, _Alloc>:: 7770: 7770: erase(const_iterator __position) noexcept 7770: 7770: 7770: 7770: { 7770: iterator __ret = iterator(__position._M_node->_M_next); 7770: _M_erase(__position._M_const_cast()); 7770: return __ret; 7770: } 7770: # 173 "/usr/include/c++/8/bits/list.tcc" 3 7770: template 7770: typename list<_Tp, _Alloc>::const_iterator 7770: list<_Tp, _Alloc>:: 7770: _M_resize_pos(size_type& __new_size) const 7770: { 7770: const_iterator __i; 7770: 7770: const size_type __len = size(); 7770: if (__new_size < __len) 7770: { 7770: if (__new_size <= __len / 2) 7770: { 7770: __i = begin(); 7770: std::advance(__i, __new_size); 7770: } 7770: else 7770: { 7770: __i = end(); 7770: ptrdiff_t __num_erase = __len - __new_size; 7770: std::advance(__i, -__num_erase); 7770: } 7770: __new_size = 0; 7770: return __i; 7770: } 7770: else 7770: __i = end(); 7770: 7770: 7770: 7770: 7770: 7770: __new_size -= __len; 7770: return __i; 7770: } 7770: 7770: 7770: template 7770: void 7770: list<_Tp, _Alloc>:: 7770: _M_default_append(size_type __n) 7770: { 7770: size_type __i = 0; 7770: if (true) 7770: { 7770: for (; __i < __n; ++__i) 7770: emplace_back(); 7770: } 7770: if (false) 7770: { 7770: for (; __i; --__i) 7770: pop_back(); 7770: ; 7770: } 7770: } 7770: 7770: template 7770: void 7770: list<_Tp, _Alloc>:: 7770: resize(size_type __new_size) 7770: { 7770: const_iterator __i = _M_resize_pos(__new_size); 7770: if (__new_size) 7770: _M_default_append(__new_size); 7770: else 7770: erase(__i, end()); 7770: } 7770: 7770: template 7770: void 7770: list<_Tp, _Alloc>:: 7770: resize(size_type __new_size, const value_type& __x) 7770: { 7770: const_iterator __i = _M_resize_pos(__new_size); 7770: if (__new_size) 7770: insert(end(), __new_size, __x); 7770: else 7770: erase(__i, end()); 7770: } 7770: # 265 "/usr/include/c++/8/bits/list.tcc" 3 7770: template 7770: list<_Tp, _Alloc>& 7770: list<_Tp, _Alloc>:: 7770: operator=(const list& __x) 7770: { 7770: if (this != std::__addressof(__x)) 7770: { 7770: 7770: if (_Node_alloc_traits::_S_propagate_on_copy_assign()) 7770: { 7770: auto& __this_alloc = this->_M_get_Node_allocator(); 7770: auto& __that_alloc = __x._M_get_Node_allocator(); 7770: if (!_Node_alloc_traits::_S_always_equal() 7770: && __this_alloc != __that_alloc) 7770: { 7770: 7770: clear(); 7770: } 7770: std::__alloc_on_copy(__this_alloc, __that_alloc); 7770: } 7770: 7770: _M_assign_dispatch(__x.begin(), __x.end(), __false_type()); 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: void 7770: list<_Tp, _Alloc>:: 7770: _M_fill_assign(size_type __n, const value_type& __val) 7770: { 7770: iterator __i = begin(); 7770: for (; __i != end() && __n > 0; ++__i, --__n) 7770: *__i = __val; 7770: if (__n > 0) 7770: insert(end(), __n, __val); 7770: else 7770: erase(__i, end()); 7770: } 7770: 7770: template 7770: template 7770: void 7770: list<_Tp, _Alloc>:: 7770: _M_assign_dispatch(_InputIterator __first2, _InputIterator __last2, 7770: __false_type) 7770: { 7770: iterator __first1 = begin(); 7770: iterator __last1 = end(); 7770: for (; __first1 != __last1 && __first2 != __last2; 7770: ++__first1, ++__first2) 7770: *__first1 = *__first2; 7770: if (__first2 == __last2) 7770: erase(__first1, __last1); 7770: else 7770: insert(__last1, __first2, __last2); 7770: } 7770: 7770: template 7770: void 7770: list<_Tp, _Alloc>:: 7770: remove(const value_type& __value) 7770: { 7770: iterator __first = begin(); 7770: iterator __last = end(); 7770: iterator __extra = __last; 7770: while (__first != __last) 7770: { 7770: iterator __next = __first; 7770: ++__next; 7770: if (*__first == __value) 7770: { 7770: 7770: 7770: 7770: if (std::__addressof(*__first) != std::__addressof(__value)) 7770: _M_erase(__first); 7770: else 7770: __extra = __first; 7770: } 7770: __first = __next; 7770: } 7770: if (__extra != __last) 7770: _M_erase(__extra); 7770: } 7770: 7770: template 7770: void 7770: list<_Tp, _Alloc>:: 7770: unique() 7770: { 7770: iterator __first = begin(); 7770: iterator __last = end(); 7770: if (__first == __last) 7770: return; 7770: iterator __next = __first; 7770: while (++__next != __last) 7770: { 7770: if (*__first == *__next) 7770: _M_erase(__next); 7770: else 7770: __first = __next; 7770: __next = __first; 7770: } 7770: } 7770: 7770: template 7770: void 7770: list<_Tp, _Alloc>:: 7770: 7770: merge(list&& __x) 7770: 7770: 7770: 7770: { 7770: 7770: 7770: if (this != std::__addressof(__x)) 7770: { 7770: _M_check_equal_allocators(__x); 7770: 7770: iterator __first1 = begin(); 7770: iterator __last1 = end(); 7770: iterator __first2 = __x.begin(); 7770: iterator __last2 = __x.end(); 7770: const size_t __orig_size = __x.size(); 7770: if (true) { 7770: while (__first1 != __last1 && __first2 != __last2) 7770: if (*__first2 < *__first1) 7770: { 7770: iterator __next = __first2; 7770: _M_transfer(__first1, __first2, ++__next); 7770: __first2 = __next; 7770: } 7770: else 7770: ++__first1; 7770: if (__first2 != __last2) 7770: _M_transfer(__last1, __first2, __last2); 7770: 7770: this->_M_inc_size(__x._M_get_size()); 7770: __x._M_set_size(0); 7770: } 7770: if (false) 7770: { 7770: const size_t __dist = std::distance(__first2, __last2); 7770: this->_M_inc_size(__orig_size - __dist); 7770: __x._M_set_size(__dist); 7770: ; 7770: } 7770: } 7770: } 7770: 7770: template 7770: template 7770: void 7770: list<_Tp, _Alloc>:: 7770: 7770: merge(list&& __x, _StrictWeakOrdering __comp) 7770: 7770: 7770: 7770: { 7770: 7770: 7770: if (this != std::__addressof(__x)) 7770: { 7770: _M_check_equal_allocators(__x); 7770: 7770: iterator __first1 = begin(); 7770: iterator __last1 = end(); 7770: iterator __first2 = __x.begin(); 7770: iterator __last2 = __x.end(); 7770: const size_t __orig_size = __x.size(); 7770: if (true) 7770: { 7770: while (__first1 != __last1 && __first2 != __last2) 7770: if (__comp(*__first2, *__first1)) 7770: { 7770: iterator __next = __first2; 7770: _M_transfer(__first1, __first2, ++__next); 7770: __first2 = __next; 7770: } 7770: else 7770: ++__first1; 7770: if (__first2 != __last2) 7770: _M_transfer(__last1, __first2, __last2); 7770: 7770: this->_M_inc_size(__x._M_get_size()); 7770: __x._M_set_size(0); 7770: } 7770: if (false) 7770: { 7770: const size_t __dist = std::distance(__first2, __last2); 7770: this->_M_inc_size(__orig_size - __dist); 7770: __x._M_set_size(__dist); 7770: ; 7770: } 7770: } 7770: } 7770: 7770: template 7770: void 7770: list<_Tp, _Alloc>:: 7770: sort() 7770: { 7770: 7770: if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node 7770: && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node) 7770: { 7770: list __carry; 7770: list __tmp[64]; 7770: list * __fill = __tmp; 7770: list * __counter; 7770: if (true) 7770: { 7770: do 7770: { 7770: __carry.splice(__carry.begin(), *this, begin()); 7770: 7770: for(__counter = __tmp; 7770: __counter != __fill && !__counter->empty(); 7770: ++__counter) 7770: { 7770: __counter->merge(__carry); 7770: __carry.swap(*__counter); 7770: } 7770: __carry.swap(*__counter); 7770: if (__counter == __fill) 7770: ++__fill; 7770: } 7770: while ( !empty() ); 7770: 7770: for (__counter = __tmp + 1; __counter != __fill; ++__counter) 7770: __counter->merge(*(__counter - 1)); 7770: swap( *(__fill - 1) ); 7770: } 7770: if (false) 7770: { 7770: this->splice(this->end(), __carry); 7770: for (int __i = 0; __i < sizeof(__tmp)/sizeof(__tmp[0]); ++__i) 7770: this->splice(this->end(), __tmp[__i]); 7770: ; 7770: } 7770: } 7770: } 7770: 7770: template 7770: template 7770: void 7770: list<_Tp, _Alloc>:: 7770: remove_if(_Predicate __pred) 7770: { 7770: iterator __first = begin(); 7770: iterator __last = end(); 7770: while (__first != __last) 7770: { 7770: iterator __next = __first; 7770: ++__next; 7770: if (__pred(*__first)) 7770: _M_erase(__first); 7770: __first = __next; 7770: } 7770: } 7770: 7770: template 7770: template 7770: void 7770: list<_Tp, _Alloc>:: 7770: unique(_BinaryPredicate __binary_pred) 7770: { 7770: iterator __first = begin(); 7770: iterator __last = end(); 7770: if (__first == __last) 7770: return; 7770: iterator __next = __first; 7770: while (++__next != __last) 7770: { 7770: if (__binary_pred(*__first, *__next)) 7770: _M_erase(__next); 7770: else 7770: __first = __next; 7770: __next = __first; 7770: } 7770: } 7770: 7770: template 7770: template 7770: void 7770: list<_Tp, _Alloc>:: 7770: sort(_StrictWeakOrdering __comp) 7770: { 7770: 7770: if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node 7770: && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node) 7770: { 7770: list __carry; 7770: list __tmp[64]; 7770: list * __fill = __tmp; 7770: list * __counter; 7770: if (true) 7770: { 7770: do 7770: { 7770: __carry.splice(__carry.begin(), *this, begin()); 7770: 7770: for(__counter = __tmp; 7770: __counter != __fill && !__counter->empty(); 7770: ++__counter) 7770: { 7770: __counter->merge(__carry, __comp); 7770: __carry.swap(*__counter); 7770: } 7770: __carry.swap(*__counter); 7770: if (__counter == __fill) 7770: ++__fill; 7770: } 7770: while ( !empty() ); 7770: 7770: for (__counter = __tmp + 1; __counter != __fill; ++__counter) 7770: __counter->merge(*(__counter - 1), __comp); 7770: swap(*(__fill - 1)); 7770: } 7770: if (false) 7770: { 7770: this->splice(this->end(), __carry); 7770: for (int __i = 0; __i < sizeof(__tmp)/sizeof(__tmp[0]); ++__i) 7770: this->splice(this->end(), __tmp[__i]); 7770: ; 7770: } 7770: } 7770: } 7770: 7770: 7770: 7770: } 7770: # 65 "/usr/include/c++/8/list" 2 3 7770: # 51 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlist.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/stdlib.h" 1 3 4 7770: # 57 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlist.h" 2 3 4 7770: 7770: # 1 "/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed/limits.h" 1 3 4 7770: # 34 "/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed/limits.h" 3 4 7770: # 1 "/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed/syslimits.h" 1 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed/limits.h" 1 3 4 7770: # 194 "/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed/limits.h" 3 4 7770: # 1 "/usr/include/limits.h" 1 3 4 7770: # 26 "/usr/include/limits.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/libc-header-start.h" 1 3 4 7770: # 27 "/usr/include/limits.h" 2 3 4 7770: # 183 "/usr/include/limits.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/posix1_lim.h" 1 3 4 7770: # 160 "/usr/include/aarch64-linux-gnu/bits/posix1_lim.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/local_lim.h" 1 3 4 7770: # 39 "/usr/include/aarch64-linux-gnu/bits/local_lim.h" 3 4 7770: # 1 "/usr/include/linux/limits.h" 1 3 4 7770: # 40 "/usr/include/aarch64-linux-gnu/bits/local_lim.h" 2 3 4 7770: # 161 "/usr/include/aarch64-linux-gnu/bits/posix1_lim.h" 2 3 4 7770: # 184 "/usr/include/limits.h" 2 3 4 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/posix2_lim.h" 1 3 4 7770: # 188 "/usr/include/limits.h" 2 3 4 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/xopen_lim.h" 1 3 4 7770: # 64 "/usr/include/aarch64-linux-gnu/bits/xopen_lim.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/bits/uio_lim.h" 1 3 4 7770: # 65 "/usr/include/aarch64-linux-gnu/bits/xopen_lim.h" 2 3 4 7770: # 192 "/usr/include/limits.h" 2 3 4 7770: # 195 "/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed/limits.h" 2 3 4 7770: # 8 "/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed/syslimits.h" 2 3 4 7770: # 35 "/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed/limits.h" 2 3 4 7770: # 59 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlist.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template class QVector; 7770: template class QSet; 7770: 7770: template struct QListSpecialMethods 7770: { 7770: protected: 7770: ~QListSpecialMethods() {} 7770: }; 7770: template <> struct QListSpecialMethods; 7770: template <> struct QListSpecialMethods; 7770: 7770: struct __attribute__((visibility("default"))) QListData { 7770: 7770: 7770: struct NotArrayCompatibleLayout {}; 7770: struct NotIndirectLayout {}; 7770: struct ArrayCompatibleLayout : NotIndirectLayout {}; 7770: struct InlineWithPaddingLayout : NotArrayCompatibleLayout, NotIndirectLayout {}; 7770: struct IndirectLayout : NotArrayCompatibleLayout {}; 7770: 7770: struct Data { 7770: QtPrivate::RefCount ref; 7770: int alloc, begin, end; 7770: void *array[1]; 7770: }; 7770: enum { DataHeaderSize = sizeof(Data) - sizeof(void *) }; 7770: 7770: Data *detach(int alloc); 7770: Data *detach_grow(int *i, int n); 7770: void realloc(int alloc); 7770: void realloc_grow(int growth); 7770: inline void dispose() { dispose(d); } 7770: static void dispose(Data *d); 7770: static const Data shared_null; 7770: Data *d; 7770: void **erase(void **xi); 7770: void **append(int n); 7770: void **append(); 7770: void **append(const QListData &l); 7770: void **prepend(); 7770: void **insert(int i); 7770: void remove(int i); 7770: void remove(int i, int n); 7770: void move(int from, int to); 7770: inline int size() const noexcept { return d->end - d->begin; } 7770: inline bool isEmpty() const noexcept { return d->end == d->begin; } 7770: inline void **at(int i) const noexcept { return d->array + d->begin + i; } 7770: inline void **begin() const noexcept { return d->array + d->begin; } 7770: inline void **end() const noexcept { return d->array + d->end; } 7770: }; 7770: 7770: template 7770: class QList 7770: 7770: : public QListSpecialMethods 7770: 7770: { 7770: public: 7770: struct MemoryLayout 7770: : std::conditional< 7770: 7770: QTypeInfo::isStatic || QTypeInfo::isLarge, 7770: QListData::IndirectLayout, 7770: typename std::conditional< 7770: sizeof(T) == sizeof(void*), 7770: QListData::ArrayCompatibleLayout, 7770: QListData::InlineWithPaddingLayout 7770: >::type>::type {}; 7770: private: 7770: struct Node { void *v; 7770: 7770: 7770: 7770: inline T &t() 7770: { return *reinterpret_cast(QTypeInfo::isLarge || QTypeInfo::isStatic 7770: ? v : this); } 7770: 7770: }; 7770: 7770: union { QListData p; QListData::Data *d; }; 7770: 7770: public: 7770: inline QList() noexcept : d(const_cast(&QListData::shared_null)) { } 7770: QList(const QList &l); 7770: ~QList(); 7770: QList &operator=(const QList &l); 7770: 7770: inline QList(QList &&other) noexcept 7770: : d(other.d) { other.d = const_cast(&QListData::shared_null); } 7770: inline QList &operator=(QList &&other) noexcept 7770: { QList moved(std::move(other)); swap(moved); return *this; } 7770: 7770: inline void swap(QList &other) noexcept { qSwap(d, other.d); } 7770: 7770: inline QList(std::initializer_list args) 7770: : d(const_cast(&QListData::shared_null)) 7770: { reserve(int(args.size())); std::copy(args.begin(), args.end(), std::back_inserter(*this)); } 7770: 7770: bool operator==(const QList &l) const; 7770: inline bool operator!=(const QList &l) const { return !(*this == l); } 7770: 7770: inline int size() const noexcept { return p.size(); } 7770: 7770: inline void detach() { if (d->ref.isShared()) detach_helper(); } 7770: 7770: inline void detachShared() 7770: { 7770: 7770: if (d->ref.isShared() && this->d != &QListData::shared_null) 7770: detach_helper(); 7770: } 7770: 7770: inline bool isDetached() const { return !d->ref.isShared(); } 7770: 7770: inline void setSharable(bool sharable) 7770: { 7770: if (sharable == d->ref.isSharable()) 7770: return; 7770: if (!sharable) 7770: detach(); 7770: if (d != &QListData::shared_null) 7770: d->ref.setSharable(sharable); 7770: } 7770: 7770: inline bool isSharedWith(const QList &other) const noexcept { return d == other.d; } 7770: 7770: inline bool isEmpty() const noexcept { return p.isEmpty(); } 7770: 7770: void clear(); 7770: 7770: const T &at(int i) const; 7770: const T &operator[](int i) const; 7770: T &operator[](int i); 7770: 7770: void reserve(int size); 7770: void append(const T &t); 7770: void append(const QList &t); 7770: void prepend(const T &t); 7770: void insert(int i, const T &t); 7770: void replace(int i, const T &t); 7770: void removeAt(int i); 7770: int removeAll(const T &t); 7770: bool removeOne(const T &t); 7770: T takeAt(int i); 7770: T takeFirst(); 7770: T takeLast(); 7770: void move(int from, int to); 7770: void swap(int i, int j); 7770: int indexOf(const T &t, int from = 0) const; 7770: int lastIndexOf(const T &t, int from = -1) const; 7770: bool contains(const T &t) const; 7770: int count(const T &t) const; 7770: 7770: class const_iterator; 7770: 7770: class iterator { 7770: public: 7770: Node *i; 7770: typedef std::random_access_iterator_tag iterator_category; 7770: 7770: typedef qptrdiff difference_type; 7770: typedef T value_type; 7770: typedef T *pointer; 7770: typedef T &reference; 7770: 7770: inline iterator() noexcept : i(nullptr) {} 7770: inline iterator(Node *n) noexcept : i(n) {} 7770: 7770: 7770: 7770: inline iterator(const iterator &o) noexcept : i(o.i){} 7770: 7770: inline T &operator*() const { return i->t(); } 7770: inline T *operator->() const { return &i->t(); } 7770: inline T &operator[](difference_type j) const { return i[j].t(); } 7770: inline bool operator==(const iterator &o) const noexcept { return i == o.i; } 7770: inline bool operator!=(const iterator &o) const noexcept { return i != o.i; } 7770: inline bool operator<(const iterator& other) const noexcept { return i < other.i; } 7770: inline bool operator<=(const iterator& other) const noexcept { return i <= other.i; } 7770: inline bool operator>(const iterator& other) const noexcept { return i > other.i; } 7770: inline bool operator>=(const iterator& other) const noexcept { return i >= other.i; } 7770: 7770: inline bool operator==(const const_iterator &o) const noexcept 7770: { return i == o.i; } 7770: inline bool operator!=(const const_iterator &o) const noexcept 7770: { return i != o.i; } 7770: inline bool operator<(const const_iterator& other) const noexcept 7770: { return i < other.i; } 7770: inline bool operator<=(const const_iterator& other) const noexcept 7770: { return i <= other.i; } 7770: inline bool operator>(const const_iterator& other) const noexcept 7770: { return i > other.i; } 7770: inline bool operator>=(const const_iterator& other) const noexcept 7770: { return i >= other.i; } 7770: 7770: inline iterator &operator++() { ++i; return *this; } 7770: inline iterator operator++(int) { Node *n = i; ++i; return n; } 7770: inline iterator &operator--() { i--; return *this; } 7770: inline iterator operator--(int) { Node *n = i; i--; return n; } 7770: inline iterator &operator+=(difference_type j) { i+=j; return *this; } 7770: inline iterator &operator-=(difference_type j) { i-=j; return *this; } 7770: inline iterator operator+(difference_type j) const { return iterator(i+j); } 7770: inline iterator operator-(difference_type j) const { return iterator(i-j); } 7770: inline int operator-(iterator j) const { return int(i - j.i); } 7770: }; 7770: friend class iterator; 7770: 7770: class const_iterator { 7770: public: 7770: Node *i; 7770: typedef std::random_access_iterator_tag iterator_category; 7770: 7770: typedef qptrdiff difference_type; 7770: typedef T value_type; 7770: typedef const T *pointer; 7770: typedef const T &reference; 7770: 7770: inline const_iterator() noexcept : i(nullptr) {} 7770: inline const_iterator(Node *n) noexcept : i(n) {} 7770: 7770: 7770: 7770: inline const_iterator(const const_iterator &o) noexcept : i(o.i) {} 7770: 7770: 7770: 7770: 7770: inline const_iterator(const iterator &o) noexcept : i(o.i) {} 7770: 7770: inline const T &operator*() const { return i->t(); } 7770: inline const T *operator->() const { return &i->t(); } 7770: inline const T &operator[](difference_type j) const { return i[j].t(); } 7770: inline bool operator==(const const_iterator &o) const noexcept { return i == o.i; } 7770: inline bool operator!=(const const_iterator &o) const noexcept { return i != o.i; } 7770: inline bool operator<(const const_iterator& other) const noexcept { return i < other.i; } 7770: inline bool operator<=(const const_iterator& other) const noexcept { return i <= other.i; } 7770: inline bool operator>(const const_iterator& other) const noexcept { return i > other.i; } 7770: inline bool operator>=(const const_iterator& other) const noexcept { return i >= other.i; } 7770: inline const_iterator &operator++() { ++i; return *this; } 7770: inline const_iterator operator++(int) { Node *n = i; ++i; return n; } 7770: inline const_iterator &operator--() { i--; return *this; } 7770: inline const_iterator operator--(int) { Node *n = i; i--; return n; } 7770: inline const_iterator &operator+=(difference_type j) { i+=j; return *this; } 7770: inline const_iterator &operator-=(difference_type j) { i-=j; return *this; } 7770: inline const_iterator operator+(difference_type j) const { return const_iterator(i+j); } 7770: inline const_iterator operator-(difference_type j) const { return const_iterator(i-j); } 7770: inline int operator-(const_iterator j) const { return int(i - j.i); } 7770: }; 7770: friend class const_iterator; 7770: 7770: 7770: typedef std::reverse_iterator reverse_iterator; 7770: typedef std::reverse_iterator const_reverse_iterator; 7770: inline iterator begin() { detach(); return reinterpret_cast(p.begin()); } 7770: inline const_iterator begin() const noexcept { return reinterpret_cast(p.begin()); } 7770: inline const_iterator cbegin() const noexcept { return reinterpret_cast(p.begin()); } 7770: inline const_iterator constBegin() const noexcept { return reinterpret_cast(p.begin()); } 7770: inline iterator end() { detach(); return reinterpret_cast(p.end()); } 7770: inline const_iterator end() const noexcept { return reinterpret_cast(p.end()); } 7770: inline const_iterator cend() const noexcept { return reinterpret_cast(p.end()); } 7770: inline const_iterator constEnd() const noexcept { return reinterpret_cast(p.end()); } 7770: reverse_iterator rbegin() { return reverse_iterator(end()); } 7770: reverse_iterator rend() { return reverse_iterator(begin()); } 7770: const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(end()); } 7770: const_reverse_iterator rend() const noexcept { return const_reverse_iterator(begin()); } 7770: const_reverse_iterator crbegin() const noexcept { return const_reverse_iterator(end()); } 7770: const_reverse_iterator crend() const noexcept { return const_reverse_iterator(begin()); } 7770: iterator insert(iterator before, const T &t); 7770: iterator erase(iterator pos); 7770: iterator erase(iterator first, iterator last); 7770: 7770: 7770: typedef iterator Iterator; 7770: typedef const_iterator ConstIterator; 7770: inline int count() const { return p.size(); } 7770: inline int length() const { return p.size(); } 7770: inline T& first() { do { } while ((false) && (!isEmpty())); return *begin(); } 7770: inline const T& constFirst() const { return first(); } 7770: inline const T& first() const { do { } while ((false) && (!isEmpty())); return at(0); } 7770: T& last() { do { } while ((false) && (!isEmpty())); return *(--end()); } 7770: const T& last() const { do { } while ((false) && (!isEmpty())); return at(count() - 1); } 7770: inline const T& constLast() const { return last(); } 7770: inline void removeFirst() { do { } while ((false) && (!isEmpty())); erase(begin()); } 7770: inline void removeLast() { do { } while ((false) && (!isEmpty())); erase(--end()); } 7770: inline bool startsWith(const T &t) const { return !isEmpty() && first() == t; } 7770: inline bool endsWith(const T &t) const { return !isEmpty() && last() == t; } 7770: QList mid(int pos, int length = -1) const; 7770: 7770: T value(int i) const; 7770: T value(int i, const T &defaultValue) const; 7770: 7770: 7770: inline void push_back(const T &t) { append(t); } 7770: inline void push_front(const T &t) { prepend(t); } 7770: inline T& front() { return first(); } 7770: inline const T& front() const { return first(); } 7770: inline T& back() { return last(); } 7770: inline const T& back() const { return last(); } 7770: inline void pop_front() { removeFirst(); } 7770: inline void pop_back() { removeLast(); } 7770: inline bool empty() const { return isEmpty(); } 7770: typedef int size_type; 7770: typedef T value_type; 7770: typedef value_type *pointer; 7770: typedef const value_type *const_pointer; 7770: typedef value_type &reference; 7770: typedef const value_type &const_reference; 7770: 7770: typedef qptrdiff difference_type; 7770: 7770: 7770: QList &operator+=(const QList &l); 7770: inline QList operator+(const QList &l) const 7770: { QList n = *this; n += l; return n; } 7770: inline QList &operator+=(const T &t) 7770: { append(t); return *this; } 7770: inline QList &operator<< (const T &t) 7770: { append(t); return *this; } 7770: inline QList &operator<<(const QList &l) 7770: { *this += l; return *this; } 7770: 7770: QVector toVector() const; 7770: QSet toSet() const; 7770: 7770: static QList fromVector(const QVector &vector); 7770: static QList fromSet(const QSet &set); 7770: 7770: static inline QList fromStdList(const std::list &list) 7770: { QList tmp; std::copy(list.begin(), list.end(), std::back_inserter(tmp)); return tmp; } 7770: inline std::list toStdList() const 7770: { std::list tmp; std::copy(constBegin(), constEnd(), std::back_inserter(tmp)); return tmp; } 7770: 7770: private: 7770: Node *detach_helper_grow(int i, int n); 7770: void detach_helper(int alloc); 7770: void detach_helper(); 7770: void dealloc(QListData::Data *d); 7770: 7770: void node_construct(Node *n, const T &t); 7770: void node_destruct(Node *n); 7770: void node_copy(Node *from, Node *to, Node *src); 7770: void node_destruct(Node *from, Node *to); 7770: 7770: bool isValidIterator(const iterator &i) const noexcept 7770: { 7770: return (constBegin().i <= i.i) && (i.i <= constEnd().i); 7770: } 7770: 7770: private: 7770: inline bool op_eq_impl(const QList &other, QListData::NotArrayCompatibleLayout) const; 7770: inline bool op_eq_impl(const QList &other, QListData::ArrayCompatibleLayout) const; 7770: inline bool contains_impl(const T &, QListData::NotArrayCompatibleLayout) const; 7770: inline bool contains_impl(const T &, QListData::ArrayCompatibleLayout) const; 7770: inline int count_impl(const T &, QListData::NotArrayCompatibleLayout) const; 7770: inline int count_impl(const T &, QListData::ArrayCompatibleLayout) const; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline void QList::node_construct(Node *n, const T &t) 7770: { 7770: if (QTypeInfo::isLarge || QTypeInfo::isStatic) n->v = new T(t); 7770: else if (QTypeInfo::isComplex) new (n) T(t); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: else ::memcpy(n, static_cast(&t), sizeof(T)); 7770: 7770: } 7770: 7770: template 7770: inline void QList::node_destruct(Node *n) 7770: { 7770: if (QTypeInfo::isLarge || QTypeInfo::isStatic) delete reinterpret_cast(n->v); 7770: else if (QTypeInfo::isComplex) reinterpret_cast(n)->~T(); 7770: } 7770: 7770: template 7770: inline void QList::node_copy(Node *from, Node *to, Node *src) 7770: { 7770: Node *current = from; 7770: if (QTypeInfo::isLarge || QTypeInfo::isStatic) { 7770: if (true) { 7770: while(current != to) { 7770: current->v = new T(*reinterpret_cast(src->v)); 7770: ++current; 7770: ++src; 7770: } 7770: } else { 7770: while (current-- != from) 7770: delete reinterpret_cast(current->v); 7770: qt_noop(); 7770: } 7770: 7770: } else if (QTypeInfo::isComplex) { 7770: if (true) { 7770: while(current != to) { 7770: new (current) T(*reinterpret_cast(src)); 7770: ++current; 7770: ++src; 7770: } 7770: } else { 7770: while (current-- != from) 7770: (reinterpret_cast(current))->~T(); 7770: qt_noop(); 7770: } 7770: } else { 7770: if (src != from && to - from > 0) 7770: memcpy(from, src, (to - from) * sizeof(Node)); 7770: } 7770: } 7770: 7770: template 7770: inline void QList::node_destruct(Node *from, Node *to) 7770: { 7770: if (QTypeInfo::isLarge || QTypeInfo::isStatic) 7770: while(from != to) --to, delete reinterpret_cast(to->v); 7770: else if (QTypeInfo::isComplex) 7770: while (from != to) --to, reinterpret_cast(to)->~T(); 7770: } 7770: 7770: template 7770: inline QList &QList::operator=(const QList &l) 7770: { 7770: if (d != l.d) { 7770: QList tmp(l); 7770: tmp.swap(*this); 7770: } 7770: return *this; 7770: } 7770: template 7770: inline typename QList::iterator QList::insert(iterator before, const T &t) 7770: { 7770: do { } while ((false) && (isValidIterator(before))); 7770: 7770: int iBefore = int(before.i - reinterpret_cast(p.begin())); 7770: Node *n = 0; 7770: if (d->ref.isShared()) 7770: n = detach_helper_grow(iBefore, 1); 7770: else 7770: n = reinterpret_cast(p.insert(iBefore)); 7770: if (true) { 7770: node_construct(n, t); 7770: } else { 7770: p.remove(iBefore); 7770: qt_noop(); 7770: } 7770: return n; 7770: } 7770: template 7770: inline typename QList::iterator QList::erase(iterator it) 7770: { 7770: do { } while ((false) && (isValidIterator(it))); 7770: if (d->ref.isShared()) { 7770: int offset = int(it.i - reinterpret_cast(p.begin())); 7770: it = begin(); 7770: it += offset; 7770: } 7770: node_destruct(it.i); 7770: return reinterpret_cast(p.erase(reinterpret_cast(it.i))); 7770: } 7770: template 7770: inline const T &QList::at(int i) const 7770: { do { } while ((false) && (i >= 0 && i < p.size())); 7770: return reinterpret_cast(p.at(i))->t(); } 7770: template 7770: inline const T &QList::operator[](int i) const 7770: { do { } while ((false) && (i >= 0 && i < p.size())); 7770: return reinterpret_cast(p.at(i))->t(); } 7770: template 7770: inline T &QList::operator[](int i) 7770: { do { } while ((false) && (i >= 0 && i < p.size())); 7770: detach(); return reinterpret_cast(p.at(i))->t(); } 7770: template 7770: inline void QList::removeAt(int i) 7770: { if(i >= 0 && i < p.size()) { detach(); 7770: node_destruct(reinterpret_cast(p.at(i))); p.remove(i); } } 7770: template 7770: inline T QList::takeAt(int i) 7770: { do { } while ((false) && (i >= 0 && i < p.size())); 7770: detach(); Node *n = reinterpret_cast(p.at(i)); T t = n->t(); node_destruct(n); 7770: p.remove(i); return t; } 7770: template 7770: inline T QList::takeFirst() 7770: { T t = first(); removeFirst(); return t; } 7770: template 7770: inline T QList::takeLast() 7770: { T t = last(); removeLast(); return t; } 7770: 7770: template 7770: void QList::reserve(int alloc) 7770: { 7770: if (d->alloc < alloc) { 7770: if (d->ref.isShared()) 7770: detach_helper(alloc); 7770: else 7770: p.realloc(alloc); 7770: } 7770: } 7770: 7770: template 7770: void QList::append(const T &t) 7770: { 7770: if (d->ref.isShared()) { 7770: Node *n = detach_helper_grow(0x7fffffff, 1); 7770: if (true) { 7770: node_construct(n, t); 7770: } else { 7770: --d->end; 7770: qt_noop(); 7770: } 7770: } else { 7770: if (QTypeInfo::isLarge || QTypeInfo::isStatic) { 7770: Node *n = reinterpret_cast(p.append()); 7770: if (true) { 7770: node_construct(n, t); 7770: } else { 7770: --d->end; 7770: qt_noop(); 7770: } 7770: } else { 7770: Node *n, copy; 7770: node_construct(©, t); 7770: if (true) { 7770: n = reinterpret_cast(p.append());; 7770: } else { 7770: node_destruct(©); 7770: qt_noop(); 7770: } 7770: *n = copy; 7770: } 7770: } 7770: } 7770: 7770: template 7770: inline void QList::prepend(const T &t) 7770: { 7770: if (d->ref.isShared()) { 7770: Node *n = detach_helper_grow(0, 1); 7770: if (true) { 7770: node_construct(n, t); 7770: } else { 7770: ++d->begin; 7770: qt_noop(); 7770: } 7770: } else { 7770: if (QTypeInfo::isLarge || QTypeInfo::isStatic) { 7770: Node *n = reinterpret_cast(p.prepend()); 7770: if (true) { 7770: node_construct(n, t); 7770: } else { 7770: ++d->begin; 7770: qt_noop(); 7770: } 7770: } else { 7770: Node *n, copy; 7770: node_construct(©, t); 7770: if (true) { 7770: n = reinterpret_cast(p.prepend());; 7770: } else { 7770: node_destruct(©); 7770: qt_noop(); 7770: } 7770: *n = copy; 7770: } 7770: } 7770: } 7770: 7770: template 7770: inline void QList::insert(int i, const T &t) 7770: { 7770: if (d->ref.isShared()) { 7770: Node *n = detach_helper_grow(i, 1); 7770: if (true) { 7770: node_construct(n, t); 7770: } else { 7770: p.remove(i); 7770: qt_noop(); 7770: } 7770: } else { 7770: if (QTypeInfo::isLarge || QTypeInfo::isStatic) { 7770: Node *n = reinterpret_cast(p.insert(i)); 7770: if (true) { 7770: node_construct(n, t); 7770: } else { 7770: p.remove(i); 7770: qt_noop(); 7770: } 7770: } else { 7770: Node *n, copy; 7770: node_construct(©, t); 7770: if (true) { 7770: n = reinterpret_cast(p.insert(i));; 7770: } else { 7770: node_destruct(©); 7770: qt_noop(); 7770: } 7770: *n = copy; 7770: } 7770: } 7770: } 7770: 7770: template 7770: inline void QList::replace(int i, const T &t) 7770: { 7770: do { } while ((false) && (i >= 0 && i < p.size())); 7770: detach(); 7770: reinterpret_cast(p.at(i))->t() = t; 7770: } 7770: 7770: template 7770: inline void QList::swap(int i, int j) 7770: { 7770: do { } while ((false) && (i >= 0 && i < p.size() && j >= 0 && j < p.size())) 7770: ; 7770: detach(); 7770: std::swap(d->array[d->begin + i], d->array[d->begin + j]); 7770: } 7770: 7770: template 7770: inline void QList::move(int from, int to) 7770: { 7770: do { } while ((false) && (from >= 0 && from < p.size() && to >= 0 && to < p.size())) 7770: ; 7770: detach(); 7770: p.move(from, to); 7770: } 7770: 7770: template 7770: QList QList::mid(int pos, int alength) const 7770: { 7770: using namespace QtPrivate; 7770: switch (QContainerImplHelper::mid(size(), &pos, &alength)) { 7770: case QContainerImplHelper::Null: 7770: case QContainerImplHelper::Empty: 7770: return QList(); 7770: case QContainerImplHelper::Full: 7770: return *this; 7770: case QContainerImplHelper::Subset: 7770: break; 7770: } 7770: 7770: QList cpy; 7770: if (alength <= 0) 7770: return cpy; 7770: cpy.reserve(alength); 7770: cpy.d->end = alength; 7770: if (true) { 7770: cpy.node_copy(reinterpret_cast(cpy.p.begin()), 7770: reinterpret_cast(cpy.p.end()), 7770: reinterpret_cast(p.begin() + pos)); 7770: } else { 7770: 7770: cpy.d->end = 0; 7770: qt_noop(); 7770: } 7770: return cpy; 7770: } 7770: 7770: template 7770: T QList::value(int i) const 7770: { 7770: if (i < 0 || i >= p.size()) { 7770: return T(); 7770: } 7770: return reinterpret_cast(p.at(i))->t(); 7770: } 7770: 7770: template 7770: T QList::value(int i, const T& defaultValue) const 7770: { 7770: return ((i < 0 || i >= p.size()) ? defaultValue : reinterpret_cast(p.at(i))->t()); 7770: } 7770: 7770: template 7770: typename QList::Node *QList::detach_helper_grow(int i, int c) 7770: { 7770: Node *n = reinterpret_cast(p.begin()); 7770: QListData::Data *x = p.detach_grow(&i, c); 7770: if (true) { 7770: node_copy(reinterpret_cast(p.begin()), 7770: reinterpret_cast(p.begin() + i), n); 7770: } else { 7770: p.dispose(); 7770: d = x; 7770: qt_noop(); 7770: } 7770: if (true) { 7770: node_copy(reinterpret_cast(p.begin() + i + c), 7770: reinterpret_cast(p.end()), n + i); 7770: } else { 7770: node_destruct(reinterpret_cast(p.begin()), 7770: reinterpret_cast(p.begin() + i)); 7770: p.dispose(); 7770: d = x; 7770: qt_noop(); 7770: } 7770: 7770: if (!x->ref.deref()) 7770: dealloc(x); 7770: 7770: return reinterpret_cast(p.begin() + i); 7770: } 7770: 7770: template 7770: void QList::detach_helper(int alloc) 7770: { 7770: Node *n = reinterpret_cast(p.begin()); 7770: QListData::Data *x = p.detach(alloc); 7770: if (true) { 7770: node_copy(reinterpret_cast(p.begin()), reinterpret_cast(p.end()), n); 7770: } else { 7770: p.dispose(); 7770: d = x; 7770: qt_noop(); 7770: } 7770: 7770: if (!x->ref.deref()) 7770: dealloc(x); 7770: } 7770: 7770: template 7770: void QList::detach_helper() 7770: { 7770: detach_helper(d->alloc); 7770: } 7770: 7770: template 7770: QList::QList(const QList &l) 7770: : QListSpecialMethods(l), d(l.d) 7770: { 7770: if (!d->ref.ref()) { 7770: p.detach(d->alloc); 7770: 7770: if (true) { 7770: node_copy(reinterpret_cast(p.begin()), 7770: reinterpret_cast(p.end()), 7770: reinterpret_cast(l.p.begin())); 7770: } else { 7770: QListData::dispose(d); 7770: qt_noop(); 7770: } 7770: } 7770: } 7770: 7770: template 7770: QList::~QList() 7770: { 7770: if (!d->ref.deref()) 7770: dealloc(d); 7770: } 7770: 7770: template 7770: bool QList::operator==(const QList &l) const 7770: { 7770: if (d == l.d) 7770: return true; 7770: if (p.size() != l.p.size()) 7770: return false; 7770: return this->op_eq_impl(l, MemoryLayout()); 7770: } 7770: 7770: template 7770: inline bool QList::op_eq_impl(const QList &l, QListData::NotArrayCompatibleLayout) const 7770: { 7770: Node *i = reinterpret_cast(p.begin()); 7770: Node *e = reinterpret_cast(p.end()); 7770: Node *li = reinterpret_cast(l.p.begin()); 7770: for (; i != e; ++i, ++li) { 7770: if (!(i->t() == li->t())) 7770: return false; 7770: } 7770: return true; 7770: } 7770: 7770: template 7770: inline bool QList::op_eq_impl(const QList &l, QListData::ArrayCompatibleLayout) const 7770: { 7770: const T *lb = reinterpret_cast(l.p.begin()); 7770: const T *b = reinterpret_cast(p.begin()); 7770: const T *e = reinterpret_cast(p.end()); 7770: return std::equal(b, e, (lb)); 7770: } 7770: 7770: template 7770: void QList::dealloc(QListData::Data *data) 7770: { 7770: node_destruct(reinterpret_cast(data->array + data->begin), 7770: reinterpret_cast(data->array + data->end)); 7770: QListData::dispose(data); 7770: } 7770: 7770: 7770: template 7770: void QList::clear() 7770: { 7770: *this = QList(); 7770: } 7770: 7770: template 7770: int QList::removeAll(const T &_t) 7770: { 7770: int index = indexOf(_t); 7770: if (index == -1) 7770: return 0; 7770: 7770: const T t = _t; 7770: detach(); 7770: 7770: Node *i = reinterpret_cast(p.at(index)); 7770: Node *e = reinterpret_cast(p.end()); 7770: Node *n = i; 7770: node_destruct(i); 7770: while (++i != e) { 7770: if (i->t() == t) 7770: node_destruct(i); 7770: else 7770: *n++ = *i; 7770: } 7770: 7770: int removedCount = int(e - n); 7770: d->end -= removedCount; 7770: return removedCount; 7770: } 7770: 7770: template 7770: bool QList::removeOne(const T &_t) 7770: { 7770: int index = indexOf(_t); 7770: if (index != -1) { 7770: removeAt(index); 7770: return true; 7770: } 7770: return false; 7770: } 7770: 7770: template 7770: typename QList::iterator QList::erase(typename QList::iterator afirst, 7770: typename QList::iterator alast) 7770: { 7770: do { } while ((false) && (isValidIterator(afirst))); 7770: do { } while ((false) && (isValidIterator(alast))); 7770: 7770: if (d->ref.isShared()) { 7770: 7770: int offsetfirst = int(afirst.i - reinterpret_cast(p.begin())); 7770: int offsetlast = int(alast.i - reinterpret_cast(p.begin())); 7770: afirst = begin(); 7770: alast = afirst; 7770: afirst += offsetfirst; 7770: alast += offsetlast; 7770: } 7770: 7770: for (Node *n = afirst.i; n < alast.i; ++n) 7770: node_destruct(n); 7770: int idx = afirst - begin(); 7770: p.remove(idx, alast - afirst); 7770: return begin() + idx; 7770: } 7770: 7770: template 7770: QList &QList::operator+=(const QList &l) 7770: { 7770: if (!l.isEmpty()) { 7770: if (d == &QListData::shared_null) { 7770: *this = l; 7770: } else { 7770: Node *n = (d->ref.isShared()) 7770: ? detach_helper_grow(0x7fffffff, l.size()) 7770: : reinterpret_cast(p.append(l.p)); 7770: if (true) { 7770: node_copy(n, reinterpret_cast(p.end()), 7770: reinterpret_cast(l.p.begin())); 7770: } else { 7770: 7770: d->end -= int(reinterpret_cast(p.end()) - n); 7770: qt_noop(); 7770: } 7770: } 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: inline void QList::append(const QList &t) 7770: { 7770: *this += t; 7770: } 7770: 7770: template 7770: int QList::indexOf(const T &t, int from) const 7770: { 7770: if (from < 0) 7770: from = qMax(from + p.size(), 0); 7770: if (from < p.size()) { 7770: Node *n = reinterpret_cast(p.at(from -1)); 7770: Node *e = reinterpret_cast(p.end()); 7770: while (++n != e) 7770: if (n->t() == t) 7770: return int(n - reinterpret_cast(p.begin())); 7770: } 7770: return -1; 7770: } 7770: 7770: template 7770: int QList::lastIndexOf(const T &t, int from) const 7770: { 7770: if (from < 0) 7770: from += p.size(); 7770: else if (from >= p.size()) 7770: from = p.size()-1; 7770: if (from >= 0) { 7770: Node *b = reinterpret_cast(p.begin()); 7770: Node *n = reinterpret_cast(p.at(from + 1)); 7770: while (n-- != b) { 7770: if (n->t() == t) 7770: return n - b; 7770: } 7770: } 7770: return -1; 7770: } 7770: 7770: template 7770: bool QList::contains(const T &t) const 7770: { 7770: return contains_impl(t, MemoryLayout()); 7770: } 7770: 7770: template 7770: inline bool QList::contains_impl(const T &t, QListData::NotArrayCompatibleLayout) const 7770: { 7770: Node *e = reinterpret_cast(p.end()); 7770: Node *i = reinterpret_cast(p.begin()); 7770: for (; i != e; ++i) 7770: if (i->t() == t) 7770: return true; 7770: return false; 7770: } 7770: 7770: template 7770: inline bool QList::contains_impl(const T &t, QListData::ArrayCompatibleLayout) const 7770: { 7770: const T *b = reinterpret_cast(p.begin()); 7770: const T *e = reinterpret_cast(p.end()); 7770: return std::find(b, e, t) != e; 7770: } 7770: 7770: template 7770: int QList::count(const T &t) const 7770: { 7770: return this->count_impl(t, MemoryLayout()); 7770: } 7770: 7770: template 7770: inline int QList::count_impl(const T &t, QListData::NotArrayCompatibleLayout) const 7770: { 7770: int c = 0; 7770: Node *e = reinterpret_cast(p.end()); 7770: Node *i = reinterpret_cast(p.begin()); 7770: for (; i != e; ++i) 7770: if (i->t() == t) 7770: ++c; 7770: return c; 7770: } 7770: 7770: template 7770: inline int QList::count_impl(const T &t, QListData::ArrayCompatibleLayout) const 7770: { 7770: return int(std::count(reinterpret_cast(p.begin()), 7770: reinterpret_cast(p.end()), 7770: t)); 7770: } 7770: 7770: 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; } }; 7770: 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; } }; 7770: 7770: template 7770: uint qHash(const QList &key, uint seed = 0) 7770: noexcept(noexcept(qHashRange(key.cbegin(), key.cend(), seed))) 7770: { 7770: return qHashRange(key.cbegin(), key.cend(), seed); 7770: } 7770: 7770: template 7770: bool operator<(const QList &lhs, const QList &rhs) 7770: noexcept(noexcept(std::lexicographical_compare(lhs.begin(), lhs.end(), rhs.begin(), rhs.end()))) 7770: 7770: { 7770: return std::lexicographical_compare(lhs.begin(), lhs.end(), 7770: rhs.begin(), rhs.end()); 7770: } 7770: 7770: template 7770: inline bool operator>(const QList &lhs, const QList &rhs) 7770: noexcept(noexcept(lhs < rhs)) 7770: { 7770: return rhs < lhs; 7770: } 7770: 7770: template 7770: inline bool operator<=(const QList &lhs, const QList &rhs) 7770: noexcept(noexcept(lhs < rhs)) 7770: { 7770: return !(lhs > rhs); 7770: } 7770: 7770: template 7770: inline bool operator>=(const QList &lhs, const QList &rhs) 7770: noexcept(noexcept(lhs < rhs)) 7770: { 7770: return !(lhs < rhs); 7770: } 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearraylist.h" 1 3 4 7770: # 42 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearraylist.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlist.h" 1 3 4 7770: # 43 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearraylist.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: typedef QListIterator QByteArrayListIterator; 7770: typedef QMutableListIterator QMutableByteArrayListIterator; 7770: 7770: typedef QList QByteArrayList; 7770: 7770: namespace QtPrivate { 7770: QByteArray __attribute__((visibility("default"))) QByteArrayList_join(const QByteArrayList *that, const char *separator, int separatorLength); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: template <> struct QListSpecialMethods 7770: 7770: { 7770: 7770: protected: 7770: ~QListSpecialMethods() {} 7770: 7770: public: 7770: inline QByteArray join() const 7770: { return QtPrivate::QByteArrayList_join(self(), nullptr, 0); } 7770: inline QByteArray join(const QByteArray &sep) const 7770: { return QtPrivate::QByteArrayList_join(self(), sep.constData(), sep.size()); } 7770: inline QByteArray join(char sep) const 7770: { return QtPrivate::QByteArrayList_join(self(), &sep, 1); } 7770: 7770: private: 7770: typedef QList Self; 7770: Self *self() { return static_cast(this); } 7770: const Self *self() const { return static_cast(this); } 7770: }; 7770: 7770: 7770: # 1094 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlist.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstringlist.h" 1 3 4 7770: # 47 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstringlist.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qregexp.h" 1 3 4 7770: # 49 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qregexp.h" 3 4 7770: 7770: 7770: 7770: struct QRegExpPrivate; 7770: class QStringList; 7770: class QRegExp; 7770: 7770: __attribute__((visibility("default"))) uint qHash(const QRegExp &key, uint seed = 0) noexcept; 7770: 7770: class __attribute__((visibility("default"))) QRegExp 7770: { 7770: public: 7770: enum PatternSyntax { 7770: RegExp, 7770: Wildcard, 7770: FixedString, 7770: RegExp2, 7770: WildcardUnix, 7770: W3CXmlSchema11 }; 7770: enum CaretMode { CaretAtZero, CaretAtOffset, CaretWontMatch }; 7770: 7770: QRegExp(); 7770: explicit QRegExp(const QString &pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive, 7770: PatternSyntax syntax = RegExp); 7770: QRegExp(const QRegExp &rx); 7770: ~QRegExp(); 7770: QRegExp &operator=(const QRegExp &rx); 7770: 7770: QRegExp &operator=(QRegExp &&other) noexcept { swap(other); return *this; } 7770: 7770: void swap(QRegExp &other) noexcept { qSwap(priv, other.priv); } 7770: 7770: bool operator==(const QRegExp &rx) const; 7770: inline bool operator!=(const QRegExp &rx) const { return !operator==(rx); } 7770: 7770: bool isEmpty() const; 7770: bool isValid() const; 7770: QString pattern() const; 7770: void setPattern(const QString &pattern); 7770: Qt::CaseSensitivity caseSensitivity() const; 7770: void setCaseSensitivity(Qt::CaseSensitivity cs); 7770: PatternSyntax patternSyntax() const; 7770: void setPatternSyntax(PatternSyntax syntax); 7770: 7770: bool isMinimal() const; 7770: void setMinimal(bool minimal); 7770: 7770: bool exactMatch(const QString &str) const; 7770: 7770: int indexIn(const QString &str, int offset = 0, CaretMode caretMode = CaretAtZero) const; 7770: int lastIndexIn(const QString &str, int offset = -1, CaretMode caretMode = CaretAtZero) const; 7770: int matchedLength() const; 7770: 7770: int captureCount() const; 7770: QStringList capturedTexts() const; 7770: QStringList capturedTexts(); 7770: QString cap(int nth = 0) const; 7770: QString cap(int nth = 0); 7770: int pos(int nth = 0) const; 7770: int pos(int nth = 0); 7770: QString errorString() const; 7770: QString errorString(); 7770: 7770: 7770: static QString escape(const QString &str); 7770: 7770: friend __attribute__((visibility("default"))) uint qHash(const QRegExp &key, uint seed) noexcept; 7770: 7770: private: 7770: QRegExpPrivate *priv; 7770: }; 7770: 7770: 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"; } }; 7770: 7770: 7770: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &out, const QRegExp ®Exp); 7770: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &in, QRegExp ®Exp); 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QRegExp &); 7770: 7770: 7770: 7770: # 48 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstringlist.h" 2 3 4 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstringmatcher.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstringmatcher.h" 3 4 7770: 7770: 7770: 7770: class QStringMatcherPrivate; 7770: 7770: class __attribute__((visibility("default"))) QStringMatcher 7770: { 7770: public: 7770: QStringMatcher(); 7770: explicit QStringMatcher(const QString &pattern, 7770: Qt::CaseSensitivity cs = Qt::CaseSensitive); 7770: QStringMatcher(const QChar *uc, int len, 7770: Qt::CaseSensitivity cs = Qt::CaseSensitive); 7770: QStringMatcher(const QStringMatcher &other); 7770: ~QStringMatcher(); 7770: 7770: QStringMatcher &operator=(const QStringMatcher &other); 7770: 7770: void setPattern(const QString &pattern); 7770: void setCaseSensitivity(Qt::CaseSensitivity cs); 7770: 7770: int indexIn(const QString &str, int from = 0) const; 7770: int indexIn(const QChar *str, int length, int from = 0) const; 7770: QString pattern() const; 7770: inline Qt::CaseSensitivity caseSensitivity() const { return q_cs; } 7770: 7770: private: 7770: QStringMatcherPrivate *d_ptr; 7770: QString q_pattern; 7770: Qt::CaseSensitivity q_cs; 7770: struct Data { 7770: uchar q_skiptable[256]; 7770: const QChar *uc; 7770: int len; 7770: }; 7770: union { 7770: uint q_data[256]; 7770: Data p; 7770: }; 7770: }; 7770: 7770: 7770: # 50 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstringlist.h" 2 3 4 7770: 7770: 7770: 7770: class QRegExp; 7770: class QRegularExpression; 7770: 7770: typedef QListIterator QStringListIterator; 7770: typedef QMutableListIterator QMutableStringListIterator; 7770: 7770: class QStringList; 7770: 7770: 7770: 7770: 7770: template <> struct QListSpecialMethods 7770: 7770: { 7770: 7770: protected: 7770: ~QListSpecialMethods() {} 7770: 7770: public: 7770: inline void sort(Qt::CaseSensitivity cs = Qt::CaseSensitive); 7770: inline int removeDuplicates(); 7770: 7770: inline QString join(const QString &sep) const; 7770: inline QString join(QLatin1String sep) const; 7770: inline QString join(QChar sep) const; 7770: 7770: inline QStringList filter(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: inline QStringList &replaceInStrings(const QString &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); 7770: 7770: 7770: inline QStringList filter(const QRegExp &rx) const; 7770: inline QStringList &replaceInStrings(const QRegExp &rx, const QString &after); 7770: 7770: 7770: 7770: 7770: inline QStringList filter(const QRegularExpression &re) const; 7770: inline QStringList &replaceInStrings(const QRegularExpression &re, const QString &after); 7770: 7770: 7770: 7770: 7770: private: 7770: inline QStringList *self(); 7770: inline const QStringList *self() const; 7770: }; 7770: 7770: 7770: class QStringList : public QList 7770: { 7770: 7770: public: 7770: inline QStringList() noexcept { } 7770: inline explicit QStringList(const QString &i) { append(i); } 7770: inline QStringList(const QList &l) : QList(l) { } 7770: 7770: inline QStringList(QList &&l) noexcept : QList(std::move(l)) { } 7770: 7770: 7770: inline QStringList(std::initializer_list args) : QList(args) { } 7770: 7770: 7770: QStringList &operator=(const QList &other) 7770: { QList::operator=(other); return *this; } 7770: 7770: QStringList &operator=(QList &&other) noexcept 7770: { QList::operator=(std::move(other)); return *this; } 7770: 7770: 7770: inline bool contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; 7770: 7770: inline QStringList operator+(const QStringList &other) const 7770: { QStringList n = *this; n += other; return n; } 7770: inline QStringList &operator<<(const QString &str) 7770: { append(str); return *this; } 7770: inline QStringList &operator<<(const QStringList &l) 7770: { *this += l; return *this; } 7770: inline QStringList &operator<<(const QList &l) 7770: { *this += l; return *this; } 7770: 7770: 7770: inline int indexOf(const QRegExp &rx, int from = 0) const; 7770: inline int lastIndexOf(const QRegExp &rx, int from = -1) const; 7770: inline int indexOf(QRegExp &rx, int from = 0) const; 7770: inline int lastIndexOf(QRegExp &rx, int from = -1) const; 7770: 7770: 7770: 7770: 7770: inline int indexOf(const QRegularExpression &re, int from = 0) const; 7770: inline int lastIndexOf(const QRegularExpression &re, int from = -1) const; 7770: 7770: 7770: 7770: using QList::indexOf; 7770: using QList::lastIndexOf; 7770: }; 7770: 7770: 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"; } }; 7770: 7770: 7770: inline QStringList *QListSpecialMethods::self() 7770: { return static_cast(this); } 7770: inline const QStringList *QListSpecialMethods::self() const 7770: { return static_cast(this); } 7770: 7770: namespace QtPrivate { 7770: void __attribute__((visibility("default"))) QStringList_sort(QStringList *that, Qt::CaseSensitivity cs); 7770: int __attribute__((visibility("default"))) QStringList_removeDuplicates(QStringList *that); 7770: QString __attribute__((visibility("default"))) QStringList_join(const QStringList *that, const QChar *sep, int seplen); 7770: __attribute__((visibility("default"))) QString QStringList_join(const QStringList &list, QLatin1String sep); 7770: QStringList __attribute__((visibility("default"))) QStringList_filter(const QStringList *that, const QString &str, 7770: Qt::CaseSensitivity cs); 7770: 7770: bool __attribute__((visibility("default"))) QStringList_contains(const QStringList *that, const QString &str, Qt::CaseSensitivity cs); 7770: void __attribute__((visibility("default"))) QStringList_replaceInStrings(QStringList *that, const QString &before, const QString &after, 7770: Qt::CaseSensitivity cs); 7770: 7770: 7770: void __attribute__((visibility("default"))) QStringList_replaceInStrings(QStringList *that, const QRegExp &rx, const QString &after); 7770: QStringList __attribute__((visibility("default"))) QStringList_filter(const QStringList *that, const QRegExp &re); 7770: int __attribute__((visibility("default"))) QStringList_indexOf(const QStringList *that, const QRegExp &rx, int from); 7770: int __attribute__((visibility("default"))) QStringList_lastIndexOf(const QStringList *that, const QRegExp &rx, int from); 7770: int __attribute__((visibility("default"))) QStringList_indexOf(const QStringList *that, QRegExp &rx, int from); 7770: int __attribute__((visibility("default"))) QStringList_lastIndexOf(const QStringList *that, QRegExp &rx, int from); 7770: 7770: 7770: 7770: 7770: void __attribute__((visibility("default"))) QStringList_replaceInStrings(QStringList *that, const QRegularExpression &rx, const QString &after); 7770: QStringList __attribute__((visibility("default"))) QStringList_filter(const QStringList *that, const QRegularExpression &re); 7770: int __attribute__((visibility("default"))) QStringList_indexOf(const QStringList *that, const QRegularExpression &re, int from); 7770: int __attribute__((visibility("default"))) QStringList_lastIndexOf(const QStringList *that, const QRegularExpression &re, int from); 7770: 7770: 7770: } 7770: 7770: inline void QListSpecialMethods::sort(Qt::CaseSensitivity cs) 7770: { 7770: QtPrivate::QStringList_sort(self(), cs); 7770: } 7770: 7770: inline int QListSpecialMethods::removeDuplicates() 7770: { 7770: return QtPrivate::QStringList_removeDuplicates(self()); 7770: } 7770: 7770: inline QString QListSpecialMethods::join(const QString &sep) const 7770: { 7770: return QtPrivate::QStringList_join(self(), sep.constData(), sep.length()); 7770: } 7770: 7770: QString QListSpecialMethods::join(QLatin1String sep) const 7770: { 7770: return QtPrivate::QStringList_join(*self(), sep); 7770: } 7770: 7770: inline QString QListSpecialMethods::join(QChar sep) const 7770: { 7770: return QtPrivate::QStringList_join(self(), &sep, 1); 7770: } 7770: 7770: inline QStringList QListSpecialMethods::filter(const QString &str, Qt::CaseSensitivity cs) const 7770: { 7770: return QtPrivate::QStringList_filter(self(), str, cs); 7770: } 7770: 7770: inline bool QStringList::contains(const QString &str, Qt::CaseSensitivity cs) const 7770: { 7770: return QtPrivate::QStringList_contains(this, str, cs); 7770: } 7770: 7770: inline QStringList &QListSpecialMethods::replaceInStrings(const QString &before, const QString &after, Qt::CaseSensitivity cs) 7770: { 7770: QtPrivate::QStringList_replaceInStrings(self(), before, after, cs); 7770: return *self(); 7770: } 7770: 7770: inline QStringList operator+(const QList &one, const QStringList &other) 7770: { 7770: QStringList n = one; 7770: n += other; 7770: return n; 7770: } 7770: 7770: 7770: inline QStringList &QListSpecialMethods::replaceInStrings(const QRegExp &rx, const QString &after) 7770: { 7770: QtPrivate::QStringList_replaceInStrings(self(), rx, after); 7770: return *self(); 7770: } 7770: 7770: inline QStringList QListSpecialMethods::filter(const QRegExp &rx) const 7770: { 7770: return QtPrivate::QStringList_filter(self(), rx); 7770: } 7770: 7770: inline int QStringList::indexOf(const QRegExp &rx, int from) const 7770: { 7770: return QtPrivate::QStringList_indexOf(this, rx, from); 7770: } 7770: 7770: inline int QStringList::lastIndexOf(const QRegExp &rx, int from) const 7770: { 7770: return QtPrivate::QStringList_lastIndexOf(this, rx, from); 7770: } 7770: 7770: inline int QStringList::indexOf(QRegExp &rx, int from) const 7770: { 7770: return QtPrivate::QStringList_indexOf(this, rx, from); 7770: } 7770: 7770: inline int QStringList::lastIndexOf(QRegExp &rx, int from) const 7770: { 7770: return QtPrivate::QStringList_lastIndexOf(this, rx, from); 7770: } 7770: 7770: 7770: 7770: 7770: inline QStringList &QListSpecialMethods::replaceInStrings(const QRegularExpression &rx, const QString &after) 7770: { 7770: QtPrivate::QStringList_replaceInStrings(self(), rx, after); 7770: return *self(); 7770: } 7770: 7770: inline QStringList QListSpecialMethods::filter(const QRegularExpression &rx) const 7770: { 7770: return QtPrivate::QStringList_filter(self(), rx); 7770: } 7770: 7770: inline int QStringList::indexOf(const QRegularExpression &rx, int from) const 7770: { 7770: return QtPrivate::QStringList_indexOf(this, rx, from); 7770: } 7770: 7770: inline int QStringList::lastIndexOf(const QRegularExpression &rx, int from) const 7770: { 7770: return QtPrivate::QStringList_lastIndexOf(this, rx, from); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: # 1095 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlist.h" 2 3 4 7770: # 46 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvariant.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmetatype.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmetatype.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 7770: # 46 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmetatype.h" 2 3 4 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvarlengtharray.h" 1 3 4 7770: # 43 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvarlengtharray.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcontainerfwd.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcontainerfwd.h" 3 4 7770: 7770: 7770: 7770: template class QCache; 7770: template class QHash; 7770: template class QLinkedList; 7770: template class QList; 7770: template class QMap; 7770: template class QMultiHash; 7770: template class QMultiMap; 7770: template struct QPair; 7770: template class QQueue; 7770: template class QSet; 7770: template class QStack; 7770: template class QVarLengthArray; 7770: template class QVector; 7770: 7770: 7770: # 44 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvarlengtharray.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/stdlib.h" 1 3 4 7770: # 50 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvarlengtharray.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: class QPodList; 7770: 7770: 7770: template 7770: class QVarLengthArray 7770: { 7770: public: 7770: inline explicit QVarLengthArray(int size = 0); 7770: 7770: inline QVarLengthArray(const QVarLengthArray &other) 7770: : a(Prealloc), s(0), ptr(reinterpret_cast(array)) 7770: { 7770: append(other.constData(), other.size()); 7770: } 7770: 7770: 7770: QVarLengthArray(std::initializer_list args) 7770: : a(Prealloc), s(0), ptr(reinterpret_cast(array)) 7770: { 7770: if (args.size()) 7770: append(args.begin(), int(args.size())); 7770: } 7770: 7770: 7770: inline ~QVarLengthArray() { 7770: if (QTypeInfo::isComplex) { 7770: T *i = ptr + s; 7770: while (i-- != ptr) 7770: i->~T(); 7770: } 7770: if (ptr != reinterpret_cast(array)) 7770: free(ptr); 7770: } 7770: inline QVarLengthArray &operator=(const QVarLengthArray &other) 7770: { 7770: if (this != &other) { 7770: clear(); 7770: append(other.constData(), other.size()); 7770: } 7770: return *this; 7770: } 7770: 7770: 7770: QVarLengthArray &operator=(std::initializer_list list) 7770: { 7770: resize(list.size()); 7770: std::copy(list.begin(), list.end(), 7770: (this->begin())); 7770: return *this; 7770: } 7770: 7770: 7770: inline void removeLast() { 7770: do { } while ((false) && (s > 0)); 7770: realloc(s - 1, a); 7770: } 7770: inline int size() const { return s; } 7770: inline int count() const { return s; } 7770: inline int length() const { return s; } 7770: inline T& first() { do { } while ((false) && (!isEmpty())); return *begin(); } 7770: inline const T& first() const { do { } while ((false) && (!isEmpty())); return *begin(); } 7770: T& last() { do { } while ((false) && (!isEmpty())); return *(end() - 1); } 7770: const T& last() const { do { } while ((false) && (!isEmpty())); return *(end() - 1); } 7770: inline bool isEmpty() const { return (s == 0); } 7770: inline void resize(int size); 7770: inline void clear() { resize(0); } 7770: inline void squeeze(); 7770: 7770: inline int capacity() const { return a; } 7770: inline void reserve(int size); 7770: 7770: inline int indexOf(const T &t, int from = 0) const; 7770: inline int lastIndexOf(const T &t, int from = -1) const; 7770: inline bool contains(const T &t) const; 7770: 7770: inline T &operator[](int idx) { 7770: do { } while ((false) && (idx >= 0 && idx < s)); 7770: return ptr[idx]; 7770: } 7770: inline const T &operator[](int idx) const { 7770: do { } while ((false) && (idx >= 0 && idx < s)); 7770: return ptr[idx]; 7770: } 7770: inline const T &at(int idx) const { return operator[](idx); } 7770: 7770: T value(int i) const; 7770: T value(int i, const T &defaultValue) const; 7770: 7770: inline void append(const T &t) { 7770: if (s == a) { 7770: T copy(t); 7770: realloc(s, s<<1); 7770: const int idx = s++; 7770: if (QTypeInfo::isComplex) { 7770: new (ptr + idx) T(std::move(copy)); 7770: } else { 7770: ptr[idx] = std::move(copy); 7770: } 7770: } else { 7770: const int idx = s++; 7770: if (QTypeInfo::isComplex) { 7770: new (ptr + idx) T(t); 7770: } else { 7770: ptr[idx] = t; 7770: } 7770: } 7770: } 7770: 7770: void append(T &&t) { 7770: if (s == a) 7770: realloc(s, s << 1); 7770: const int idx = s++; 7770: if (QTypeInfo::isComplex) 7770: new (ptr + idx) T(std::move(t)); 7770: else 7770: ptr[idx] = std::move(t); 7770: } 7770: 7770: void append(const T *buf, int size); 7770: inline QVarLengthArray &operator<<(const T &t) 7770: { append(t); return *this; } 7770: inline QVarLengthArray &operator+=(const T &t) 7770: { append(t); return *this; } 7770: 7770: void prepend(const T &t); 7770: void insert(int i, const T &t); 7770: void insert(int i, int n, const T &t); 7770: void replace(int i, const T &t); 7770: void remove(int i); 7770: void remove(int i, int n); 7770: 7770: 7770: inline T *data() { return ptr; } 7770: inline const T *data() const { return ptr; } 7770: inline const T * constData() const { return ptr; } 7770: typedef int size_type; 7770: typedef T value_type; 7770: typedef value_type *pointer; 7770: typedef const value_type *const_pointer; 7770: typedef value_type &reference; 7770: typedef const value_type &const_reference; 7770: typedef qptrdiff difference_type; 7770: 7770: 7770: typedef T* iterator; 7770: typedef const T* const_iterator; 7770: typedef std::reverse_iterator reverse_iterator; 7770: typedef std::reverse_iterator const_reverse_iterator; 7770: 7770: inline iterator begin() { return ptr; } 7770: inline const_iterator begin() const { return ptr; } 7770: inline const_iterator cbegin() const { return ptr; } 7770: inline const_iterator constBegin() const { return ptr; } 7770: inline iterator end() { return ptr + s; } 7770: inline const_iterator end() const { return ptr + s; } 7770: inline const_iterator cend() const { return ptr + s; } 7770: inline const_iterator constEnd() const { return ptr + s; } 7770: reverse_iterator rbegin() { return reverse_iterator(end()); } 7770: reverse_iterator rend() { return reverse_iterator(begin()); } 7770: const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } 7770: const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } 7770: const_reverse_iterator crbegin() const { return const_reverse_iterator(end()); } 7770: const_reverse_iterator crend() const { return const_reverse_iterator(begin()); } 7770: iterator insert(const_iterator before, int n, const T &x); 7770: inline iterator insert(const_iterator before, const T &x) { return insert(before, 1, x); } 7770: iterator erase(const_iterator begin, const_iterator end); 7770: inline iterator erase(const_iterator pos) { return erase(pos, pos+1); } 7770: 7770: 7770: inline bool empty() const { return isEmpty(); } 7770: inline void push_back(const T &t) { append(t); } 7770: void push_back(T &&t) { append(std::move(t)); } 7770: inline void pop_back() { removeLast(); } 7770: inline T &front() { return first(); } 7770: inline const T &front() const { return first(); } 7770: inline T &back() { return last(); } 7770: inline const T &back() const { return last(); } 7770: 7770: private: 7770: friend class QPodList; 7770: void realloc(int size, int alloc); 7770: 7770: int a; 7770: int s; 7770: T *ptr; 7770: union { 7770: char array[Prealloc * sizeof(T)]; 7770: qint64 q_for_alignment_1; 7770: double q_for_alignment_2; 7770: }; 7770: 7770: bool isValidIterator(const const_iterator &i) const 7770: { 7770: return (i <= constEnd()) && (constBegin() <= i); 7770: } 7770: }; 7770: 7770: template 7770: inline QVarLengthArray::QVarLengthArray(int asize) 7770: : s(asize) { 7770: static_assert(bool(Prealloc > 0), "QVarLengthArray Prealloc must be greater than 0."); 7770: do { } while ((false) && (s >= 0)); 7770: if (s > Prealloc) { 7770: ptr = reinterpret_cast(malloc(s * sizeof(T))); 7770: qt_noop(); 7770: a = s; 7770: } else { 7770: ptr = reinterpret_cast(array); 7770: a = Prealloc; 7770: } 7770: if (QTypeInfo::isComplex) { 7770: T *i = ptr + s; 7770: while (i != ptr) 7770: new (--i) T; 7770: } 7770: } 7770: 7770: template 7770: inline void QVarLengthArray::resize(int asize) 7770: { realloc(asize, qMax(asize, a)); } 7770: 7770: template 7770: inline void QVarLengthArray::reserve(int asize) 7770: { if (asize > a) realloc(s, asize); } 7770: 7770: template 7770: inline int QVarLengthArray::indexOf(const T &t, int from) const 7770: { 7770: if (from < 0) 7770: from = qMax(from + s, 0); 7770: if (from < s) { 7770: T *n = ptr + from - 1; 7770: T *e = ptr + s; 7770: while (++n != e) 7770: if (*n == t) 7770: return n - ptr; 7770: } 7770: return -1; 7770: } 7770: 7770: template 7770: inline int QVarLengthArray::lastIndexOf(const T &t, int from) const 7770: { 7770: if (from < 0) 7770: from += s; 7770: else if (from >= s) 7770: from = s - 1; 7770: if (from >= 0) { 7770: T *b = ptr; 7770: T *n = ptr + from + 1; 7770: while (n != b) { 7770: if (*--n == t) 7770: return n - b; 7770: } 7770: } 7770: return -1; 7770: } 7770: 7770: template 7770: inline bool QVarLengthArray::contains(const T &t) const 7770: { 7770: T *b = ptr; 7770: T *i = ptr + s; 7770: while (i != b) { 7770: if (*--i == t) 7770: return true; 7770: } 7770: return false; 7770: } 7770: 7770: template 7770: void QVarLengthArray::append(const T *abuf, int increment) 7770: { 7770: do { } while ((false) && (abuf)); 7770: if (increment <= 0) 7770: return; 7770: 7770: const int asize = s + increment; 7770: 7770: if (asize >= a) 7770: realloc(s, qMax(s*2, asize)); 7770: 7770: if (QTypeInfo::isComplex) { 7770: 7770: while (s < asize) 7770: new (ptr+(s++)) T(*abuf++); 7770: } else { 7770: memcpy(&ptr[s], abuf, increment * sizeof(T)); 7770: s = asize; 7770: } 7770: } 7770: 7770: template 7770: inline void QVarLengthArray::squeeze() 7770: { realloc(s, s); } 7770: 7770: template 7770: void QVarLengthArray::realloc(int asize, int aalloc) 7770: { 7770: do { } while ((false) && (aalloc >= asize)); 7770: T *oldPtr = ptr; 7770: int osize = s; 7770: 7770: const int copySize = qMin(asize, osize); 7770: do { const bool valueOfExpression = copySize >= 0; do { } while ((false) && (valueOfExpression)); if (valueOfExpression){} else __builtin_unreachable(); } while (false); 7770: if (aalloc != a) { 7770: if (aalloc > Prealloc) { 7770: T* newPtr = reinterpret_cast(malloc(aalloc * sizeof(T))); 7770: qt_noop(); 7770: 7770: ptr = newPtr; 7770: a = aalloc; 7770: } else { 7770: ptr = reinterpret_cast(array); 7770: a = Prealloc; 7770: } 7770: s = 0; 7770: if (!QTypeInfoQuery::isRelocatable) { 7770: if (true) { 7770: 7770: while (s < copySize) { 7770: new (ptr+s) T(*(oldPtr+s)); 7770: (oldPtr+s)->~T(); 7770: s++; 7770: } 7770: } else { 7770: 7770: int sClean = s; 7770: while (sClean < osize) 7770: (oldPtr+(sClean++))->~T(); 7770: if (oldPtr != reinterpret_cast(array) && oldPtr != ptr) 7770: free(oldPtr); 7770: qt_noop(); 7770: } 7770: } else { 7770: memcpy(ptr, oldPtr, copySize * sizeof(T)); 7770: } 7770: } 7770: s = copySize; 7770: 7770: if (QTypeInfo::isComplex) { 7770: 7770: while (osize > asize) 7770: (oldPtr+(--osize))->~T(); 7770: } 7770: 7770: if (oldPtr != reinterpret_cast(array) && oldPtr != ptr) 7770: free(oldPtr); 7770: 7770: if (QTypeInfo::isComplex) { 7770: 7770: while (s < asize) 7770: new (ptr+(s++)) T; 7770: } else { 7770: s = asize; 7770: } 7770: } 7770: 7770: template 7770: T QVarLengthArray::value(int i) const 7770: { 7770: if (uint(i) >= uint(size())) { 7770: return T(); 7770: } 7770: return at(i); 7770: } 7770: template 7770: T QVarLengthArray::value(int i, const T &defaultValue) const 7770: { 7770: return (uint(i) >= uint(size())) ? defaultValue : at(i); 7770: } 7770: 7770: template 7770: inline void QVarLengthArray::insert(int i, const T &t) 7770: { do { } while ((false) && (i >= 0 && i <= s)); 7770: insert(begin() + i, 1, t); } 7770: template 7770: inline void QVarLengthArray::insert(int i, int n, const T &t) 7770: { do { } while ((false) && (i >= 0 && i <= s)); 7770: insert(begin() + i, n, t); } 7770: template 7770: inline void QVarLengthArray::remove(int i, int n) 7770: { do { } while ((false) && (i >= 0 && n >= 0 && i + n <= s)); 7770: erase(begin() + i, begin() + i + n); } 7770: template 7770: inline void QVarLengthArray::remove(int i) 7770: { do { } while ((false) && (i >= 0 && i < s)); 7770: erase(begin() + i, begin() + i + 1); } 7770: template 7770: inline void QVarLengthArray::prepend(const T &t) 7770: { insert(begin(), 1, t); } 7770: 7770: template 7770: inline void QVarLengthArray::replace(int i, const T &t) 7770: { 7770: do { } while ((false) && (i >= 0 && i < s)); 7770: const T copy(t); 7770: data()[i] = copy; 7770: } 7770: 7770: 7770: template 7770: typename QVarLengthArray::iterator QVarLengthArray::insert(const_iterator before, size_type n, const T &t) 7770: { 7770: do { } while ((false) && (isValidIterator(before))); 7770: 7770: int offset = int(before - ptr); 7770: if (n != 0) { 7770: resize(s + n); 7770: const T copy(t); 7770: if (!QTypeInfoQuery::isRelocatable) { 7770: T *b = ptr + offset; 7770: T *j = ptr + s; 7770: T *i = j - n; 7770: while (i != b) 7770: *--j = *--i; 7770: i = b + n; 7770: while (i != b) 7770: *--i = copy; 7770: } else { 7770: T *b = ptr + offset; 7770: T *i = b + n; 7770: memmove(i, b, (s - offset - n) * sizeof(T)); 7770: while (i != b) 7770: new (--i) T(copy); 7770: } 7770: } 7770: return ptr + offset; 7770: } 7770: 7770: template 7770: typename QVarLengthArray::iterator QVarLengthArray::erase(const_iterator abegin, const_iterator aend) 7770: { 7770: do { } while ((false) && (isValidIterator(abegin))); 7770: do { } while ((false) && (isValidIterator(aend))); 7770: 7770: int f = int(abegin - ptr); 7770: int l = int(aend - ptr); 7770: int n = l - f; 7770: if (QTypeInfo::isComplex) { 7770: std::copy(ptr + l, ptr + s, (ptr + f)); 7770: T *i = ptr + s; 7770: T *b = ptr + s - n; 7770: while (i != b) { 7770: --i; 7770: i->~T(); 7770: } 7770: } else { 7770: memmove(ptr + f, ptr + l, (s - l) * sizeof(T)); 7770: } 7770: s -= n; 7770: return ptr + f; 7770: } 7770: 7770: template 7770: bool operator==(const QVarLengthArray &l, const QVarLengthArray &r) 7770: { 7770: if (l.size() != r.size()) 7770: return false; 7770: const T *rb = r.begin(); 7770: const T *b = l.begin(); 7770: const T *e = l.end(); 7770: return std::equal(b, e, (rb)); 7770: } 7770: 7770: template 7770: bool operator!=(const QVarLengthArray &l, const QVarLengthArray &r) 7770: { 7770: return !(l == r); 7770: } 7770: 7770: template 7770: bool operator<(const QVarLengthArray &lhs, const QVarLengthArray &rhs) 7770: noexcept(noexcept(std::lexicographical_compare(lhs.begin(), lhs.end(), rhs.begin(), rhs.end()))) 7770: 7770: { 7770: return std::lexicographical_compare(lhs.begin(), lhs.end(), 7770: rhs.begin(), rhs.end()); 7770: } 7770: 7770: template 7770: inline bool operator>(const QVarLengthArray &lhs, const QVarLengthArray &rhs) 7770: noexcept(noexcept(lhs < rhs)) 7770: { 7770: return rhs < lhs; 7770: } 7770: 7770: template 7770: inline bool operator<=(const QVarLengthArray &lhs, const QVarLengthArray &rhs) 7770: noexcept(noexcept(lhs < rhs)) 7770: { 7770: return !(lhs > rhs); 7770: } 7770: 7770: template 7770: inline bool operator>=(const QVarLengthArray &lhs, const QVarLengthArray &rhs) 7770: noexcept(noexcept(lhs < rhs)) 7770: { 7770: return !(lhs < rhs); 7770: } 7770: 7770: 7770: # 48 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmetatype.h" 2 3 4 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobjectdefs.h" 1 3 4 7770: # 50 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobjectdefs.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h" 1 3 4 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h" 3 4 7770: 7770: 7770: 7770: namespace QtPrivate { 7770: template struct RemoveRef { typedef T Type; }; 7770: template struct RemoveRef { typedef T Type; }; 7770: template struct RemoveConstRef { typedef T Type; }; 7770: template struct RemoveConstRef { typedef T Type; }; 7770: # 69 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h" 3 4 7770: template struct List {}; 7770: template struct List { typedef Head Car; typedef List Cdr; }; 7770: template struct List_Append; 7770: template struct List_Append, List> { typedef List Value; }; 7770: template struct List_Left { 7770: typedef typename List_Append,typename List_Left::Value>::Value Value; 7770: }; 7770: template struct List_Left { typedef List<> Value; }; 7770: 7770: template struct List_Select { typedef typename List_Select::Value Value; }; 7770: template struct List_Select { typedef typename L::Car Value; }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct ApplyReturnValue { 7770: void *data; 7770: explicit ApplyReturnValue(void *data_) : data(data_) {} 7770: }; 7770: template 7770: void operator,(T &&value, const ApplyReturnValue &container) { 7770: if (container.data) 7770: *reinterpret_cast(container.data) = std::forward(value); 7770: } 7770: template 7770: void operator,(T, const ApplyReturnValue &) {} 7770: # 117 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h" 3 4 7770: template struct IndexesList {}; 7770: template struct IndexesAppend; 7770: template struct IndexesAppend, Right> 7770: { typedef IndexesList Value; }; 7770: template struct Indexes 7770: { typedef typename IndexesAppend::Value, N - 1>::Value Value; }; 7770: template <> struct Indexes<0> { typedef IndexesList<> Value; }; 7770: template struct FunctionPointer { enum {ArgumentCount = -1, IsPointerToMemberFunction = false}; }; 7770: 7770: template struct FunctorCall; 7770: template 7770: struct FunctorCall, List, R, Function> { 7770: static void call(Function &f, void **arg) { 7770: f((*reinterpret_cast::Type *>(arg[II+1]))...), ApplyReturnValue(arg[0]); 7770: } 7770: }; 7770: template 7770: struct FunctorCall, List, R, SlotRet (Obj::*)(SlotArgs...)> { 7770: static void call(SlotRet (Obj::*f)(SlotArgs...), Obj *o, void **arg) { 7770: (o->*f)((*reinterpret_cast::Type *>(arg[II+1]))...), ApplyReturnValue(arg[0]); 7770: } 7770: }; 7770: template 7770: struct FunctorCall, List, R, SlotRet (Obj::*)(SlotArgs...) const> { 7770: static void call(SlotRet (Obj::*f)(SlotArgs...) const, Obj *o, void **arg) { 7770: (o->*f)((*reinterpret_cast::Type *>(arg[II+1]))...), ApplyReturnValue(arg[0]); 7770: } 7770: }; 7770: 7770: template 7770: struct FunctorCall, List, R, SlotRet (Obj::*)(SlotArgs...) noexcept> { 7770: static void call(SlotRet (Obj::*f)(SlotArgs...) noexcept, Obj *o, void **arg) { 7770: (o->*f)((*reinterpret_cast::Type *>(arg[II+1]))...), ApplyReturnValue(arg[0]); 7770: } 7770: }; 7770: template 7770: struct FunctorCall, List, R, SlotRet (Obj::*)(SlotArgs...) const noexcept> { 7770: static void call(SlotRet (Obj::*f)(SlotArgs...) const noexcept, Obj *o, void **arg) { 7770: (o->*f)((*reinterpret_cast::Type *>(arg[II+1]))...), ApplyReturnValue(arg[0]); 7770: } 7770: }; 7770: 7770: 7770: template struct FunctionPointer 7770: { 7770: typedef Obj Object; 7770: typedef List Arguments; 7770: typedef Ret ReturnType; 7770: typedef Ret (Obj::*Function) (Args...); 7770: enum {ArgumentCount = sizeof...(Args), IsPointerToMemberFunction = true}; 7770: template 7770: static void call(Function f, Obj *o, void **arg) { 7770: FunctorCall::Value, SignalArgs, R, Function>::call(f, o, arg); 7770: } 7770: }; 7770: template struct FunctionPointer 7770: { 7770: typedef Obj Object; 7770: typedef List Arguments; 7770: typedef Ret ReturnType; 7770: typedef Ret (Obj::*Function) (Args...) const; 7770: enum {ArgumentCount = sizeof...(Args), IsPointerToMemberFunction = true}; 7770: template 7770: static void call(Function f, Obj *o, void **arg) { 7770: FunctorCall::Value, SignalArgs, R, Function>::call(f, o, arg); 7770: } 7770: }; 7770: 7770: template struct FunctionPointer 7770: { 7770: typedef List Arguments; 7770: typedef Ret ReturnType; 7770: typedef Ret (*Function) (Args...); 7770: enum {ArgumentCount = sizeof...(Args), IsPointerToMemberFunction = false}; 7770: template 7770: static void call(Function f, void *, void **arg) { 7770: FunctorCall::Value, SignalArgs, R, Function>::call(f, arg); 7770: } 7770: }; 7770: 7770: 7770: template struct FunctionPointer 7770: { 7770: typedef Obj Object; 7770: typedef List Arguments; 7770: typedef Ret ReturnType; 7770: typedef Ret (Obj::*Function) (Args...) noexcept; 7770: enum {ArgumentCount = sizeof...(Args), IsPointerToMemberFunction = true}; 7770: template 7770: static void call(Function f, Obj *o, void **arg) { 7770: FunctorCall::Value, SignalArgs, R, Function>::call(f, o, arg); 7770: } 7770: }; 7770: template struct FunctionPointer 7770: { 7770: typedef Obj Object; 7770: typedef List Arguments; 7770: typedef Ret ReturnType; 7770: typedef Ret (Obj::*Function) (Args...) const noexcept; 7770: enum {ArgumentCount = sizeof...(Args), IsPointerToMemberFunction = true}; 7770: template 7770: static void call(Function f, Obj *o, void **arg) { 7770: FunctorCall::Value, SignalArgs, R, Function>::call(f, o, arg); 7770: } 7770: }; 7770: 7770: template struct FunctionPointer 7770: { 7770: typedef List Arguments; 7770: typedef Ret ReturnType; 7770: typedef Ret (*Function) (Args...) noexcept; 7770: enum {ArgumentCount = sizeof...(Args), IsPointerToMemberFunction = false}; 7770: template 7770: static void call(Function f, void *, void **arg) { 7770: FunctorCall::Value, SignalArgs, R, Function>::call(f, arg); 7770: } 7770: }; 7770: 7770: 7770: template struct Functor 7770: { 7770: template 7770: static void call(Function &f, void *, void **arg) { 7770: FunctorCall::Value, SignalArgs, R, Function>::call(f, arg); 7770: } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct IsEnumUnderlyingTypeSigned : std::false_type 7770: { 7770: }; 7770: 7770: template 7770: struct IsEnumUnderlyingTypeSigned::value>::type> 7770: : std::integral_constant::type>::value> 7770: { 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct AreArgumentsNarrowedBase : std::false_type 7770: { 7770: }; 7770: 7770: template 7770: struct AreArgumentsNarrowedBase::type> 7770: : std::integral_constant::value && std::is_integral::value) || 7770: (std::is_floating_point::value && std::is_floating_point::value && sizeof(From) > sizeof(To)) || 7770: ((std::is_integral::value || std::is_enum::value) && std::is_floating_point::value) || 7770: (std::is_integral::value && std::is_integral::value 7770: && (sizeof(From) > sizeof(To) 7770: || (std::is_signed::value ? !std::is_signed::value 7770: : (std::is_signed::value && sizeof(From) == sizeof(To))))) || 7770: (std::is_enum::value && std::is_integral::value 7770: && (sizeof(From) > sizeof(To) 7770: || (IsEnumUnderlyingTypeSigned::value ? !std::is_signed::value 7770: : (std::is_signed::value && sizeof(From) == sizeof(To))))) 7770: > 7770: { 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template struct AreArgumentsCompatible { 7770: static int test(const typename RemoveRef::Type&); 7770: static char test(...); 7770: static const typename RemoveRef::Type &dummy(); 7770: enum { value = sizeof(test(dummy())) == sizeof(int) }; 7770: 7770: using AreArgumentsNarrowed = AreArgumentsNarrowedBase::Type, typename RemoveRef::Type>; 7770: static_assert(bool(!AreArgumentsNarrowed::value), "Signal and slot arguments are not compatible (narrowing)"); 7770: 7770: }; 7770: template struct AreArgumentsCompatible { enum { value = false }; }; 7770: template struct AreArgumentsCompatible { enum { value = true }; }; 7770: 7770: template struct AreArgumentsCompatible { enum { value = true }; }; 7770: template struct AreArgumentsCompatible { enum { value = true }; }; 7770: template<> struct AreArgumentsCompatible { enum { value = true }; }; 7770: 7770: template struct CheckCompatibleArguments { enum { value = false }; }; 7770: template <> struct CheckCompatibleArguments, List<>> { enum { value = true }; }; 7770: template struct CheckCompatibleArguments> { enum { value = true }; }; 7770: template 7770: struct CheckCompatibleArguments, List> 7770: { 7770: enum { value = AreArgumentsCompatible::Type, typename RemoveConstRef::Type>::value 7770: && CheckCompatibleArguments, List>::value }; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template struct ComputeFunctorArgumentCount; 7770: 7770: template struct ComputeFunctorArgumentCountHelper 7770: { enum { Value = -1 }; }; 7770: template 7770: struct ComputeFunctorArgumentCountHelper, false> 7770: : ComputeFunctorArgumentCount, sizeof...(ArgList)>::Value> {}; 7770: 7770: template struct ComputeFunctorArgumentCount> 7770: { 7770: template static D dummy(); 7770: template static auto test(F f) -> decltype(((f.operator()((dummy())...)), int())); 7770: static char test(...); 7770: enum { 7770: Ok = sizeof(test(dummy())) == sizeof(int), 7770: Value = Ok ? int(sizeof...(ArgList)) : int(ComputeFunctorArgumentCountHelper, Ok>::Value) 7770: }; 7770: }; 7770: 7770: 7770: template struct FunctorReturnType; 7770: template struct FunctorReturnType> { 7770: template static D dummy(); 7770: typedef decltype(dummy().operator()((dummy())...)) Value; 7770: }; 7770: } 7770: 7770: 7770: # 51 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobjectdefs.h" 2 3 4 7770: 7770: 7770: 7770: 7770: class QByteArray; 7770: struct QArrayData; 7770: typedef QArrayData QByteArrayData; 7770: 7770: class QString; 7770: # 262 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobjectdefs.h" 3 4 7770: __attribute__((visibility("default"))) const char *qFlagLocation(const char *method); 7770: # 288 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobjectdefs.h" 3 4 7770: class QObject; 7770: class QMetaMethod; 7770: class QMetaEnum; 7770: class QMetaProperty; 7770: class QMetaClassInfo; 7770: 7770: 7770: class __attribute__((visibility("default"))) QGenericArgument 7770: { 7770: public: 7770: inline QGenericArgument(const char *aName = nullptr, const void *aData = nullptr) 7770: : _data(aData), _name(aName) {} 7770: inline void *data() const { return const_cast(_data); } 7770: inline const char *name() const { return _name; } 7770: 7770: private: 7770: const void *_data; 7770: const char *_name; 7770: }; 7770: 7770: class __attribute__((visibility("default"))) QGenericReturnArgument: public QGenericArgument 7770: { 7770: public: 7770: inline QGenericReturnArgument(const char *aName = nullptr, void *aData = nullptr) 7770: : QGenericArgument(aName, aData) 7770: {} 7770: }; 7770: 7770: template 7770: class QArgument: public QGenericArgument 7770: { 7770: public: 7770: inline QArgument(const char *aName, const T &aData) 7770: : QGenericArgument(aName, static_cast(&aData)) 7770: {} 7770: }; 7770: template 7770: class QArgument: public QGenericArgument 7770: { 7770: public: 7770: inline QArgument(const char *aName, T &aData) 7770: : QGenericArgument(aName, static_cast(&aData)) 7770: {} 7770: }; 7770: 7770: 7770: template 7770: class QReturnArgument: public QGenericReturnArgument 7770: { 7770: public: 7770: inline QReturnArgument(const char *aName, T &aData) 7770: : QGenericReturnArgument(aName, static_cast(&aData)) 7770: {} 7770: }; 7770: 7770: struct __attribute__((visibility("default"))) QMetaObject 7770: { 7770: class Connection; 7770: const char *className() const; 7770: const QMetaObject *superClass() const; 7770: 7770: bool inherits(const QMetaObject *metaObject) const noexcept; 7770: QObject *cast(QObject *obj) const; 7770: const QObject *cast(const QObject *obj) const; 7770: 7770: 7770: QString tr(const char *s, const char *c, int n = -1) const; 7770: 7770: 7770: int methodOffset() const; 7770: int enumeratorOffset() const; 7770: int propertyOffset() const; 7770: int classInfoOffset() const; 7770: 7770: int constructorCount() const; 7770: int methodCount() const; 7770: int enumeratorCount() const; 7770: int propertyCount() const; 7770: int classInfoCount() const; 7770: 7770: int indexOfConstructor(const char *constructor) const; 7770: int indexOfMethod(const char *method) const; 7770: int indexOfSignal(const char *signal) const; 7770: int indexOfSlot(const char *slot) const; 7770: int indexOfEnumerator(const char *name) const; 7770: int indexOfProperty(const char *name) const; 7770: int indexOfClassInfo(const char *name) const; 7770: 7770: QMetaMethod constructor(int index) const; 7770: QMetaMethod method(int index) const; 7770: QMetaEnum enumerator(int index) const; 7770: QMetaProperty property(int index) const; 7770: QMetaClassInfo classInfo(int index) const; 7770: QMetaProperty userProperty() const; 7770: 7770: static bool checkConnectArgs(const char *signal, const char *method); 7770: static bool checkConnectArgs(const QMetaMethod &signal, 7770: const QMetaMethod &method); 7770: static QByteArray normalizedSignature(const char *method); 7770: static QByteArray normalizedType(const char *type); 7770: 7770: 7770: static Connection connect(const QObject *sender, int signal_index, 7770: const QObject *receiver, int method_index, 7770: int type = 0, int *types = nullptr); 7770: 7770: static bool disconnect(const QObject *sender, int signal_index, 7770: const QObject *receiver, int method_index); 7770: static bool disconnectOne(const QObject *sender, int signal_index, 7770: const QObject *receiver, int method_index); 7770: 7770: static void connectSlotsByName(QObject *o); 7770: 7770: 7770: static void activate(QObject *sender, int signal_index, void **argv); 7770: static void activate(QObject *sender, const QMetaObject *, int local_signal_index, void **argv); 7770: static void activate(QObject *sender, int signal_offset, int local_signal_index, void **argv); 7770: 7770: static bool invokeMethod(QObject *obj, const char *member, 7770: Qt::ConnectionType, 7770: QGenericReturnArgument ret, 7770: QGenericArgument val0 = QGenericArgument(nullptr), 7770: QGenericArgument val1 = QGenericArgument(), 7770: QGenericArgument val2 = QGenericArgument(), 7770: QGenericArgument val3 = QGenericArgument(), 7770: QGenericArgument val4 = QGenericArgument(), 7770: QGenericArgument val5 = QGenericArgument(), 7770: QGenericArgument val6 = QGenericArgument(), 7770: QGenericArgument val7 = QGenericArgument(), 7770: QGenericArgument val8 = QGenericArgument(), 7770: QGenericArgument val9 = QGenericArgument()); 7770: 7770: static inline bool invokeMethod(QObject *obj, const char *member, 7770: QGenericReturnArgument ret, 7770: QGenericArgument val0 = QGenericArgument(nullptr), 7770: QGenericArgument val1 = QGenericArgument(), 7770: QGenericArgument val2 = QGenericArgument(), 7770: QGenericArgument val3 = QGenericArgument(), 7770: QGenericArgument val4 = QGenericArgument(), 7770: QGenericArgument val5 = QGenericArgument(), 7770: QGenericArgument val6 = QGenericArgument(), 7770: QGenericArgument val7 = QGenericArgument(), 7770: QGenericArgument val8 = QGenericArgument(), 7770: QGenericArgument val9 = QGenericArgument()) 7770: { 7770: return invokeMethod(obj, member, Qt::AutoConnection, ret, val0, val1, val2, val3, 7770: val4, val5, val6, val7, val8, val9); 7770: } 7770: 7770: static inline bool invokeMethod(QObject *obj, const char *member, 7770: Qt::ConnectionType type, 7770: QGenericArgument val0 = QGenericArgument(nullptr), 7770: QGenericArgument val1 = QGenericArgument(), 7770: QGenericArgument val2 = QGenericArgument(), 7770: QGenericArgument val3 = QGenericArgument(), 7770: QGenericArgument val4 = QGenericArgument(), 7770: QGenericArgument val5 = QGenericArgument(), 7770: QGenericArgument val6 = QGenericArgument(), 7770: QGenericArgument val7 = QGenericArgument(), 7770: QGenericArgument val8 = QGenericArgument(), 7770: QGenericArgument val9 = QGenericArgument()) 7770: { 7770: return invokeMethod(obj, member, type, QGenericReturnArgument(), val0, val1, val2, 7770: val3, val4, val5, val6, val7, val8, val9); 7770: } 7770: 7770: static inline bool invokeMethod(QObject *obj, const char *member, 7770: QGenericArgument val0 = QGenericArgument(nullptr), 7770: QGenericArgument val1 = QGenericArgument(), 7770: QGenericArgument val2 = QGenericArgument(), 7770: QGenericArgument val3 = QGenericArgument(), 7770: QGenericArgument val4 = QGenericArgument(), 7770: QGenericArgument val5 = QGenericArgument(), 7770: QGenericArgument val6 = QGenericArgument(), 7770: QGenericArgument val7 = QGenericArgument(), 7770: QGenericArgument val8 = QGenericArgument(), 7770: QGenericArgument val9 = QGenericArgument()) 7770: { 7770: return invokeMethod(obj, member, Qt::AutoConnection, QGenericReturnArgument(), val0, 7770: val1, val2, val3, val4, val5, val6, val7, val8, val9); 7770: } 7770: 7770: QObject *newInstance(QGenericArgument val0 = QGenericArgument(nullptr), 7770: QGenericArgument val1 = QGenericArgument(), 7770: QGenericArgument val2 = QGenericArgument(), 7770: QGenericArgument val3 = QGenericArgument(), 7770: QGenericArgument val4 = QGenericArgument(), 7770: QGenericArgument val5 = QGenericArgument(), 7770: QGenericArgument val6 = QGenericArgument(), 7770: QGenericArgument val7 = QGenericArgument(), 7770: QGenericArgument val8 = QGenericArgument(), 7770: QGenericArgument val9 = QGenericArgument()) const; 7770: 7770: enum Call { 7770: InvokeMetaMethod, 7770: ReadProperty, 7770: WriteProperty, 7770: ResetProperty, 7770: QueryPropertyDesignable, 7770: QueryPropertyScriptable, 7770: QueryPropertyStored, 7770: QueryPropertyEditable, 7770: QueryPropertyUser, 7770: CreateInstance, 7770: IndexOfMethod, 7770: RegisterPropertyMetaType, 7770: RegisterMethodArgumentMetaType 7770: }; 7770: 7770: int static_metacall(Call, int, void **) const; 7770: static int metacall(QObject *, Call, int, void **); 7770: 7770: struct { 7770: const QMetaObject *superdata; 7770: const QByteArrayData *stringdata; 7770: const uint *data; 7770: typedef void (*StaticMetacallFunction)(QObject *, QMetaObject::Call, int, void **); 7770: StaticMetacallFunction static_metacall; 7770: const QMetaObject * const *relatedMetaObjects; 7770: void *extradata; 7770: } d; 7770: }; 7770: 7770: class __attribute__((visibility("default"))) QMetaObject::Connection { 7770: void *d_ptr; 7770: explicit Connection(void *data) : d_ptr(data) { } 7770: friend class QObject; 7770: friend class QObjectPrivate; 7770: friend struct QMetaObject; 7770: bool isConnected_helper() const; 7770: public: 7770: ~Connection(); 7770: Connection(); 7770: Connection(const Connection &other); 7770: Connection &operator=(const Connection &other); 7770: 7770: 7770: 7770: typedef void *Connection::*RestrictedBool; 7770: operator RestrictedBool() const { return d_ptr && isConnected_helper() ? &Connection::d_ptr : nullptr; } 7770: 7770: 7770: 7770: inline Connection(Connection &&o) : d_ptr(o.d_ptr) { o.d_ptr = nullptr; } 7770: inline Connection &operator=(Connection &&other) 7770: { qSwap(d_ptr, other.d_ptr); return *this; } 7770: 7770: }; 7770: 7770: inline const QMetaObject *QMetaObject::superClass() const 7770: { return d.superdata; } 7770: 7770: namespace QtPrivate { 7770: 7770: template struct HasQ_OBJECT_Macro { 7770: template 7770: static char test(int (T::*)(QMetaObject::Call, int, void **)); 7770: static int test(int (Object::*)(QMetaObject::Call, int, void **)); 7770: enum { Value = sizeof(test(&Object::qt_metacall)) == sizeof(int) }; 7770: }; 7770: } 7770: 7770: 7770: # 50 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmetatype.h" 2 3 4 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/vector" 1 3 4 7770: # 58 "/usr/include/c++/8/vector" 3 4 7770: 7770: # 59 "/usr/include/c++/8/vector" 3 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/stl_uninitialized.h" 1 3 7770: # 67 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: template 7770: struct __uninitialized_copy 7770: { 7770: template 7770: static _ForwardIterator 7770: __uninit_copy(_InputIterator __first, _InputIterator __last, 7770: _ForwardIterator __result) 7770: { 7770: _ForwardIterator __cur = __result; 7770: if (true) 7770: { 7770: for (; __first != __last; ++__first, (void)++__cur) 7770: std::_Construct(std::__addressof(*__cur), *__first); 7770: return __cur; 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__result, __cur); 7770: ; 7770: } 7770: } 7770: }; 7770: 7770: template<> 7770: struct __uninitialized_copy 7770: { 7770: template 7770: static _ForwardIterator 7770: __uninit_copy(_InputIterator __first, _InputIterator __last, 7770: _ForwardIterator __result) 7770: { return std::copy(__first, __last, __result); } 7770: }; 7770: # 113 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 7770: template 7770: inline _ForwardIterator 7770: uninitialized_copy(_InputIterator __first, _InputIterator __last, 7770: _ForwardIterator __result) 7770: { 7770: typedef typename iterator_traits<_InputIterator>::value_type 7770: _ValueType1; 7770: typedef typename iterator_traits<_ForwardIterator>::value_type 7770: _ValueType2; 7770: 7770: 7770: 7770: 7770: typedef typename iterator_traits<_InputIterator>::reference _RefType1; 7770: typedef typename iterator_traits<_ForwardIterator>::reference _RefType2; 7770: const bool __assignable = is_assignable<_RefType2, _RefType1>::value; 7770: 7770: 7770: return std::__uninitialized_copy<__is_trivial(_ValueType1) 7770: && __is_trivial(_ValueType2) 7770: && __assignable>:: 7770: __uninit_copy(__first, __last, __result); 7770: } 7770: 7770: 7770: template 7770: struct __uninitialized_fill 7770: { 7770: template 7770: static void 7770: __uninit_fill(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Tp& __x) 7770: { 7770: _ForwardIterator __cur = __first; 7770: if (true) 7770: { 7770: for (; __cur != __last; ++__cur) 7770: std::_Construct(std::__addressof(*__cur), __x); 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__first, __cur); 7770: ; 7770: } 7770: } 7770: }; 7770: 7770: template<> 7770: struct __uninitialized_fill 7770: { 7770: template 7770: static void 7770: __uninit_fill(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Tp& __x) 7770: { std::fill(__first, __last, __x); } 7770: }; 7770: # 179 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 7770: template 7770: inline void 7770: uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Tp& __x) 7770: { 7770: typedef typename iterator_traits<_ForwardIterator>::value_type 7770: _ValueType; 7770: 7770: 7770: 7770: 7770: const bool __assignable = is_copy_assignable<_ValueType>::value; 7770: 7770: 7770: std::__uninitialized_fill<__is_trivial(_ValueType) && __assignable>:: 7770: __uninit_fill(__first, __last, __x); 7770: } 7770: 7770: 7770: template 7770: struct __uninitialized_fill_n 7770: { 7770: template 7770: static _ForwardIterator 7770: __uninit_fill_n(_ForwardIterator __first, _Size __n, 7770: const _Tp& __x) 7770: { 7770: _ForwardIterator __cur = __first; 7770: if (true) 7770: { 7770: for (; __n > 0; --__n, (void) ++__cur) 7770: std::_Construct(std::__addressof(*__cur), __x); 7770: return __cur; 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__first, __cur); 7770: ; 7770: } 7770: } 7770: }; 7770: 7770: template<> 7770: struct __uninitialized_fill_n 7770: { 7770: template 7770: static _ForwardIterator 7770: __uninit_fill_n(_ForwardIterator __first, _Size __n, 7770: const _Tp& __x) 7770: { return std::fill_n(__first, __n, __x); } 7770: }; 7770: # 242 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 7770: template 7770: inline _ForwardIterator 7770: uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) 7770: { 7770: typedef typename iterator_traits<_ForwardIterator>::value_type 7770: _ValueType; 7770: 7770: 7770: 7770: 7770: const bool __assignable = is_copy_assignable<_ValueType>::value; 7770: 7770: return __uninitialized_fill_n<__is_trivial(_ValueType) && __assignable>:: 7770: __uninit_fill_n(__first, __n, __x); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: _ForwardIterator 7770: __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, 7770: _ForwardIterator __result, _Allocator& __alloc) 7770: { 7770: _ForwardIterator __cur = __result; 7770: if (true) 7770: { 7770: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 7770: for (; __first != __last; ++__first, (void)++__cur) 7770: __traits::construct(__alloc, std::__addressof(*__cur), *__first); 7770: return __cur; 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__result, __cur, __alloc); 7770: ; 7770: } 7770: } 7770: 7770: template 7770: inline _ForwardIterator 7770: __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, 7770: _ForwardIterator __result, allocator<_Tp>&) 7770: { return std::uninitialized_copy(__first, __last, __result); } 7770: 7770: template 7770: inline _ForwardIterator 7770: __uninitialized_move_a(_InputIterator __first, _InputIterator __last, 7770: _ForwardIterator __result, _Allocator& __alloc) 7770: { 7770: return std::__uninitialized_copy_a(std::make_move_iterator(__first), 7770: std::make_move_iterator(__last), 7770: __result, __alloc); 7770: } 7770: 7770: template 7770: inline _ForwardIterator 7770: __uninitialized_move_if_noexcept_a(_InputIterator __first, 7770: _InputIterator __last, 7770: _ForwardIterator __result, 7770: _Allocator& __alloc) 7770: { 7770: return std::__uninitialized_copy_a 7770: (std::__make_move_if_noexcept_iterator(__first), 7770: std::__make_move_if_noexcept_iterator(__last), __result, __alloc); 7770: } 7770: 7770: template 7770: void 7770: __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Tp& __x, _Allocator& __alloc) 7770: { 7770: _ForwardIterator __cur = __first; 7770: if (true) 7770: { 7770: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 7770: for (; __cur != __last; ++__cur) 7770: __traits::construct(__alloc, std::__addressof(*__cur), __x); 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__first, __cur, __alloc); 7770: ; 7770: } 7770: } 7770: 7770: template 7770: inline void 7770: __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, 7770: const _Tp& __x, allocator<_Tp2>&) 7770: { std::uninitialized_fill(__first, __last, __x); } 7770: 7770: template 7770: _ForwardIterator 7770: __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, 7770: const _Tp& __x, _Allocator& __alloc) 7770: { 7770: _ForwardIterator __cur = __first; 7770: if (true) 7770: { 7770: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 7770: for (; __n > 0; --__n, (void) ++__cur) 7770: __traits::construct(__alloc, std::__addressof(*__cur), __x); 7770: return __cur; 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__first, __cur, __alloc); 7770: ; 7770: } 7770: } 7770: 7770: template 7770: inline _ForwardIterator 7770: __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, 7770: const _Tp& __x, allocator<_Tp2>&) 7770: { return std::uninitialized_fill_n(__first, __n, __x); } 7770: # 378 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 7770: template 7770: inline _ForwardIterator 7770: __uninitialized_copy_move(_InputIterator1 __first1, 7770: _InputIterator1 __last1, 7770: _InputIterator2 __first2, 7770: _InputIterator2 __last2, 7770: _ForwardIterator __result, 7770: _Allocator& __alloc) 7770: { 7770: _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1, 7770: __result, 7770: __alloc); 7770: if (true) 7770: { 7770: return std::__uninitialized_move_a(__first2, __last2, __mid, __alloc); 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__result, __mid, __alloc); 7770: ; 7770: } 7770: } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline _ForwardIterator 7770: __uninitialized_move_copy(_InputIterator1 __first1, 7770: _InputIterator1 __last1, 7770: _InputIterator2 __first2, 7770: _InputIterator2 __last2, 7770: _ForwardIterator __result, 7770: _Allocator& __alloc) 7770: { 7770: _ForwardIterator __mid = std::__uninitialized_move_a(__first1, __last1, 7770: __result, 7770: __alloc); 7770: if (true) 7770: { 7770: return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc); 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__result, __mid, __alloc); 7770: ; 7770: } 7770: } 7770: 7770: 7770: 7770: 7770: template 7770: inline _ForwardIterator 7770: __uninitialized_fill_move(_ForwardIterator __result, _ForwardIterator __mid, 7770: const _Tp& __x, _InputIterator __first, 7770: _InputIterator __last, _Allocator& __alloc) 7770: { 7770: std::__uninitialized_fill_a(__result, __mid, __x, __alloc); 7770: if (true) 7770: { 7770: return std::__uninitialized_move_a(__first, __last, __mid, __alloc); 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__result, __mid, __alloc); 7770: ; 7770: } 7770: } 7770: 7770: 7770: 7770: 7770: template 7770: inline void 7770: __uninitialized_move_fill(_InputIterator __first1, _InputIterator __last1, 7770: _ForwardIterator __first2, 7770: _ForwardIterator __last2, const _Tp& __x, 7770: _Allocator& __alloc) 7770: { 7770: _ForwardIterator __mid2 = std::__uninitialized_move_a(__first1, __last1, 7770: __first2, 7770: __alloc); 7770: if (true) 7770: { 7770: std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc); 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__first2, __mid2, __alloc); 7770: ; 7770: } 7770: } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct __uninitialized_default_1 7770: { 7770: template 7770: static void 7770: __uninit_default(_ForwardIterator __first, _ForwardIterator __last) 7770: { 7770: _ForwardIterator __cur = __first; 7770: if (true) 7770: { 7770: for (; __cur != __last; ++__cur) 7770: std::_Construct(std::__addressof(*__cur)); 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__first, __cur); 7770: ; 7770: } 7770: } 7770: }; 7770: 7770: template<> 7770: struct __uninitialized_default_1 7770: { 7770: template 7770: static void 7770: __uninit_default(_ForwardIterator __first, _ForwardIterator __last) 7770: { 7770: typedef typename iterator_traits<_ForwardIterator>::value_type 7770: _ValueType; 7770: 7770: std::fill(__first, __last, _ValueType()); 7770: } 7770: }; 7770: 7770: template 7770: struct __uninitialized_default_n_1 7770: { 7770: template 7770: static _ForwardIterator 7770: __uninit_default_n(_ForwardIterator __first, _Size __n) 7770: { 7770: _ForwardIterator __cur = __first; 7770: if (true) 7770: { 7770: for (; __n > 0; --__n, (void) ++__cur) 7770: std::_Construct(std::__addressof(*__cur)); 7770: return __cur; 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__first, __cur); 7770: ; 7770: } 7770: } 7770: }; 7770: 7770: template<> 7770: struct __uninitialized_default_n_1 7770: { 7770: template 7770: static _ForwardIterator 7770: __uninit_default_n(_ForwardIterator __first, _Size __n) 7770: { 7770: typedef typename iterator_traits<_ForwardIterator>::value_type 7770: _ValueType; 7770: 7770: return std::fill_n(__first, __n, _ValueType()); 7770: } 7770: }; 7770: 7770: 7770: 7770: 7770: template 7770: inline void 7770: __uninitialized_default(_ForwardIterator __first, 7770: _ForwardIterator __last) 7770: { 7770: typedef typename iterator_traits<_ForwardIterator>::value_type 7770: _ValueType; 7770: 7770: const bool __assignable = is_copy_assignable<_ValueType>::value; 7770: 7770: std::__uninitialized_default_1<__is_trivial(_ValueType) 7770: && __assignable>:: 7770: __uninit_default(__first, __last); 7770: } 7770: 7770: 7770: 7770: template 7770: inline _ForwardIterator 7770: __uninitialized_default_n(_ForwardIterator __first, _Size __n) 7770: { 7770: typedef typename iterator_traits<_ForwardIterator>::value_type 7770: _ValueType; 7770: 7770: const bool __assignable = is_copy_assignable<_ValueType>::value; 7770: 7770: return __uninitialized_default_n_1<__is_trivial(_ValueType) 7770: && __assignable>:: 7770: __uninit_default_n(__first, __n); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: void 7770: __uninitialized_default_a(_ForwardIterator __first, 7770: _ForwardIterator __last, 7770: _Allocator& __alloc) 7770: { 7770: _ForwardIterator __cur = __first; 7770: if (true) 7770: { 7770: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 7770: for (; __cur != __last; ++__cur) 7770: __traits::construct(__alloc, std::__addressof(*__cur)); 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__first, __cur, __alloc); 7770: ; 7770: } 7770: } 7770: 7770: template 7770: inline void 7770: __uninitialized_default_a(_ForwardIterator __first, 7770: _ForwardIterator __last, 7770: allocator<_Tp>&) 7770: { std::__uninitialized_default(__first, __last); } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: _ForwardIterator 7770: __uninitialized_default_n_a(_ForwardIterator __first, _Size __n, 7770: _Allocator& __alloc) 7770: { 7770: _ForwardIterator __cur = __first; 7770: if (true) 7770: { 7770: typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; 7770: for (; __n > 0; --__n, (void) ++__cur) 7770: __traits::construct(__alloc, std::__addressof(*__cur)); 7770: return __cur; 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__first, __cur, __alloc); 7770: ; 7770: } 7770: } 7770: 7770: template 7770: inline _ForwardIterator 7770: __uninitialized_default_n_a(_ForwardIterator __first, _Size __n, 7770: allocator<_Tp>&) 7770: { return std::__uninitialized_default_n(__first, __n); } 7770: 7770: template 7770: struct __uninitialized_default_novalue_1 7770: { 7770: template 7770: static void 7770: __uninit_default_novalue(_ForwardIterator __first, 7770: _ForwardIterator __last) 7770: { 7770: _ForwardIterator __cur = __first; 7770: if (true) 7770: { 7770: for (; __cur != __last; ++__cur) 7770: std::_Construct_novalue(std::__addressof(*__cur)); 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__first, __cur); 7770: ; 7770: } 7770: } 7770: }; 7770: 7770: template<> 7770: struct __uninitialized_default_novalue_1 7770: { 7770: template 7770: static void 7770: __uninit_default_novalue(_ForwardIterator __first, 7770: _ForwardIterator __last) 7770: { 7770: } 7770: }; 7770: 7770: template 7770: struct __uninitialized_default_novalue_n_1 7770: { 7770: template 7770: static _ForwardIterator 7770: __uninit_default_novalue_n(_ForwardIterator __first, _Size __n) 7770: { 7770: _ForwardIterator __cur = __first; 7770: if (true) 7770: { 7770: for (; __n > 0; --__n, (void) ++__cur) 7770: std::_Construct_novalue(std::__addressof(*__cur)); 7770: return __cur; 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__first, __cur); 7770: ; 7770: } 7770: } 7770: }; 7770: 7770: template<> 7770: struct __uninitialized_default_novalue_n_1 7770: { 7770: template 7770: static _ForwardIterator 7770: __uninit_default_novalue_n(_ForwardIterator __first, _Size __n) 7770: { return std::next(__first, __n); } 7770: }; 7770: 7770: 7770: 7770: 7770: template 7770: inline void 7770: __uninitialized_default_novalue(_ForwardIterator __first, 7770: _ForwardIterator __last) 7770: { 7770: typedef typename iterator_traits<_ForwardIterator>::value_type 7770: _ValueType; 7770: 7770: std::__uninitialized_default_novalue_1< 7770: is_trivially_default_constructible<_ValueType>::value>:: 7770: __uninit_default_novalue(__first, __last); 7770: } 7770: 7770: 7770: 7770: template 7770: inline _ForwardIterator 7770: __uninitialized_default_novalue_n(_ForwardIterator __first, _Size __n) 7770: { 7770: typedef typename iterator_traits<_ForwardIterator>::value_type 7770: _ValueType; 7770: 7770: return __uninitialized_default_novalue_n_1< 7770: is_trivially_default_constructible<_ValueType>::value>:: 7770: __uninit_default_novalue_n(__first, __n); 7770: } 7770: 7770: template 7770: _ForwardIterator 7770: __uninitialized_copy_n(_InputIterator __first, _Size __n, 7770: _ForwardIterator __result, input_iterator_tag) 7770: { 7770: _ForwardIterator __cur = __result; 7770: if (true) 7770: { 7770: for (; __n > 0; --__n, (void) ++__first, ++__cur) 7770: std::_Construct(std::__addressof(*__cur), *__first); 7770: return __cur; 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__result, __cur); 7770: ; 7770: } 7770: } 7770: 7770: template 7770: inline _ForwardIterator 7770: __uninitialized_copy_n(_RandomAccessIterator __first, _Size __n, 7770: _ForwardIterator __result, 7770: random_access_iterator_tag) 7770: { return std::uninitialized_copy(__first, __first + __n, __result); } 7770: 7770: template 7770: pair<_InputIterator, _ForwardIterator> 7770: __uninitialized_copy_n_pair(_InputIterator __first, _Size __n, 7770: _ForwardIterator __result, input_iterator_tag) 7770: { 7770: _ForwardIterator __cur = __result; 7770: if (true) 7770: { 7770: for (; __n > 0; --__n, (void) ++__first, ++__cur) 7770: std::_Construct(std::__addressof(*__cur), *__first); 7770: return {__first, __cur}; 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__result, __cur); 7770: ; 7770: } 7770: } 7770: 7770: template 7770: inline pair<_RandomAccessIterator, _ForwardIterator> 7770: __uninitialized_copy_n_pair(_RandomAccessIterator __first, _Size __n, 7770: _ForwardIterator __result, 7770: random_access_iterator_tag) 7770: { 7770: auto __second_res = uninitialized_copy(__first, __first + __n, __result); 7770: auto __first_res = std::next(__first, __n); 7770: return {__first_res, __second_res}; 7770: } 7770: # 810 "/usr/include/c++/8/bits/stl_uninitialized.h" 3 7770: template 7770: inline _ForwardIterator 7770: uninitialized_copy_n(_InputIterator __first, _Size __n, 7770: _ForwardIterator __result) 7770: { return std::__uninitialized_copy_n(__first, __n, __result, 7770: std::__iterator_category(__first)); } 7770: 7770: template 7770: inline pair<_InputIterator, _ForwardIterator> 7770: __uninitialized_copy_n_pair(_InputIterator __first, _Size __n, 7770: _ForwardIterator __result) 7770: { 7770: return 7770: std::__uninitialized_copy_n_pair(__first, __n, __result, 7770: std::__iterator_category(__first)); 7770: } 7770: 7770: 7770: 7770: 7770: template 7770: inline void 7770: uninitialized_default_construct(_ForwardIterator __first, 7770: _ForwardIterator __last) 7770: { 7770: __uninitialized_default_novalue(__first, __last); 7770: } 7770: 7770: template 7770: inline _ForwardIterator 7770: uninitialized_default_construct_n(_ForwardIterator __first, _Size __count) 7770: { 7770: return __uninitialized_default_novalue_n(__first, __count); 7770: } 7770: 7770: template 7770: inline void 7770: uninitialized_value_construct(_ForwardIterator __first, 7770: _ForwardIterator __last) 7770: { 7770: return __uninitialized_default(__first, __last); 7770: } 7770: 7770: template 7770: inline _ForwardIterator 7770: uninitialized_value_construct_n(_ForwardIterator __first, _Size __count) 7770: { 7770: return __uninitialized_default_n(__first, __count); 7770: } 7770: 7770: template 7770: inline _ForwardIterator 7770: uninitialized_move(_InputIterator __first, _InputIterator __last, 7770: _ForwardIterator __result) 7770: { 7770: return std::uninitialized_copy 7770: (std::make_move_iterator(__first), 7770: std::make_move_iterator(__last), __result); 7770: } 7770: 7770: template 7770: inline pair<_InputIterator, _ForwardIterator> 7770: uninitialized_move_n(_InputIterator __first, _Size __count, 7770: _ForwardIterator __result) 7770: { 7770: auto __res = std::__uninitialized_copy_n_pair 7770: (std::make_move_iterator(__first), 7770: __count, __result); 7770: return {__res.first.base(), __res.second}; 7770: } 7770: 7770: 7770: 7770: } 7770: # 64 "/usr/include/c++/8/vector" 2 3 7770: # 1 "/usr/include/c++/8/bits/stl_vector.h" 1 3 7770: # 74 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: template 7770: struct _Vector_base 7770: { 7770: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 7770: rebind<_Tp>::other _Tp_alloc_type; 7770: typedef typename __gnu_cxx::__alloc_traits<_Tp_alloc_type>::pointer 7770: pointer; 7770: 7770: struct _Vector_impl 7770: : public _Tp_alloc_type 7770: { 7770: pointer _M_start; 7770: pointer _M_finish; 7770: pointer _M_end_of_storage; 7770: 7770: _Vector_impl() 7770: : _Tp_alloc_type(), _M_start(), _M_finish(), _M_end_of_storage() 7770: { } 7770: 7770: _Vector_impl(_Tp_alloc_type const& __a) noexcept 7770: : _Tp_alloc_type(__a), _M_start(), _M_finish(), _M_end_of_storage() 7770: { } 7770: 7770: 7770: _Vector_impl(_Tp_alloc_type&& __a) noexcept 7770: : _Tp_alloc_type(std::move(__a)), 7770: _M_start(), _M_finish(), _M_end_of_storage() 7770: { } 7770: 7770: 7770: void _M_swap_data(_Vector_impl& __x) noexcept 7770: { 7770: std::swap(_M_start, __x._M_start); 7770: std::swap(_M_finish, __x._M_finish); 7770: std::swap(_M_end_of_storage, __x._M_end_of_storage); 7770: } 7770: # 231 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: }; 7770: 7770: public: 7770: typedef _Alloc allocator_type; 7770: 7770: _Tp_alloc_type& 7770: _M_get_Tp_allocator() noexcept 7770: { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); } 7770: 7770: const _Tp_alloc_type& 7770: _M_get_Tp_allocator() const noexcept 7770: { return *static_cast(&this->_M_impl); } 7770: 7770: allocator_type 7770: get_allocator() const noexcept 7770: { return allocator_type(_M_get_Tp_allocator()); } 7770: 7770: _Vector_base() 7770: : _M_impl() { } 7770: 7770: _Vector_base(const allocator_type& __a) noexcept 7770: : _M_impl(__a) { } 7770: 7770: _Vector_base(size_t __n) 7770: : _M_impl() 7770: { _M_create_storage(__n); } 7770: 7770: _Vector_base(size_t __n, const allocator_type& __a) 7770: : _M_impl(__a) 7770: { _M_create_storage(__n); } 7770: 7770: 7770: _Vector_base(_Tp_alloc_type&& __a) noexcept 7770: : _M_impl(std::move(__a)) { } 7770: 7770: _Vector_base(_Vector_base&& __x) noexcept 7770: : _M_impl(std::move(__x._M_get_Tp_allocator())) 7770: { this->_M_impl._M_swap_data(__x._M_impl); } 7770: 7770: _Vector_base(_Vector_base&& __x, const allocator_type& __a) 7770: : _M_impl(__a) 7770: { 7770: if (__x.get_allocator() == __a) 7770: this->_M_impl._M_swap_data(__x._M_impl); 7770: else 7770: { 7770: size_t __n = __x._M_impl._M_finish - __x._M_impl._M_start; 7770: _M_create_storage(__n); 7770: } 7770: } 7770: 7770: 7770: ~_Vector_base() noexcept 7770: { 7770: _M_deallocate(_M_impl._M_start, 7770: _M_impl._M_end_of_storage - _M_impl._M_start); 7770: } 7770: 7770: public: 7770: _Vector_impl _M_impl; 7770: 7770: pointer 7770: _M_allocate(size_t __n) 7770: { 7770: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr; 7770: return __n != 0 ? _Tr::allocate(_M_impl, __n) : pointer(); 7770: } 7770: 7770: void 7770: _M_deallocate(pointer __p, size_t __n) 7770: { 7770: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr; 7770: if (__p) 7770: _Tr::deallocate(_M_impl, __p, __n); 7770: } 7770: 7770: private: 7770: void 7770: _M_create_storage(size_t __n) 7770: { 7770: this->_M_impl._M_start = this->_M_allocate(__n); 7770: this->_M_impl._M_finish = this->_M_impl._M_start; 7770: this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; 7770: } 7770: }; 7770: # 338 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: template > 7770: class vector : protected _Vector_base<_Tp, _Alloc> 7770: { 7770: # 351 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: static_assert(is_same::type, _Tp>::value, 7770: "std::vector must have a non-const, non-volatile value_type"); 7770: 7770: static_assert(is_same::value, 7770: "std::vector must have the same value_type as its allocator"); 7770: 7770: 7770: 7770: typedef _Vector_base<_Tp, _Alloc> _Base; 7770: typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; 7770: typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits; 7770: 7770: public: 7770: typedef _Tp value_type; 7770: typedef typename _Base::pointer pointer; 7770: typedef typename _Alloc_traits::const_pointer const_pointer; 7770: typedef typename _Alloc_traits::reference reference; 7770: typedef typename _Alloc_traits::const_reference const_reference; 7770: typedef __gnu_cxx::__normal_iterator iterator; 7770: typedef __gnu_cxx::__normal_iterator 7770: const_iterator; 7770: typedef std::reverse_iterator const_reverse_iterator; 7770: typedef std::reverse_iterator reverse_iterator; 7770: typedef size_t size_type; 7770: typedef ptrdiff_t difference_type; 7770: typedef _Alloc allocator_type; 7770: 7770: protected: 7770: using _Base::_M_allocate; 7770: using _Base::_M_deallocate; 7770: using _Base::_M_impl; 7770: using _Base::_M_get_Tp_allocator; 7770: 7770: public: 7770: 7770: 7770: 7770: 7770: 7770: 7770: vector() 7770: 7770: noexcept(is_nothrow_default_constructible<_Alloc>::value) 7770: 7770: : _Base() { } 7770: 7770: 7770: 7770: 7770: 7770: explicit 7770: vector(const allocator_type& __a) noexcept 7770: : _Base(__a) { } 7770: # 414 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: explicit 7770: vector(size_type __n, const allocator_type& __a = allocator_type()) 7770: : _Base(__n, __a) 7770: { _M_default_initialize(__n); } 7770: # 427 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: vector(size_type __n, const value_type& __value, 7770: const allocator_type& __a = allocator_type()) 7770: : _Base(__n, __a) 7770: { _M_fill_initialize(__n, __value); } 7770: # 458 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: vector(const vector& __x) 7770: : _Base(__x.size(), 7770: _Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator())) 7770: { 7770: this->_M_impl._M_finish = 7770: std::__uninitialized_copy_a(__x.begin(), __x.end(), 7770: this->_M_impl._M_start, 7770: _M_get_Tp_allocator()); 7770: } 7770: # 476 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: vector(vector&& __x) noexcept 7770: : _Base(std::move(__x)) { } 7770: 7770: 7770: vector(const vector& __x, const allocator_type& __a) 7770: : _Base(__x.size(), __a) 7770: { 7770: this->_M_impl._M_finish = 7770: std::__uninitialized_copy_a(__x.begin(), __x.end(), 7770: this->_M_impl._M_start, 7770: _M_get_Tp_allocator()); 7770: } 7770: 7770: 7770: vector(vector&& __rv, const allocator_type& __m) 7770: noexcept(_Alloc_traits::_S_always_equal()) 7770: : _Base(std::move(__rv), __m) 7770: { 7770: if (__rv.get_allocator() != __m) 7770: { 7770: this->_M_impl._M_finish = 7770: std::__uninitialized_move_a(__rv.begin(), __rv.end(), 7770: this->_M_impl._M_start, 7770: _M_get_Tp_allocator()); 7770: __rv.clear(); 7770: } 7770: } 7770: # 515 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: vector(initializer_list __l, 7770: const allocator_type& __a = allocator_type()) 7770: : _Base(__a) 7770: { 7770: _M_range_initialize(__l.begin(), __l.end(), 7770: random_access_iterator_tag()); 7770: } 7770: # 541 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: template> 7770: vector(_InputIterator __first, _InputIterator __last, 7770: const allocator_type& __a = allocator_type()) 7770: : _Base(__a) 7770: { _M_initialize_dispatch(__first, __last, __false_type()); } 7770: # 565 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: ~vector() noexcept 7770: { 7770: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 7770: _M_get_Tp_allocator()); 7770: ; 7770: } 7770: # 581 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: vector& 7770: operator=(const vector& __x); 7770: # 595 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: vector& 7770: operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move()) 7770: { 7770: constexpr bool __move_storage = 7770: _Alloc_traits::_S_propagate_on_move_assign() 7770: || _Alloc_traits::_S_always_equal(); 7770: _M_move_assign(std::move(__x), __bool_constant<__move_storage>()); 7770: return *this; 7770: } 7770: # 616 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: vector& 7770: operator=(initializer_list __l) 7770: { 7770: this->_M_assign_aux(__l.begin(), __l.end(), 7770: random_access_iterator_tag()); 7770: return *this; 7770: } 7770: # 635 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: void 7770: assign(size_type __n, const value_type& __val) 7770: { _M_fill_assign(__n, __val); } 7770: # 652 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: template> 7770: void 7770: assign(_InputIterator __first, _InputIterator __last) 7770: { _M_assign_dispatch(__first, __last, __false_type()); } 7770: # 680 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: void 7770: assign(initializer_list __l) 7770: { 7770: this->_M_assign_aux(__l.begin(), __l.end(), 7770: random_access_iterator_tag()); 7770: } 7770: 7770: 7770: 7770: using _Base::get_allocator; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: iterator 7770: begin() noexcept 7770: { return iterator(this->_M_impl._M_start); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: begin() const noexcept 7770: { return const_iterator(this->_M_impl._M_start); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: iterator 7770: end() noexcept 7770: { return iterator(this->_M_impl._M_finish); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: end() const noexcept 7770: { return const_iterator(this->_M_impl._M_finish); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: reverse_iterator 7770: rbegin() noexcept 7770: { return reverse_iterator(end()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_reverse_iterator 7770: rbegin() const noexcept 7770: { return const_reverse_iterator(end()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: reverse_iterator 7770: rend() noexcept 7770: { return reverse_iterator(begin()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_reverse_iterator 7770: rend() const noexcept 7770: { return const_reverse_iterator(begin()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: cbegin() const noexcept 7770: { return const_iterator(this->_M_impl._M_start); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: cend() const noexcept 7770: { return const_iterator(this->_M_impl._M_finish); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_reverse_iterator 7770: crbegin() const noexcept 7770: { return const_reverse_iterator(end()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_reverse_iterator 7770: crend() const noexcept 7770: { return const_reverse_iterator(begin()); } 7770: 7770: 7770: 7770: 7770: size_type 7770: size() const noexcept 7770: { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); } 7770: 7770: 7770: size_type 7770: max_size() const noexcept 7770: { return _Alloc_traits::max_size(_M_get_Tp_allocator()); } 7770: # 823 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: void 7770: resize(size_type __new_size) 7770: { 7770: if (__new_size > size()) 7770: _M_default_append(__new_size - size()); 7770: else if (__new_size < size()) 7770: _M_erase_at_end(this->_M_impl._M_start + __new_size); 7770: } 7770: # 843 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: void 7770: resize(size_type __new_size, const value_type& __x) 7770: { 7770: if (__new_size > size()) 7770: _M_fill_insert(end(), __new_size - size(), __x); 7770: else if (__new_size < size()) 7770: _M_erase_at_end(this->_M_impl._M_start + __new_size); 7770: } 7770: # 875 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: void 7770: shrink_to_fit() 7770: { _M_shrink_to_fit(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: size_type 7770: capacity() const noexcept 7770: { return size_type(this->_M_impl._M_end_of_storage 7770: - this->_M_impl._M_start); } 7770: 7770: 7770: 7770: 7770: 7770: bool 7770: empty() const noexcept 7770: { return begin() == end(); } 7770: # 914 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: void 7770: reserve(size_type __n); 7770: # 929 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: reference 7770: operator[](size_type __n) noexcept 7770: { 7770: ; 7770: return *(this->_M_impl._M_start + __n); 7770: } 7770: # 947 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: const_reference 7770: operator[](size_type __n) const noexcept 7770: { 7770: ; 7770: return *(this->_M_impl._M_start + __n); 7770: } 7770: 7770: protected: 7770: 7770: void 7770: _M_range_check(size_type __n) const 7770: { 7770: if (__n >= this->size()) 7770: __throw_out_of_range_fmt(("vector::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)") 7770: 7770: , 7770: __n, this->size()); 7770: } 7770: 7770: public: 7770: # 978 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: reference 7770: at(size_type __n) 7770: { 7770: _M_range_check(__n); 7770: return (*this)[__n]; 7770: } 7770: # 996 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: const_reference 7770: at(size_type __n) const 7770: { 7770: _M_range_check(__n); 7770: return (*this)[__n]; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: reference 7770: front() noexcept 7770: { 7770: ; 7770: return *begin(); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: const_reference 7770: front() const noexcept 7770: { 7770: ; 7770: return *begin(); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: reference 7770: back() noexcept 7770: { 7770: ; 7770: return *(end() - 1); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: const_reference 7770: back() const noexcept 7770: { 7770: ; 7770: return *(end() - 1); 7770: } 7770: # 1054 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: _Tp* 7770: data() noexcept 7770: { return _M_data_ptr(this->_M_impl._M_start); } 7770: 7770: const _Tp* 7770: data() const noexcept 7770: { return _M_data_ptr(this->_M_impl._M_start); } 7770: # 1073 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: void 7770: push_back(const value_type& __x) 7770: { 7770: if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) 7770: { 7770: ; 7770: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 7770: __x); 7770: ++this->_M_impl._M_finish; 7770: ; 7770: } 7770: else 7770: _M_realloc_insert(end(), __x); 7770: } 7770: 7770: 7770: void 7770: push_back(value_type&& __x) 7770: { emplace_back(std::move(__x)); } 7770: 7770: template 7770: 7770: reference 7770: 7770: 7770: 7770: emplace_back(_Args&&... __args); 7770: # 1111 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: void 7770: pop_back() noexcept 7770: { 7770: ; 7770: --this->_M_impl._M_finish; 7770: _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish); 7770: ; 7770: } 7770: # 1133 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: template 7770: iterator 7770: emplace(const_iterator __position, _Args&&... __args) 7770: { return _M_emplace_aux(__position, std::forward<_Args>(__args)...); } 7770: # 1149 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: iterator 7770: insert(const_iterator __position, const value_type& __x); 7770: # 1179 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: iterator 7770: insert(const_iterator __position, value_type&& __x) 7770: { return _M_insert_rval(__position, std::move(__x)); } 7770: # 1196 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: iterator 7770: insert(const_iterator __position, initializer_list __l) 7770: { 7770: auto __offset = __position - cbegin(); 7770: _M_range_insert(begin() + __offset, __l.begin(), __l.end(), 7770: std::random_access_iterator_tag()); 7770: return begin() + __offset; 7770: } 7770: # 1221 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: iterator 7770: insert(const_iterator __position, size_type __n, const value_type& __x) 7770: { 7770: difference_type __offset = __position - cbegin(); 7770: _M_fill_insert(begin() + __offset, __n, __x); 7770: return begin() + __offset; 7770: } 7770: # 1263 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: template> 7770: iterator 7770: insert(const_iterator __position, _InputIterator __first, 7770: _InputIterator __last) 7770: { 7770: difference_type __offset = __position - cbegin(); 7770: _M_insert_dispatch(begin() + __offset, 7770: __first, __last, __false_type()); 7770: return begin() + __offset; 7770: } 7770: # 1315 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: iterator 7770: 7770: erase(const_iterator __position) 7770: { return _M_erase(begin() + (__position - cbegin())); } 7770: # 1342 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: iterator 7770: 7770: erase(const_iterator __first, const_iterator __last) 7770: { 7770: const auto __beg = begin(); 7770: const auto __cbeg = cbegin(); 7770: return _M_erase(__beg + (__first - __cbeg), __beg + (__last - __cbeg)); 7770: } 7770: # 1366 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: void 7770: swap(vector& __x) noexcept 7770: { 7770: 7770: 7770: ; 7770: 7770: this->_M_impl._M_swap_data(__x._M_impl); 7770: _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(), 7770: __x._M_get_Tp_allocator()); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: void 7770: clear() noexcept 7770: { _M_erase_at_end(this->_M_impl._M_start); } 7770: 7770: protected: 7770: 7770: 7770: 7770: 7770: template 7770: pointer 7770: _M_allocate_and_copy(size_type __n, 7770: _ForwardIterator __first, _ForwardIterator __last) 7770: { 7770: pointer __result = this->_M_allocate(__n); 7770: if (true) 7770: { 7770: std::__uninitialized_copy_a(__first, __last, __result, 7770: _M_get_Tp_allocator()); 7770: return __result; 7770: } 7770: if (false) 7770: { 7770: _M_deallocate(__result, __n); 7770: ; 7770: } 7770: } 7770: # 1419 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: template 7770: void 7770: _M_initialize_dispatch(_Integer __n, _Integer __value, __true_type) 7770: { 7770: this->_M_impl._M_start = _M_allocate(static_cast(__n)); 7770: this->_M_impl._M_end_of_storage = 7770: this->_M_impl._M_start + static_cast(__n); 7770: _M_fill_initialize(static_cast(__n), __value); 7770: } 7770: 7770: 7770: template 7770: void 7770: _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, 7770: __false_type) 7770: { 7770: typedef typename std::iterator_traits<_InputIterator>:: 7770: iterator_category _IterCategory; 7770: _M_range_initialize(__first, __last, _IterCategory()); 7770: } 7770: 7770: 7770: template 7770: void 7770: _M_range_initialize(_InputIterator __first, 7770: _InputIterator __last, std::input_iterator_tag) 7770: { 7770: for (; __first != __last; ++__first) 7770: 7770: emplace_back(*__first); 7770: 7770: 7770: 7770: } 7770: 7770: 7770: template 7770: void 7770: _M_range_initialize(_ForwardIterator __first, 7770: _ForwardIterator __last, std::forward_iterator_tag) 7770: { 7770: const size_type __n = std::distance(__first, __last); 7770: this->_M_impl._M_start = this->_M_allocate(__n); 7770: this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; 7770: this->_M_impl._M_finish = 7770: std::__uninitialized_copy_a(__first, __last, 7770: this->_M_impl._M_start, 7770: _M_get_Tp_allocator()); 7770: } 7770: 7770: 7770: 7770: void 7770: _M_fill_initialize(size_type __n, const value_type& __value) 7770: { 7770: this->_M_impl._M_finish = 7770: std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value, 7770: _M_get_Tp_allocator()); 7770: } 7770: 7770: 7770: 7770: void 7770: _M_default_initialize(size_type __n) 7770: { 7770: this->_M_impl._M_finish = 7770: std::__uninitialized_default_n_a(this->_M_impl._M_start, __n, 7770: _M_get_Tp_allocator()); 7770: } 7770: # 1497 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: template 7770: void 7770: _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) 7770: { _M_fill_assign(__n, __val); } 7770: 7770: 7770: template 7770: void 7770: _M_assign_dispatch(_InputIterator __first, _InputIterator __last, 7770: __false_type) 7770: { _M_assign_aux(__first, __last, std::__iterator_category(__first)); } 7770: 7770: 7770: template 7770: void 7770: _M_assign_aux(_InputIterator __first, _InputIterator __last, 7770: std::input_iterator_tag); 7770: 7770: 7770: template 7770: void 7770: _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, 7770: std::forward_iterator_tag); 7770: 7770: 7770: 7770: void 7770: _M_fill_assign(size_type __n, const value_type& __val); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: void 7770: _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val, 7770: __true_type) 7770: { _M_fill_insert(__pos, __n, __val); } 7770: 7770: 7770: template 7770: void 7770: _M_insert_dispatch(iterator __pos, _InputIterator __first, 7770: _InputIterator __last, __false_type) 7770: { 7770: _M_range_insert(__pos, __first, __last, 7770: std::__iterator_category(__first)); 7770: } 7770: 7770: 7770: template 7770: void 7770: _M_range_insert(iterator __pos, _InputIterator __first, 7770: _InputIterator __last, std::input_iterator_tag); 7770: 7770: 7770: template 7770: void 7770: _M_range_insert(iterator __pos, _ForwardIterator __first, 7770: _ForwardIterator __last, std::forward_iterator_tag); 7770: 7770: 7770: 7770: void 7770: _M_fill_insert(iterator __pos, size_type __n, const value_type& __x); 7770: 7770: 7770: 7770: void 7770: _M_default_append(size_type __n); 7770: 7770: bool 7770: _M_shrink_to_fit(); 7770: # 1584 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: struct _Temporary_value 7770: { 7770: template 7770: explicit 7770: _Temporary_value(vector* __vec, _Args&&... __args) : _M_this(__vec) 7770: { 7770: _Alloc_traits::construct(_M_this->_M_impl, _M_ptr(), 7770: std::forward<_Args>(__args)...); 7770: } 7770: 7770: ~_Temporary_value() 7770: { _Alloc_traits::destroy(_M_this->_M_impl, _M_ptr()); } 7770: 7770: value_type& 7770: _M_val() { return *reinterpret_cast<_Tp*>(&__buf); } 7770: 7770: private: 7770: pointer 7770: _M_ptr() { return pointer_traits::pointer_to(_M_val()); } 7770: 7770: vector* _M_this; 7770: typename aligned_storage::type __buf; 7770: }; 7770: 7770: 7770: 7770: template 7770: void 7770: _M_insert_aux(iterator __position, _Arg&& __arg); 7770: 7770: template 7770: void 7770: _M_realloc_insert(iterator __position, _Args&&... __args); 7770: 7770: 7770: iterator 7770: _M_insert_rval(const_iterator __position, value_type&& __v); 7770: 7770: 7770: template 7770: iterator 7770: _M_emplace_aux(const_iterator __position, _Args&&... __args); 7770: 7770: 7770: iterator 7770: _M_emplace_aux(const_iterator __position, value_type&& __v) 7770: { return _M_insert_rval(__position, std::move(__v)); } 7770: 7770: 7770: 7770: size_type 7770: _M_check_len(size_type __n, const char* __s) const 7770: { 7770: if (max_size() - size() < __n) 7770: __throw_length_error((__s)); 7770: 7770: const size_type __len = size() + std::max(size(), __n); 7770: return (__len < size() || __len > max_size()) ? max_size() : __len; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: void 7770: _M_erase_at_end(pointer __pos) noexcept 7770: { 7770: if (size_type __n = this->_M_impl._M_finish - __pos) 7770: { 7770: std::_Destroy(__pos, this->_M_impl._M_finish, 7770: _M_get_Tp_allocator()); 7770: this->_M_impl._M_finish = __pos; 7770: ; 7770: } 7770: } 7770: 7770: iterator 7770: _M_erase(iterator __position); 7770: 7770: iterator 7770: _M_erase(iterator __first, iterator __last); 7770: 7770: 7770: private: 7770: 7770: 7770: 7770: void 7770: _M_move_assign(vector&& __x, std::true_type) noexcept 7770: { 7770: vector __tmp(get_allocator()); 7770: this->_M_impl._M_swap_data(__tmp._M_impl); 7770: this->_M_impl._M_swap_data(__x._M_impl); 7770: std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator()); 7770: } 7770: 7770: 7770: 7770: void 7770: _M_move_assign(vector&& __x, std::false_type) 7770: { 7770: if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator()) 7770: _M_move_assign(std::move(__x), std::true_type()); 7770: else 7770: { 7770: 7770: 7770: this->assign(std::__make_move_if_noexcept_iterator(__x.begin()), 7770: std::__make_move_if_noexcept_iterator(__x.end())); 7770: __x.clear(); 7770: } 7770: } 7770: 7770: 7770: template 7770: _Up* 7770: _M_data_ptr(_Up* __ptr) const noexcept 7770: { return __ptr; } 7770: 7770: 7770: template 7770: typename std::pointer_traits<_Ptr>::element_type* 7770: _M_data_ptr(_Ptr __ptr) const 7770: { return empty() ? nullptr : std::__to_address(__ptr); } 7770: # 1724 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: }; 7770: 7770: 7770: template::value_type, 7770: typename _Allocator = allocator<_ValT>, 7770: typename = _RequireInputIter<_InputIterator>, 7770: typename = _RequireAllocator<_Allocator>> 7770: vector(_InputIterator, _InputIterator, _Allocator = _Allocator()) 7770: -> vector<_ValT, _Allocator>; 7770: # 1746 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: template 7770: inline bool 7770: operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 7770: { return (__x.size() == __y.size() 7770: && std::equal(__x.begin(), __x.end(), __y.begin())); } 7770: # 1763 "/usr/include/c++/8/bits/stl_vector.h" 3 7770: template 7770: inline bool 7770: operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 7770: { return std::lexicographical_compare(__x.begin(), __x.end(), 7770: __y.begin(), __y.end()); } 7770: 7770: 7770: template 7770: inline bool 7770: operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 7770: { return !(__x == __y); } 7770: 7770: 7770: template 7770: inline bool 7770: operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 7770: { return __y < __x; } 7770: 7770: 7770: template 7770: inline bool 7770: operator<=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 7770: { return !(__y < __x); } 7770: 7770: 7770: template 7770: inline bool 7770: operator>=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) 7770: { return !(__x < __y); } 7770: 7770: 7770: template 7770: inline void 7770: swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y) 7770: noexcept(noexcept(__x.swap(__y))) 7770: { __x.swap(__y); } 7770: 7770: 7770: 7770: } 7770: # 65 "/usr/include/c++/8/vector" 2 3 7770: # 1 "/usr/include/c++/8/bits/stl_bvector.h" 1 3 7770: # 63 "/usr/include/c++/8/bits/stl_bvector.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: typedef unsigned long _Bit_type; 7770: enum { _S_word_bit = int(8 * sizeof(_Bit_type)) }; 7770: 7770: struct _Bit_reference 7770: { 7770: _Bit_type * _M_p; 7770: _Bit_type _M_mask; 7770: 7770: _Bit_reference(_Bit_type * __x, _Bit_type __y) 7770: : _M_p(__x), _M_mask(__y) { } 7770: 7770: _Bit_reference() noexcept : _M_p(0), _M_mask(0) { } 7770: 7770: operator bool() const noexcept 7770: { return !!(*_M_p & _M_mask); } 7770: 7770: _Bit_reference& 7770: operator=(bool __x) noexcept 7770: { 7770: if (__x) 7770: *_M_p |= _M_mask; 7770: else 7770: *_M_p &= ~_M_mask; 7770: return *this; 7770: } 7770: 7770: _Bit_reference& 7770: operator=(const _Bit_reference& __x) noexcept 7770: { return *this = bool(__x); } 7770: 7770: bool 7770: operator==(const _Bit_reference& __x) const 7770: { return bool(*this) == bool(__x); } 7770: 7770: bool 7770: operator<(const _Bit_reference& __x) const 7770: { return !bool(*this) && bool(__x); } 7770: 7770: void 7770: flip() noexcept 7770: { *_M_p ^= _M_mask; } 7770: }; 7770: 7770: 7770: inline void 7770: swap(_Bit_reference __x, _Bit_reference __y) noexcept 7770: { 7770: bool __tmp = __x; 7770: __x = __y; 7770: __y = __tmp; 7770: } 7770: 7770: inline void 7770: swap(_Bit_reference __x, bool& __y) noexcept 7770: { 7770: bool __tmp = __x; 7770: __x = __y; 7770: __y = __tmp; 7770: } 7770: 7770: inline void 7770: swap(bool& __x, _Bit_reference __y) noexcept 7770: { 7770: bool __tmp = __x; 7770: __x = __y; 7770: __y = __tmp; 7770: } 7770: 7770: 7770: struct _Bit_iterator_base 7770: : public std::iterator 7770: { 7770: _Bit_type * _M_p; 7770: unsigned int _M_offset; 7770: 7770: _Bit_iterator_base(_Bit_type * __x, unsigned int __y) 7770: : _M_p(__x), _M_offset(__y) { } 7770: 7770: void 7770: _M_bump_up() 7770: { 7770: if (_M_offset++ == int(_S_word_bit) - 1) 7770: { 7770: _M_offset = 0; 7770: ++_M_p; 7770: } 7770: } 7770: 7770: void 7770: _M_bump_down() 7770: { 7770: if (_M_offset-- == 0) 7770: { 7770: _M_offset = int(_S_word_bit) - 1; 7770: --_M_p; 7770: } 7770: } 7770: 7770: void 7770: _M_incr(ptrdiff_t __i) 7770: { 7770: difference_type __n = __i + _M_offset; 7770: _M_p += __n / int(_S_word_bit); 7770: __n = __n % int(_S_word_bit); 7770: if (__n < 0) 7770: { 7770: __n += int(_S_word_bit); 7770: --_M_p; 7770: } 7770: _M_offset = static_cast(__n); 7770: } 7770: 7770: bool 7770: operator==(const _Bit_iterator_base& __i) const 7770: { return _M_p == __i._M_p && _M_offset == __i._M_offset; } 7770: 7770: bool 7770: operator<(const _Bit_iterator_base& __i) const 7770: { 7770: return _M_p < __i._M_p 7770: || (_M_p == __i._M_p && _M_offset < __i._M_offset); 7770: } 7770: 7770: bool 7770: operator!=(const _Bit_iterator_base& __i) const 7770: { return !(*this == __i); } 7770: 7770: bool 7770: operator>(const _Bit_iterator_base& __i) const 7770: { return __i < *this; } 7770: 7770: bool 7770: operator<=(const _Bit_iterator_base& __i) const 7770: { return !(__i < *this); } 7770: 7770: bool 7770: operator>=(const _Bit_iterator_base& __i) const 7770: { return !(*this < __i); } 7770: }; 7770: 7770: inline ptrdiff_t 7770: operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) 7770: { 7770: return (int(_S_word_bit) * (__x._M_p - __y._M_p) 7770: + __x._M_offset - __y._M_offset); 7770: } 7770: 7770: struct _Bit_iterator : public _Bit_iterator_base 7770: { 7770: typedef _Bit_reference reference; 7770: typedef _Bit_reference* pointer; 7770: typedef _Bit_iterator iterator; 7770: 7770: _Bit_iterator() : _Bit_iterator_base(0, 0) { } 7770: 7770: _Bit_iterator(_Bit_type * __x, unsigned int __y) 7770: : _Bit_iterator_base(__x, __y) { } 7770: 7770: iterator 7770: _M_const_cast() const 7770: { return *this; } 7770: 7770: reference 7770: operator*() const 7770: { return reference(_M_p, 1UL << _M_offset); } 7770: 7770: iterator& 7770: operator++() 7770: { 7770: _M_bump_up(); 7770: return *this; 7770: } 7770: 7770: iterator 7770: operator++(int) 7770: { 7770: iterator __tmp = *this; 7770: _M_bump_up(); 7770: return __tmp; 7770: } 7770: 7770: iterator& 7770: operator--() 7770: { 7770: _M_bump_down(); 7770: return *this; 7770: } 7770: 7770: iterator 7770: operator--(int) 7770: { 7770: iterator __tmp = *this; 7770: _M_bump_down(); 7770: return __tmp; 7770: } 7770: 7770: iterator& 7770: operator+=(difference_type __i) 7770: { 7770: _M_incr(__i); 7770: return *this; 7770: } 7770: 7770: iterator& 7770: operator-=(difference_type __i) 7770: { 7770: *this += -__i; 7770: return *this; 7770: } 7770: 7770: iterator 7770: operator+(difference_type __i) const 7770: { 7770: iterator __tmp = *this; 7770: return __tmp += __i; 7770: } 7770: 7770: iterator 7770: operator-(difference_type __i) const 7770: { 7770: iterator __tmp = *this; 7770: return __tmp -= __i; 7770: } 7770: 7770: reference 7770: operator[](difference_type __i) const 7770: { return *(*this + __i); } 7770: }; 7770: 7770: inline _Bit_iterator 7770: operator+(ptrdiff_t __n, const _Bit_iterator& __x) 7770: { return __x + __n; } 7770: 7770: struct _Bit_const_iterator : public _Bit_iterator_base 7770: { 7770: typedef bool reference; 7770: typedef bool const_reference; 7770: typedef const bool* pointer; 7770: typedef _Bit_const_iterator const_iterator; 7770: 7770: _Bit_const_iterator() : _Bit_iterator_base(0, 0) { } 7770: 7770: _Bit_const_iterator(_Bit_type * __x, unsigned int __y) 7770: : _Bit_iterator_base(__x, __y) { } 7770: 7770: _Bit_const_iterator(const _Bit_iterator& __x) 7770: : _Bit_iterator_base(__x._M_p, __x._M_offset) { } 7770: 7770: _Bit_iterator 7770: _M_const_cast() const 7770: { return _Bit_iterator(_M_p, _M_offset); } 7770: 7770: const_reference 7770: operator*() const 7770: { return _Bit_reference(_M_p, 1UL << _M_offset); } 7770: 7770: const_iterator& 7770: operator++() 7770: { 7770: _M_bump_up(); 7770: return *this; 7770: } 7770: 7770: const_iterator 7770: operator++(int) 7770: { 7770: const_iterator __tmp = *this; 7770: _M_bump_up(); 7770: return __tmp; 7770: } 7770: 7770: const_iterator& 7770: operator--() 7770: { 7770: _M_bump_down(); 7770: return *this; 7770: } 7770: 7770: const_iterator 7770: operator--(int) 7770: { 7770: const_iterator __tmp = *this; 7770: _M_bump_down(); 7770: return __tmp; 7770: } 7770: 7770: const_iterator& 7770: operator+=(difference_type __i) 7770: { 7770: _M_incr(__i); 7770: return *this; 7770: } 7770: 7770: const_iterator& 7770: operator-=(difference_type __i) 7770: { 7770: *this += -__i; 7770: return *this; 7770: } 7770: 7770: const_iterator 7770: operator+(difference_type __i) const 7770: { 7770: const_iterator __tmp = *this; 7770: return __tmp += __i; 7770: } 7770: 7770: const_iterator 7770: operator-(difference_type __i) const 7770: { 7770: const_iterator __tmp = *this; 7770: return __tmp -= __i; 7770: } 7770: 7770: const_reference 7770: operator[](difference_type __i) const 7770: { return *(*this + __i); } 7770: }; 7770: 7770: inline _Bit_const_iterator 7770: operator+(ptrdiff_t __n, const _Bit_const_iterator& __x) 7770: { return __x + __n; } 7770: 7770: inline void 7770: __fill_bvector(_Bit_type * __v, 7770: unsigned int __first, unsigned int __last, bool __x) 7770: { 7770: const _Bit_type __fmask = ~0ul << __first; 7770: const _Bit_type __lmask = ~0ul >> (_S_word_bit - __last); 7770: const _Bit_type __mask = __fmask & __lmask; 7770: 7770: if (__x) 7770: *__v |= __mask; 7770: else 7770: *__v &= ~__mask; 7770: } 7770: 7770: inline void 7770: fill(_Bit_iterator __first, _Bit_iterator __last, const bool& __x) 7770: { 7770: if (__first._M_p != __last._M_p) 7770: { 7770: _Bit_type* __first_p = __first._M_p; 7770: if (__first._M_offset != 0) 7770: __fill_bvector(__first_p++, __first._M_offset, _S_word_bit, __x); 7770: 7770: __builtin_memset(__first_p, __x ? ~0 : 0, 7770: (__last._M_p - __first_p) * sizeof(_Bit_type)); 7770: 7770: if (__last._M_offset != 0) 7770: __fill_bvector(__last._M_p, 0, __last._M_offset, __x); 7770: } 7770: else if (__first._M_offset != __last._M_offset) 7770: __fill_bvector(__first._M_p, __first._M_offset, __last._M_offset, __x); 7770: } 7770: 7770: template 7770: struct _Bvector_base 7770: { 7770: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 7770: rebind<_Bit_type>::other _Bit_alloc_type; 7770: typedef typename __gnu_cxx::__alloc_traits<_Bit_alloc_type> 7770: _Bit_alloc_traits; 7770: typedef typename _Bit_alloc_traits::pointer _Bit_pointer; 7770: 7770: struct _Bvector_impl_data 7770: { 7770: _Bit_iterator _M_start; 7770: _Bit_iterator _M_finish; 7770: _Bit_pointer _M_end_of_storage; 7770: 7770: _Bvector_impl_data() noexcept 7770: : _M_start(), _M_finish(), _M_end_of_storage() 7770: { } 7770: 7770: 7770: _Bvector_impl_data(_Bvector_impl_data&& __x) noexcept 7770: : _M_start(__x._M_start), _M_finish(__x._M_finish) 7770: , _M_end_of_storage(__x._M_end_of_storage) 7770: { __x._M_reset(); } 7770: 7770: void 7770: _M_move_data(_Bvector_impl_data&& __x) noexcept 7770: { 7770: this->_M_start = __x._M_start; 7770: this->_M_finish = __x._M_finish; 7770: this->_M_end_of_storage = __x._M_end_of_storage; 7770: __x._M_reset(); 7770: } 7770: 7770: 7770: void 7770: _M_reset() noexcept 7770: { 7770: _M_start = _M_finish = _Bit_iterator(); 7770: _M_end_of_storage = _Bit_pointer(); 7770: } 7770: }; 7770: 7770: struct _Bvector_impl 7770: : public _Bit_alloc_type, public _Bvector_impl_data 7770: { 7770: public: 7770: _Bvector_impl() 7770: noexcept(noexcept(_Bit_alloc_type())) 7770: : _Bit_alloc_type() 7770: { } 7770: 7770: _Bvector_impl(const _Bit_alloc_type& __a) noexcept 7770: : _Bit_alloc_type(__a) 7770: { } 7770: 7770: 7770: _Bvector_impl(_Bvector_impl&&) = default; 7770: 7770: 7770: _Bit_type* 7770: _M_end_addr() const noexcept 7770: { 7770: if (this->_M_end_of_storage) 7770: return std::__addressof(this->_M_end_of_storage[-1]) + 1; 7770: return 0; 7770: } 7770: }; 7770: 7770: public: 7770: typedef _Alloc allocator_type; 7770: 7770: _Bit_alloc_type& 7770: _M_get_Bit_allocator() noexcept 7770: { return this->_M_impl; } 7770: 7770: const _Bit_alloc_type& 7770: _M_get_Bit_allocator() const noexcept 7770: { return this->_M_impl; } 7770: 7770: allocator_type 7770: get_allocator() const noexcept 7770: { return allocator_type(_M_get_Bit_allocator()); } 7770: 7770: 7770: _Bvector_base() = default; 7770: 7770: 7770: 7770: 7770: _Bvector_base(const allocator_type& __a) 7770: : _M_impl(__a) { } 7770: 7770: 7770: _Bvector_base(_Bvector_base&&) = default; 7770: 7770: 7770: ~_Bvector_base() 7770: { this->_M_deallocate(); } 7770: 7770: protected: 7770: _Bvector_impl _M_impl; 7770: 7770: _Bit_pointer 7770: _M_allocate(size_t __n) 7770: { return _Bit_alloc_traits::allocate(_M_impl, _S_nword(__n)); } 7770: 7770: void 7770: _M_deallocate() 7770: { 7770: if (_M_impl._M_start._M_p) 7770: { 7770: const size_t __n = _M_impl._M_end_addr() - _M_impl._M_start._M_p; 7770: _Bit_alloc_traits::deallocate(_M_impl, 7770: _M_impl._M_end_of_storage - __n, 7770: __n); 7770: _M_impl._M_reset(); 7770: } 7770: } 7770: 7770: 7770: void 7770: _M_move_data(_Bvector_base&& __x) noexcept 7770: { _M_impl._M_move_data(std::move(__x._M_impl)); } 7770: 7770: 7770: static size_t 7770: _S_nword(size_t __n) 7770: { return (__n + int(_S_word_bit) - 1) / int(_S_word_bit); } 7770: }; 7770: 7770: 7770: 7770: } 7770: 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: # 586 "/usr/include/c++/8/bits/stl_bvector.h" 3 7770: template 7770: class vector : protected _Bvector_base<_Alloc> 7770: { 7770: typedef _Bvector_base<_Alloc> _Base; 7770: typedef typename _Base::_Bit_pointer _Bit_pointer; 7770: typedef typename _Base::_Bit_alloc_traits _Bit_alloc_traits; 7770: 7770: 7770: template friend struct hash; 7770: 7770: 7770: public: 7770: typedef bool value_type; 7770: typedef size_t size_type; 7770: typedef ptrdiff_t difference_type; 7770: typedef _Bit_reference reference; 7770: typedef bool const_reference; 7770: typedef _Bit_reference* pointer; 7770: typedef const bool* const_pointer; 7770: typedef _Bit_iterator iterator; 7770: typedef _Bit_const_iterator const_iterator; 7770: typedef std::reverse_iterator const_reverse_iterator; 7770: typedef std::reverse_iterator reverse_iterator; 7770: typedef _Alloc allocator_type; 7770: 7770: allocator_type 7770: get_allocator() const 7770: { return _Base::get_allocator(); } 7770: 7770: protected: 7770: using _Base::_M_allocate; 7770: using _Base::_M_deallocate; 7770: using _Base::_S_nword; 7770: using _Base::_M_get_Bit_allocator; 7770: 7770: public: 7770: 7770: vector() = default; 7770: 7770: 7770: 7770: 7770: explicit 7770: vector(const allocator_type& __a) 7770: : _Base(__a) { } 7770: 7770: 7770: explicit 7770: vector(size_type __n, const allocator_type& __a = allocator_type()) 7770: : vector(__n, false, __a) 7770: { } 7770: 7770: vector(size_type __n, const bool& __value, 7770: const allocator_type& __a = allocator_type()) 7770: 7770: 7770: 7770: 7770: 7770: : _Base(__a) 7770: { 7770: _M_initialize(__n); 7770: _M_initialize_value(__value); 7770: } 7770: 7770: vector(const vector& __x) 7770: : _Base(_Bit_alloc_traits::_S_select_on_copy(__x._M_get_Bit_allocator())) 7770: { 7770: _M_initialize(__x.size()); 7770: _M_copy_aligned(__x.begin(), __x.end(), this->_M_impl._M_start); 7770: } 7770: 7770: 7770: vector(vector&&) = default; 7770: 7770: vector(vector&& __x, const allocator_type& __a) 7770: noexcept(_Bit_alloc_traits::_S_always_equal()) 7770: : _Base(__a) 7770: { 7770: if (__x.get_allocator() == __a) 7770: this->_M_move_data(std::move(__x)); 7770: else 7770: { 7770: _M_initialize(__x.size()); 7770: _M_copy_aligned(__x.begin(), __x.end(), begin()); 7770: __x.clear(); 7770: } 7770: } 7770: 7770: vector(const vector& __x, const allocator_type& __a) 7770: : _Base(__a) 7770: { 7770: _M_initialize(__x.size()); 7770: _M_copy_aligned(__x.begin(), __x.end(), this->_M_impl._M_start); 7770: } 7770: 7770: vector(initializer_list __l, 7770: const allocator_type& __a = allocator_type()) 7770: : _Base(__a) 7770: { 7770: _M_initialize_range(__l.begin(), __l.end(), 7770: random_access_iterator_tag()); 7770: } 7770: 7770: 7770: 7770: template> 7770: vector(_InputIterator __first, _InputIterator __last, 7770: const allocator_type& __a = allocator_type()) 7770: : _Base(__a) 7770: { _M_initialize_dispatch(__first, __last, __false_type()); } 7770: # 709 "/usr/include/c++/8/bits/stl_bvector.h" 3 7770: ~vector() noexcept { } 7770: 7770: vector& 7770: operator=(const vector& __x) 7770: { 7770: if (&__x == this) 7770: return *this; 7770: 7770: if (_Bit_alloc_traits::_S_propagate_on_copy_assign()) 7770: { 7770: if (this->_M_get_Bit_allocator() != __x._M_get_Bit_allocator()) 7770: { 7770: this->_M_deallocate(); 7770: std::__alloc_on_copy(_M_get_Bit_allocator(), 7770: __x._M_get_Bit_allocator()); 7770: _M_initialize(__x.size()); 7770: } 7770: else 7770: std::__alloc_on_copy(_M_get_Bit_allocator(), 7770: __x._M_get_Bit_allocator()); 7770: } 7770: 7770: if (__x.size() > capacity()) 7770: { 7770: this->_M_deallocate(); 7770: _M_initialize(__x.size()); 7770: } 7770: this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(), 7770: begin()); 7770: return *this; 7770: } 7770: 7770: 7770: vector& 7770: operator=(vector&& __x) noexcept(_Bit_alloc_traits::_S_nothrow_move()) 7770: { 7770: if (_Bit_alloc_traits::_S_propagate_on_move_assign() 7770: || this->_M_get_Bit_allocator() == __x._M_get_Bit_allocator()) 7770: { 7770: this->_M_deallocate(); 7770: this->_M_move_data(std::move(__x)); 7770: std::__alloc_on_move(_M_get_Bit_allocator(), 7770: __x._M_get_Bit_allocator()); 7770: } 7770: else 7770: { 7770: if (__x.size() > capacity()) 7770: { 7770: this->_M_deallocate(); 7770: _M_initialize(__x.size()); 7770: } 7770: this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(), 7770: begin()); 7770: __x.clear(); 7770: } 7770: return *this; 7770: } 7770: 7770: vector& 7770: operator=(initializer_list __l) 7770: { 7770: this->assign (__l.begin(), __l.end()); 7770: return *this; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: void 7770: assign(size_type __n, const bool& __x) 7770: { _M_fill_assign(__n, __x); } 7770: 7770: 7770: template> 7770: void 7770: assign(_InputIterator __first, _InputIterator __last) 7770: { _M_assign_aux(__first, __last, std::__iterator_category(__first)); } 7770: # 800 "/usr/include/c++/8/bits/stl_bvector.h" 3 7770: void 7770: assign(initializer_list __l) 7770: { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); } 7770: 7770: 7770: iterator 7770: begin() noexcept 7770: { return this->_M_impl._M_start; } 7770: 7770: const_iterator 7770: begin() const noexcept 7770: { return this->_M_impl._M_start; } 7770: 7770: iterator 7770: end() noexcept 7770: { return this->_M_impl._M_finish; } 7770: 7770: const_iterator 7770: end() const noexcept 7770: { return this->_M_impl._M_finish; } 7770: 7770: reverse_iterator 7770: rbegin() noexcept 7770: { return reverse_iterator(end()); } 7770: 7770: const_reverse_iterator 7770: rbegin() const noexcept 7770: { return const_reverse_iterator(end()); } 7770: 7770: reverse_iterator 7770: rend() noexcept 7770: { return reverse_iterator(begin()); } 7770: 7770: const_reverse_iterator 7770: rend() const noexcept 7770: { return const_reverse_iterator(begin()); } 7770: 7770: 7770: const_iterator 7770: cbegin() const noexcept 7770: { return this->_M_impl._M_start; } 7770: 7770: const_iterator 7770: cend() const noexcept 7770: { return this->_M_impl._M_finish; } 7770: 7770: const_reverse_iterator 7770: crbegin() const noexcept 7770: { return const_reverse_iterator(end()); } 7770: 7770: const_reverse_iterator 7770: crend() const noexcept 7770: { return const_reverse_iterator(begin()); } 7770: 7770: 7770: size_type 7770: size() const noexcept 7770: { return size_type(end() - begin()); } 7770: 7770: size_type 7770: max_size() const noexcept 7770: { 7770: const size_type __isize = 7770: __gnu_cxx::__numeric_traits::__max 7770: - int(_S_word_bit) + 1; 7770: const size_type __asize 7770: = _Bit_alloc_traits::max_size(_M_get_Bit_allocator()); 7770: return (__asize <= __isize / int(_S_word_bit) 7770: ? __asize * int(_S_word_bit) : __isize); 7770: } 7770: 7770: size_type 7770: capacity() const noexcept 7770: { return size_type(const_iterator(this->_M_impl._M_end_addr(), 0) 7770: - begin()); } 7770: 7770: bool 7770: empty() const noexcept 7770: { return begin() == end(); } 7770: 7770: reference 7770: operator[](size_type __n) 7770: { 7770: return *iterator(this->_M_impl._M_start._M_p 7770: + __n / int(_S_word_bit), __n % int(_S_word_bit)); 7770: } 7770: 7770: const_reference 7770: operator[](size_type __n) const 7770: { 7770: return *const_iterator(this->_M_impl._M_start._M_p 7770: + __n / int(_S_word_bit), __n % int(_S_word_bit)); 7770: } 7770: 7770: protected: 7770: void 7770: _M_range_check(size_type __n) const 7770: { 7770: if (__n >= this->size()) 7770: __throw_out_of_range_fmt(("vector::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)") 7770: 7770: , 7770: __n, this->size()); 7770: } 7770: 7770: public: 7770: reference 7770: at(size_type __n) 7770: { _M_range_check(__n); return (*this)[__n]; } 7770: 7770: const_reference 7770: at(size_type __n) const 7770: { _M_range_check(__n); return (*this)[__n]; } 7770: 7770: void 7770: reserve(size_type __n) 7770: { 7770: if (__n > max_size()) 7770: __throw_length_error(("vector::reserve")); 7770: if (capacity() < __n) 7770: _M_reallocate(__n); 7770: } 7770: 7770: reference 7770: front() 7770: { return *begin(); } 7770: 7770: const_reference 7770: front() const 7770: { return *begin(); } 7770: 7770: reference 7770: back() 7770: { return *(end() - 1); } 7770: 7770: const_reference 7770: back() const 7770: { return *(end() - 1); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: void 7770: data() noexcept { } 7770: 7770: void 7770: push_back(bool __x) 7770: { 7770: if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr()) 7770: *this->_M_impl._M_finish++ = __x; 7770: else 7770: _M_insert_aux(end(), __x); 7770: } 7770: 7770: void 7770: swap(vector& __x) noexcept 7770: { 7770: std::swap(this->_M_impl._M_start, __x._M_impl._M_start); 7770: std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish); 7770: std::swap(this->_M_impl._M_end_of_storage, 7770: __x._M_impl._M_end_of_storage); 7770: _Bit_alloc_traits::_S_on_swap(_M_get_Bit_allocator(), 7770: __x._M_get_Bit_allocator()); 7770: } 7770: 7770: 7770: static void 7770: swap(reference __x, reference __y) noexcept 7770: { 7770: bool __tmp = __x; 7770: __x = __y; 7770: __y = __tmp; 7770: } 7770: 7770: iterator 7770: 7770: insert(const_iterator __position, const bool& __x = bool()) 7770: 7770: 7770: 7770: { 7770: const difference_type __n = __position - begin(); 7770: if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr() 7770: && __position == end()) 7770: *this->_M_impl._M_finish++ = __x; 7770: else 7770: _M_insert_aux(__position._M_const_cast(), __x); 7770: return begin() + __n; 7770: } 7770: 7770: 7770: template> 7770: iterator 7770: insert(const_iterator __position, 7770: _InputIterator __first, _InputIterator __last) 7770: { 7770: difference_type __offset = __position - cbegin(); 7770: _M_insert_dispatch(__position._M_const_cast(), 7770: __first, __last, __false_type()); 7770: return begin() + __offset; 7770: } 7770: # 1016 "/usr/include/c++/8/bits/stl_bvector.h" 3 7770: iterator 7770: insert(const_iterator __position, size_type __n, const bool& __x) 7770: { 7770: difference_type __offset = __position - cbegin(); 7770: _M_fill_insert(__position._M_const_cast(), __n, __x); 7770: return begin() + __offset; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: iterator 7770: insert(const_iterator __p, initializer_list __l) 7770: { return this->insert(__p, __l.begin(), __l.end()); } 7770: 7770: 7770: void 7770: pop_back() 7770: { --this->_M_impl._M_finish; } 7770: 7770: iterator 7770: 7770: erase(const_iterator __position) 7770: 7770: 7770: 7770: { return _M_erase(__position._M_const_cast()); } 7770: 7770: iterator 7770: 7770: erase(const_iterator __first, const_iterator __last) 7770: 7770: 7770: 7770: { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); } 7770: 7770: void 7770: resize(size_type __new_size, bool __x = bool()) 7770: { 7770: if (__new_size < size()) 7770: _M_erase_at_end(begin() + difference_type(__new_size)); 7770: else 7770: insert(end(), __new_size - size(), __x); 7770: } 7770: 7770: 7770: void 7770: shrink_to_fit() 7770: { _M_shrink_to_fit(); } 7770: 7770: 7770: void 7770: flip() noexcept 7770: { 7770: _Bit_type * const __end = this->_M_impl._M_end_addr(); 7770: for (_Bit_type * __p = this->_M_impl._M_start._M_p; __p != __end; ++__p) 7770: *__p = ~*__p; 7770: } 7770: 7770: void 7770: clear() noexcept 7770: { _M_erase_at_end(begin()); } 7770: 7770: 7770: template 7770: 7770: reference 7770: 7770: 7770: 7770: emplace_back(_Args&&... __args) 7770: { 7770: push_back(bool(__args...)); 7770: 7770: return back(); 7770: 7770: } 7770: 7770: template 7770: iterator 7770: emplace(const_iterator __pos, _Args&&... __args) 7770: { return insert(__pos, bool(__args...)); } 7770: 7770: 7770: protected: 7770: 7770: iterator 7770: _M_copy_aligned(const_iterator __first, const_iterator __last, 7770: iterator __result) 7770: { 7770: _Bit_type* __q = std::copy(__first._M_p, __last._M_p, __result._M_p); 7770: return std::copy(const_iterator(__last._M_p, 0), __last, 7770: iterator(__q, 0)); 7770: } 7770: 7770: void 7770: _M_initialize(size_type __n) 7770: { 7770: if (__n) 7770: { 7770: _Bit_pointer __q = this->_M_allocate(__n); 7770: this->_M_impl._M_end_of_storage = __q + _S_nword(__n); 7770: this->_M_impl._M_start = iterator(std::__addressof(*__q), 0); 7770: } 7770: else 7770: { 7770: this->_M_impl._M_end_of_storage = _Bit_pointer(); 7770: this->_M_impl._M_start = iterator(0, 0); 7770: } 7770: this->_M_impl._M_finish = this->_M_impl._M_start + difference_type(__n); 7770: 7770: } 7770: 7770: void 7770: _M_initialize_value(bool __x) 7770: { 7770: if (_Bit_type* __p = this->_M_impl._M_start._M_p) 7770: __builtin_memset(__p, __x ? ~0 : 0, 7770: (this->_M_impl._M_end_addr() - __p) 7770: * sizeof(_Bit_type)); 7770: } 7770: 7770: void 7770: _M_reallocate(size_type __n); 7770: 7770: 7770: bool 7770: _M_shrink_to_fit(); 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: void 7770: _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) 7770: { 7770: _M_initialize(static_cast(__n)); 7770: _M_initialize_value(__x); 7770: } 7770: 7770: template 7770: void 7770: _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, 7770: __false_type) 7770: { _M_initialize_range(__first, __last, 7770: std::__iterator_category(__first)); } 7770: 7770: template 7770: void 7770: _M_initialize_range(_InputIterator __first, _InputIterator __last, 7770: std::input_iterator_tag) 7770: { 7770: for (; __first != __last; ++__first) 7770: push_back(*__first); 7770: } 7770: 7770: template 7770: void 7770: _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last, 7770: std::forward_iterator_tag) 7770: { 7770: const size_type __n = std::distance(__first, __last); 7770: _M_initialize(__n); 7770: std::copy(__first, __last, this->_M_impl._M_start); 7770: } 7770: # 1202 "/usr/include/c++/8/bits/stl_bvector.h" 3 7770: void 7770: _M_fill_assign(size_t __n, bool __x) 7770: { 7770: if (__n > size()) 7770: { 7770: _M_initialize_value(__x); 7770: insert(end(), __n - size(), __x); 7770: } 7770: else 7770: { 7770: _M_erase_at_end(begin() + __n); 7770: _M_initialize_value(__x); 7770: } 7770: } 7770: 7770: template 7770: void 7770: _M_assign_aux(_InputIterator __first, _InputIterator __last, 7770: std::input_iterator_tag) 7770: { 7770: iterator __cur = begin(); 7770: for (; __first != __last && __cur != end(); ++__cur, ++__first) 7770: *__cur = *__first; 7770: if (__first == __last) 7770: _M_erase_at_end(__cur); 7770: else 7770: insert(end(), __first, __last); 7770: } 7770: 7770: template 7770: void 7770: _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, 7770: std::forward_iterator_tag) 7770: { 7770: const size_type __len = std::distance(__first, __last); 7770: if (__len < size()) 7770: _M_erase_at_end(std::copy(__first, __last, begin())); 7770: else 7770: { 7770: _ForwardIterator __mid = __first; 7770: std::advance(__mid, size()); 7770: std::copy(__first, __mid, begin()); 7770: insert(end(), __mid, __last); 7770: } 7770: } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: void 7770: _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x, 7770: __true_type) 7770: { _M_fill_insert(__pos, __n, __x); } 7770: 7770: template 7770: void 7770: _M_insert_dispatch(iterator __pos, 7770: _InputIterator __first, _InputIterator __last, 7770: __false_type) 7770: { _M_insert_range(__pos, __first, __last, 7770: std::__iterator_category(__first)); } 7770: 7770: void 7770: _M_fill_insert(iterator __position, size_type __n, bool __x); 7770: 7770: template 7770: void 7770: _M_insert_range(iterator __pos, _InputIterator __first, 7770: _InputIterator __last, std::input_iterator_tag) 7770: { 7770: for (; __first != __last; ++__first) 7770: { 7770: __pos = insert(__pos, *__first); 7770: ++__pos; 7770: } 7770: } 7770: 7770: template 7770: void 7770: _M_insert_range(iterator __position, _ForwardIterator __first, 7770: _ForwardIterator __last, std::forward_iterator_tag); 7770: 7770: void 7770: _M_insert_aux(iterator __position, bool __x); 7770: 7770: size_type 7770: _M_check_len(size_type __n, const char* __s) const 7770: { 7770: if (max_size() - size() < __n) 7770: __throw_length_error((__s)); 7770: 7770: const size_type __len = size() + std::max(size(), __n); 7770: return (__len < size() || __len > max_size()) ? max_size() : __len; 7770: } 7770: 7770: void 7770: _M_erase_at_end(iterator __pos) 7770: { this->_M_impl._M_finish = __pos; } 7770: 7770: iterator 7770: _M_erase(iterator __pos); 7770: 7770: iterator 7770: _M_erase(iterator __first, iterator __last); 7770: }; 7770: 7770: 7770: 7770: } 7770: 7770: 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: template 7770: struct hash> 7770: : public __hash_base> 7770: { 7770: size_t 7770: operator()(const std::vector&) const noexcept; 7770: }; 7770: 7770: 7770: } 7770: # 66 "/usr/include/c++/8/vector" 2 3 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/bits/vector.tcc" 1 3 7770: # 59 "/usr/include/c++/8/bits/vector.tcc" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: template 7770: void 7770: vector<_Tp, _Alloc>:: 7770: reserve(size_type __n) 7770: { 7770: if (__n > this->max_size()) 7770: __throw_length_error(("vector::reserve")); 7770: if (this->capacity() < __n) 7770: { 7770: const size_type __old_size = size(); 7770: pointer __tmp = _M_allocate_and_copy(__n, 7770: std::__make_move_if_noexcept_iterator(this->_M_impl._M_start), 7770: std::__make_move_if_noexcept_iterator(this->_M_impl._M_finish)); 7770: ; 7770: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 7770: _M_get_Tp_allocator()); 7770: _M_deallocate(this->_M_impl._M_start, 7770: this->_M_impl._M_end_of_storage 7770: - this->_M_impl._M_start); 7770: this->_M_impl._M_start = __tmp; 7770: this->_M_impl._M_finish = __tmp + __old_size; 7770: this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; 7770: } 7770: } 7770: 7770: 7770: template 7770: template 7770: 7770: typename vector<_Tp, _Alloc>::reference 7770: 7770: 7770: 7770: vector<_Tp, _Alloc>:: 7770: emplace_back(_Args&&... __args) 7770: { 7770: if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) 7770: { 7770: ; 7770: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 7770: std::forward<_Args>(__args)...); 7770: ++this->_M_impl._M_finish; 7770: ; 7770: } 7770: else 7770: _M_realloc_insert(end(), std::forward<_Args>(__args)...); 7770: 7770: return back(); 7770: 7770: } 7770: 7770: 7770: template 7770: typename vector<_Tp, _Alloc>::iterator 7770: vector<_Tp, _Alloc>:: 7770: 7770: insert(const_iterator __position, const value_type& __x) 7770: 7770: 7770: 7770: { 7770: const size_type __n = __position - begin(); 7770: if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) 7770: if (__position == end()) 7770: { 7770: ; 7770: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 7770: __x); 7770: ++this->_M_impl._M_finish; 7770: ; 7770: } 7770: else 7770: { 7770: 7770: const auto __pos = begin() + (__position - cbegin()); 7770: 7770: 7770: _Temporary_value __x_copy(this, __x); 7770: _M_insert_aux(__pos, std::move(__x_copy._M_val())); 7770: 7770: 7770: 7770: } 7770: else 7770: 7770: _M_realloc_insert(begin() + (__position - cbegin()), __x); 7770: 7770: 7770: 7770: 7770: return iterator(this->_M_impl._M_start + __n); 7770: } 7770: 7770: template 7770: typename vector<_Tp, _Alloc>::iterator 7770: vector<_Tp, _Alloc>:: 7770: _M_erase(iterator __position) 7770: { 7770: if (__position + 1 != end()) 7770: std::move(__position + 1, end(), __position); 7770: --this->_M_impl._M_finish; 7770: _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish); 7770: ; 7770: return __position; 7770: } 7770: 7770: template 7770: typename vector<_Tp, _Alloc>::iterator 7770: vector<_Tp, _Alloc>:: 7770: _M_erase(iterator __first, iterator __last) 7770: { 7770: if (__first != __last) 7770: { 7770: if (__last != end()) 7770: std::move(__last, end(), __first); 7770: _M_erase_at_end(__first.base() + (end() - __last)); 7770: } 7770: return __first; 7770: } 7770: 7770: template 7770: vector<_Tp, _Alloc>& 7770: vector<_Tp, _Alloc>:: 7770: operator=(const vector<_Tp, _Alloc>& __x) 7770: { 7770: if (&__x != this) 7770: { 7770: ; 7770: 7770: if (_Alloc_traits::_S_propagate_on_copy_assign()) 7770: { 7770: if (!_Alloc_traits::_S_always_equal() 7770: && _M_get_Tp_allocator() != __x._M_get_Tp_allocator()) 7770: { 7770: 7770: this->clear(); 7770: _M_deallocate(this->_M_impl._M_start, 7770: this->_M_impl._M_end_of_storage 7770: - this->_M_impl._M_start); 7770: this->_M_impl._M_start = nullptr; 7770: this->_M_impl._M_finish = nullptr; 7770: this->_M_impl._M_end_of_storage = nullptr; 7770: } 7770: std::__alloc_on_copy(_M_get_Tp_allocator(), 7770: __x._M_get_Tp_allocator()); 7770: } 7770: 7770: const size_type __xlen = __x.size(); 7770: if (__xlen > capacity()) 7770: { 7770: pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(), 7770: __x.end()); 7770: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 7770: _M_get_Tp_allocator()); 7770: _M_deallocate(this->_M_impl._M_start, 7770: this->_M_impl._M_end_of_storage 7770: - this->_M_impl._M_start); 7770: this->_M_impl._M_start = __tmp; 7770: this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __xlen; 7770: } 7770: else if (size() >= __xlen) 7770: { 7770: std::_Destroy(std::copy(__x.begin(), __x.end(), begin()), 7770: end(), _M_get_Tp_allocator()); 7770: } 7770: else 7770: { 7770: std::copy(__x._M_impl._M_start, __x._M_impl._M_start + size(), 7770: this->_M_impl._M_start); 7770: std::__uninitialized_copy_a(__x._M_impl._M_start + size(), 7770: __x._M_impl._M_finish, 7770: this->_M_impl._M_finish, 7770: _M_get_Tp_allocator()); 7770: } 7770: this->_M_impl._M_finish = this->_M_impl._M_start + __xlen; 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: void 7770: vector<_Tp, _Alloc>:: 7770: _M_fill_assign(size_t __n, const value_type& __val) 7770: { 7770: if (__n > capacity()) 7770: { 7770: vector __tmp(__n, __val, _M_get_Tp_allocator()); 7770: __tmp._M_impl._M_swap_data(this->_M_impl); 7770: } 7770: else if (__n > size()) 7770: { 7770: std::fill(begin(), end(), __val); 7770: const size_type __add = __n - size(); 7770: ; 7770: this->_M_impl._M_finish = 7770: std::__uninitialized_fill_n_a(this->_M_impl._M_finish, 7770: __add, __val, _M_get_Tp_allocator()); 7770: ; 7770: } 7770: else 7770: _M_erase_at_end(std::fill_n(this->_M_impl._M_start, __n, __val)); 7770: } 7770: 7770: template 7770: template 7770: void 7770: vector<_Tp, _Alloc>:: 7770: _M_assign_aux(_InputIterator __first, _InputIterator __last, 7770: std::input_iterator_tag) 7770: { 7770: pointer __cur(this->_M_impl._M_start); 7770: for (; __first != __last && __cur != this->_M_impl._M_finish; 7770: ++__cur, ++__first) 7770: *__cur = *__first; 7770: if (__first == __last) 7770: _M_erase_at_end(__cur); 7770: else 7770: _M_range_insert(end(), __first, __last, 7770: std::__iterator_category(__first)); 7770: } 7770: 7770: template 7770: template 7770: void 7770: vector<_Tp, _Alloc>:: 7770: _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, 7770: std::forward_iterator_tag) 7770: { 7770: const size_type __len = std::distance(__first, __last); 7770: 7770: if (__len > capacity()) 7770: { 7770: pointer __tmp(_M_allocate_and_copy(__len, __first, __last)); 7770: ; 7770: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 7770: _M_get_Tp_allocator()); 7770: _M_deallocate(this->_M_impl._M_start, 7770: this->_M_impl._M_end_of_storage 7770: - this->_M_impl._M_start); 7770: this->_M_impl._M_start = __tmp; 7770: this->_M_impl._M_finish = this->_M_impl._M_start + __len; 7770: this->_M_impl._M_end_of_storage = this->_M_impl._M_finish; 7770: } 7770: else if (size() >= __len) 7770: _M_erase_at_end(std::copy(__first, __last, this->_M_impl._M_start)); 7770: else 7770: { 7770: _ForwardIterator __mid = __first; 7770: std::advance(__mid, size()); 7770: std::copy(__first, __mid, this->_M_impl._M_start); 7770: const size_type __attribute__((__unused__)) __n = __len - size(); 7770: ; 7770: this->_M_impl._M_finish = 7770: std::__uninitialized_copy_a(__mid, __last, 7770: this->_M_impl._M_finish, 7770: _M_get_Tp_allocator()); 7770: ; 7770: } 7770: } 7770: 7770: 7770: template 7770: auto 7770: vector<_Tp, _Alloc>:: 7770: _M_insert_rval(const_iterator __position, value_type&& __v) -> iterator 7770: { 7770: const auto __n = __position - cbegin(); 7770: if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) 7770: if (__position == cend()) 7770: { 7770: ; 7770: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 7770: std::move(__v)); 7770: ++this->_M_impl._M_finish; 7770: ; 7770: } 7770: else 7770: _M_insert_aux(begin() + __n, std::move(__v)); 7770: else 7770: _M_realloc_insert(begin() + __n, std::move(__v)); 7770: 7770: return iterator(this->_M_impl._M_start + __n); 7770: } 7770: 7770: template 7770: template 7770: auto 7770: vector<_Tp, _Alloc>:: 7770: _M_emplace_aux(const_iterator __position, _Args&&... __args) 7770: -> iterator 7770: { 7770: const auto __n = __position - cbegin(); 7770: if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) 7770: if (__position == cend()) 7770: { 7770: ; 7770: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 7770: std::forward<_Args>(__args)...); 7770: ++this->_M_impl._M_finish; 7770: ; 7770: } 7770: else 7770: { 7770: 7770: 7770: 7770: _Temporary_value __tmp(this, std::forward<_Args>(__args)...); 7770: _M_insert_aux(begin() + __n, std::move(__tmp._M_val())); 7770: } 7770: else 7770: _M_realloc_insert(begin() + __n, std::forward<_Args>(__args)...); 7770: 7770: return iterator(this->_M_impl._M_start + __n); 7770: } 7770: 7770: template 7770: template 7770: void 7770: vector<_Tp, _Alloc>:: 7770: _M_insert_aux(iterator __position, _Arg&& __arg) 7770: 7770: 7770: 7770: 7770: 7770: 7770: { 7770: ; 7770: _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, 7770: std::move(*(this->_M_impl._M_finish - 1))); 7770: ++this->_M_impl._M_finish; 7770: ; 7770: 7770: 7770: 7770: std::move_backward(__position.base(), this->_M_impl._M_finish - 2, this->_M_impl._M_finish - 1) 7770: 7770: ; 7770: 7770: 7770: 7770: *__position = std::forward<_Arg>(__arg); 7770: 7770: } 7770: 7770: 7770: template 7770: template 7770: void 7770: vector<_Tp, _Alloc>:: 7770: _M_realloc_insert(iterator __position, _Args&&... __args) 7770: 7770: 7770: 7770: 7770: 7770: 7770: { 7770: const size_type __len = 7770: _M_check_len(size_type(1), "vector::_M_realloc_insert"); 7770: pointer __old_start = this->_M_impl._M_start; 7770: pointer __old_finish = this->_M_impl._M_finish; 7770: const size_type __elems_before = __position - begin(); 7770: pointer __new_start(this->_M_allocate(__len)); 7770: pointer __new_finish(__new_start); 7770: if (true) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: _Alloc_traits::construct(this->_M_impl, 7770: __new_start + __elems_before, 7770: 7770: std::forward<_Args>(__args)...); 7770: 7770: 7770: 7770: __new_finish = pointer(); 7770: 7770: __new_finish 7770: = std::__uninitialized_move_if_noexcept_a 7770: (__old_start, __position.base(), 7770: __new_start, _M_get_Tp_allocator()); 7770: 7770: ++__new_finish; 7770: 7770: __new_finish 7770: = std::__uninitialized_move_if_noexcept_a 7770: (__position.base(), __old_finish, 7770: __new_finish, _M_get_Tp_allocator()); 7770: } 7770: if (false) 7770: { 7770: if (!__new_finish) 7770: _Alloc_traits::destroy(this->_M_impl, 7770: __new_start + __elems_before); 7770: else 7770: std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator()); 7770: _M_deallocate(__new_start, __len); 7770: ; 7770: } 7770: ; 7770: std::_Destroy(__old_start, __old_finish, _M_get_Tp_allocator()); 7770: _M_deallocate(__old_start, 7770: this->_M_impl._M_end_of_storage - __old_start); 7770: this->_M_impl._M_start = __new_start; 7770: this->_M_impl._M_finish = __new_finish; 7770: this->_M_impl._M_end_of_storage = __new_start + __len; 7770: } 7770: 7770: template 7770: void 7770: vector<_Tp, _Alloc>:: 7770: _M_fill_insert(iterator __position, size_type __n, const value_type& __x) 7770: { 7770: if (__n != 0) 7770: { 7770: if (size_type(this->_M_impl._M_end_of_storage 7770: - this->_M_impl._M_finish) >= __n) 7770: { 7770: 7770: 7770: 7770: _Temporary_value __tmp(this, __x); 7770: value_type& __x_copy = __tmp._M_val(); 7770: 7770: const size_type __elems_after = end() - __position; 7770: pointer __old_finish(this->_M_impl._M_finish); 7770: if (__elems_after > __n) 7770: { 7770: ; 7770: std::__uninitialized_move_a(this->_M_impl._M_finish - __n, 7770: this->_M_impl._M_finish, 7770: this->_M_impl._M_finish, 7770: _M_get_Tp_allocator()); 7770: this->_M_impl._M_finish += __n; 7770: ; 7770: std::move_backward(__position.base(), __old_finish - __n, __old_finish) 7770: ; 7770: std::fill(__position.base(), __position.base() + __n, 7770: __x_copy); 7770: } 7770: else 7770: { 7770: ; 7770: this->_M_impl._M_finish = 7770: std::__uninitialized_fill_n_a(this->_M_impl._M_finish, 7770: __n - __elems_after, 7770: __x_copy, 7770: _M_get_Tp_allocator()); 7770: ; 7770: std::__uninitialized_move_a(__position.base(), __old_finish, 7770: this->_M_impl._M_finish, 7770: _M_get_Tp_allocator()); 7770: this->_M_impl._M_finish += __elems_after; 7770: ; 7770: std::fill(__position.base(), __old_finish, __x_copy); 7770: } 7770: } 7770: else 7770: { 7770: const size_type __len = 7770: _M_check_len(__n, "vector::_M_fill_insert"); 7770: const size_type __elems_before = __position - begin(); 7770: pointer __new_start(this->_M_allocate(__len)); 7770: pointer __new_finish(__new_start); 7770: if (true) 7770: { 7770: 7770: std::__uninitialized_fill_n_a(__new_start + __elems_before, 7770: __n, __x, 7770: _M_get_Tp_allocator()); 7770: __new_finish = pointer(); 7770: 7770: __new_finish 7770: = std::__uninitialized_move_if_noexcept_a 7770: (this->_M_impl._M_start, __position.base(), 7770: __new_start, _M_get_Tp_allocator()); 7770: 7770: __new_finish += __n; 7770: 7770: __new_finish 7770: = std::__uninitialized_move_if_noexcept_a 7770: (__position.base(), this->_M_impl._M_finish, 7770: __new_finish, _M_get_Tp_allocator()); 7770: } 7770: if (false) 7770: { 7770: if (!__new_finish) 7770: std::_Destroy(__new_start + __elems_before, 7770: __new_start + __elems_before + __n, 7770: _M_get_Tp_allocator()); 7770: else 7770: std::_Destroy(__new_start, __new_finish, 7770: _M_get_Tp_allocator()); 7770: _M_deallocate(__new_start, __len); 7770: ; 7770: } 7770: ; 7770: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 7770: _M_get_Tp_allocator()); 7770: _M_deallocate(this->_M_impl._M_start, 7770: this->_M_impl._M_end_of_storage 7770: - this->_M_impl._M_start); 7770: this->_M_impl._M_start = __new_start; 7770: this->_M_impl._M_finish = __new_finish; 7770: this->_M_impl._M_end_of_storage = __new_start + __len; 7770: } 7770: } 7770: } 7770: 7770: 7770: template 7770: void 7770: vector<_Tp, _Alloc>:: 7770: _M_default_append(size_type __n) 7770: { 7770: if (__n != 0) 7770: { 7770: size_type __size = size(); 7770: size_type __navail = size_type(this->_M_impl._M_end_of_storage 7770: - this->_M_impl._M_finish); 7770: 7770: if (__size > max_size() || __navail > max_size() - __size) 7770: __builtin_unreachable(); 7770: 7770: if (__navail >= __n) 7770: { 7770: ; 7770: this->_M_impl._M_finish = 7770: std::__uninitialized_default_n_a(this->_M_impl._M_finish, 7770: __n, _M_get_Tp_allocator()); 7770: ; 7770: } 7770: else 7770: { 7770: const size_type __len = 7770: _M_check_len(__n, "vector::_M_default_append"); 7770: const size_type __old_size = __size; 7770: pointer __new_start(this->_M_allocate(__len)); 7770: pointer __new_finish(__new_start); 7770: if (true) 7770: { 7770: __new_finish 7770: = std::__uninitialized_move_if_noexcept_a 7770: (this->_M_impl._M_start, this->_M_impl._M_finish, 7770: __new_start, _M_get_Tp_allocator()); 7770: __new_finish = 7770: std::__uninitialized_default_n_a(__new_finish, __n, 7770: _M_get_Tp_allocator()); 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__new_start, __new_finish, 7770: _M_get_Tp_allocator()); 7770: _M_deallocate(__new_start, __len); 7770: ; 7770: } 7770: ; 7770: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 7770: _M_get_Tp_allocator()); 7770: _M_deallocate(this->_M_impl._M_start, 7770: this->_M_impl._M_end_of_storage 7770: - this->_M_impl._M_start); 7770: this->_M_impl._M_start = __new_start; 7770: this->_M_impl._M_finish = __new_finish; 7770: this->_M_impl._M_end_of_storage = __new_start + __len; 7770: } 7770: } 7770: } 7770: 7770: template 7770: bool 7770: vector<_Tp, _Alloc>:: 7770: _M_shrink_to_fit() 7770: { 7770: if (capacity() == size()) 7770: return false; 7770: ; 7770: return std::__shrink_to_fit_aux::_S_do_it(*this); 7770: } 7770: 7770: 7770: template 7770: template 7770: void 7770: vector<_Tp, _Alloc>:: 7770: _M_range_insert(iterator __pos, _InputIterator __first, 7770: _InputIterator __last, std::input_iterator_tag) 7770: { 7770: if (__pos == end()) 7770: { 7770: for (; __first != __last; ++__first) 7770: insert(end(), *__first); 7770: } 7770: else if (__first != __last) 7770: { 7770: vector __tmp(__first, __last, _M_get_Tp_allocator()); 7770: insert(__pos, 7770: std::make_move_iterator(__tmp.begin()), 7770: std::make_move_iterator(__tmp.end())); 7770: } 7770: } 7770: 7770: template 7770: template 7770: void 7770: vector<_Tp, _Alloc>:: 7770: _M_range_insert(iterator __position, _ForwardIterator __first, 7770: _ForwardIterator __last, std::forward_iterator_tag) 7770: { 7770: if (__first != __last) 7770: { 7770: const size_type __n = std::distance(__first, __last); 7770: if (size_type(this->_M_impl._M_end_of_storage 7770: - this->_M_impl._M_finish) >= __n) 7770: { 7770: const size_type __elems_after = end() - __position; 7770: pointer __old_finish(this->_M_impl._M_finish); 7770: if (__elems_after > __n) 7770: { 7770: ; 7770: std::__uninitialized_move_a(this->_M_impl._M_finish - __n, 7770: this->_M_impl._M_finish, 7770: this->_M_impl._M_finish, 7770: _M_get_Tp_allocator()); 7770: this->_M_impl._M_finish += __n; 7770: ; 7770: std::move_backward(__position.base(), __old_finish - __n, __old_finish) 7770: ; 7770: std::copy(__first, __last, __position); 7770: } 7770: else 7770: { 7770: _ForwardIterator __mid = __first; 7770: std::advance(__mid, __elems_after); 7770: ; 7770: std::__uninitialized_copy_a(__mid, __last, 7770: this->_M_impl._M_finish, 7770: _M_get_Tp_allocator()); 7770: this->_M_impl._M_finish += __n - __elems_after; 7770: ; 7770: std::__uninitialized_move_a(__position.base(), 7770: __old_finish, 7770: this->_M_impl._M_finish, 7770: _M_get_Tp_allocator()); 7770: this->_M_impl._M_finish += __elems_after; 7770: ; 7770: std::copy(__first, __mid, __position); 7770: } 7770: } 7770: else 7770: { 7770: const size_type __len = 7770: _M_check_len(__n, "vector::_M_range_insert"); 7770: pointer __new_start(this->_M_allocate(__len)); 7770: pointer __new_finish(__new_start); 7770: if (true) 7770: { 7770: __new_finish 7770: = std::__uninitialized_move_if_noexcept_a 7770: (this->_M_impl._M_start, __position.base(), 7770: __new_start, _M_get_Tp_allocator()); 7770: __new_finish 7770: = std::__uninitialized_copy_a(__first, __last, 7770: __new_finish, 7770: _M_get_Tp_allocator()); 7770: __new_finish 7770: = std::__uninitialized_move_if_noexcept_a 7770: (__position.base(), this->_M_impl._M_finish, 7770: __new_finish, _M_get_Tp_allocator()); 7770: } 7770: if (false) 7770: { 7770: std::_Destroy(__new_start, __new_finish, 7770: _M_get_Tp_allocator()); 7770: _M_deallocate(__new_start, __len); 7770: ; 7770: } 7770: ; 7770: std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, 7770: _M_get_Tp_allocator()); 7770: _M_deallocate(this->_M_impl._M_start, 7770: this->_M_impl._M_end_of_storage 7770: - this->_M_impl._M_start); 7770: this->_M_impl._M_start = __new_start; 7770: this->_M_impl._M_finish = __new_finish; 7770: this->_M_impl._M_end_of_storage = __new_start + __len; 7770: } 7770: } 7770: } 7770: 7770: 7770: 7770: template 7770: void 7770: vector:: 7770: _M_reallocate(size_type __n) 7770: { 7770: _Bit_pointer __q = this->_M_allocate(__n); 7770: iterator __start(std::__addressof(*__q), 0); 7770: iterator __finish(_M_copy_aligned(begin(), end(), __start)); 7770: this->_M_deallocate(); 7770: this->_M_impl._M_start = __start; 7770: this->_M_impl._M_finish = __finish; 7770: this->_M_impl._M_end_of_storage = __q + _S_nword(__n); 7770: } 7770: 7770: template 7770: void 7770: vector:: 7770: _M_fill_insert(iterator __position, size_type __n, bool __x) 7770: { 7770: if (__n == 0) 7770: return; 7770: if (capacity() - size() >= __n) 7770: { 7770: std::copy_backward(__position, end(), 7770: this->_M_impl._M_finish + difference_type(__n)); 7770: std::fill(__position, __position + difference_type(__n), __x); 7770: this->_M_impl._M_finish += difference_type(__n); 7770: } 7770: else 7770: { 7770: const size_type __len = 7770: _M_check_len(__n, "vector::_M_fill_insert"); 7770: _Bit_pointer __q = this->_M_allocate(__len); 7770: iterator __start(std::__addressof(*__q), 0); 7770: iterator __i = _M_copy_aligned(begin(), __position, __start); 7770: std::fill(__i, __i + difference_type(__n), __x); 7770: iterator __finish = std::copy(__position, end(), 7770: __i + difference_type(__n)); 7770: this->_M_deallocate(); 7770: this->_M_impl._M_end_of_storage = __q + _S_nword(__len); 7770: this->_M_impl._M_start = __start; 7770: this->_M_impl._M_finish = __finish; 7770: } 7770: } 7770: 7770: template 7770: template 7770: void 7770: vector:: 7770: _M_insert_range(iterator __position, _ForwardIterator __first, 7770: _ForwardIterator __last, std::forward_iterator_tag) 7770: { 7770: if (__first != __last) 7770: { 7770: size_type __n = std::distance(__first, __last); 7770: if (capacity() - size() >= __n) 7770: { 7770: std::copy_backward(__position, end(), 7770: this->_M_impl._M_finish 7770: + difference_type(__n)); 7770: std::copy(__first, __last, __position); 7770: this->_M_impl._M_finish += difference_type(__n); 7770: } 7770: else 7770: { 7770: const size_type __len = 7770: _M_check_len(__n, "vector::_M_insert_range"); 7770: _Bit_pointer __q = this->_M_allocate(__len); 7770: iterator __start(std::__addressof(*__q), 0); 7770: iterator __i = _M_copy_aligned(begin(), __position, __start); 7770: __i = std::copy(__first, __last, __i); 7770: iterator __finish = std::copy(__position, end(), __i); 7770: this->_M_deallocate(); 7770: this->_M_impl._M_end_of_storage = __q + _S_nword(__len); 7770: this->_M_impl._M_start = __start; 7770: this->_M_impl._M_finish = __finish; 7770: } 7770: } 7770: } 7770: 7770: template 7770: void 7770: vector:: 7770: _M_insert_aux(iterator __position, bool __x) 7770: { 7770: if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr()) 7770: { 7770: std::copy_backward(__position, this->_M_impl._M_finish, 7770: this->_M_impl._M_finish + 1); 7770: *__position = __x; 7770: ++this->_M_impl._M_finish; 7770: } 7770: else 7770: { 7770: const size_type __len = 7770: _M_check_len(size_type(1), "vector::_M_insert_aux"); 7770: _Bit_pointer __q = this->_M_allocate(__len); 7770: iterator __start(std::__addressof(*__q), 0); 7770: iterator __i = _M_copy_aligned(begin(), __position, __start); 7770: *__i++ = __x; 7770: iterator __finish = std::copy(__position, end(), __i); 7770: this->_M_deallocate(); 7770: this->_M_impl._M_end_of_storage = __q + _S_nword(__len); 7770: this->_M_impl._M_start = __start; 7770: this->_M_impl._M_finish = __finish; 7770: } 7770: } 7770: 7770: template 7770: typename vector::iterator 7770: vector:: 7770: _M_erase(iterator __position) 7770: { 7770: if (__position + 1 != end()) 7770: std::copy(__position + 1, end(), __position); 7770: --this->_M_impl._M_finish; 7770: return __position; 7770: } 7770: 7770: template 7770: typename vector::iterator 7770: vector:: 7770: _M_erase(iterator __first, iterator __last) 7770: { 7770: if (__first != __last) 7770: _M_erase_at_end(std::copy(__last, end(), __first)); 7770: return __first; 7770: } 7770: 7770: 7770: template 7770: bool 7770: vector:: 7770: _M_shrink_to_fit() 7770: { 7770: if (capacity() - size() < int(_S_word_bit)) 7770: return false; 7770: if (true) 7770: { 7770: _M_reallocate(size()); 7770: return true; 7770: } 7770: if (false) 7770: { return false; } 7770: } 7770: 7770: 7770: 7770: 7770: } 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: template 7770: size_t 7770: hash>:: 7770: operator()(const std::vector& __b) const noexcept 7770: { 7770: size_t __hash = 0; 7770: using std::_S_word_bit; 7770: using std::_Bit_type; 7770: 7770: const size_t __words = __b.size() / _S_word_bit; 7770: if (__words) 7770: { 7770: const size_t __clength = __words * sizeof(_Bit_type); 7770: __hash = std::_Hash_impl::hash(__b._M_impl._M_start._M_p, __clength); 7770: } 7770: 7770: const size_t __extrabits = __b.size() % _S_word_bit; 7770: if (__extrabits) 7770: { 7770: _Bit_type __hiword = *__b._M_impl._M_finish._M_p; 7770: __hiword &= ~((~static_cast<_Bit_type>(0)) << __extrabits); 7770: 7770: const size_t __clength 7770: = (__extrabits + 8 - 1) / 8; 7770: if (__words) 7770: __hash = std::_Hash_impl::hash(&__hiword, __clength, __hash); 7770: else 7770: __hash = std::_Hash_impl::hash(&__hiword, __clength); 7770: } 7770: 7770: return __hash; 7770: } 7770: 7770: 7770: } 7770: # 70 "/usr/include/c++/8/vector" 2 3 7770: # 54 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmetatype.h" 2 3 4 7770: 7770: # 1 "/usr/include/c++/8/map" 1 3 4 7770: # 58 "/usr/include/c++/8/map" 3 4 7770: 7770: # 59 "/usr/include/c++/8/map" 3 7770: 7770: # 1 "/usr/include/c++/8/bits/stl_tree.h" 1 3 7770: # 61 "/usr/include/c++/8/bits/stl_tree.h" 3 7770: 7770: # 62 "/usr/include/c++/8/bits/stl_tree.h" 3 7770: # 72 "/usr/include/c++/8/bits/stl_tree.h" 3 7770: # 1 "/usr/include/c++/8/bits/node_handle.h" 1 3 7770: # 34 "/usr/include/c++/8/bits/node_handle.h" 3 7770: 7770: # 35 "/usr/include/c++/8/bits/node_handle.h" 3 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/optional" 1 3 7770: # 32 "/usr/include/c++/8/optional" 3 7770: 7770: # 33 "/usr/include/c++/8/optional" 3 7770: # 43 "/usr/include/c++/8/optional" 3 7770: # 1 "/usr/include/c++/8/bits/enable_special_members.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/enable_special_members.h" 3 7770: 7770: # 34 "/usr/include/c++/8/bits/enable_special_members.h" 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: struct _Enable_default_constructor_tag 7770: { 7770: explicit constexpr _Enable_default_constructor_tag() = default; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _Enable_default_constructor 7770: { 7770: constexpr _Enable_default_constructor() noexcept = default; 7770: constexpr _Enable_default_constructor(_Enable_default_constructor const&) 7770: noexcept = default; 7770: constexpr _Enable_default_constructor(_Enable_default_constructor&&) 7770: noexcept = default; 7770: _Enable_default_constructor& 7770: operator=(_Enable_default_constructor const&) noexcept = default; 7770: _Enable_default_constructor& 7770: operator=(_Enable_default_constructor&&) noexcept = default; 7770: 7770: 7770: constexpr explicit 7770: _Enable_default_constructor(_Enable_default_constructor_tag) { } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _Enable_destructor { }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _Enable_copy_move { }; 7770: # 93 "/usr/include/c++/8/bits/enable_special_members.h" 3 7770: template 7770: struct _Enable_special_members 7770: : private _Enable_default_constructor<_Default, _Tag>, 7770: private _Enable_destructor<_Destructor, _Tag>, 7770: private _Enable_copy_move<_Copy, _CopyAssignment, 7770: _Move, _MoveAssignment, 7770: _Tag> 7770: { }; 7770: 7770: 7770: 7770: template 7770: struct _Enable_default_constructor 7770: { 7770: constexpr _Enable_default_constructor() noexcept = delete; 7770: constexpr _Enable_default_constructor(_Enable_default_constructor const&) 7770: noexcept = default; 7770: constexpr _Enable_default_constructor(_Enable_default_constructor&&) 7770: noexcept = default; 7770: _Enable_default_constructor& 7770: operator=(_Enable_default_constructor const&) noexcept = default; 7770: _Enable_default_constructor& 7770: operator=(_Enable_default_constructor&&) noexcept = default; 7770: 7770: 7770: constexpr explicit 7770: _Enable_default_constructor(_Enable_default_constructor_tag) { } 7770: }; 7770: 7770: template 7770: struct _Enable_destructor 7770: { ~_Enable_destructor() noexcept = delete; }; 7770: 7770: template 7770: struct _Enable_copy_move 7770: { 7770: constexpr _Enable_copy_move() noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete; 7770: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move const&) noexcept = default; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move&&) noexcept = default; 7770: }; 7770: 7770: template 7770: struct _Enable_copy_move 7770: { 7770: constexpr _Enable_copy_move() noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move const&) noexcept = delete; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move&&) noexcept = default; 7770: }; 7770: 7770: template 7770: struct _Enable_copy_move 7770: { 7770: constexpr _Enable_copy_move() noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete; 7770: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move const&) noexcept = delete; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move&&) noexcept = default; 7770: }; 7770: 7770: template 7770: struct _Enable_copy_move 7770: { 7770: constexpr _Enable_copy_move() noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move const&) noexcept = default; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move&&) noexcept = default; 7770: }; 7770: 7770: template 7770: struct _Enable_copy_move 7770: { 7770: constexpr _Enable_copy_move() noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete; 7770: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move const&) noexcept = default; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move&&) noexcept = default; 7770: }; 7770: 7770: template 7770: struct _Enable_copy_move 7770: { 7770: constexpr _Enable_copy_move() noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move const&) noexcept = delete; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move&&) noexcept = default; 7770: }; 7770: 7770: template 7770: struct _Enable_copy_move 7770: { 7770: constexpr _Enable_copy_move() noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete; 7770: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move const&) noexcept = delete; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move&&) noexcept = default; 7770: }; 7770: 7770: template 7770: struct _Enable_copy_move 7770: { 7770: constexpr _Enable_copy_move() noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move const&) noexcept = default; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move&&) noexcept = delete; 7770: }; 7770: 7770: template 7770: struct _Enable_copy_move 7770: { 7770: constexpr _Enable_copy_move() noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete; 7770: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move const&) noexcept = default; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move&&) noexcept = delete; 7770: }; 7770: 7770: template 7770: struct _Enable_copy_move 7770: { 7770: constexpr _Enable_copy_move() noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move const&) noexcept = delete; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move&&) noexcept = delete; 7770: }; 7770: 7770: template 7770: struct _Enable_copy_move 7770: { 7770: constexpr _Enable_copy_move() noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete; 7770: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = default; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move const&) noexcept = delete; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move&&) noexcept = delete; 7770: }; 7770: 7770: template 7770: struct _Enable_copy_move 7770: { 7770: constexpr _Enable_copy_move() noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move const&) noexcept = default; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move&&) noexcept = delete; 7770: }; 7770: 7770: template 7770: struct _Enable_copy_move 7770: { 7770: constexpr _Enable_copy_move() noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete; 7770: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move const&) noexcept = default; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move&&) noexcept = delete; 7770: }; 7770: 7770: template 7770: struct _Enable_copy_move 7770: { 7770: constexpr _Enable_copy_move() noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move const&) noexcept = delete; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move&&) noexcept = delete; 7770: }; 7770: 7770: template 7770: struct _Enable_copy_move 7770: { 7770: constexpr _Enable_copy_move() noexcept = default; 7770: constexpr _Enable_copy_move(_Enable_copy_move const&) noexcept = delete; 7770: constexpr _Enable_copy_move(_Enable_copy_move&&) noexcept = delete; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move const&) noexcept = delete; 7770: _Enable_copy_move& 7770: operator=(_Enable_copy_move&&) noexcept = delete; 7770: }; 7770: 7770: 7770: } 7770: # 44 "/usr/include/c++/8/optional" 2 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 56 "/usr/include/c++/8/optional" 3 7770: template 7770: class optional; 7770: 7770: 7770: struct nullopt_t 7770: { 7770: 7770: 7770: 7770: 7770: 7770: enum class _Construct { _Token }; 7770: 7770: 7770: explicit constexpr nullopt_t(_Construct) { } 7770: }; 7770: 7770: 7770: inline constexpr nullopt_t nullopt { nullopt_t::_Construct::_Token }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: class bad_optional_access : public exception 7770: { 7770: public: 7770: bad_optional_access() { } 7770: virtual const char* what() const noexcept override 7770: {return "bad optional access";} 7770: 7770: virtual ~bad_optional_access() noexcept = default; 7770: }; 7770: 7770: void 7770: __throw_bad_optional_access() 7770: __attribute__((__noreturn__)); 7770: 7770: 7770: inline void 7770: __throw_bad_optional_access() 7770: { (__builtin_abort()); } 7770: 7770: 7770: 7770: template ::value 7770: && is_trivially_move_constructible<_Tp>::value, 7770: bool = 7770: is_trivially_destructible<_Tp>::value> 7770: struct _Optional_payload 7770: { 7770: constexpr _Optional_payload() 7770: : _M_empty() {} 7770: 7770: template 7770: constexpr _Optional_payload(in_place_t, _Args&&... __args) 7770: : _M_payload(std::forward<_Args>(__args)...), 7770: _M_engaged(true) 7770: {} 7770: 7770: template 7770: constexpr _Optional_payload(std::initializer_list<_Up> __il, 7770: _Args&&... __args) 7770: : _M_payload(__il, std::forward<_Args>(__args)...), 7770: _M_engaged(true) {} 7770: 7770: template struct __ctor_tag {}; 7770: 7770: constexpr _Optional_payload(__ctor_tag, 7770: const _Tp& __other) 7770: : _M_payload(__other), 7770: _M_engaged(true) 7770: {} 7770: 7770: constexpr _Optional_payload(__ctor_tag) 7770: : _M_empty() 7770: {} 7770: 7770: constexpr _Optional_payload(__ctor_tag, _Tp&& __other) 7770: : _M_payload(std::move(__other)), 7770: _M_engaged(true) 7770: {} 7770: 7770: constexpr _Optional_payload(bool __engaged, 7770: const _Optional_payload& __other) 7770: : _Optional_payload(__engaged ? 7770: _Optional_payload(__ctor_tag{}, 7770: __other._M_payload) : 7770: _Optional_payload(__ctor_tag{})) 7770: {} 7770: 7770: constexpr _Optional_payload(bool __engaged, 7770: _Optional_payload&& __other) 7770: : _Optional_payload(__engaged 7770: ? _Optional_payload(__ctor_tag{}, 7770: std::move(__other._M_payload)) 7770: : _Optional_payload(__ctor_tag{})) 7770: {} 7770: 7770: using _Stored_type = remove_const_t<_Tp>; 7770: struct _Empty_byte { }; 7770: union { 7770: _Empty_byte _M_empty; 7770: _Stored_type _M_payload; 7770: }; 7770: bool _M_engaged = false; 7770: }; 7770: 7770: 7770: template 7770: struct _Optional_payload<_Tp, false, false> 7770: { 7770: constexpr _Optional_payload() 7770: : _M_empty() {} 7770: 7770: template 7770: constexpr _Optional_payload(in_place_t, _Args&&... __args) 7770: : _M_payload(std::forward<_Args>(__args)...), 7770: _M_engaged(true) {} 7770: 7770: template 7770: constexpr _Optional_payload(std::initializer_list<_Up> __il, 7770: _Args&&... __args) 7770: : _M_payload(__il, std::forward<_Args>(__args)...), 7770: _M_engaged(true) {} 7770: constexpr 7770: _Optional_payload(bool __engaged, const _Optional_payload& __other) 7770: : _Optional_payload(__other) 7770: {} 7770: 7770: constexpr 7770: _Optional_payload(bool __engaged, _Optional_payload&& __other) 7770: : _Optional_payload(std::move(__other)) 7770: {} 7770: 7770: constexpr _Optional_payload(const _Optional_payload& __other) 7770: { 7770: if (__other._M_engaged) 7770: this->_M_construct(__other._M_payload); 7770: } 7770: 7770: constexpr _Optional_payload(_Optional_payload&& __other) 7770: { 7770: if (__other._M_engaged) 7770: this->_M_construct(std::move(__other._M_payload)); 7770: } 7770: 7770: using _Stored_type = remove_const_t<_Tp>; 7770: struct _Empty_byte { }; 7770: union { 7770: _Empty_byte _M_empty; 7770: _Stored_type _M_payload; 7770: }; 7770: bool _M_engaged = false; 7770: 7770: ~_Optional_payload() 7770: { 7770: if (_M_engaged) 7770: _M_payload.~_Stored_type(); 7770: } 7770: 7770: template 7770: void 7770: _M_construct(_Args&&... __args) 7770: noexcept(is_nothrow_constructible<_Stored_type, _Args...>()) 7770: { 7770: ::new ((void *) std::__addressof(this->_M_payload)) 7770: _Stored_type(std::forward<_Args>(__args)...); 7770: this->_M_engaged = true; 7770: } 7770: }; 7770: 7770: 7770: template 7770: struct _Optional_payload<_Tp, false, true> 7770: { 7770: constexpr _Optional_payload() 7770: : _M_empty() {} 7770: 7770: template 7770: constexpr _Optional_payload(in_place_t, _Args&&... __args) 7770: : _M_payload(std::forward<_Args>(__args)...), 7770: _M_engaged(true) {} 7770: 7770: template 7770: constexpr _Optional_payload(std::initializer_list<_Up> __il, 7770: _Args&&... __args) 7770: : _M_payload(__il, std::forward<_Args>(__args)...), 7770: _M_engaged(true) {} 7770: constexpr 7770: _Optional_payload(bool __engaged, const _Optional_payload& __other) 7770: : _Optional_payload(__other) 7770: {} 7770: 7770: constexpr 7770: _Optional_payload(bool __engaged, _Optional_payload&& __other) 7770: : _Optional_payload(std::move(__other)) 7770: {} 7770: 7770: constexpr _Optional_payload(const _Optional_payload& __other) 7770: { 7770: if (__other._M_engaged) 7770: this->_M_construct(__other._M_payload); 7770: } 7770: 7770: constexpr _Optional_payload(_Optional_payload&& __other) 7770: { 7770: if (__other._M_engaged) 7770: this->_M_construct(std::move(__other._M_payload)); 7770: } 7770: 7770: using _Stored_type = remove_const_t<_Tp>; 7770: struct _Empty_byte { }; 7770: union { 7770: _Empty_byte _M_empty; 7770: _Stored_type _M_payload; 7770: }; 7770: bool _M_engaged = false; 7770: 7770: template 7770: void 7770: _M_construct(_Args&&... __args) 7770: noexcept(is_nothrow_constructible<_Stored_type, _Args...>()) 7770: { 7770: ::new ((void *) std::__addressof(this->_M_payload)) 7770: _Stored_type(std::forward<_Args>(__args)...); 7770: this->_M_engaged = true; 7770: } 7770: }; 7770: # 301 "/usr/include/c++/8/optional" 3 7770: template 7770: class _Optional_base 7770: { 7770: private: 7770: 7770: 7770: 7770: using _Stored_type = remove_const_t<_Tp>; 7770: 7770: public: 7770: 7770: 7770: constexpr _Optional_base() noexcept 7770: { } 7770: 7770: constexpr _Optional_base(nullopt_t) noexcept 7770: { } 7770: 7770: 7770: template, bool> = false> 7770: constexpr explicit _Optional_base(in_place_t, _Args&&... __args) 7770: : _M_payload(in_place, 7770: std::forward<_Args>(__args)...) { } 7770: 7770: template&, 7770: _Args&&...>, bool> = false> 7770: constexpr explicit _Optional_base(in_place_t, 7770: initializer_list<_Up> __il, 7770: _Args&&... __args) 7770: : _M_payload(in_place, 7770: __il, std::forward<_Args>(__args)...) 7770: { } 7770: 7770: 7770: constexpr _Optional_base(const _Optional_base& __other) 7770: : _M_payload(__other._M_payload._M_engaged, 7770: __other._M_payload) 7770: { } 7770: 7770: constexpr _Optional_base(_Optional_base&& __other) 7770: noexcept(is_nothrow_move_constructible<_Tp>()) 7770: : _M_payload(__other._M_payload._M_engaged, 7770: std::move(__other._M_payload)) 7770: { } 7770: 7770: 7770: _Optional_base& 7770: operator=(const _Optional_base& __other) 7770: { 7770: if (this->_M_payload._M_engaged && __other._M_payload._M_engaged) 7770: this->_M_get() = __other._M_get(); 7770: else 7770: { 7770: if (__other._M_payload._M_engaged) 7770: this->_M_construct(__other._M_get()); 7770: else 7770: this->_M_reset(); 7770: } 7770: 7770: return *this; 7770: } 7770: 7770: _Optional_base& 7770: operator=(_Optional_base&& __other) 7770: noexcept(__and_, 7770: is_nothrow_move_assignable<_Tp>>()) 7770: { 7770: if (this->_M_payload._M_engaged && __other._M_payload._M_engaged) 7770: this->_M_get() = std::move(__other._M_get()); 7770: else 7770: { 7770: if (__other._M_payload._M_engaged) 7770: this->_M_construct(std::move(__other._M_get())); 7770: else 7770: this->_M_reset(); 7770: } 7770: return *this; 7770: } 7770: 7770: 7770: protected: 7770: constexpr bool _M_is_engaged() const noexcept 7770: { return this->_M_payload._M_engaged; } 7770: 7770: 7770: constexpr _Tp& 7770: _M_get() noexcept 7770: { 7770: ; 7770: return this->_M_payload._M_payload; 7770: } 7770: 7770: constexpr const _Tp& 7770: _M_get() const noexcept 7770: { 7770: ; 7770: return this->_M_payload._M_payload; 7770: } 7770: 7770: 7770: 7770: template 7770: void 7770: _M_construct(_Args&&... __args) 7770: noexcept(is_nothrow_constructible<_Stored_type, _Args...>()) 7770: { 7770: ::new (std::__addressof(this->_M_payload._M_payload)) 7770: _Stored_type(std::forward<_Args>(__args)...); 7770: this->_M_payload._M_engaged = true; 7770: } 7770: 7770: void 7770: _M_destruct() 7770: { 7770: this->_M_payload._M_engaged = false; 7770: this->_M_payload._M_payload.~_Stored_type(); 7770: } 7770: 7770: 7770: void 7770: _M_reset() 7770: { 7770: if (this->_M_payload._M_engaged) 7770: this->_M_destruct(); 7770: } 7770: 7770: private: 7770: _Optional_payload<_Tp> _M_payload; 7770: }; 7770: 7770: template 7770: class optional; 7770: 7770: template 7770: using __converts_from_optional = 7770: __or_&>, 7770: is_constructible<_Tp, optional<_Up>&>, 7770: is_constructible<_Tp, const optional<_Up>&&>, 7770: is_constructible<_Tp, optional<_Up>&&>, 7770: is_convertible&, _Tp>, 7770: is_convertible&, _Tp>, 7770: is_convertible&&, _Tp>, 7770: is_convertible&&, _Tp>>; 7770: 7770: template 7770: using __assigns_from_optional = 7770: __or_&>, 7770: is_assignable<_Tp&, optional<_Up>&>, 7770: is_assignable<_Tp&, const optional<_Up>&&>, 7770: is_assignable<_Tp&, optional<_Up>&&>>; 7770: 7770: 7770: 7770: 7770: template 7770: class optional 7770: : private _Optional_base<_Tp>, 7770: private _Enable_copy_move< 7770: 7770: is_copy_constructible<_Tp>::value, 7770: 7770: __and_, is_copy_assignable<_Tp>>::value, 7770: 7770: is_move_constructible<_Tp>::value, 7770: 7770: __and_, is_move_assignable<_Tp>>::value, 7770: 7770: optional<_Tp>> 7770: { 7770: static_assert(!is_same_v, nullopt_t>); 7770: static_assert(!is_same_v, in_place_t>); 7770: static_assert(!is_reference_v<_Tp>); 7770: 7770: private: 7770: using _Base = _Optional_base<_Tp>; 7770: 7770: public: 7770: using value_type = _Tp; 7770: 7770: constexpr optional() = default; 7770: 7770: constexpr optional(nullopt_t) noexcept 7770: : _Base(nullopt) { } 7770: 7770: 7770: template , decay_t<_Up>>>, 7770: __not_>>, 7770: is_constructible<_Tp, _Up&&>, 7770: is_convertible<_Up&&, _Tp> 7770: >::value, bool> = true> 7770: constexpr optional(_Up&& __t) 7770: : _Base(std::in_place, std::forward<_Up>(__t)) { } 7770: 7770: template , decay_t<_Up>>>, 7770: __not_>>, 7770: is_constructible<_Tp, _Up&&>, 7770: __not_> 7770: >::value, bool> = false> 7770: explicit constexpr optional(_Up&& __t) 7770: : _Base(std::in_place, std::forward<_Up>(__t)) { } 7770: 7770: template >, 7770: is_constructible<_Tp, const _Up&>, 7770: is_convertible, 7770: __not_<__converts_from_optional<_Tp, _Up>> 7770: >::value, bool> = true> 7770: constexpr optional(const optional<_Up>& __t) 7770: { 7770: if (__t) 7770: emplace(*__t); 7770: } 7770: 7770: template >, 7770: is_constructible<_Tp, const _Up&>, 7770: __not_>, 7770: __not_<__converts_from_optional<_Tp, _Up>> 7770: >::value, bool> = false> 7770: explicit constexpr optional(const optional<_Up>& __t) 7770: { 7770: if (__t) 7770: emplace(*__t); 7770: } 7770: 7770: template >, 7770: is_constructible<_Tp, _Up&&>, 7770: is_convertible<_Up&&, _Tp>, 7770: __not_<__converts_from_optional<_Tp, _Up>> 7770: >::value, bool> = true> 7770: constexpr optional(optional<_Up>&& __t) 7770: { 7770: if (__t) 7770: emplace(std::move(*__t)); 7770: } 7770: 7770: template >, 7770: is_constructible<_Tp, _Up&&>, 7770: __not_>, 7770: __not_<__converts_from_optional<_Tp, _Up>> 7770: >::value, bool> = false> 7770: explicit constexpr optional(optional<_Up>&& __t) 7770: { 7770: if (__t) 7770: emplace(std::move(*__t)); 7770: } 7770: 7770: template, bool> = false> 7770: explicit constexpr optional(in_place_t, _Args&&... __args) 7770: : _Base(std::in_place, std::forward<_Args>(__args)...) { } 7770: 7770: template&, 7770: _Args&&...>, bool> = false> 7770: explicit constexpr optional(in_place_t, 7770: initializer_list<_Up> __il, 7770: _Args&&... __args) 7770: : _Base(std::in_place, __il, std::forward<_Args>(__args)...) { } 7770: 7770: 7770: optional& 7770: operator=(nullopt_t) noexcept 7770: { 7770: this->_M_reset(); 7770: return *this; 7770: } 7770: 7770: template 7770: enable_if_t<__and_< 7770: __not_, decay_t<_Up>>>, 7770: is_constructible<_Tp, _Up>, 7770: __not_<__and_, 7770: is_same<_Tp, decay_t<_Up>>>>, 7770: is_assignable<_Tp&, _Up>>::value, 7770: optional&> 7770: operator=(_Up&& __u) 7770: { 7770: if (this->_M_is_engaged()) 7770: this->_M_get() = std::forward<_Up>(__u); 7770: else 7770: this->_M_construct(std::forward<_Up>(__u)); 7770: 7770: return *this; 7770: } 7770: 7770: template 7770: enable_if_t<__and_< 7770: __not_>, 7770: is_constructible<_Tp, const _Up&>, 7770: is_assignable<_Tp&, _Up>, 7770: __not_<__converts_from_optional<_Tp, _Up>>, 7770: __not_<__assigns_from_optional<_Tp, _Up>> 7770: >::value, 7770: optional&> 7770: operator=(const optional<_Up>& __u) 7770: { 7770: if (__u) 7770: { 7770: if (this->_M_is_engaged()) 7770: this->_M_get() = *__u; 7770: else 7770: this->_M_construct(*__u); 7770: } 7770: else 7770: { 7770: this->_M_reset(); 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: enable_if_t<__and_< 7770: __not_>, 7770: is_constructible<_Tp, _Up>, 7770: is_assignable<_Tp&, _Up>, 7770: __not_<__converts_from_optional<_Tp, _Up>>, 7770: __not_<__assigns_from_optional<_Tp, _Up>> 7770: >::value, 7770: optional&> 7770: operator=(optional<_Up>&& __u) 7770: { 7770: if (__u) 7770: { 7770: if (this->_M_is_engaged()) 7770: this->_M_get() = std::move(*__u); 7770: else 7770: this->_M_construct(std::move(*__u)); 7770: } 7770: else 7770: { 7770: this->_M_reset(); 7770: } 7770: 7770: return *this; 7770: } 7770: 7770: template 7770: enable_if_t::value, _Tp&> 7770: emplace(_Args&&... __args) 7770: { 7770: this->_M_reset(); 7770: this->_M_construct(std::forward<_Args>(__args)...); 7770: return this->_M_get(); 7770: } 7770: 7770: template 7770: enable_if_t&, 7770: _Args&&...>::value, _Tp&> 7770: emplace(initializer_list<_Up> __il, _Args&&... __args) 7770: { 7770: this->_M_reset(); 7770: this->_M_construct(__il, std::forward<_Args>(__args)...); 7770: return this->_M_get(); 7770: } 7770: 7770: 7770: 7770: 7770: void 7770: swap(optional& __other) 7770: noexcept(is_nothrow_move_constructible<_Tp>() 7770: && is_nothrow_swappable_v<_Tp>) 7770: { 7770: using std::swap; 7770: 7770: if (this->_M_is_engaged() && __other._M_is_engaged()) 7770: swap(this->_M_get(), __other._M_get()); 7770: else if (this->_M_is_engaged()) 7770: { 7770: __other._M_construct(std::move(this->_M_get())); 7770: this->_M_destruct(); 7770: } 7770: else if (__other._M_is_engaged()) 7770: { 7770: this->_M_construct(std::move(__other._M_get())); 7770: __other._M_destruct(); 7770: } 7770: } 7770: 7770: 7770: constexpr const _Tp* 7770: operator->() const 7770: { return std::__addressof(this->_M_get()); } 7770: 7770: _Tp* 7770: operator->() 7770: { return std::__addressof(this->_M_get()); } 7770: 7770: constexpr const _Tp& 7770: operator*() const& 7770: { return this->_M_get(); } 7770: 7770: constexpr _Tp& 7770: operator*()& 7770: { return this->_M_get(); } 7770: 7770: constexpr _Tp&& 7770: operator*()&& 7770: { return std::move(this->_M_get()); } 7770: 7770: constexpr const _Tp&& 7770: operator*() const&& 7770: { return std::move(this->_M_get()); } 7770: 7770: constexpr explicit operator bool() const noexcept 7770: { return this->_M_is_engaged(); } 7770: 7770: constexpr bool has_value() const noexcept 7770: { return this->_M_is_engaged(); } 7770: 7770: constexpr const _Tp& 7770: value() const& 7770: { 7770: return this->_M_is_engaged() 7770: ? this->_M_get() 7770: : (__throw_bad_optional_access(), 7770: this->_M_get()); 7770: } 7770: 7770: constexpr _Tp& 7770: value()& 7770: { 7770: return this->_M_is_engaged() 7770: ? this->_M_get() 7770: : (__throw_bad_optional_access(), 7770: this->_M_get()); 7770: } 7770: 7770: constexpr _Tp&& 7770: value()&& 7770: { 7770: return this->_M_is_engaged() 7770: ? std::move(this->_M_get()) 7770: : (__throw_bad_optional_access(), 7770: std::move(this->_M_get())); 7770: } 7770: 7770: constexpr const _Tp&& 7770: value() const&& 7770: { 7770: return this->_M_is_engaged() 7770: ? std::move(this->_M_get()) 7770: : (__throw_bad_optional_access(), 7770: std::move(this->_M_get())); 7770: } 7770: 7770: template 7770: constexpr _Tp 7770: value_or(_Up&& __u) const& 7770: { 7770: static_assert(is_copy_constructible_v<_Tp>); 7770: static_assert(is_convertible_v<_Up&&, _Tp>); 7770: 7770: return this->_M_is_engaged() 7770: ? this->_M_get() 7770: : static_cast<_Tp>(std::forward<_Up>(__u)); 7770: } 7770: 7770: template 7770: _Tp 7770: value_or(_Up&& __u) && 7770: { 7770: static_assert(is_move_constructible_v<_Tp>); 7770: static_assert(is_convertible_v<_Up&&, _Tp>); 7770: 7770: return this->_M_is_engaged() 7770: ? std::move(this->_M_get()) 7770: : static_cast<_Tp>(std::forward<_Up>(__u)); 7770: } 7770: void reset() noexcept { this->_M_reset(); } 7770: }; 7770: 7770: template 7770: using __optional_relop_t = 7770: enable_if_t::value, bool>; 7770: 7770: 7770: template 7770: constexpr auto 7770: operator==(const optional<_Tp>& __lhs, const optional<_Up>& __rhs) 7770: -> __optional_relop_t() == declval<_Up>())> 7770: { 7770: return static_cast(__lhs) == static_cast(__rhs) 7770: && (!__lhs || *__lhs == *__rhs); 7770: } 7770: 7770: template 7770: constexpr auto 7770: operator!=(const optional<_Tp>& __lhs, const optional<_Up>& __rhs) 7770: -> __optional_relop_t() != declval<_Up>())> 7770: { 7770: return static_cast(__lhs) != static_cast(__rhs) 7770: || (static_cast(__lhs) && *__lhs != *__rhs); 7770: } 7770: 7770: template 7770: constexpr auto 7770: operator<(const optional<_Tp>& __lhs, const optional<_Up>& __rhs) 7770: -> __optional_relop_t() < declval<_Up>())> 7770: { 7770: return static_cast(__rhs) && (!__lhs || *__lhs < *__rhs); 7770: } 7770: 7770: template 7770: constexpr auto 7770: operator>(const optional<_Tp>& __lhs, const optional<_Up>& __rhs) 7770: -> __optional_relop_t() > declval<_Up>())> 7770: { 7770: return static_cast(__lhs) && (!__rhs || *__lhs > *__rhs); 7770: } 7770: 7770: template 7770: constexpr auto 7770: operator<=(const optional<_Tp>& __lhs, const optional<_Up>& __rhs) 7770: -> __optional_relop_t() <= declval<_Up>())> 7770: { 7770: return !__lhs || (static_cast(__rhs) && *__lhs <= *__rhs); 7770: } 7770: 7770: template 7770: constexpr auto 7770: operator>=(const optional<_Tp>& __lhs, const optional<_Up>& __rhs) 7770: -> __optional_relop_t() >= declval<_Up>())> 7770: { 7770: return !__rhs || (static_cast(__lhs) && *__lhs >= *__rhs); 7770: } 7770: 7770: 7770: template 7770: constexpr bool 7770: operator==(const optional<_Tp>& __lhs, nullopt_t) noexcept 7770: { return !__lhs; } 7770: 7770: template 7770: constexpr bool 7770: operator==(nullopt_t, const optional<_Tp>& __rhs) noexcept 7770: { return !__rhs; } 7770: 7770: template 7770: constexpr bool 7770: operator!=(const optional<_Tp>& __lhs, nullopt_t) noexcept 7770: { return static_cast(__lhs); } 7770: 7770: template 7770: constexpr bool 7770: operator!=(nullopt_t, const optional<_Tp>& __rhs) noexcept 7770: { return static_cast(__rhs); } 7770: 7770: template 7770: constexpr bool 7770: operator<(const optional<_Tp>& , nullopt_t) noexcept 7770: { return false; } 7770: 7770: template 7770: constexpr bool 7770: operator<(nullopt_t, const optional<_Tp>& __rhs) noexcept 7770: { return static_cast(__rhs); } 7770: 7770: template 7770: constexpr bool 7770: operator>(const optional<_Tp>& __lhs, nullopt_t) noexcept 7770: { return static_cast(__lhs); } 7770: 7770: template 7770: constexpr bool 7770: operator>(nullopt_t, const optional<_Tp>& ) noexcept 7770: { return false; } 7770: 7770: template 7770: constexpr bool 7770: operator<=(const optional<_Tp>& __lhs, nullopt_t) noexcept 7770: { return !__lhs; } 7770: 7770: template 7770: constexpr bool 7770: operator<=(nullopt_t, const optional<_Tp>& ) noexcept 7770: { return true; } 7770: 7770: template 7770: constexpr bool 7770: operator>=(const optional<_Tp>& , nullopt_t) noexcept 7770: { return true; } 7770: 7770: template 7770: constexpr bool 7770: operator>=(nullopt_t, const optional<_Tp>& __rhs) noexcept 7770: { return !__rhs; } 7770: 7770: 7770: template 7770: constexpr auto 7770: operator==(const optional<_Tp>& __lhs, const _Up& __rhs) 7770: -> __optional_relop_t() == declval<_Up>())> 7770: { return __lhs && *__lhs == __rhs; } 7770: 7770: template 7770: constexpr auto 7770: operator==(const _Up& __lhs, const optional<_Tp>& __rhs) 7770: -> __optional_relop_t() == declval<_Tp>())> 7770: { return __rhs && __lhs == *__rhs; } 7770: 7770: template 7770: constexpr auto 7770: operator!=(const optional<_Tp>& __lhs, const _Up& __rhs) 7770: -> __optional_relop_t() != declval<_Up>())> 7770: { return !__lhs || *__lhs != __rhs; } 7770: 7770: template 7770: constexpr auto 7770: operator!=(const _Up& __lhs, const optional<_Tp>& __rhs) 7770: -> __optional_relop_t() != declval<_Tp>())> 7770: { return !__rhs || __lhs != *__rhs; } 7770: 7770: template 7770: constexpr auto 7770: operator<(const optional<_Tp>& __lhs, const _Up& __rhs) 7770: -> __optional_relop_t() < declval<_Up>())> 7770: { return !__lhs || *__lhs < __rhs; } 7770: 7770: template 7770: constexpr auto 7770: operator<(const _Up& __lhs, const optional<_Tp>& __rhs) 7770: -> __optional_relop_t() < declval<_Tp>())> 7770: { return __rhs && __lhs < *__rhs; } 7770: 7770: template 7770: constexpr auto 7770: operator>(const optional<_Tp>& __lhs, const _Up& __rhs) 7770: -> __optional_relop_t() > declval<_Up>())> 7770: { return __lhs && *__lhs > __rhs; } 7770: 7770: template 7770: constexpr auto 7770: operator>(const _Up& __lhs, const optional<_Tp>& __rhs) 7770: -> __optional_relop_t() > declval<_Tp>())> 7770: { return !__rhs || __lhs > *__rhs; } 7770: 7770: template 7770: constexpr auto 7770: operator<=(const optional<_Tp>& __lhs, const _Up& __rhs) 7770: -> __optional_relop_t() <= declval<_Up>())> 7770: { return !__lhs || *__lhs <= __rhs; } 7770: 7770: template 7770: constexpr auto 7770: operator<=(const _Up& __lhs, const optional<_Tp>& __rhs) 7770: -> __optional_relop_t() <= declval<_Tp>())> 7770: { return __rhs && __lhs <= *__rhs; } 7770: 7770: template 7770: constexpr auto 7770: operator>=(const optional<_Tp>& __lhs, const _Up& __rhs) 7770: -> __optional_relop_t() >= declval<_Up>())> 7770: { return __lhs && *__lhs >= __rhs; } 7770: 7770: template 7770: constexpr auto 7770: operator>=(const _Up& __lhs, const optional<_Tp>& __rhs) 7770: -> __optional_relop_t() >= declval<_Tp>())> 7770: { return !__rhs || __lhs >= *__rhs; } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline enable_if_t && is_swappable_v<_Tp>> 7770: swap(optional<_Tp>& __lhs, optional<_Tp>& __rhs) 7770: noexcept(noexcept(__lhs.swap(__rhs))) 7770: { __lhs.swap(__rhs); } 7770: 7770: template 7770: enable_if_t && is_swappable_v<_Tp>)> 7770: swap(optional<_Tp>&, optional<_Tp>&) = delete; 7770: 7770: template 7770: constexpr optional> 7770: make_optional(_Tp&& __t) 7770: { return optional> { std::forward<_Tp>(__t) }; } 7770: 7770: template 7770: constexpr optional<_Tp> 7770: make_optional(_Args&&... __args) 7770: { return optional<_Tp> { in_place, std::forward<_Args>(__args)... }; } 7770: 7770: template 7770: constexpr optional<_Tp> 7770: make_optional(initializer_list<_Up> __il, _Args&&... __args) 7770: { return optional<_Tp> { in_place, __il, std::forward<_Args>(__args)... }; } 7770: 7770: 7770: 7770: template, 7770: bool = __poison_hash<_Up>::__enable_hash_call> 7770: struct __optional_hash_call_base 7770: { 7770: size_t 7770: operator()(const optional<_Tp>& __t) const 7770: noexcept(noexcept(hash<_Up>{}(*__t))) 7770: { 7770: 7770: 7770: constexpr size_t __magic_disengaged_hash = static_cast(-3333); 7770: return __t ? hash<_Up>{}(*__t) : __magic_disengaged_hash; 7770: } 7770: }; 7770: 7770: template 7770: struct __optional_hash_call_base<_Tp, _Up, false> {}; 7770: 7770: template 7770: struct hash> 7770: : private __poison_hash>, 7770: public __optional_hash_call_base<_Tp> 7770: { 7770: using result_type [[__deprecated__]] = size_t; 7770: using argument_type [[__deprecated__]] = optional<_Tp>; 7770: }; 7770: 7770: template 7770: struct __is_fast_hash>> : __is_fast_hash> 7770: { }; 7770: 7770: 7770: 7770: 7770: template optional(_Tp) -> optional<_Tp>; 7770: 7770: 7770: 7770: } 7770: # 40 "/usr/include/c++/8/bits/node_handle.h" 2 3 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: template 7770: class _Node_handle_common 7770: { 7770: using _AllocTraits = allocator_traits<_NodeAlloc>; 7770: 7770: public: 7770: using allocator_type = __alloc_rebind<_NodeAlloc, _Val>; 7770: 7770: allocator_type 7770: get_allocator() const noexcept 7770: { 7770: ; 7770: return allocator_type(*_M_alloc); 7770: } 7770: 7770: explicit operator bool() const noexcept { return _M_ptr != nullptr; } 7770: 7770: [[nodiscard]] bool empty() const noexcept { return _M_ptr == nullptr; } 7770: 7770: protected: 7770: constexpr _Node_handle_common() noexcept : _M_ptr(), _M_alloc() {} 7770: 7770: ~_Node_handle_common() { _M_destroy(); } 7770: 7770: _Node_handle_common(_Node_handle_common&& __nh) noexcept 7770: : _M_ptr(__nh._M_ptr), _M_alloc(std::move(__nh._M_alloc)) 7770: { 7770: __nh._M_ptr = nullptr; 7770: __nh._M_alloc = nullopt; 7770: } 7770: 7770: _Node_handle_common& 7770: operator=(_Node_handle_common&& __nh) noexcept 7770: { 7770: _M_destroy(); 7770: _M_ptr = __nh._M_ptr; 7770: if constexpr (is_move_assignable_v<_NodeAlloc>) 7770: { 7770: if (_AllocTraits::propagate_on_container_move_assignment::value 7770: || !this->_M_alloc) 7770: this->_M_alloc = std::move(__nh._M_alloc); 7770: else 7770: { 7770: ; 7770: } 7770: } 7770: else 7770: { 7770: ; 7770: } 7770: __nh._M_ptr = nullptr; 7770: __nh._M_alloc = nullopt; 7770: return *this; 7770: } 7770: 7770: _Node_handle_common(typename _AllocTraits::pointer __ptr, 7770: const _NodeAlloc& __alloc) 7770: : _M_ptr(__ptr), _M_alloc(__alloc) { } 7770: 7770: void 7770: _M_swap(_Node_handle_common& __nh) noexcept 7770: { 7770: using std::swap; 7770: swap(_M_ptr, __nh._M_ptr); 7770: if (_AllocTraits::propagate_on_container_swap 7770: || !_M_alloc || !__nh._M_alloc) 7770: _M_alloc.swap(__nh._M_alloc); 7770: else 7770: { 7770: ; 7770: } 7770: } 7770: 7770: private: 7770: void 7770: _M_destroy() noexcept 7770: { 7770: if (_M_ptr != nullptr) 7770: { 7770: allocator_type __alloc(*_M_alloc); 7770: allocator_traits::destroy(__alloc, 7770: _M_ptr->_M_valptr()); 7770: _AllocTraits::deallocate(*_M_alloc, _M_ptr, 1); 7770: } 7770: } 7770: 7770: protected: 7770: typename _AllocTraits::pointer _M_ptr; 7770: private: 7770: optional<_NodeAlloc> _M_alloc; 7770: 7770: template 7770: friend class _Rb_tree; 7770: }; 7770: 7770: 7770: template 7770: class _Node_handle : public _Node_handle_common<_Value, _NodeAlloc> 7770: { 7770: public: 7770: constexpr _Node_handle() noexcept = default; 7770: ~_Node_handle() = default; 7770: _Node_handle(_Node_handle&&) noexcept = default; 7770: 7770: _Node_handle& 7770: operator=(_Node_handle&&) noexcept = default; 7770: 7770: using key_type = _Key; 7770: using mapped_type = typename _Value::second_type; 7770: 7770: key_type& 7770: key() const noexcept 7770: { 7770: ; 7770: return *_M_pkey; 7770: } 7770: 7770: mapped_type& 7770: mapped() const noexcept 7770: { 7770: ; 7770: return *_M_pmapped; 7770: } 7770: 7770: void 7770: swap(_Node_handle& __nh) noexcept 7770: { 7770: this->_M_swap(__nh); 7770: using std::swap; 7770: swap(_M_pkey, __nh._M_pkey); 7770: swap(_M_pmapped, __nh._M_pmapped); 7770: } 7770: 7770: friend void 7770: swap(_Node_handle& __x, _Node_handle& __y) 7770: noexcept(noexcept(__x.swap(__y))) 7770: { __x.swap(__y); } 7770: 7770: private: 7770: using _AllocTraits = allocator_traits<_NodeAlloc>; 7770: 7770: _Node_handle(typename _AllocTraits::pointer __ptr, 7770: const _NodeAlloc& __alloc) 7770: : _Node_handle_common<_Value, _NodeAlloc>(__ptr, __alloc) 7770: { 7770: if (__ptr) 7770: { 7770: auto& __key = const_cast<_Key&>(__ptr->_M_valptr()->first); 7770: _M_pkey = _S_pointer_to(__key); 7770: _M_pmapped = _S_pointer_to(__ptr->_M_valptr()->second); 7770: } 7770: else 7770: { 7770: _M_pkey = nullptr; 7770: _M_pmapped = nullptr; 7770: } 7770: } 7770: 7770: template 7770: using __pointer 7770: = __ptr_rebind>; 7770: 7770: __pointer<_Key> _M_pkey = nullptr; 7770: __pointer _M_pmapped = nullptr; 7770: 7770: template 7770: __pointer<_Tp> 7770: _S_pointer_to(_Tp& __obj) 7770: { return pointer_traits<__pointer<_Tp>>::pointer_to(__obj); } 7770: 7770: const key_type& 7770: _M_key() const noexcept { return key(); } 7770: 7770: template 7770: friend class _Rb_tree; 7770: 7770: template 7770: friend class _Hashtable; 7770: }; 7770: 7770: 7770: template 7770: class _Node_handle<_Value, _Value, _NodeAlloc> 7770: : public _Node_handle_common<_Value, _NodeAlloc> 7770: { 7770: public: 7770: constexpr _Node_handle() noexcept = default; 7770: ~_Node_handle() = default; 7770: _Node_handle(_Node_handle&&) noexcept = default; 7770: 7770: _Node_handle& 7770: operator=(_Node_handle&&) noexcept = default; 7770: 7770: using value_type = _Value; 7770: 7770: value_type& 7770: value() const noexcept 7770: { 7770: ; 7770: return *this->_M_ptr->_M_valptr(); 7770: } 7770: 7770: void 7770: swap(_Node_handle& __nh) noexcept 7770: { this->_M_swap(__nh); } 7770: 7770: friend void 7770: swap(_Node_handle& __x, _Node_handle& __y) 7770: noexcept(noexcept(__x.swap(__y))) 7770: { __x.swap(__y); } 7770: 7770: private: 7770: using _AllocTraits = allocator_traits<_NodeAlloc>; 7770: 7770: _Node_handle(typename _AllocTraits::pointer __ptr, 7770: const _NodeAlloc& __alloc) 7770: : _Node_handle_common<_Value, _NodeAlloc>(__ptr, __alloc) { } 7770: 7770: const value_type& 7770: _M_key() const noexcept { return value(); } 7770: 7770: template 7770: friend class _Rb_tree; 7770: 7770: template 7770: friend class _Hashtable; 7770: }; 7770: 7770: 7770: template 7770: struct _Node_insert_return 7770: { 7770: _Iterator position = _Iterator(); 7770: bool inserted = false; 7770: _NodeHandle node; 7770: }; 7770: 7770: 7770: } 7770: # 73 "/usr/include/c++/8/bits/stl_tree.h" 2 3 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 99 "/usr/include/c++/8/bits/stl_tree.h" 3 7770: enum _Rb_tree_color { _S_red = false, _S_black = true }; 7770: 7770: struct _Rb_tree_node_base 7770: { 7770: typedef _Rb_tree_node_base* _Base_ptr; 7770: typedef const _Rb_tree_node_base* _Const_Base_ptr; 7770: 7770: _Rb_tree_color _M_color; 7770: _Base_ptr _M_parent; 7770: _Base_ptr _M_left; 7770: _Base_ptr _M_right; 7770: 7770: static _Base_ptr 7770: _S_minimum(_Base_ptr __x) noexcept 7770: { 7770: while (__x->_M_left != 0) __x = __x->_M_left; 7770: return __x; 7770: } 7770: 7770: static _Const_Base_ptr 7770: _S_minimum(_Const_Base_ptr __x) noexcept 7770: { 7770: while (__x->_M_left != 0) __x = __x->_M_left; 7770: return __x; 7770: } 7770: 7770: static _Base_ptr 7770: _S_maximum(_Base_ptr __x) noexcept 7770: { 7770: while (__x->_M_right != 0) __x = __x->_M_right; 7770: return __x; 7770: } 7770: 7770: static _Const_Base_ptr 7770: _S_maximum(_Const_Base_ptr __x) noexcept 7770: { 7770: while (__x->_M_right != 0) __x = __x->_M_right; 7770: return __x; 7770: } 7770: }; 7770: 7770: 7770: template 7770: struct _Rb_tree_key_compare 7770: { 7770: _Key_compare _M_key_compare; 7770: 7770: _Rb_tree_key_compare() 7770: noexcept(is_nothrow_default_constructible<_Key_compare>::value) 7770: 7770: : _M_key_compare() 7770: { } 7770: 7770: _Rb_tree_key_compare(const _Key_compare& __comp) 7770: : _M_key_compare(__comp) 7770: { } 7770: 7770: 7770: 7770: _Rb_tree_key_compare(const _Rb_tree_key_compare&) = default; 7770: 7770: _Rb_tree_key_compare(_Rb_tree_key_compare&& __x) 7770: noexcept(is_nothrow_copy_constructible<_Key_compare>::value) 7770: : _M_key_compare(__x._M_key_compare) 7770: { } 7770: 7770: }; 7770: 7770: 7770: struct _Rb_tree_header 7770: { 7770: _Rb_tree_node_base _M_header; 7770: size_t _M_node_count; 7770: 7770: _Rb_tree_header() noexcept 7770: { 7770: _M_header._M_color = _S_red; 7770: _M_reset(); 7770: } 7770: 7770: 7770: _Rb_tree_header(_Rb_tree_header&& __x) noexcept 7770: { 7770: if (__x._M_header._M_parent != nullptr) 7770: _M_move_data(__x); 7770: else 7770: { 7770: _M_header._M_color = _S_red; 7770: _M_reset(); 7770: } 7770: } 7770: 7770: 7770: void 7770: _M_move_data(_Rb_tree_header& __from) 7770: { 7770: _M_header._M_color = __from._M_header._M_color; 7770: _M_header._M_parent = __from._M_header._M_parent; 7770: _M_header._M_left = __from._M_header._M_left; 7770: _M_header._M_right = __from._M_header._M_right; 7770: _M_header._M_parent->_M_parent = &_M_header; 7770: _M_node_count = __from._M_node_count; 7770: 7770: __from._M_reset(); 7770: } 7770: 7770: void 7770: _M_reset() 7770: { 7770: _M_header._M_parent = 0; 7770: _M_header._M_left = &_M_header; 7770: _M_header._M_right = &_M_header; 7770: _M_node_count = 0; 7770: } 7770: }; 7770: 7770: template 7770: struct _Rb_tree_node : public _Rb_tree_node_base 7770: { 7770: typedef _Rb_tree_node<_Val>* _Link_type; 7770: # 231 "/usr/include/c++/8/bits/stl_tree.h" 3 7770: __gnu_cxx::__aligned_membuf<_Val> _M_storage; 7770: 7770: _Val* 7770: _M_valptr() 7770: { return _M_storage._M_ptr(); } 7770: 7770: const _Val* 7770: _M_valptr() const 7770: { return _M_storage._M_ptr(); } 7770: 7770: }; 7770: 7770: __attribute__ ((__pure__)) _Rb_tree_node_base* 7770: _Rb_tree_increment(_Rb_tree_node_base* __x) throw (); 7770: 7770: __attribute__ ((__pure__)) const _Rb_tree_node_base* 7770: _Rb_tree_increment(const _Rb_tree_node_base* __x) throw (); 7770: 7770: __attribute__ ((__pure__)) _Rb_tree_node_base* 7770: _Rb_tree_decrement(_Rb_tree_node_base* __x) throw (); 7770: 7770: __attribute__ ((__pure__)) const _Rb_tree_node_base* 7770: _Rb_tree_decrement(const _Rb_tree_node_base* __x) throw (); 7770: 7770: template 7770: struct _Rb_tree_iterator 7770: { 7770: typedef _Tp value_type; 7770: typedef _Tp& reference; 7770: typedef _Tp* pointer; 7770: 7770: typedef bidirectional_iterator_tag iterator_category; 7770: typedef ptrdiff_t difference_type; 7770: 7770: typedef _Rb_tree_iterator<_Tp> _Self; 7770: typedef _Rb_tree_node_base::_Base_ptr _Base_ptr; 7770: typedef _Rb_tree_node<_Tp>* _Link_type; 7770: 7770: _Rb_tree_iterator() noexcept 7770: : _M_node() { } 7770: 7770: explicit 7770: _Rb_tree_iterator(_Base_ptr __x) noexcept 7770: : _M_node(__x) { } 7770: 7770: reference 7770: operator*() const noexcept 7770: { return *static_cast<_Link_type>(_M_node)->_M_valptr(); } 7770: 7770: pointer 7770: operator->() const noexcept 7770: { return static_cast<_Link_type> (_M_node)->_M_valptr(); } 7770: 7770: _Self& 7770: operator++() noexcept 7770: { 7770: _M_node = _Rb_tree_increment(_M_node); 7770: return *this; 7770: } 7770: 7770: _Self 7770: operator++(int) noexcept 7770: { 7770: _Self __tmp = *this; 7770: _M_node = _Rb_tree_increment(_M_node); 7770: return __tmp; 7770: } 7770: 7770: _Self& 7770: operator--() noexcept 7770: { 7770: _M_node = _Rb_tree_decrement(_M_node); 7770: return *this; 7770: } 7770: 7770: _Self 7770: operator--(int) noexcept 7770: { 7770: _Self __tmp = *this; 7770: _M_node = _Rb_tree_decrement(_M_node); 7770: return __tmp; 7770: } 7770: 7770: bool 7770: operator==(const _Self& __x) const noexcept 7770: { return _M_node == __x._M_node; } 7770: 7770: bool 7770: operator!=(const _Self& __x) const noexcept 7770: { return _M_node != __x._M_node; } 7770: 7770: _Base_ptr _M_node; 7770: }; 7770: 7770: template 7770: struct _Rb_tree_const_iterator 7770: { 7770: typedef _Tp value_type; 7770: typedef const _Tp& reference; 7770: typedef const _Tp* pointer; 7770: 7770: typedef _Rb_tree_iterator<_Tp> iterator; 7770: 7770: typedef bidirectional_iterator_tag iterator_category; 7770: typedef ptrdiff_t difference_type; 7770: 7770: typedef _Rb_tree_const_iterator<_Tp> _Self; 7770: typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr; 7770: typedef const _Rb_tree_node<_Tp>* _Link_type; 7770: 7770: _Rb_tree_const_iterator() noexcept 7770: : _M_node() { } 7770: 7770: explicit 7770: _Rb_tree_const_iterator(_Base_ptr __x) noexcept 7770: : _M_node(__x) { } 7770: 7770: _Rb_tree_const_iterator(const iterator& __it) noexcept 7770: : _M_node(__it._M_node) { } 7770: 7770: iterator 7770: _M_const_cast() const noexcept 7770: { return iterator(const_cast(_M_node)); } 7770: 7770: reference 7770: operator*() const noexcept 7770: { return *static_cast<_Link_type>(_M_node)->_M_valptr(); } 7770: 7770: pointer 7770: operator->() const noexcept 7770: { return static_cast<_Link_type>(_M_node)->_M_valptr(); } 7770: 7770: _Self& 7770: operator++() noexcept 7770: { 7770: _M_node = _Rb_tree_increment(_M_node); 7770: return *this; 7770: } 7770: 7770: _Self 7770: operator++(int) noexcept 7770: { 7770: _Self __tmp = *this; 7770: _M_node = _Rb_tree_increment(_M_node); 7770: return __tmp; 7770: } 7770: 7770: _Self& 7770: operator--() noexcept 7770: { 7770: _M_node = _Rb_tree_decrement(_M_node); 7770: return *this; 7770: } 7770: 7770: _Self 7770: operator--(int) noexcept 7770: { 7770: _Self __tmp = *this; 7770: _M_node = _Rb_tree_decrement(_M_node); 7770: return __tmp; 7770: } 7770: 7770: bool 7770: operator==(const _Self& __x) const noexcept 7770: { return _M_node == __x._M_node; } 7770: 7770: bool 7770: operator!=(const _Self& __x) const noexcept 7770: { return _M_node != __x._M_node; } 7770: 7770: _Base_ptr _M_node; 7770: }; 7770: 7770: template 7770: inline bool 7770: operator==(const _Rb_tree_iterator<_Val>& __x, 7770: const _Rb_tree_const_iterator<_Val>& __y) noexcept 7770: { return __x._M_node == __y._M_node; } 7770: 7770: template 7770: inline bool 7770: operator!=(const _Rb_tree_iterator<_Val>& __x, 7770: const _Rb_tree_const_iterator<_Val>& __y) noexcept 7770: { return __x._M_node != __y._M_node; } 7770: 7770: void 7770: _Rb_tree_insert_and_rebalance(const bool __insert_left, 7770: _Rb_tree_node_base* __x, 7770: _Rb_tree_node_base* __p, 7770: _Rb_tree_node_base& __header) throw (); 7770: 7770: _Rb_tree_node_base* 7770: _Rb_tree_rebalance_for_erase(_Rb_tree_node_base* const __z, 7770: _Rb_tree_node_base& __header) throw (); 7770: 7770: 7770: template> 7770: struct __has_is_transparent 7770: { }; 7770: 7770: template 7770: struct __has_is_transparent<_Cmp, _SfinaeType, 7770: __void_t> 7770: { typedef void type; }; 7770: 7770: 7770: 7770: template 7770: struct _Rb_tree_merge_helper { }; 7770: 7770: 7770: template > 7770: class _Rb_tree 7770: { 7770: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 7770: rebind<_Rb_tree_node<_Val> >::other _Node_allocator; 7770: 7770: typedef __gnu_cxx::__alloc_traits<_Node_allocator> _Alloc_traits; 7770: 7770: 7770: static_assert(__is_invocable<_Compare&, const _Key&, const _Key&>{}, 7770: "comparison object must be invocable with two arguments of key type"); 7770: 7770: 7770: 7770: static_assert(is_invocable_v, 7770: "comparison object must be invocable as const"); 7770: 7770: 7770: 7770: protected: 7770: typedef _Rb_tree_node_base* _Base_ptr; 7770: typedef const _Rb_tree_node_base* _Const_Base_ptr; 7770: typedef _Rb_tree_node<_Val>* _Link_type; 7770: typedef const _Rb_tree_node<_Val>* _Const_Link_type; 7770: 7770: private: 7770: 7770: 7770: struct _Reuse_or_alloc_node 7770: { 7770: _Reuse_or_alloc_node(_Rb_tree& __t) 7770: : _M_root(__t._M_root()), _M_nodes(__t._M_rightmost()), _M_t(__t) 7770: { 7770: if (_M_root) 7770: { 7770: _M_root->_M_parent = 0; 7770: 7770: if (_M_nodes->_M_left) 7770: _M_nodes = _M_nodes->_M_left; 7770: } 7770: else 7770: _M_nodes = 0; 7770: } 7770: 7770: 7770: _Reuse_or_alloc_node(const _Reuse_or_alloc_node&) = delete; 7770: 7770: 7770: ~_Reuse_or_alloc_node() 7770: { _M_t._M_erase(static_cast<_Link_type>(_M_root)); } 7770: 7770: template 7770: _Link_type 7770: 7770: 7770: 7770: operator()(_Arg&& __arg) 7770: 7770: { 7770: _Link_type __node = static_cast<_Link_type>(_M_extract()); 7770: if (__node) 7770: { 7770: _M_t._M_destroy_node(__node); 7770: _M_t._M_construct_node(__node, std::forward<_Arg>(__arg)); 7770: return __node; 7770: } 7770: 7770: return _M_t._M_create_node(std::forward<_Arg>(__arg)); 7770: } 7770: 7770: private: 7770: _Base_ptr 7770: _M_extract() 7770: { 7770: if (!_M_nodes) 7770: return _M_nodes; 7770: 7770: _Base_ptr __node = _M_nodes; 7770: _M_nodes = _M_nodes->_M_parent; 7770: if (_M_nodes) 7770: { 7770: if (_M_nodes->_M_right == __node) 7770: { 7770: _M_nodes->_M_right = 0; 7770: 7770: if (_M_nodes->_M_left) 7770: { 7770: _M_nodes = _M_nodes->_M_left; 7770: 7770: while (_M_nodes->_M_right) 7770: _M_nodes = _M_nodes->_M_right; 7770: 7770: if (_M_nodes->_M_left) 7770: _M_nodes = _M_nodes->_M_left; 7770: } 7770: } 7770: else 7770: _M_nodes->_M_left = 0; 7770: } 7770: else 7770: _M_root = 0; 7770: 7770: return __node; 7770: } 7770: 7770: _Base_ptr _M_root; 7770: _Base_ptr _M_nodes; 7770: _Rb_tree& _M_t; 7770: }; 7770: 7770: 7770: 7770: struct _Alloc_node 7770: { 7770: _Alloc_node(_Rb_tree& __t) 7770: : _M_t(__t) { } 7770: 7770: template 7770: _Link_type 7770: 7770: 7770: 7770: operator()(_Arg&& __arg) const 7770: 7770: { return _M_t._M_create_node(std::forward<_Arg>(__arg)); } 7770: 7770: private: 7770: _Rb_tree& _M_t; 7770: }; 7770: 7770: public: 7770: typedef _Key key_type; 7770: typedef _Val value_type; 7770: typedef value_type* pointer; 7770: typedef const value_type* const_pointer; 7770: typedef value_type& reference; 7770: typedef const value_type& const_reference; 7770: typedef size_t size_type; 7770: typedef ptrdiff_t difference_type; 7770: typedef _Alloc allocator_type; 7770: 7770: _Node_allocator& 7770: _M_get_Node_allocator() noexcept 7770: { return this->_M_impl; } 7770: 7770: const _Node_allocator& 7770: _M_get_Node_allocator() const noexcept 7770: { return this->_M_impl; } 7770: 7770: allocator_type 7770: get_allocator() const noexcept 7770: { return allocator_type(_M_get_Node_allocator()); } 7770: 7770: protected: 7770: _Link_type 7770: _M_get_node() 7770: { return _Alloc_traits::allocate(_M_get_Node_allocator(), 1); } 7770: 7770: void 7770: _M_put_node(_Link_type __p) noexcept 7770: { _Alloc_traits::deallocate(_M_get_Node_allocator(), __p, 1); } 7770: # 630 "/usr/include/c++/8/bits/stl_tree.h" 3 7770: template 7770: void 7770: _M_construct_node(_Link_type __node, _Args&&... __args) 7770: { 7770: if (true) 7770: { 7770: ::new(__node) _Rb_tree_node<_Val>; 7770: _Alloc_traits::construct(_M_get_Node_allocator(), 7770: __node->_M_valptr(), 7770: std::forward<_Args>(__args)...); 7770: } 7770: if (false) 7770: { 7770: __node->~_Rb_tree_node<_Val>(); 7770: _M_put_node(__node); 7770: ; 7770: } 7770: } 7770: 7770: template 7770: _Link_type 7770: _M_create_node(_Args&&... __args) 7770: { 7770: _Link_type __tmp = _M_get_node(); 7770: _M_construct_node(__tmp, std::forward<_Args>(__args)...); 7770: return __tmp; 7770: } 7770: 7770: void 7770: _M_destroy_node(_Link_type __p) noexcept 7770: { 7770: _Alloc_traits::destroy(_M_get_Node_allocator(), __p->_M_valptr()); 7770: __p->~_Rb_tree_node<_Val>(); 7770: } 7770: 7770: 7770: void 7770: _M_drop_node(_Link_type __p) noexcept 7770: { 7770: _M_destroy_node(__p); 7770: _M_put_node(__p); 7770: } 7770: 7770: template 7770: _Link_type 7770: _M_clone_node(_Const_Link_type __x, _NodeGen& __node_gen) 7770: { 7770: _Link_type __tmp = __node_gen(*__x->_M_valptr()); 7770: __tmp->_M_color = __x->_M_color; 7770: __tmp->_M_left = 0; 7770: __tmp->_M_right = 0; 7770: return __tmp; 7770: } 7770: 7770: protected: 7770: 7770: 7770: 7770: 7770: template 7770: 7770: struct _Rb_tree_impl 7770: : public _Node_allocator 7770: , public _Rb_tree_key_compare<_Key_compare> 7770: , public _Rb_tree_header 7770: { 7770: typedef _Rb_tree_key_compare<_Key_compare> _Base_key_compare; 7770: 7770: _Rb_tree_impl() 7770: noexcept(is_nothrow_default_constructible<_Node_allocator>::value && is_nothrow_default_constructible<_Base_key_compare>::value) 7770: 7770: 7770: : _Node_allocator() 7770: { } 7770: 7770: _Rb_tree_impl(const _Rb_tree_impl& __x) 7770: : _Node_allocator(_Alloc_traits::_S_select_on_copy(__x)) 7770: , _Base_key_compare(__x._M_key_compare) 7770: { } 7770: 7770: 7770: 7770: 7770: 7770: 7770: _Rb_tree_impl(_Rb_tree_impl&&) = default; 7770: 7770: _Rb_tree_impl(const _Key_compare& __comp, _Node_allocator&& __a) 7770: : _Node_allocator(std::move(__a)), _Base_key_compare(__comp) 7770: { } 7770: 7770: }; 7770: 7770: _Rb_tree_impl<_Compare> _M_impl; 7770: 7770: protected: 7770: _Base_ptr& 7770: _M_root() noexcept 7770: { return this->_M_impl._M_header._M_parent; } 7770: 7770: _Const_Base_ptr 7770: _M_root() const noexcept 7770: { return this->_M_impl._M_header._M_parent; } 7770: 7770: _Base_ptr& 7770: _M_leftmost() noexcept 7770: { return this->_M_impl._M_header._M_left; } 7770: 7770: _Const_Base_ptr 7770: _M_leftmost() const noexcept 7770: { return this->_M_impl._M_header._M_left; } 7770: 7770: _Base_ptr& 7770: _M_rightmost() noexcept 7770: { return this->_M_impl._M_header._M_right; } 7770: 7770: _Const_Base_ptr 7770: _M_rightmost() const noexcept 7770: { return this->_M_impl._M_header._M_right; } 7770: 7770: _Link_type 7770: _M_begin() noexcept 7770: { return static_cast<_Link_type>(this->_M_impl._M_header._M_parent); } 7770: 7770: _Const_Link_type 7770: _M_begin() const noexcept 7770: { 7770: return static_cast<_Const_Link_type> 7770: (this->_M_impl._M_header._M_parent); 7770: } 7770: 7770: _Base_ptr 7770: _M_end() noexcept 7770: { return &this->_M_impl._M_header; } 7770: 7770: _Const_Base_ptr 7770: _M_end() const noexcept 7770: { return &this->_M_impl._M_header; } 7770: 7770: static const_reference 7770: _S_value(_Const_Link_type __x) 7770: { return *__x->_M_valptr(); } 7770: 7770: static const _Key& 7770: _S_key(_Const_Link_type __x) 7770: { return _KeyOfValue()(_S_value(__x)); } 7770: 7770: static _Link_type 7770: _S_left(_Base_ptr __x) noexcept 7770: { return static_cast<_Link_type>(__x->_M_left); } 7770: 7770: static _Const_Link_type 7770: _S_left(_Const_Base_ptr __x) noexcept 7770: { return static_cast<_Const_Link_type>(__x->_M_left); } 7770: 7770: static _Link_type 7770: _S_right(_Base_ptr __x) noexcept 7770: { return static_cast<_Link_type>(__x->_M_right); } 7770: 7770: static _Const_Link_type 7770: _S_right(_Const_Base_ptr __x) noexcept 7770: { return static_cast<_Const_Link_type>(__x->_M_right); } 7770: 7770: static const_reference 7770: _S_value(_Const_Base_ptr __x) 7770: { return *static_cast<_Const_Link_type>(__x)->_M_valptr(); } 7770: 7770: static const _Key& 7770: _S_key(_Const_Base_ptr __x) 7770: { return _KeyOfValue()(_S_value(__x)); } 7770: 7770: static _Base_ptr 7770: _S_minimum(_Base_ptr __x) noexcept 7770: { return _Rb_tree_node_base::_S_minimum(__x); } 7770: 7770: static _Const_Base_ptr 7770: _S_minimum(_Const_Base_ptr __x) noexcept 7770: { return _Rb_tree_node_base::_S_minimum(__x); } 7770: 7770: static _Base_ptr 7770: _S_maximum(_Base_ptr __x) noexcept 7770: { return _Rb_tree_node_base::_S_maximum(__x); } 7770: 7770: static _Const_Base_ptr 7770: _S_maximum(_Const_Base_ptr __x) noexcept 7770: { return _Rb_tree_node_base::_S_maximum(__x); } 7770: 7770: public: 7770: typedef _Rb_tree_iterator iterator; 7770: typedef _Rb_tree_const_iterator const_iterator; 7770: 7770: typedef std::reverse_iterator reverse_iterator; 7770: typedef std::reverse_iterator const_reverse_iterator; 7770: 7770: 7770: using node_type = _Node_handle<_Key, _Val, _Node_allocator>; 7770: using insert_return_type = _Node_insert_return< 7770: conditional_t, const_iterator, iterator>, 7770: node_type>; 7770: 7770: 7770: pair<_Base_ptr, _Base_ptr> 7770: _M_get_insert_unique_pos(const key_type& __k); 7770: 7770: pair<_Base_ptr, _Base_ptr> 7770: _M_get_insert_equal_pos(const key_type& __k); 7770: 7770: pair<_Base_ptr, _Base_ptr> 7770: _M_get_insert_hint_unique_pos(const_iterator __pos, 7770: const key_type& __k); 7770: 7770: pair<_Base_ptr, _Base_ptr> 7770: _M_get_insert_hint_equal_pos(const_iterator __pos, 7770: const key_type& __k); 7770: 7770: private: 7770: 7770: template 7770: iterator 7770: _M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v, _NodeGen&); 7770: 7770: iterator 7770: _M_insert_node(_Base_ptr __x, _Base_ptr __y, _Link_type __z); 7770: 7770: template 7770: iterator 7770: _M_insert_lower(_Base_ptr __y, _Arg&& __v); 7770: 7770: template 7770: iterator 7770: _M_insert_equal_lower(_Arg&& __x); 7770: 7770: iterator 7770: _M_insert_lower_node(_Base_ptr __p, _Link_type __z); 7770: 7770: iterator 7770: _M_insert_equal_lower_node(_Link_type __z); 7770: # 883 "/usr/include/c++/8/bits/stl_tree.h" 3 7770: template 7770: _Link_type 7770: _M_copy(_Const_Link_type __x, _Base_ptr __p, _NodeGen&); 7770: 7770: template 7770: _Link_type 7770: _M_copy(const _Rb_tree& __x, _NodeGen& __gen) 7770: { 7770: _Link_type __root = _M_copy(__x._M_begin(), _M_end(), __gen); 7770: _M_leftmost() = _S_minimum(__root); 7770: _M_rightmost() = _S_maximum(__root); 7770: _M_impl._M_node_count = __x._M_impl._M_node_count; 7770: return __root; 7770: } 7770: 7770: _Link_type 7770: _M_copy(const _Rb_tree& __x) 7770: { 7770: _Alloc_node __an(*this); 7770: return _M_copy(__x, __an); 7770: } 7770: 7770: void 7770: _M_erase(_Link_type __x); 7770: 7770: iterator 7770: _M_lower_bound(_Link_type __x, _Base_ptr __y, 7770: const _Key& __k); 7770: 7770: const_iterator 7770: _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y, 7770: const _Key& __k) const; 7770: 7770: iterator 7770: _M_upper_bound(_Link_type __x, _Base_ptr __y, 7770: const _Key& __k); 7770: 7770: const_iterator 7770: _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y, 7770: const _Key& __k) const; 7770: 7770: public: 7770: 7770: 7770: 7770: 7770: _Rb_tree() = default; 7770: 7770: 7770: _Rb_tree(const _Compare& __comp, 7770: const allocator_type& __a = allocator_type()) 7770: : _M_impl(__comp, _Node_allocator(__a)) { } 7770: 7770: _Rb_tree(const _Rb_tree& __x) 7770: : _M_impl(__x._M_impl) 7770: { 7770: if (__x._M_root() != 0) 7770: _M_root() = _M_copy(__x); 7770: } 7770: 7770: 7770: _Rb_tree(const allocator_type& __a) 7770: : _M_impl(_Compare(), _Node_allocator(__a)) 7770: { } 7770: 7770: _Rb_tree(const _Rb_tree& __x, const allocator_type& __a) 7770: : _M_impl(__x._M_impl._M_key_compare, _Node_allocator(__a)) 7770: { 7770: if (__x._M_root() != nullptr) 7770: _M_root() = _M_copy(__x); 7770: } 7770: 7770: _Rb_tree(_Rb_tree&&) = default; 7770: 7770: _Rb_tree(_Rb_tree&& __x, const allocator_type& __a) 7770: : _Rb_tree(std::move(__x), _Node_allocator(__a)) 7770: { } 7770: 7770: _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a); 7770: 7770: 7770: ~_Rb_tree() noexcept 7770: { _M_erase(_M_begin()); } 7770: 7770: _Rb_tree& 7770: operator=(const _Rb_tree& __x); 7770: 7770: 7770: _Compare 7770: key_comp() const 7770: { return _M_impl._M_key_compare; } 7770: 7770: iterator 7770: begin() noexcept 7770: { return iterator(this->_M_impl._M_header._M_left); } 7770: 7770: const_iterator 7770: begin() const noexcept 7770: { return const_iterator(this->_M_impl._M_header._M_left); } 7770: 7770: iterator 7770: end() noexcept 7770: { return iterator(&this->_M_impl._M_header); } 7770: 7770: const_iterator 7770: end() const noexcept 7770: { return const_iterator(&this->_M_impl._M_header); } 7770: 7770: reverse_iterator 7770: rbegin() noexcept 7770: { return reverse_iterator(end()); } 7770: 7770: const_reverse_iterator 7770: rbegin() const noexcept 7770: { return const_reverse_iterator(end()); } 7770: 7770: reverse_iterator 7770: rend() noexcept 7770: { return reverse_iterator(begin()); } 7770: 7770: const_reverse_iterator 7770: rend() const noexcept 7770: { return const_reverse_iterator(begin()); } 7770: 7770: bool 7770: empty() const noexcept 7770: { return _M_impl._M_node_count == 0; } 7770: 7770: size_type 7770: size() const noexcept 7770: { return _M_impl._M_node_count; } 7770: 7770: size_type 7770: max_size() const noexcept 7770: { return _Alloc_traits::max_size(_M_get_Node_allocator()); } 7770: 7770: void 7770: swap(_Rb_tree& __t) 7770: noexcept(__is_nothrow_swappable<_Compare>::value); 7770: 7770: 7770: 7770: template 7770: pair 7770: _M_insert_unique(_Arg&& __x); 7770: 7770: template 7770: iterator 7770: _M_insert_equal(_Arg&& __x); 7770: 7770: template 7770: iterator 7770: _M_insert_unique_(const_iterator __pos, _Arg&& __x, _NodeGen&); 7770: 7770: template 7770: iterator 7770: _M_insert_unique_(const_iterator __pos, _Arg&& __x) 7770: { 7770: _Alloc_node __an(*this); 7770: return _M_insert_unique_(__pos, std::forward<_Arg>(__x), __an); 7770: } 7770: 7770: template 7770: iterator 7770: _M_insert_equal_(const_iterator __pos, _Arg&& __x, _NodeGen&); 7770: 7770: template 7770: iterator 7770: _M_insert_equal_(const_iterator __pos, _Arg&& __x) 7770: { 7770: _Alloc_node __an(*this); 7770: return _M_insert_equal_(__pos, std::forward<_Arg>(__x), __an); 7770: } 7770: 7770: template 7770: pair 7770: _M_emplace_unique(_Args&&... __args); 7770: 7770: template 7770: iterator 7770: _M_emplace_equal(_Args&&... __args); 7770: 7770: template 7770: iterator 7770: _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args); 7770: 7770: template 7770: iterator 7770: _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args); 7770: # 1103 "/usr/include/c++/8/bits/stl_tree.h" 3 7770: template 7770: void 7770: _M_insert_unique(_InputIterator __first, _InputIterator __last); 7770: 7770: template 7770: void 7770: _M_insert_equal(_InputIterator __first, _InputIterator __last); 7770: 7770: private: 7770: void 7770: _M_erase_aux(const_iterator __position); 7770: 7770: void 7770: _M_erase_aux(const_iterator __first, const_iterator __last); 7770: 7770: public: 7770: 7770: 7770: 7770: __attribute ((__abi_tag__ ("cxx11"))) 7770: iterator 7770: erase(const_iterator __position) 7770: { 7770: ; 7770: const_iterator __result = __position; 7770: ++__result; 7770: _M_erase_aux(__position); 7770: return __result._M_const_cast(); 7770: } 7770: 7770: 7770: __attribute ((__abi_tag__ ("cxx11"))) 7770: iterator 7770: erase(iterator __position) 7770: { 7770: ; 7770: iterator __result = __position; 7770: ++__result; 7770: _M_erase_aux(__position); 7770: return __result; 7770: } 7770: # 1159 "/usr/include/c++/8/bits/stl_tree.h" 3 7770: size_type 7770: erase(const key_type& __x); 7770: 7770: 7770: 7770: 7770: __attribute ((__abi_tag__ ("cxx11"))) 7770: iterator 7770: erase(const_iterator __first, const_iterator __last) 7770: { 7770: _M_erase_aux(__first, __last); 7770: return __last._M_const_cast(); 7770: } 7770: # 1181 "/usr/include/c++/8/bits/stl_tree.h" 3 7770: void 7770: erase(const key_type* __first, const key_type* __last); 7770: 7770: void 7770: clear() noexcept 7770: { 7770: _M_erase(_M_begin()); 7770: _M_impl._M_reset(); 7770: } 7770: 7770: 7770: iterator 7770: find(const key_type& __k); 7770: 7770: const_iterator 7770: find(const key_type& __k) const; 7770: 7770: size_type 7770: count(const key_type& __k) const; 7770: 7770: iterator 7770: lower_bound(const key_type& __k) 7770: { return _M_lower_bound(_M_begin(), _M_end(), __k); } 7770: 7770: const_iterator 7770: lower_bound(const key_type& __k) const 7770: { return _M_lower_bound(_M_begin(), _M_end(), __k); } 7770: 7770: iterator 7770: upper_bound(const key_type& __k) 7770: { return _M_upper_bound(_M_begin(), _M_end(), __k); } 7770: 7770: const_iterator 7770: upper_bound(const key_type& __k) const 7770: { return _M_upper_bound(_M_begin(), _M_end(), __k); } 7770: 7770: pair 7770: equal_range(const key_type& __k); 7770: 7770: pair 7770: equal_range(const key_type& __k) const; 7770: 7770: 7770: template::type> 7770: iterator 7770: _M_find_tr(const _Kt& __k) 7770: { 7770: const _Rb_tree* __const_this = this; 7770: return __const_this->_M_find_tr(__k)._M_const_cast(); 7770: } 7770: 7770: template::type> 7770: const_iterator 7770: _M_find_tr(const _Kt& __k) const 7770: { 7770: auto __j = _M_lower_bound_tr(__k); 7770: if (__j != end() && _M_impl._M_key_compare(__k, _S_key(__j._M_node))) 7770: __j = end(); 7770: return __j; 7770: } 7770: 7770: template::type> 7770: size_type 7770: _M_count_tr(const _Kt& __k) const 7770: { 7770: auto __p = _M_equal_range_tr(__k); 7770: return std::distance(__p.first, __p.second); 7770: } 7770: 7770: template::type> 7770: iterator 7770: _M_lower_bound_tr(const _Kt& __k) 7770: { 7770: const _Rb_tree* __const_this = this; 7770: return __const_this->_M_lower_bound_tr(__k)._M_const_cast(); 7770: } 7770: 7770: template::type> 7770: const_iterator 7770: _M_lower_bound_tr(const _Kt& __k) const 7770: { 7770: auto __x = _M_begin(); 7770: auto __y = _M_end(); 7770: while (__x != 0) 7770: if (!_M_impl._M_key_compare(_S_key(__x), __k)) 7770: { 7770: __y = __x; 7770: __x = _S_left(__x); 7770: } 7770: else 7770: __x = _S_right(__x); 7770: return const_iterator(__y); 7770: } 7770: 7770: template::type> 7770: iterator 7770: _M_upper_bound_tr(const _Kt& __k) 7770: { 7770: const _Rb_tree* __const_this = this; 7770: return __const_this->_M_upper_bound_tr(__k)._M_const_cast(); 7770: } 7770: 7770: template::type> 7770: const_iterator 7770: _M_upper_bound_tr(const _Kt& __k) const 7770: { 7770: auto __x = _M_begin(); 7770: auto __y = _M_end(); 7770: while (__x != 0) 7770: if (_M_impl._M_key_compare(__k, _S_key(__x))) 7770: { 7770: __y = __x; 7770: __x = _S_left(__x); 7770: } 7770: else 7770: __x = _S_right(__x); 7770: return const_iterator(__y); 7770: } 7770: 7770: template::type> 7770: pair 7770: _M_equal_range_tr(const _Kt& __k) 7770: { 7770: const _Rb_tree* __const_this = this; 7770: auto __ret = __const_this->_M_equal_range_tr(__k); 7770: return { __ret.first._M_const_cast(), __ret.second._M_const_cast() }; 7770: } 7770: 7770: template::type> 7770: pair 7770: _M_equal_range_tr(const _Kt& __k) const 7770: { 7770: auto __low = _M_lower_bound_tr(__k); 7770: auto __high = __low; 7770: auto& __cmp = _M_impl._M_key_compare; 7770: while (__high != end() && !__cmp(__k, _S_key(__high._M_node))) 7770: ++__high; 7770: return { __low, __high }; 7770: } 7770: 7770: 7770: 7770: bool 7770: __rb_verify() const; 7770: 7770: 7770: _Rb_tree& 7770: operator=(_Rb_tree&&) 7770: noexcept(_Alloc_traits::_S_nothrow_move() 7770: && is_nothrow_move_assignable<_Compare>::value); 7770: 7770: template 7770: void 7770: _M_assign_unique(_Iterator, _Iterator); 7770: 7770: template 7770: void 7770: _M_assign_equal(_Iterator, _Iterator); 7770: 7770: private: 7770: 7770: void 7770: _M_move_data(_Rb_tree& __x, std::true_type) 7770: { _M_impl._M_move_data(__x._M_impl); } 7770: 7770: 7770: 7770: void 7770: _M_move_data(_Rb_tree&, std::false_type); 7770: 7770: 7770: void 7770: _M_move_assign(_Rb_tree&, std::true_type); 7770: 7770: 7770: 7770: void 7770: _M_move_assign(_Rb_tree&, std::false_type); 7770: 7770: 7770: 7770: public: 7770: 7770: insert_return_type 7770: _M_reinsert_node_unique(node_type&& __nh) 7770: { 7770: insert_return_type __ret; 7770: if (__nh.empty()) 7770: __ret.position = end(); 7770: else 7770: { 7770: ; 7770: 7770: auto __res = _M_get_insert_unique_pos(__nh._M_key()); 7770: if (__res.second) 7770: { 7770: __ret.position 7770: = _M_insert_node(__res.first, __res.second, __nh._M_ptr); 7770: __nh._M_ptr = nullptr; 7770: __ret.inserted = true; 7770: } 7770: else 7770: { 7770: __ret.node = std::move(__nh); 7770: __ret.position = iterator(__res.first); 7770: __ret.inserted = false; 7770: } 7770: } 7770: return __ret; 7770: } 7770: 7770: 7770: iterator 7770: _M_reinsert_node_equal(node_type&& __nh) 7770: { 7770: iterator __ret; 7770: if (__nh.empty()) 7770: __ret = end(); 7770: else 7770: { 7770: ; 7770: auto __res = _M_get_insert_equal_pos(__nh._M_key()); 7770: if (__res.second) 7770: __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr); 7770: else 7770: __ret = _M_insert_equal_lower_node(__nh._M_ptr); 7770: __nh._M_ptr = nullptr; 7770: } 7770: return __ret; 7770: } 7770: 7770: 7770: iterator 7770: _M_reinsert_node_hint_unique(const_iterator __hint, node_type&& __nh) 7770: { 7770: iterator __ret; 7770: if (__nh.empty()) 7770: __ret = end(); 7770: else 7770: { 7770: ; 7770: auto __res = _M_get_insert_hint_unique_pos(__hint, __nh._M_key()); 7770: if (__res.second) 7770: { 7770: __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr); 7770: __nh._M_ptr = nullptr; 7770: } 7770: else 7770: __ret = iterator(__res.first); 7770: } 7770: return __ret; 7770: } 7770: 7770: 7770: iterator 7770: _M_reinsert_node_hint_equal(const_iterator __hint, node_type&& __nh) 7770: { 7770: iterator __ret; 7770: if (__nh.empty()) 7770: __ret = end(); 7770: else 7770: { 7770: ; 7770: auto __res = _M_get_insert_hint_equal_pos(__hint, __nh._M_key()); 7770: if (__res.second) 7770: __ret = _M_insert_node(__res.first, __res.second, __nh._M_ptr); 7770: else 7770: __ret = _M_insert_equal_lower_node(__nh._M_ptr); 7770: __nh._M_ptr = nullptr; 7770: } 7770: return __ret; 7770: } 7770: 7770: 7770: node_type 7770: extract(const_iterator __pos) 7770: { 7770: auto __ptr = _Rb_tree_rebalance_for_erase( 7770: __pos._M_const_cast()._M_node, _M_impl._M_header); 7770: --_M_impl._M_node_count; 7770: return { static_cast<_Link_type>(__ptr), _M_get_Node_allocator() }; 7770: } 7770: 7770: 7770: node_type 7770: extract(const key_type& __k) 7770: { 7770: node_type __nh; 7770: auto __pos = find(__k); 7770: if (__pos != end()) 7770: __nh = extract(const_iterator(__pos)); 7770: return __nh; 7770: } 7770: 7770: template 7770: using _Compatible_tree 7770: = _Rb_tree<_Key, _Val, _KeyOfValue, _Compare2, _Alloc>; 7770: 7770: template 7770: friend class _Rb_tree_merge_helper; 7770: 7770: 7770: template 7770: void 7770: _M_merge_unique(_Compatible_tree<_Compare2>& __src) noexcept 7770: { 7770: using _Merge_helper = _Rb_tree_merge_helper<_Rb_tree, _Compare2>; 7770: for (auto __i = __src.begin(), __end = __src.end(); __i != __end;) 7770: { 7770: auto __pos = __i++; 7770: auto __res = _M_get_insert_unique_pos(_KeyOfValue()(*__pos)); 7770: if (__res.second) 7770: { 7770: auto& __src_impl = _Merge_helper::_S_get_impl(__src); 7770: auto __ptr = _Rb_tree_rebalance_for_erase( 7770: __pos._M_node, __src_impl._M_header); 7770: --__src_impl._M_node_count; 7770: _M_insert_node(__res.first, __res.second, 7770: static_cast<_Link_type>(__ptr)); 7770: } 7770: } 7770: } 7770: 7770: 7770: template 7770: void 7770: _M_merge_equal(_Compatible_tree<_Compare2>& __src) noexcept 7770: { 7770: using _Merge_helper = _Rb_tree_merge_helper<_Rb_tree, _Compare2>; 7770: for (auto __i = __src.begin(), __end = __src.end(); __i != __end;) 7770: { 7770: auto __pos = __i++; 7770: auto __res = _M_get_insert_equal_pos(_KeyOfValue()(*__pos)); 7770: if (__res.second) 7770: { 7770: auto& __src_impl = _Merge_helper::_S_get_impl(__src); 7770: auto __ptr = _Rb_tree_rebalance_for_erase( 7770: __pos._M_node, __src_impl._M_header); 7770: --__src_impl._M_node_count; 7770: _M_insert_node(__res.first, __res.second, 7770: static_cast<_Link_type>(__ptr)); 7770: } 7770: } 7770: } 7770: 7770: }; 7770: 7770: template 7770: inline bool 7770: operator==(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 7770: const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 7770: { 7770: return __x.size() == __y.size() 7770: && std::equal(__x.begin(), __x.end(), __y.begin()); 7770: } 7770: 7770: template 7770: inline bool 7770: operator<(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 7770: const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 7770: { 7770: return std::lexicographical_compare(__x.begin(), __x.end(), 7770: __y.begin(), __y.end()); 7770: } 7770: 7770: template 7770: inline bool 7770: operator!=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 7770: const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 7770: { return !(__x == __y); } 7770: 7770: template 7770: inline bool 7770: operator>(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 7770: const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 7770: { return __y < __x; } 7770: 7770: template 7770: inline bool 7770: operator<=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 7770: const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 7770: { return !(__y < __x); } 7770: 7770: template 7770: inline bool 7770: operator>=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 7770: const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 7770: { return !(__x < __y); } 7770: 7770: template 7770: inline void 7770: swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) 7770: { __x.swap(__y); } 7770: 7770: 7770: template 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a) 7770: : _M_impl(__x._M_impl._M_key_compare, std::move(__a)) 7770: { 7770: using __eq = typename _Alloc_traits::is_always_equal; 7770: if (__x._M_root() != nullptr) 7770: _M_move_data(__x, __eq()); 7770: } 7770: 7770: template 7770: void 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_move_data(_Rb_tree& __x, std::false_type) 7770: { 7770: if (_M_get_Node_allocator() == __x._M_get_Node_allocator()) 7770: _M_move_data(__x, std::true_type()); 7770: else 7770: { 7770: _Alloc_node __an(*this); 7770: auto __lbd = 7770: [&__an](const value_type& __cval) 7770: { 7770: auto& __val = const_cast(__cval); 7770: return __an(std::move_if_noexcept(__val)); 7770: }; 7770: _M_root() = _M_copy(__x, __lbd); 7770: } 7770: } 7770: 7770: template 7770: inline void 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_move_assign(_Rb_tree& __x, true_type) 7770: { 7770: clear(); 7770: if (__x._M_root() != nullptr) 7770: _M_move_data(__x, std::true_type()); 7770: std::__alloc_on_move(_M_get_Node_allocator(), 7770: __x._M_get_Node_allocator()); 7770: } 7770: 7770: template 7770: void 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_move_assign(_Rb_tree& __x, false_type) 7770: { 7770: if (_M_get_Node_allocator() == __x._M_get_Node_allocator()) 7770: return _M_move_assign(__x, true_type{}); 7770: 7770: 7770: 7770: _Reuse_or_alloc_node __roan(*this); 7770: _M_impl._M_reset(); 7770: if (__x._M_root() != nullptr) 7770: { 7770: auto __lbd = 7770: [&__roan](const value_type& __cval) 7770: { 7770: auto& __val = const_cast(__cval); 7770: return __roan(std::move_if_noexcept(__val)); 7770: }; 7770: _M_root() = _M_copy(__x, __lbd); 7770: __x.clear(); 7770: } 7770: } 7770: 7770: template 7770: inline _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: operator=(_Rb_tree&& __x) 7770: noexcept(_Alloc_traits::_S_nothrow_move() 7770: && is_nothrow_move_assignable<_Compare>::value) 7770: { 7770: _M_impl._M_key_compare = std::move(__x._M_impl._M_key_compare); 7770: _M_move_assign(__x, __bool_constant<_Alloc_traits::_S_nothrow_move()>()); 7770: return *this; 7770: } 7770: 7770: template 7770: template 7770: void 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_assign_unique(_Iterator __first, _Iterator __last) 7770: { 7770: _Reuse_or_alloc_node __roan(*this); 7770: _M_impl._M_reset(); 7770: for (; __first != __last; ++__first) 7770: _M_insert_unique_(end(), *__first, __roan); 7770: } 7770: 7770: template 7770: template 7770: void 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_assign_equal(_Iterator __first, _Iterator __last) 7770: { 7770: _Reuse_or_alloc_node __roan(*this); 7770: _M_impl._M_reset(); 7770: for (; __first != __last; ++__first) 7770: _M_insert_equal_(end(), *__first, __roan); 7770: } 7770: 7770: 7770: template 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: operator=(const _Rb_tree& __x) 7770: { 7770: if (this != &__x) 7770: { 7770: 7770: 7770: if (_Alloc_traits::_S_propagate_on_copy_assign()) 7770: { 7770: auto& __this_alloc = this->_M_get_Node_allocator(); 7770: auto& __that_alloc = __x._M_get_Node_allocator(); 7770: if (!_Alloc_traits::_S_always_equal() 7770: && __this_alloc != __that_alloc) 7770: { 7770: 7770: 7770: clear(); 7770: std::__alloc_on_copy(__this_alloc, __that_alloc); 7770: } 7770: } 7770: 7770: 7770: _Reuse_or_alloc_node __roan(*this); 7770: _M_impl._M_reset(); 7770: _M_impl._M_key_compare = __x._M_impl._M_key_compare; 7770: if (__x._M_root() != 0) 7770: _M_root() = _M_copy(__x, __roan); 7770: } 7770: 7770: return *this; 7770: } 7770: 7770: template 7770: 7770: template 7770: 7770: 7770: 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_insert_(_Base_ptr __x, _Base_ptr __p, 7770: 7770: _Arg&& __v, 7770: 7770: 7770: 7770: _NodeGen& __node_gen) 7770: { 7770: bool __insert_left = (__x != 0 || __p == _M_end() 7770: || _M_impl._M_key_compare(_KeyOfValue()(__v), 7770: _S_key(__p))); 7770: 7770: _Link_type __z = __node_gen(std::forward<_Arg>(__v)); 7770: 7770: _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, 7770: this->_M_impl._M_header); 7770: ++_M_impl._M_node_count; 7770: return iterator(__z); 7770: } 7770: 7770: template 7770: 7770: template 7770: 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: 7770: _M_insert_lower(_Base_ptr __p, _Arg&& __v) 7770: 7770: 7770: 7770: { 7770: bool __insert_left = (__p == _M_end() 7770: || !_M_impl._M_key_compare(_S_key(__p), 7770: _KeyOfValue()(__v))); 7770: 7770: _Link_type __z = _M_create_node(std::forward<_Arg>(__v)); 7770: 7770: _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, 7770: this->_M_impl._M_header); 7770: ++_M_impl._M_node_count; 7770: return iterator(__z); 7770: } 7770: 7770: template 7770: 7770: template 7770: 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: 7770: _M_insert_equal_lower(_Arg&& __v) 7770: 7770: 7770: 7770: { 7770: _Link_type __x = _M_begin(); 7770: _Base_ptr __y = _M_end(); 7770: while (__x != 0) 7770: { 7770: __y = __x; 7770: __x = !_M_impl._M_key_compare(_S_key(__x), _KeyOfValue()(__v)) ? 7770: _S_left(__x) : _S_right(__x); 7770: } 7770: return _M_insert_lower(__y, std::forward<_Arg>(__v)); 7770: } 7770: 7770: template 7770: template 7770: typename _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::_Link_type 7770: _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>:: 7770: _M_copy(_Const_Link_type __x, _Base_ptr __p, _NodeGen& __node_gen) 7770: { 7770: 7770: _Link_type __top = _M_clone_node(__x, __node_gen); 7770: __top->_M_parent = __p; 7770: 7770: if (true) 7770: { 7770: if (__x->_M_right) 7770: __top->_M_right = _M_copy(_S_right(__x), __top, __node_gen); 7770: __p = __top; 7770: __x = _S_left(__x); 7770: 7770: while (__x != 0) 7770: { 7770: _Link_type __y = _M_clone_node(__x, __node_gen); 7770: __p->_M_left = __y; 7770: __y->_M_parent = __p; 7770: if (__x->_M_right) 7770: __y->_M_right = _M_copy(_S_right(__x), __y, __node_gen); 7770: __p = __y; 7770: __x = _S_left(__x); 7770: } 7770: } 7770: if (false) 7770: { 7770: _M_erase(__top); 7770: ; 7770: } 7770: return __top; 7770: } 7770: 7770: template 7770: void 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_erase(_Link_type __x) 7770: { 7770: 7770: while (__x != 0) 7770: { 7770: _M_erase(_S_right(__x)); 7770: _Link_type __y = _S_left(__x); 7770: _M_drop_node(__x); 7770: __x = __y; 7770: } 7770: } 7770: 7770: g++ -c -g -O2 -fdebug-prefix-map=/build/qtbase-opensource-src-qCENTj/qtbase-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/<>/qtlocation-opensource-src-5.9.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_LOCATION_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_POSITIONING_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../3rdparty/earcut -I../3rdparty/poly2tri -I../3rdparty/clipper -I../3rdparty/clip2tri -I../positioning -I../imports/positioning -I. -Imaps -Iplaces -Ideclarativemaps -Ideclarativeplaces -I../../include -I../../include/QtLocation -I../../include/QtLocation/5.9.3 -I../../include/QtLocation/5.9.3/QtLocation -I../../include/QtPositioning/5.9.3 -I../../include/QtPositioning/5.9.3/QtPositioning -I../../include/QtPositioning -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick/5.9.3/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui/5.9.3/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml/5.9.3/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtQuick -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtQml -isystem /usr/include/aarch64-linux-gnu/qt5/QtNetwork -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -I.moc -I/usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -o .obj/qplaceproposedsearchresult.o places/qplaceproposedsearchresult.cpp template 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, 7770: _Compare, _Alloc>::iterator 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_lower_bound(_Link_type __x, _Base_ptr __y, 7770: const _Key& __k) 7770: { 7770: while (__x != 0) 7770: if (!_M_impl._M_key_compare(_S_key(__x), __k)) 7770: __y = __x, __x = _S_left(__x); 7770: else 7770: __x = _S_right(__x); 7770: return iterator(__y); 7770: } 7770: 7770: template 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, 7770: _Compare, _Alloc>::const_iterator 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y, 7770: const _Key& __k) const 7770: { 7770: while (__x != 0) 7770: if (!_M_impl._M_key_compare(_S_key(__x), __k)) 7770: __y = __x, __x = _S_left(__x); 7770: else 7770: __x = _S_right(__x); 7770: return const_iterator(__y); 7770: } 7770: 7770: template 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, 7770: _Compare, _Alloc>::iterator 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_upper_bound(_Link_type __x, _Base_ptr __y, 7770: const _Key& __k) 7770: { 7770: while (__x != 0) 7770: if (_M_impl._M_key_compare(__k, _S_key(__x))) 7770: __y = __x, __x = _S_left(__x); 7770: else 7770: __x = _S_right(__x); 7770: return iterator(__y); 7770: } 7770: 7770: template 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, 7770: _Compare, _Alloc>::const_iterator 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y, 7770: const _Key& __k) const 7770: { 7770: while (__x != 0) 7770: if (_M_impl._M_key_compare(__k, _S_key(__x))) 7770: __y = __x, __x = _S_left(__x); 7770: else 7770: __x = _S_right(__x); 7770: return const_iterator(__y); 7770: } 7770: 7770: template 7770: pair::iterator, 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, 7770: _Compare, _Alloc>::iterator> 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: equal_range(const _Key& __k) 7770: { 7770: _Link_type __x = _M_begin(); 7770: _Base_ptr __y = _M_end(); 7770: while (__x != 0) 7770: { 7770: if (_M_impl._M_key_compare(_S_key(__x), __k)) 7770: __x = _S_right(__x); 7770: else if (_M_impl._M_key_compare(__k, _S_key(__x))) 7770: __y = __x, __x = _S_left(__x); 7770: else 7770: { 7770: _Link_type __xu(__x); 7770: _Base_ptr __yu(__y); 7770: __y = __x, __x = _S_left(__x); 7770: __xu = _S_right(__xu); 7770: return pair(_M_lower_bound(__x, __y, __k), 7770: _M_upper_bound(__xu, __yu, __k)); 7770: } 7770: } 7770: return pair(iterator(__y), 7770: iterator(__y)); 7770: } 7770: 7770: template 7770: pair::const_iterator, 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, 7770: _Compare, _Alloc>::const_iterator> 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: equal_range(const _Key& __k) const 7770: { 7770: _Const_Link_type __x = _M_begin(); 7770: _Const_Base_ptr __y = _M_end(); 7770: while (__x != 0) 7770: { 7770: if (_M_impl._M_key_compare(_S_key(__x), __k)) 7770: __x = _S_right(__x); 7770: else if (_M_impl._M_key_compare(__k, _S_key(__x))) 7770: __y = __x, __x = _S_left(__x); 7770: else 7770: { 7770: _Const_Link_type __xu(__x); 7770: _Const_Base_ptr __yu(__y); 7770: __y = __x, __x = _S_left(__x); 7770: __xu = _S_right(__xu); 7770: return pair(_M_lower_bound(__x, __y, __k), 7770: _M_upper_bound(__xu, __yu, __k)); 7770: } 7770: } 7770: return pair(const_iterator(__y), 7770: const_iterator(__y)); 7770: } 7770: 7770: template 7770: void 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: swap(_Rb_tree& __t) 7770: noexcept(__is_nothrow_swappable<_Compare>::value) 7770: { 7770: if (_M_root() == 0) 7770: { 7770: if (__t._M_root() != 0) 7770: _M_impl._M_move_data(__t._M_impl); 7770: } 7770: else if (__t._M_root() == 0) 7770: __t._M_impl._M_move_data(_M_impl); 7770: else 7770: { 7770: std::swap(_M_root(),__t._M_root()); 7770: std::swap(_M_leftmost(),__t._M_leftmost()); 7770: std::swap(_M_rightmost(),__t._M_rightmost()); 7770: 7770: _M_root()->_M_parent = _M_end(); 7770: __t._M_root()->_M_parent = __t._M_end(); 7770: std::swap(this->_M_impl._M_node_count, __t._M_impl._M_node_count); 7770: } 7770: 7770: std::swap(this->_M_impl._M_key_compare, __t._M_impl._M_key_compare); 7770: 7770: _Alloc_traits::_S_on_swap(_M_get_Node_allocator(), 7770: __t._M_get_Node_allocator()); 7770: } 7770: 7770: template 7770: pair::_Base_ptr, 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, 7770: _Compare, _Alloc>::_Base_ptr> 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_get_insert_unique_pos(const key_type& __k) 7770: { 7770: typedef pair<_Base_ptr, _Base_ptr> _Res; 7770: _Link_type __x = _M_begin(); 7770: _Base_ptr __y = _M_end(); 7770: bool __comp = true; 7770: while (__x != 0) 7770: { 7770: __y = __x; 7770: __comp = _M_impl._M_key_compare(__k, _S_key(__x)); 7770: __x = __comp ? _S_left(__x) : _S_right(__x); 7770: } 7770: iterator __j = iterator(__y); 7770: if (__comp) 7770: { 7770: if (__j == begin()) 7770: return _Res(__x, __y); 7770: else 7770: --__j; 7770: } 7770: if (_M_impl._M_key_compare(_S_key(__j._M_node), __k)) 7770: return _Res(__x, __y); 7770: return _Res(__j._M_node, 0); 7770: } 7770: 7770: template 7770: pair::_Base_ptr, 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, 7770: _Compare, _Alloc>::_Base_ptr> 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_get_insert_equal_pos(const key_type& __k) 7770: { 7770: typedef pair<_Base_ptr, _Base_ptr> _Res; 7770: _Link_type __x = _M_begin(); 7770: _Base_ptr __y = _M_end(); 7770: while (__x != 0) 7770: { 7770: __y = __x; 7770: __x = _M_impl._M_key_compare(__k, _S_key(__x)) ? 7770: _S_left(__x) : _S_right(__x); 7770: } 7770: return _Res(__x, __y); 7770: } 7770: 7770: template 7770: 7770: template 7770: 7770: pair::iterator, bool> 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: 7770: _M_insert_unique(_Arg&& __v) 7770: 7770: 7770: 7770: { 7770: typedef pair _Res; 7770: pair<_Base_ptr, _Base_ptr> __res 7770: = _M_get_insert_unique_pos(_KeyOfValue()(__v)); 7770: 7770: if (__res.second) 7770: { 7770: _Alloc_node __an(*this); 7770: return _Res(_M_insert_(__res.first, __res.second, 7770: std::forward<_Arg>(__v), __an), 7770: true); 7770: } 7770: 7770: return _Res(iterator(__res.first), false); 7770: } 7770: 7770: template 7770: 7770: template 7770: 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: 7770: _M_insert_equal(_Arg&& __v) 7770: 7770: 7770: 7770: { 7770: pair<_Base_ptr, _Base_ptr> __res 7770: = _M_get_insert_equal_pos(_KeyOfValue()(__v)); 7770: _Alloc_node __an(*this); 7770: return _M_insert_(__res.first, __res.second, 7770: std::forward<_Arg>(__v), __an); 7770: } 7770: 7770: template 7770: pair::_Base_ptr, 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, 7770: _Compare, _Alloc>::_Base_ptr> 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_get_insert_hint_unique_pos(const_iterator __position, 7770: const key_type& __k) 7770: { 7770: iterator __pos = __position._M_const_cast(); 7770: typedef pair<_Base_ptr, _Base_ptr> _Res; 7770: 7770: 7770: if (__pos._M_node == _M_end()) 7770: { 7770: if (size() > 0 7770: && _M_impl._M_key_compare(_S_key(_M_rightmost()), __k)) 7770: return _Res(0, _M_rightmost()); 7770: else 7770: return _M_get_insert_unique_pos(__k); 7770: } 7770: else if (_M_impl._M_key_compare(__k, _S_key(__pos._M_node))) 7770: { 7770: 7770: iterator __before = __pos; 7770: if (__pos._M_node == _M_leftmost()) 7770: return _Res(_M_leftmost(), _M_leftmost()); 7770: else if (_M_impl._M_key_compare(_S_key((--__before)._M_node), __k)) 7770: { 7770: if (_S_right(__before._M_node) == 0) 7770: return _Res(0, __before._M_node); 7770: else 7770: return _Res(__pos._M_node, __pos._M_node); 7770: } 7770: else 7770: return _M_get_insert_unique_pos(__k); 7770: } 7770: else if (_M_impl._M_key_compare(_S_key(__pos._M_node), __k)) 7770: { 7770: 7770: iterator __after = __pos; 7770: if (__pos._M_node == _M_rightmost()) 7770: return _Res(0, _M_rightmost()); 7770: else if (_M_impl._M_key_compare(__k, _S_key((++__after)._M_node))) 7770: { 7770: if (_S_right(__pos._M_node) == 0) 7770: return _Res(0, __pos._M_node); 7770: else 7770: return _Res(__after._M_node, __after._M_node); 7770: } 7770: else 7770: return _M_get_insert_unique_pos(__k); 7770: } 7770: else 7770: 7770: return _Res(__pos._M_node, 0); 7770: } 7770: 7770: template 7770: 7770: template 7770: 7770: 7770: 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_insert_unique_(const_iterator __position, 7770: 7770: _Arg&& __v, 7770: 7770: 7770: 7770: _NodeGen& __node_gen) 7770: { 7770: pair<_Base_ptr, _Base_ptr> __res 7770: = _M_get_insert_hint_unique_pos(__position, _KeyOfValue()(__v)); 7770: 7770: if (__res.second) 7770: return _M_insert_(__res.first, __res.second, 7770: std::forward<_Arg>(__v), 7770: __node_gen); 7770: return iterator(__res.first); 7770: } 7770: 7770: template 7770: pair::_Base_ptr, 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, 7770: _Compare, _Alloc>::_Base_ptr> 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_get_insert_hint_equal_pos(const_iterator __position, const key_type& __k) 7770: { 7770: iterator __pos = __position._M_const_cast(); 7770: typedef pair<_Base_ptr, _Base_ptr> _Res; 7770: 7770: 7770: if (__pos._M_node == _M_end()) 7770: { 7770: if (size() > 0 7770: && !_M_impl._M_key_compare(__k, _S_key(_M_rightmost()))) 7770: return _Res(0, _M_rightmost()); 7770: else 7770: return _M_get_insert_equal_pos(__k); 7770: } 7770: else if (!_M_impl._M_key_compare(_S_key(__pos._M_node), __k)) 7770: { 7770: 7770: iterator __before = __pos; 7770: if (__pos._M_node == _M_leftmost()) 7770: return _Res(_M_leftmost(), _M_leftmost()); 7770: else if (!_M_impl._M_key_compare(__k, _S_key((--__before)._M_node))) 7770: { 7770: if (_S_right(__before._M_node) == 0) 7770: return _Res(0, __before._M_node); 7770: else 7770: return _Res(__pos._M_node, __pos._M_node); 7770: } 7770: else 7770: return _M_get_insert_equal_pos(__k); 7770: } 7770: else 7770: { 7770: 7770: iterator __after = __pos; 7770: if (__pos._M_node == _M_rightmost()) 7770: return _Res(0, _M_rightmost()); 7770: else if (!_M_impl._M_key_compare(_S_key((++__after)._M_node), __k)) 7770: { 7770: if (_S_right(__pos._M_node) == 0) 7770: return _Res(0, __pos._M_node); 7770: else 7770: return _Res(__after._M_node, __after._M_node); 7770: } 7770: else 7770: return _Res(0, 0); 7770: } 7770: } 7770: 7770: template 7770: 7770: template 7770: 7770: 7770: 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_insert_equal_(const_iterator __position, 7770: 7770: _Arg&& __v, 7770: 7770: 7770: 7770: _NodeGen& __node_gen) 7770: { 7770: pair<_Base_ptr, _Base_ptr> __res 7770: = _M_get_insert_hint_equal_pos(__position, _KeyOfValue()(__v)); 7770: 7770: if (__res.second) 7770: return _M_insert_(__res.first, __res.second, 7770: std::forward<_Arg>(__v), 7770: __node_gen); 7770: 7770: return _M_insert_equal_lower(std::forward<_Arg>(__v)); 7770: } 7770: 7770: 7770: template 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_insert_node(_Base_ptr __x, _Base_ptr __p, _Link_type __z) 7770: { 7770: bool __insert_left = (__x != 0 || __p == _M_end() 7770: || _M_impl._M_key_compare(_S_key(__z), 7770: _S_key(__p))); 7770: 7770: _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, 7770: this->_M_impl._M_header); 7770: ++_M_impl._M_node_count; 7770: return iterator(__z); 7770: } 7770: 7770: template 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_insert_lower_node(_Base_ptr __p, _Link_type __z) 7770: { 7770: bool __insert_left = (__p == _M_end() 7770: || !_M_impl._M_key_compare(_S_key(__p), 7770: _S_key(__z))); 7770: 7770: _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, 7770: this->_M_impl._M_header); 7770: ++_M_impl._M_node_count; 7770: return iterator(__z); 7770: } 7770: 7770: template 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_insert_equal_lower_node(_Link_type __z) 7770: { 7770: _Link_type __x = _M_begin(); 7770: _Base_ptr __y = _M_end(); 7770: while (__x != 0) 7770: { 7770: __y = __x; 7770: __x = !_M_impl._M_key_compare(_S_key(__x), _S_key(__z)) ? 7770: _S_left(__x) : _S_right(__x); 7770: } 7770: return _M_insert_lower_node(__y, __z); 7770: } 7770: 7770: template 7770: template 7770: pair::iterator, bool> 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_emplace_unique(_Args&&... __args) 7770: { 7770: _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); 7770: 7770: if (true) 7770: { 7770: typedef pair _Res; 7770: auto __res = _M_get_insert_unique_pos(_S_key(__z)); 7770: if (__res.second) 7770: return _Res(_M_insert_node(__res.first, __res.second, __z), true); 7770: 7770: _M_drop_node(__z); 7770: return _Res(iterator(__res.first), false); 7770: } 7770: if (false) 7770: { 7770: _M_drop_node(__z); 7770: ; 7770: } 7770: } 7770: 7770: template 7770: template 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_emplace_equal(_Args&&... __args) 7770: { 7770: _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); 7770: 7770: if (true) 7770: { 7770: auto __res = _M_get_insert_equal_pos(_S_key(__z)); 7770: return _M_insert_node(__res.first, __res.second, __z); 7770: } 7770: if (false) 7770: { 7770: _M_drop_node(__z); 7770: ; 7770: } 7770: } 7770: 7770: template 7770: template 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args) 7770: { 7770: _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); 7770: 7770: if (true) 7770: { 7770: auto __res = _M_get_insert_hint_unique_pos(__pos, _S_key(__z)); 7770: 7770: if (__res.second) 7770: return _M_insert_node(__res.first, __res.second, __z); 7770: 7770: _M_drop_node(__z); 7770: return iterator(__res.first); 7770: } 7770: if (false) 7770: { 7770: _M_drop_node(__z); 7770: ; 7770: } 7770: } 7770: 7770: template 7770: template 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args) 7770: { 7770: _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); 7770: 7770: if (true) 7770: { 7770: auto __res = _M_get_insert_hint_equal_pos(__pos, _S_key(__z)); 7770: 7770: if (__res.second) 7770: return _M_insert_node(__res.first, __res.second, __z); 7770: 7770: return _M_insert_equal_lower_node(__z); 7770: } 7770: if (false) 7770: { 7770: _M_drop_node(__z); 7770: ; 7770: } 7770: } 7770: 7770: 7770: template 7770: template 7770: void 7770: _Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>:: 7770: _M_insert_unique(_II __first, _II __last) 7770: { 7770: _Alloc_node __an(*this); 7770: for (; __first != __last; ++__first) 7770: _M_insert_unique_(end(), *__first, __an); 7770: } 7770: 7770: template 7770: template 7770: void 7770: _Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>:: 7770: _M_insert_equal(_II __first, _II __last) 7770: { 7770: _Alloc_node __an(*this); 7770: for (; __first != __last; ++__first) 7770: _M_insert_equal_(end(), *__first, __an); 7770: } 7770: 7770: template 7770: void 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_erase_aux(const_iterator __position) 7770: { 7770: _Link_type __y = 7770: static_cast<_Link_type>(_Rb_tree_rebalance_for_erase 7770: (const_cast<_Base_ptr>(__position._M_node), 7770: this->_M_impl._M_header)); 7770: _M_drop_node(__y); 7770: --_M_impl._M_node_count; 7770: } 7770: 7770: template 7770: void 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: _M_erase_aux(const_iterator __first, const_iterator __last) 7770: { 7770: if (__first == begin() && __last == end()) 7770: clear(); 7770: else 7770: while (__first != __last) 7770: _M_erase_aux(__first++); 7770: } 7770: 7770: template 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: erase(const _Key& __x) 7770: { 7770: pair __p = equal_range(__x); 7770: const size_type __old_size = size(); 7770: _M_erase_aux(__p.first, __p.second); 7770: return __old_size - size(); 7770: } 7770: 7770: template 7770: void 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: erase(const _Key* __first, const _Key* __last) 7770: { 7770: while (__first != __last) 7770: erase(*__first++); 7770: } 7770: 7770: template 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, 7770: _Compare, _Alloc>::iterator 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: find(const _Key& __k) 7770: { 7770: iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k); 7770: return (__j == end() 7770: || _M_impl._M_key_compare(__k, 7770: _S_key(__j._M_node))) ? end() : __j; 7770: } 7770: 7770: template 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, 7770: _Compare, _Alloc>::const_iterator 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: find(const _Key& __k) const 7770: { 7770: const_iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k); 7770: return (__j == end() 7770: || _M_impl._M_key_compare(__k, 7770: _S_key(__j._M_node))) ? end() : __j; 7770: } 7770: 7770: template 7770: typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type 7770: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: 7770: count(const _Key& __k) const 7770: { 7770: pair __p = equal_range(__k); 7770: const size_type __n = std::distance(__p.first, __p.second); 7770: return __n; 7770: } 7770: 7770: __attribute__ ((__pure__)) unsigned int 7770: _Rb_tree_black_count(const _Rb_tree_node_base* __node, 7770: const _Rb_tree_node_base* __root) throw (); 7770: 7770: template 7770: bool 7770: _Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const 7770: { 7770: if (_M_impl._M_node_count == 0 || begin() == end()) 7770: return _M_impl._M_node_count == 0 && begin() == end() 7770: && this->_M_impl._M_header._M_left == _M_end() 7770: && this->_M_impl._M_header._M_right == _M_end(); 7770: 7770: unsigned int __len = _Rb_tree_black_count(_M_leftmost(), _M_root()); 7770: for (const_iterator __it = begin(); __it != end(); ++__it) 7770: { 7770: _Const_Link_type __x = static_cast<_Const_Link_type>(__it._M_node); 7770: _Const_Link_type __L = _S_left(__x); 7770: _Const_Link_type __R = _S_right(__x); 7770: 7770: if (__x->_M_color == _S_red) 7770: if ((__L && __L->_M_color == _S_red) 7770: || (__R && __R->_M_color == _S_red)) 7770: return false; 7770: 7770: if (__L && _M_impl._M_key_compare(_S_key(__x), _S_key(__L))) 7770: return false; 7770: if (__R && _M_impl._M_key_compare(_S_key(__R), _S_key(__x))) 7770: return false; 7770: 7770: if (!__L && !__R && _Rb_tree_black_count(__x, _M_root()) != __len) 7770: return false; 7770: } 7770: 7770: if (_M_leftmost() != _Rb_tree_node_base::_S_minimum(_M_root())) 7770: return false; 7770: if (_M_rightmost() != _Rb_tree_node_base::_S_maximum(_M_root())) 7770: return false; 7770: return true; 7770: } 7770: 7770: 7770: 7770: template 7770: struct _Rb_tree_merge_helper<_Rb_tree<_Key, _Val, _Sel, _Cmp1, _Alloc>, 7770: _Cmp2> 7770: { 7770: private: 7770: friend class _Rb_tree<_Key, _Val, _Sel, _Cmp1, _Alloc>; 7770: 7770: static auto& 7770: _S_get_impl(_Rb_tree<_Key, _Val, _Sel, _Cmp2, _Alloc>& __tree) 7770: { return __tree._M_impl; } 7770: }; 7770: 7770: 7770: 7770: } 7770: # 61 "/usr/include/c++/8/map" 2 3 7770: # 1 "/usr/include/c++/8/bits/stl_map.h" 1 3 7770: # 63 "/usr/include/c++/8/bits/stl_map.h" 3 7770: # 1 "/usr/include/c++/8/tuple" 1 3 7770: # 32 "/usr/include/c++/8/tuple" 3 7770: 7770: # 33 "/usr/include/c++/8/tuple" 3 7770: 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/array" 1 3 7770: # 32 "/usr/include/c++/8/array" 3 7770: 7770: # 33 "/usr/include/c++/8/array" 3 7770: # 43 "/usr/include/c++/8/array" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: template 7770: struct __array_traits 7770: { 7770: typedef _Tp _Type[_Nm]; 7770: typedef __is_swappable<_Tp> _Is_swappable; 7770: typedef __is_nothrow_swappable<_Tp> _Is_nothrow_swappable; 7770: 7770: static constexpr _Tp& 7770: _S_ref(const _Type& __t, std::size_t __n) noexcept 7770: { return const_cast<_Tp&>(__t[__n]); } 7770: 7770: static constexpr _Tp* 7770: _S_ptr(const _Type& __t) noexcept 7770: { return const_cast<_Tp*>(__t); } 7770: }; 7770: 7770: template 7770: struct __array_traits<_Tp, 0> 7770: { 7770: struct _Type { }; 7770: typedef true_type _Is_swappable; 7770: typedef true_type _Is_nothrow_swappable; 7770: 7770: static constexpr _Tp& 7770: _S_ref(const _Type&, std::size_t) noexcept 7770: { return *static_cast<_Tp*>(nullptr); } 7770: 7770: static constexpr _Tp* 7770: _S_ptr(const _Type&) noexcept 7770: { return nullptr; } 7770: }; 7770: # 93 "/usr/include/c++/8/array" 3 7770: template 7770: struct array 7770: { 7770: typedef _Tp value_type; 7770: typedef value_type* pointer; 7770: typedef const value_type* const_pointer; 7770: typedef value_type& reference; 7770: typedef const value_type& const_reference; 7770: typedef value_type* iterator; 7770: typedef const value_type* const_iterator; 7770: typedef std::size_t size_type; 7770: typedef std::ptrdiff_t difference_type; 7770: typedef std::reverse_iterator reverse_iterator; 7770: typedef std::reverse_iterator const_reverse_iterator; 7770: 7770: 7770: typedef std::__array_traits<_Tp, _Nm> _AT_Type; 7770: typename _AT_Type::_Type _M_elems; 7770: 7770: 7770: 7770: 7770: void 7770: fill(const value_type& __u) 7770: { std::fill_n(begin(), size(), __u); } 7770: 7770: void 7770: swap(array& __other) 7770: noexcept(_AT_Type::_Is_nothrow_swappable::value) 7770: { std::swap_ranges(begin(), end(), __other.begin()); } 7770: 7770: 7770: constexpr iterator 7770: begin() noexcept 7770: { return iterator(data()); } 7770: 7770: constexpr const_iterator 7770: begin() const noexcept 7770: { return const_iterator(data()); } 7770: 7770: constexpr iterator 7770: end() noexcept 7770: { return iterator(data() + _Nm); } 7770: 7770: constexpr const_iterator 7770: end() const noexcept 7770: { return const_iterator(data() + _Nm); } 7770: 7770: constexpr reverse_iterator 7770: rbegin() noexcept 7770: { return reverse_iterator(end()); } 7770: 7770: constexpr const_reverse_iterator 7770: rbegin() const noexcept 7770: { return const_reverse_iterator(end()); } 7770: 7770: constexpr reverse_iterator 7770: rend() noexcept 7770: { return reverse_iterator(begin()); } 7770: 7770: constexpr const_reverse_iterator 7770: rend() const noexcept 7770: { return const_reverse_iterator(begin()); } 7770: 7770: constexpr const_iterator 7770: cbegin() const noexcept 7770: { return const_iterator(data()); } 7770: 7770: constexpr const_iterator 7770: cend() const noexcept 7770: { return const_iterator(data() + _Nm); } 7770: 7770: constexpr const_reverse_iterator 7770: crbegin() const noexcept 7770: { return const_reverse_iterator(end()); } 7770: 7770: constexpr const_reverse_iterator 7770: crend() const noexcept 7770: { return const_reverse_iterator(begin()); } 7770: 7770: 7770: constexpr size_type 7770: size() const noexcept { return _Nm; } 7770: 7770: constexpr size_type 7770: max_size() const noexcept { return _Nm; } 7770: 7770: constexpr bool 7770: empty() const noexcept { return size() == 0; } 7770: 7770: 7770: constexpr reference 7770: operator[](size_type __n) noexcept 7770: { return _AT_Type::_S_ref(_M_elems, __n); } 7770: 7770: constexpr const_reference 7770: operator[](size_type __n) const noexcept 7770: { return _AT_Type::_S_ref(_M_elems, __n); } 7770: 7770: constexpr reference 7770: at(size_type __n) 7770: { 7770: if (__n >= _Nm) 7770: std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)") 7770: , 7770: __n, _Nm); 7770: return _AT_Type::_S_ref(_M_elems, __n); 7770: } 7770: 7770: constexpr const_reference 7770: at(size_type __n) const 7770: { 7770: 7770: 7770: return __n < _Nm ? _AT_Type::_S_ref(_M_elems, __n) 7770: : (std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)") 7770: , 7770: __n, _Nm), 7770: _AT_Type::_S_ref(_M_elems, 0)); 7770: } 7770: 7770: constexpr reference 7770: front() noexcept 7770: { return *begin(); } 7770: 7770: constexpr const_reference 7770: front() const noexcept 7770: { return _AT_Type::_S_ref(_M_elems, 0); } 7770: 7770: constexpr reference 7770: back() noexcept 7770: { return _Nm ? *(end() - 1) : *end(); } 7770: 7770: constexpr const_reference 7770: back() const noexcept 7770: { 7770: return _Nm ? _AT_Type::_S_ref(_M_elems, _Nm - 1) 7770: : _AT_Type::_S_ref(_M_elems, 0); 7770: } 7770: 7770: constexpr pointer 7770: data() noexcept 7770: { return _AT_Type::_S_ptr(_M_elems); } 7770: 7770: constexpr const_pointer 7770: data() const noexcept 7770: { return _AT_Type::_S_ptr(_M_elems); } 7770: }; 7770: 7770: 7770: template 7770: array(_Tp, _Up...) 7770: -> array && ...), _Tp>, 7770: 1 + sizeof...(_Up)>; 7770: 7770: 7770: 7770: template 7770: inline bool 7770: operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) 7770: { return std::equal(__one.begin(), __one.end(), __two.begin()); } 7770: 7770: template 7770: inline bool 7770: operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) 7770: { return !(__one == __two); } 7770: 7770: template 7770: inline bool 7770: operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b) 7770: { 7770: return std::lexicographical_compare(__a.begin(), __a.end(), 7770: __b.begin(), __b.end()); 7770: } 7770: 7770: template 7770: inline bool 7770: operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) 7770: { return __two < __one; } 7770: 7770: template 7770: inline bool 7770: operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) 7770: { return !(__one > __two); } 7770: 7770: template 7770: inline bool 7770: operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) 7770: { return !(__one < __two); } 7770: 7770: 7770: template 7770: inline 7770: 7770: 7770: typename enable_if< 7770: std::__array_traits<_Tp, _Nm>::_Is_swappable::value 7770: >::type 7770: 7770: 7770: 7770: swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two) 7770: noexcept(noexcept(__one.swap(__two))) 7770: { __one.swap(__two); } 7770: 7770: 7770: template 7770: typename enable_if< 7770: !std::__array_traits<_Tp, _Nm>::_Is_swappable::value>::type 7770: swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&) = delete; 7770: 7770: 7770: template 7770: constexpr _Tp& 7770: get(array<_Tp, _Nm>& __arr) noexcept 7770: { 7770: static_assert(_Int < _Nm, "array index is within bounds"); 7770: return std::__array_traits<_Tp, _Nm>:: 7770: _S_ref(__arr._M_elems, _Int); 7770: } 7770: 7770: template 7770: constexpr _Tp&& 7770: get(array<_Tp, _Nm>&& __arr) noexcept 7770: { 7770: static_assert(_Int < _Nm, "array index is within bounds"); 7770: return std::move(std::get<_Int>(__arr)); 7770: } 7770: 7770: template 7770: constexpr const _Tp& 7770: get(const array<_Tp, _Nm>& __arr) noexcept 7770: { 7770: static_assert(_Int < _Nm, "array index is within bounds"); 7770: return std::__array_traits<_Tp, _Nm>:: 7770: _S_ref(__arr._M_elems, _Int); 7770: } 7770: 7770: template 7770: constexpr const _Tp&& 7770: get(const array<_Tp, _Nm>&& __arr) noexcept 7770: { 7770: static_assert(_Int < _Nm, "array index is within bounds"); 7770: return std::move(std::get<_Int>(__arr)); 7770: } 7770: 7770: 7770: } 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct tuple_size; 7770: 7770: 7770: template 7770: struct tuple_size> 7770: : public integral_constant { }; 7770: 7770: 7770: template 7770: struct tuple_element; 7770: 7770: 7770: template 7770: struct tuple_element<_Int, std::array<_Tp, _Nm>> 7770: { 7770: static_assert(_Int < _Nm, "index is out of bounds"); 7770: typedef _Tp type; 7770: }; 7770: 7770: template 7770: struct __is_tuple_like_impl> : true_type 7770: { }; 7770: 7770: 7770: } 7770: # 40 "/usr/include/c++/8/tuple" 2 3 7770: # 1 "/usr/include/c++/8/bits/uses_allocator.h" 1 3 7770: # 35 "/usr/include/c++/8/bits/uses_allocator.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: struct __erased_type { }; 7770: 7770: template 7770: using __is_erased_or_convertible 7770: = __or_, is_convertible<_Alloc, _Tp>>; 7770: 7770: 7770: struct allocator_arg_t { explicit allocator_arg_t() = default; }; 7770: 7770: inline constexpr allocator_arg_t allocator_arg = 7770: allocator_arg_t(); 7770: 7770: template> 7770: struct __uses_allocator_helper 7770: : false_type { }; 7770: 7770: template 7770: struct __uses_allocator_helper<_Tp, _Alloc, 7770: __void_t> 7770: : __is_erased_or_convertible<_Alloc, typename _Tp::allocator_type>::type 7770: { }; 7770: 7770: 7770: template 7770: struct uses_allocator 7770: : __uses_allocator_helper<_Tp, _Alloc>::type 7770: { }; 7770: 7770: struct __uses_alloc_base { }; 7770: 7770: struct __uses_alloc0 : __uses_alloc_base 7770: { 7770: struct _Sink { void operator=(const void*) { } } _M_a; 7770: }; 7770: 7770: template 7770: struct __uses_alloc1 : __uses_alloc_base { const _Alloc* _M_a; }; 7770: 7770: template 7770: struct __uses_alloc2 : __uses_alloc_base { const _Alloc* _M_a; }; 7770: 7770: template 7770: struct __uses_alloc; 7770: 7770: template 7770: struct __uses_alloc 7770: : conditional< 7770: is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>::value, 7770: __uses_alloc1<_Alloc>, 7770: __uses_alloc2<_Alloc>>::type 7770: { 7770: static_assert(__or_< 7770: is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>, 7770: is_constructible<_Tp, _Args..., _Alloc>>::value, "construction with" 7770: " an allocator must be possible if uses_allocator is true"); 7770: }; 7770: 7770: template 7770: struct __uses_alloc 7770: : __uses_alloc0 { }; 7770: 7770: template 7770: using __uses_alloc_t = 7770: __uses_alloc::value, _Tp, _Alloc, _Args...>; 7770: 7770: template 7770: inline __uses_alloc_t<_Tp, _Alloc, _Args...> 7770: __use_alloc(const _Alloc& __a) 7770: { 7770: __uses_alloc_t<_Tp, _Alloc, _Args...> __ret; 7770: __ret._M_a = std::__addressof(__a); 7770: return __ret; 7770: } 7770: 7770: template 7770: void 7770: __use_alloc(const _Alloc&&) = delete; 7770: 7770: 7770: template 7770: inline constexpr bool uses_allocator_v = 7770: uses_allocator<_Tp, _Alloc>::value; 7770: 7770: 7770: template class _Predicate, 7770: typename _Tp, typename _Alloc, typename... _Args> 7770: struct __is_uses_allocator_predicate 7770: : conditional::value, 7770: __or_<_Predicate<_Tp, allocator_arg_t, _Alloc, _Args...>, 7770: _Predicate<_Tp, _Args..., _Alloc>>, 7770: _Predicate<_Tp, _Args...>>::type { }; 7770: 7770: template 7770: struct __is_uses_allocator_constructible 7770: : __is_uses_allocator_predicate 7770: { }; 7770: 7770: 7770: template 7770: inline constexpr bool __is_uses_allocator_constructible_v = 7770: __is_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value; 7770: 7770: 7770: template 7770: struct __is_nothrow_uses_allocator_constructible 7770: : __is_uses_allocator_predicate 7770: { }; 7770: 7770: 7770: 7770: template 7770: inline constexpr bool 7770: __is_nothrow_uses_allocator_constructible_v = 7770: __is_nothrow_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value; 7770: 7770: 7770: template 7770: void __uses_allocator_construct_impl(__uses_alloc0 __a, _Tp* __ptr, 7770: _Args&&... __args) 7770: { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)...); } 7770: 7770: template 7770: void __uses_allocator_construct_impl(__uses_alloc1<_Alloc> __a, _Tp* __ptr, 7770: _Args&&... __args) 7770: { 7770: ::new ((void*)__ptr) _Tp(allocator_arg, *__a._M_a, 7770: std::forward<_Args>(__args)...); 7770: } 7770: 7770: template 7770: void __uses_allocator_construct_impl(__uses_alloc2<_Alloc> __a, _Tp* __ptr, 7770: _Args&&... __args) 7770: { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)..., *__a._M_a); } 7770: 7770: template 7770: void __uses_allocator_construct(const _Alloc& __a, _Tp* __ptr, 7770: _Args&&... __args) 7770: { 7770: __uses_allocator_construct_impl(__use_alloc<_Tp, _Alloc, _Args...>(__a), 7770: __ptr, std::forward<_Args>(__args)...); 7770: } 7770: 7770: 7770: } 7770: # 41 "/usr/include/c++/8/tuple" 2 3 7770: # 1 "/usr/include/c++/8/bits/invoke.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/invoke.h" 3 7770: 7770: # 34 "/usr/include/c++/8/bits/invoke.h" 3 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 52 "/usr/include/c++/8/bits/invoke.h" 3 7770: template::type> 7770: constexpr _Up&& 7770: __invfwd(typename remove_reference<_Tp>::type& __t) noexcept 7770: { return static_cast<_Up&&>(__t); } 7770: 7770: template 7770: constexpr _Res 7770: __invoke_impl(__invoke_other, _Fn&& __f, _Args&&... __args) 7770: { return std::forward<_Fn>(__f)(std::forward<_Args>(__args)...); } 7770: 7770: template 7770: constexpr _Res 7770: __invoke_impl(__invoke_memfun_ref, _MemFun&& __f, _Tp&& __t, 7770: _Args&&... __args) 7770: { return (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...); } 7770: 7770: template 7770: constexpr _Res 7770: __invoke_impl(__invoke_memfun_deref, _MemFun&& __f, _Tp&& __t, 7770: _Args&&... __args) 7770: { 7770: return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...); 7770: } 7770: 7770: template 7770: constexpr _Res 7770: __invoke_impl(__invoke_memobj_ref, _MemPtr&& __f, _Tp&& __t) 7770: { return __invfwd<_Tp>(__t).*__f; } 7770: 7770: template 7770: constexpr _Res 7770: __invoke_impl(__invoke_memobj_deref, _MemPtr&& __f, _Tp&& __t) 7770: { return (*std::forward<_Tp>(__t)).*__f; } 7770: 7770: 7770: template 7770: constexpr typename __invoke_result<_Callable, _Args...>::type 7770: __invoke(_Callable&& __fn, _Args&&... __args) 7770: noexcept(__is_nothrow_invocable<_Callable, _Args...>::value) 7770: { 7770: using __result = __invoke_result<_Callable, _Args...>; 7770: using __type = typename __result::type; 7770: using __tag = typename __result::__invoke_type; 7770: return std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn), 7770: std::forward<_Args>(__args)...); 7770: } 7770: 7770: 7770: } 7770: # 42 "/usr/include/c++/8/tuple" 2 3 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: class tuple; 7770: 7770: template 7770: struct __is_empty_non_tuple : is_empty<_Tp> { }; 7770: 7770: 7770: template 7770: struct __is_empty_non_tuple> : false_type { }; 7770: 7770: 7770: template 7770: using __empty_not_final 7770: = typename conditional<__is_final(_Tp), false_type, 7770: __is_empty_non_tuple<_Tp>>::type; 7770: 7770: template::value> 7770: struct _Head_base; 7770: 7770: template 7770: struct _Head_base<_Idx, _Head, true> 7770: : public _Head 7770: { 7770: constexpr _Head_base() 7770: : _Head() { } 7770: 7770: constexpr _Head_base(const _Head& __h) 7770: : _Head(__h) { } 7770: 7770: constexpr _Head_base(const _Head_base&) = default; 7770: constexpr _Head_base(_Head_base&&) = default; 7770: 7770: template 7770: constexpr _Head_base(_UHead&& __h) 7770: : _Head(std::forward<_UHead>(__h)) { } 7770: 7770: _Head_base(allocator_arg_t, __uses_alloc0) 7770: : _Head() { } 7770: 7770: template 7770: _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) 7770: : _Head(allocator_arg, *__a._M_a) { } 7770: 7770: template 7770: _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) 7770: : _Head(*__a._M_a) { } 7770: 7770: template 7770: _Head_base(__uses_alloc0, _UHead&& __uhead) 7770: : _Head(std::forward<_UHead>(__uhead)) { } 7770: 7770: template 7770: _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead) 7770: : _Head(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) { } 7770: 7770: template 7770: _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead) 7770: : _Head(std::forward<_UHead>(__uhead), *__a._M_a) { } 7770: 7770: static constexpr _Head& 7770: _M_head(_Head_base& __b) noexcept { return __b; } 7770: 7770: static constexpr const _Head& 7770: _M_head(const _Head_base& __b) noexcept { return __b; } 7770: }; 7770: 7770: template 7770: struct _Head_base<_Idx, _Head, false> 7770: { 7770: constexpr _Head_base() 7770: : _M_head_impl() { } 7770: 7770: constexpr _Head_base(const _Head& __h) 7770: : _M_head_impl(__h) { } 7770: 7770: constexpr _Head_base(const _Head_base&) = default; 7770: constexpr _Head_base(_Head_base&&) = default; 7770: 7770: template 7770: constexpr _Head_base(_UHead&& __h) 7770: : _M_head_impl(std::forward<_UHead>(__h)) { } 7770: 7770: _Head_base(allocator_arg_t, __uses_alloc0) 7770: : _M_head_impl() { } 7770: 7770: template 7770: _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) 7770: : _M_head_impl(allocator_arg, *__a._M_a) { } 7770: 7770: template 7770: _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) 7770: : _M_head_impl(*__a._M_a) { } 7770: 7770: template 7770: _Head_base(__uses_alloc0, _UHead&& __uhead) 7770: : _M_head_impl(std::forward<_UHead>(__uhead)) { } 7770: 7770: template 7770: _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead) 7770: : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) 7770: { } 7770: 7770: template 7770: _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead) 7770: : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { } 7770: 7770: static constexpr _Head& 7770: _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; } 7770: 7770: static constexpr const _Head& 7770: _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; } 7770: 7770: _Head _M_head_impl; 7770: }; 7770: # 176 "/usr/include/c++/8/tuple" 3 7770: template 7770: struct _Tuple_impl; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _Tuple_impl<_Idx, _Head, _Tail...> 7770: : public _Tuple_impl<_Idx + 1, _Tail...>, 7770: private _Head_base<_Idx, _Head> 7770: { 7770: template friend class _Tuple_impl; 7770: 7770: typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited; 7770: typedef _Head_base<_Idx, _Head> _Base; 7770: 7770: static constexpr _Head& 7770: _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } 7770: 7770: static constexpr const _Head& 7770: _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } 7770: 7770: static constexpr _Inherited& 7770: _M_tail(_Tuple_impl& __t) noexcept { return __t; } 7770: 7770: static constexpr const _Inherited& 7770: _M_tail(const _Tuple_impl& __t) noexcept { return __t; } 7770: 7770: constexpr _Tuple_impl() 7770: : _Inherited(), _Base() { } 7770: 7770: explicit 7770: constexpr _Tuple_impl(const _Head& __head, const _Tail&... __tail) 7770: : _Inherited(__tail...), _Base(__head) { } 7770: 7770: template::type> 7770: explicit 7770: constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail) 7770: : _Inherited(std::forward<_UTail>(__tail)...), 7770: _Base(std::forward<_UHead>(__head)) { } 7770: 7770: constexpr _Tuple_impl(const _Tuple_impl&) = default; 7770: 7770: constexpr 7770: _Tuple_impl(_Tuple_impl&& __in) 7770: noexcept(__and_, 7770: is_nothrow_move_constructible<_Inherited>>::value) 7770: : _Inherited(std::move(_M_tail(__in))), 7770: _Base(std::forward<_Head>(_M_head(__in))) { } 7770: 7770: template 7770: constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in) 7770: : _Inherited(_Tuple_impl<_Idx, _UElements...>::_M_tail(__in)), 7770: _Base(_Tuple_impl<_Idx, _UElements...>::_M_head(__in)) { } 7770: 7770: template 7770: constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) 7770: : _Inherited(std::move 7770: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), 7770: _Base(std::forward<_UHead> 7770: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) { } 7770: 7770: template 7770: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) 7770: : _Inherited(__tag, __a), 7770: _Base(__tag, __use_alloc<_Head>(__a)) { } 7770: 7770: template 7770: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 7770: const _Head& __head, const _Tail&... __tail) 7770: : _Inherited(__tag, __a, __tail...), 7770: _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head) { } 7770: 7770: template::type> 7770: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 7770: _UHead&& __head, _UTail&&... __tail) 7770: : _Inherited(__tag, __a, std::forward<_UTail>(__tail)...), 7770: _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), 7770: std::forward<_UHead>(__head)) { } 7770: 7770: template 7770: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 7770: const _Tuple_impl& __in) 7770: : _Inherited(__tag, __a, _M_tail(__in)), 7770: _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in)) { } 7770: 7770: template 7770: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 7770: _Tuple_impl&& __in) 7770: : _Inherited(__tag, __a, std::move(_M_tail(__in))), 7770: _Base(__use_alloc<_Head, _Alloc, _Head>(__a), 7770: std::forward<_Head>(_M_head(__in))) { } 7770: 7770: template 7770: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 7770: const _Tuple_impl<_Idx, _UElements...>& __in) 7770: : _Inherited(__tag, __a, 7770: _Tuple_impl<_Idx, _UElements...>::_M_tail(__in)), 7770: _Base(__use_alloc<_Head, _Alloc, _Head>(__a), 7770: _Tuple_impl<_Idx, _UElements...>::_M_head(__in)) { } 7770: 7770: template 7770: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 7770: _Tuple_impl<_Idx, _UHead, _UTails...>&& __in) 7770: : _Inherited(__tag, __a, std::move 7770: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), 7770: _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), 7770: std::forward<_UHead> 7770: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) { } 7770: 7770: _Tuple_impl& 7770: operator=(const _Tuple_impl& __in) 7770: { 7770: _M_head(*this) = _M_head(__in); 7770: _M_tail(*this) = _M_tail(__in); 7770: return *this; 7770: } 7770: 7770: _Tuple_impl& 7770: operator=(_Tuple_impl&& __in) 7770: noexcept(__and_, 7770: is_nothrow_move_assignable<_Inherited>>::value) 7770: { 7770: _M_head(*this) = std::forward<_Head>(_M_head(__in)); 7770: _M_tail(*this) = std::move(_M_tail(__in)); 7770: return *this; 7770: } 7770: 7770: template 7770: _Tuple_impl& 7770: operator=(const _Tuple_impl<_Idx, _UElements...>& __in) 7770: { 7770: _M_head(*this) = _Tuple_impl<_Idx, _UElements...>::_M_head(__in); 7770: _M_tail(*this) = _Tuple_impl<_Idx, _UElements...>::_M_tail(__in); 7770: return *this; 7770: } 7770: 7770: template 7770: _Tuple_impl& 7770: operator=(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) 7770: { 7770: _M_head(*this) = std::forward<_UHead> 7770: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)); 7770: _M_tail(*this) = std::move 7770: (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)); 7770: return *this; 7770: } 7770: 7770: protected: 7770: void 7770: _M_swap(_Tuple_impl& __in) 7770: noexcept(__is_nothrow_swappable<_Head>::value 7770: && noexcept(_M_tail(__in)._M_swap(_M_tail(__in)))) 7770: { 7770: using std::swap; 7770: swap(_M_head(*this), _M_head(__in)); 7770: _Inherited::_M_swap(_M_tail(__in)); 7770: } 7770: }; 7770: 7770: 7770: template 7770: struct _Tuple_impl<_Idx, _Head> 7770: : private _Head_base<_Idx, _Head> 7770: { 7770: template friend class _Tuple_impl; 7770: 7770: typedef _Head_base<_Idx, _Head> _Base; 7770: 7770: static constexpr _Head& 7770: _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } 7770: 7770: static constexpr const _Head& 7770: _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } 7770: 7770: constexpr _Tuple_impl() 7770: : _Base() { } 7770: 7770: explicit 7770: constexpr _Tuple_impl(const _Head& __head) 7770: : _Base(__head) { } 7770: 7770: template 7770: explicit 7770: constexpr _Tuple_impl(_UHead&& __head) 7770: : _Base(std::forward<_UHead>(__head)) { } 7770: 7770: constexpr _Tuple_impl(const _Tuple_impl&) = default; 7770: 7770: constexpr 7770: _Tuple_impl(_Tuple_impl&& __in) 7770: noexcept(is_nothrow_move_constructible<_Head>::value) 7770: : _Base(std::forward<_Head>(_M_head(__in))) { } 7770: 7770: template 7770: constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in) 7770: : _Base(_Tuple_impl<_Idx, _UHead>::_M_head(__in)) { } 7770: 7770: template 7770: constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in) 7770: : _Base(std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in))) 7770: { } 7770: 7770: template 7770: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) 7770: : _Base(__tag, __use_alloc<_Head>(__a)) { } 7770: 7770: template 7770: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 7770: const _Head& __head) 7770: : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head) { } 7770: 7770: template 7770: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 7770: _UHead&& __head) 7770: : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), 7770: std::forward<_UHead>(__head)) { } 7770: 7770: template 7770: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 7770: const _Tuple_impl& __in) 7770: : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in)) { } 7770: 7770: template 7770: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 7770: _Tuple_impl&& __in) 7770: : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), 7770: std::forward<_Head>(_M_head(__in))) { } 7770: 7770: template 7770: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 7770: const _Tuple_impl<_Idx, _UHead>& __in) 7770: : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), 7770: _Tuple_impl<_Idx, _UHead>::_M_head(__in)) { } 7770: 7770: template 7770: _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, 7770: _Tuple_impl<_Idx, _UHead>&& __in) 7770: : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), 7770: std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in))) 7770: { } 7770: 7770: _Tuple_impl& 7770: operator=(const _Tuple_impl& __in) 7770: { 7770: _M_head(*this) = _M_head(__in); 7770: return *this; 7770: } 7770: 7770: _Tuple_impl& 7770: operator=(_Tuple_impl&& __in) 7770: noexcept(is_nothrow_move_assignable<_Head>::value) 7770: { 7770: _M_head(*this) = std::forward<_Head>(_M_head(__in)); 7770: return *this; 7770: } 7770: 7770: template 7770: _Tuple_impl& 7770: operator=(const _Tuple_impl<_Idx, _UHead>& __in) 7770: { 7770: _M_head(*this) = _Tuple_impl<_Idx, _UHead>::_M_head(__in); 7770: return *this; 7770: } 7770: 7770: template 7770: _Tuple_impl& 7770: operator=(_Tuple_impl<_Idx, _UHead>&& __in) 7770: { 7770: _M_head(*this) 7770: = std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)); 7770: return *this; 7770: } 7770: 7770: protected: 7770: void 7770: _M_swap(_Tuple_impl& __in) 7770: noexcept(__is_nothrow_swappable<_Head>::value) 7770: { 7770: using std::swap; 7770: swap(_M_head(*this), _M_head(__in)); 7770: } 7770: }; 7770: 7770: 7770: 7770: template 7770: struct _TC 7770: { 7770: template 7770: static constexpr bool _ConstructibleTuple() 7770: { 7770: return __and_...>::value; 7770: } 7770: 7770: template 7770: static constexpr bool _ImplicitlyConvertibleTuple() 7770: { 7770: return __and_...>::value; 7770: } 7770: 7770: template 7770: static constexpr bool _MoveConstructibleTuple() 7770: { 7770: return __and_...>::value; 7770: } 7770: 7770: template 7770: static constexpr bool _ImplicitlyMoveConvertibleTuple() 7770: { 7770: return __and_...>::value; 7770: } 7770: 7770: template 7770: static constexpr bool _NonNestedTuple() 7770: { 7770: return __and_<__not_, 7770: typename remove_cv< 7770: typename remove_reference<_SrcTuple>::type 7770: >::type>>, 7770: __not_>, 7770: __not_> 7770: >::value; 7770: } 7770: template 7770: static constexpr bool _NotSameTuple() 7770: { 7770: return __not_, 7770: typename remove_const< 7770: typename remove_reference<_UElements...>::type 7770: >::type>>::value; 7770: } 7770: }; 7770: 7770: template 7770: struct _TC 7770: { 7770: template 7770: static constexpr bool _ConstructibleTuple() 7770: { 7770: return false; 7770: } 7770: 7770: template 7770: static constexpr bool _ImplicitlyConvertibleTuple() 7770: { 7770: return false; 7770: } 7770: 7770: template 7770: static constexpr bool _MoveConstructibleTuple() 7770: { 7770: return false; 7770: } 7770: 7770: template 7770: static constexpr bool _ImplicitlyMoveConvertibleTuple() 7770: { 7770: return false; 7770: } 7770: 7770: template 7770: static constexpr bool _NonNestedTuple() 7770: { 7770: return true; 7770: } 7770: template 7770: static constexpr bool _NotSameTuple() 7770: { 7770: return true; 7770: } 7770: }; 7770: 7770: 7770: template 7770: class tuple : public _Tuple_impl<0, _Elements...> 7770: { 7770: typedef _Tuple_impl<0, _Elements...> _Inherited; 7770: 7770: 7770: 7770: template 7770: struct _TC2 7770: { 7770: static constexpr bool _DefaultConstructibleTuple() 7770: { 7770: return __and_...>::value; 7770: } 7770: static constexpr bool _ImplicitlyDefaultConstructibleTuple() 7770: { 7770: return __and_<__is_implicitly_default_constructible<_Elements>...> 7770: ::value; 7770: } 7770: }; 7770: 7770: public: 7770: template:: 7770: _ImplicitlyDefaultConstructibleTuple(), 7770: bool>::type = true> 7770: constexpr tuple() 7770: : _Inherited() { } 7770: 7770: template:: 7770: _DefaultConstructibleTuple() 7770: && 7770: !_TC2<_Dummy>:: 7770: _ImplicitlyDefaultConstructibleTuple(), 7770: bool>::type = false> 7770: explicit constexpr tuple() 7770: : _Inherited() { } 7770: 7770: 7770: 7770: template using _TCC = 7770: _TC::value, 7770: _Elements...>; 7770: 7770: template::template 7770: _ConstructibleTuple<_Elements...>() 7770: && _TCC<_Dummy>::template 7770: _ImplicitlyConvertibleTuple<_Elements...>() 7770: && (sizeof...(_Elements) >= 1), 7770: bool>::type=true> 7770: constexpr tuple(const _Elements&... __elements) 7770: : _Inherited(__elements...) { } 7770: 7770: template::template 7770: _ConstructibleTuple<_Elements...>() 7770: && !_TCC<_Dummy>::template 7770: _ImplicitlyConvertibleTuple<_Elements...>() 7770: && (sizeof...(_Elements) >= 1), 7770: bool>::type=false> 7770: explicit constexpr tuple(const _Elements&... __elements) 7770: : _Inherited(__elements...) { } 7770: 7770: 7770: 7770: template using _TMC = 7770: _TC<(sizeof...(_Elements) == sizeof...(_UElements)) 7770: && (_TC<(sizeof...(_UElements)==1), _Elements...>:: 7770: template _NotSameTuple<_UElements...>()), 7770: _Elements...>; 7770: 7770: 7770: 7770: template using _TMCT = 7770: _TC<(sizeof...(_Elements) == sizeof...(_UElements)) 7770: && !is_same, 7770: tuple<_UElements...>>::value, 7770: _Elements...>; 7770: 7770: template::template 7770: _MoveConstructibleTuple<_UElements...>() 7770: && _TMC<_UElements...>::template 7770: _ImplicitlyMoveConvertibleTuple<_UElements...>() 7770: && (sizeof...(_Elements) >= 1), 7770: bool>::type=true> 7770: constexpr tuple(_UElements&&... __elements) 7770: : _Inherited(std::forward<_UElements>(__elements)...) { } 7770: 7770: template::template 7770: _MoveConstructibleTuple<_UElements...>() 7770: && !_TMC<_UElements...>::template 7770: _ImplicitlyMoveConvertibleTuple<_UElements...>() 7770: && (sizeof...(_Elements) >= 1), 7770: bool>::type=false> 7770: explicit constexpr tuple(_UElements&&... __elements) 7770: : _Inherited(std::forward<_UElements>(__elements)...) { } 7770: 7770: constexpr tuple(const tuple&) = default; 7770: 7770: constexpr tuple(tuple&&) = default; 7770: 7770: 7770: 7770: template using _TNTC = 7770: _TC::value && sizeof...(_Elements) == 1, 7770: _Elements...>; 7770: 7770: template::template 7770: _ConstructibleTuple<_UElements...>() 7770: && _TMCT<_UElements...>::template 7770: _ImplicitlyConvertibleTuple<_UElements...>() 7770: && _TNTC<_Dummy>::template 7770: _NonNestedTuple&>(), 7770: bool>::type=true> 7770: constexpr tuple(const tuple<_UElements...>& __in) 7770: : _Inherited(static_cast&>(__in)) 7770: { } 7770: 7770: template::template 7770: _ConstructibleTuple<_UElements...>() 7770: && !_TMCT<_UElements...>::template 7770: _ImplicitlyConvertibleTuple<_UElements...>() 7770: && _TNTC<_Dummy>::template 7770: _NonNestedTuple&>(), 7770: bool>::type=false> 7770: explicit constexpr tuple(const tuple<_UElements...>& __in) 7770: : _Inherited(static_cast&>(__in)) 7770: { } 7770: 7770: template::template 7770: _MoveConstructibleTuple<_UElements...>() 7770: && _TMCT<_UElements...>::template 7770: _ImplicitlyMoveConvertibleTuple<_UElements...>() 7770: && _TNTC<_Dummy>::template 7770: _NonNestedTuple&&>(), 7770: bool>::type=true> 7770: constexpr tuple(tuple<_UElements...>&& __in) 7770: : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { } 7770: 7770: template::template 7770: _MoveConstructibleTuple<_UElements...>() 7770: && !_TMCT<_UElements...>::template 7770: _ImplicitlyMoveConvertibleTuple<_UElements...>() 7770: && _TNTC<_Dummy>::template 7770: _NonNestedTuple&&>(), 7770: bool>::type=false> 7770: explicit constexpr tuple(tuple<_UElements...>&& __in) 7770: : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { } 7770: 7770: 7770: 7770: template 7770: tuple(allocator_arg_t __tag, const _Alloc& __a) 7770: : _Inherited(__tag, __a) { } 7770: 7770: template::template 7770: _ConstructibleTuple<_Elements...>() 7770: && _TCC<_Dummy>::template 7770: _ImplicitlyConvertibleTuple<_Elements...>(), 7770: bool>::type=true> 7770: tuple(allocator_arg_t __tag, const _Alloc& __a, 7770: const _Elements&... __elements) 7770: : _Inherited(__tag, __a, __elements...) { } 7770: 7770: template::template 7770: _ConstructibleTuple<_Elements...>() 7770: && !_TCC<_Dummy>::template 7770: _ImplicitlyConvertibleTuple<_Elements...>(), 7770: bool>::type=false> 7770: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 7770: const _Elements&... __elements) 7770: : _Inherited(__tag, __a, __elements...) { } 7770: 7770: template::template 7770: _MoveConstructibleTuple<_UElements...>() 7770: && _TMC<_UElements...>::template 7770: _ImplicitlyMoveConvertibleTuple<_UElements...>(), 7770: bool>::type=true> 7770: tuple(allocator_arg_t __tag, const _Alloc& __a, 7770: _UElements&&... __elements) 7770: : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...) 7770: { } 7770: 7770: template::template 7770: _MoveConstructibleTuple<_UElements...>() 7770: && !_TMC<_UElements...>::template 7770: _ImplicitlyMoveConvertibleTuple<_UElements...>(), 7770: bool>::type=false> 7770: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 7770: _UElements&&... __elements) 7770: : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...) 7770: { } 7770: 7770: template 7770: tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in) 7770: : _Inherited(__tag, __a, static_cast(__in)) { } 7770: 7770: template 7770: tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in) 7770: : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { } 7770: 7770: template::template 7770: _ConstructibleTuple<_UElements...>() 7770: && _TMCT<_UElements...>::template 7770: _ImplicitlyConvertibleTuple<_UElements...>() 7770: && _TNTC<_Dummy>::template 7770: _NonNestedTuple&&>(), 7770: bool>::type=true> 7770: tuple(allocator_arg_t __tag, const _Alloc& __a, 7770: const tuple<_UElements...>& __in) 7770: : _Inherited(__tag, __a, 7770: static_cast&>(__in)) 7770: { } 7770: 7770: template::template 7770: _ConstructibleTuple<_UElements...>() 7770: && !_TMCT<_UElements...>::template 7770: _ImplicitlyConvertibleTuple<_UElements...>() 7770: && _TNTC<_Dummy>::template 7770: _NonNestedTuple&&>(), 7770: bool>::type=false> 7770: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 7770: const tuple<_UElements...>& __in) 7770: : _Inherited(__tag, __a, 7770: static_cast&>(__in)) 7770: { } 7770: 7770: template::template 7770: _MoveConstructibleTuple<_UElements...>() 7770: && _TMCT<_UElements...>::template 7770: _ImplicitlyMoveConvertibleTuple<_UElements...>() 7770: && _TNTC<_Dummy>::template 7770: _NonNestedTuple&&>(), 7770: bool>::type=true> 7770: tuple(allocator_arg_t __tag, const _Alloc& __a, 7770: tuple<_UElements...>&& __in) 7770: : _Inherited(__tag, __a, 7770: static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) 7770: { } 7770: 7770: template::template 7770: _MoveConstructibleTuple<_UElements...>() 7770: && !_TMCT<_UElements...>::template 7770: _ImplicitlyMoveConvertibleTuple<_UElements...>() 7770: && _TNTC<_Dummy>::template 7770: _NonNestedTuple&&>(), 7770: bool>::type=false> 7770: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 7770: tuple<_UElements...>&& __in) 7770: : _Inherited(__tag, __a, 7770: static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) 7770: { } 7770: 7770: tuple& 7770: operator=(const tuple& __in) 7770: { 7770: static_cast<_Inherited&>(*this) = __in; 7770: return *this; 7770: } 7770: 7770: tuple& 7770: operator=(tuple&& __in) 7770: noexcept(is_nothrow_move_assignable<_Inherited>::value) 7770: { 7770: static_cast<_Inherited&>(*this) = std::move(__in); 7770: return *this; 7770: } 7770: 7770: template 7770: typename 7770: enable_if::type 7770: operator=(const tuple<_UElements...>& __in) 7770: { 7770: static_cast<_Inherited&>(*this) = __in; 7770: return *this; 7770: } 7770: 7770: template 7770: typename 7770: enable_if::type 7770: operator=(tuple<_UElements...>&& __in) 7770: { 7770: static_cast<_Inherited&>(*this) = std::move(__in); 7770: return *this; 7770: } 7770: 7770: void 7770: swap(tuple& __in) 7770: noexcept(noexcept(__in._M_swap(__in))) 7770: { _Inherited::_M_swap(__in); } 7770: }; 7770: 7770: 7770: template 7770: tuple(_UTypes...) -> tuple<_UTypes...>; 7770: template 7770: tuple(pair<_T1, _T2>) -> tuple<_T1, _T2>; 7770: template 7770: tuple(allocator_arg_t, _Alloc, _UTypes...) -> tuple<_UTypes...>; 7770: template 7770: tuple(allocator_arg_t, _Alloc, pair<_T1, _T2>) -> tuple<_T1, _T2>; 7770: template 7770: tuple(allocator_arg_t, _Alloc, tuple<_UTypes...>) -> tuple<_UTypes...>; 7770: 7770: 7770: 7770: template<> 7770: class tuple<> 7770: { 7770: public: 7770: void swap(tuple&) noexcept { } 7770: 7770: 7770: tuple() = default; 7770: 7770: template 7770: tuple(allocator_arg_t, const _Alloc&) { } 7770: template 7770: tuple(allocator_arg_t, const _Alloc&, const tuple&) { } 7770: }; 7770: 7770: 7770: 7770: template 7770: class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2> 7770: { 7770: typedef _Tuple_impl<0, _T1, _T2> _Inherited; 7770: 7770: public: 7770: template , 7770: __is_implicitly_default_constructible<_U2>> 7770: ::value, bool>::type = true> 7770: 7770: constexpr tuple() 7770: : _Inherited() { } 7770: 7770: template , 7770: is_default_constructible<_U2>, 7770: __not_< 7770: __and_<__is_implicitly_default_constructible<_U1>, 7770: __is_implicitly_default_constructible<_U2>>>> 7770: ::value, bool>::type = false> 7770: 7770: explicit constexpr tuple() 7770: : _Inherited() { } 7770: 7770: 7770: 7770: template using _TCC = 7770: _TC::value, _T1, _T2>; 7770: 7770: template::template 7770: _ConstructibleTuple<_T1, _T2>() 7770: && _TCC<_Dummy>::template 7770: _ImplicitlyConvertibleTuple<_T1, _T2>(), 7770: bool>::type = true> 7770: constexpr tuple(const _T1& __a1, const _T2& __a2) 7770: : _Inherited(__a1, __a2) { } 7770: 7770: template::template 7770: _ConstructibleTuple<_T1, _T2>() 7770: && !_TCC<_Dummy>::template 7770: _ImplicitlyConvertibleTuple<_T1, _T2>(), 7770: bool>::type = false> 7770: explicit constexpr tuple(const _T1& __a1, const _T2& __a2) 7770: : _Inherited(__a1, __a2) { } 7770: 7770: 7770: 7770: using _TMC = _TC; 7770: 7770: template() 7770: && _TMC::template 7770: _ImplicitlyMoveConvertibleTuple<_U1, _U2>() 7770: && !is_same::type, 7770: allocator_arg_t>::value, 7770: bool>::type = true> 7770: constexpr tuple(_U1&& __a1, _U2&& __a2) 7770: : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { } 7770: 7770: template() 7770: && !_TMC::template 7770: _ImplicitlyMoveConvertibleTuple<_U1, _U2>() 7770: && !is_same::type, 7770: allocator_arg_t>::value, 7770: bool>::type = false> 7770: explicit constexpr tuple(_U1&& __a1, _U2&& __a2) 7770: : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { } 7770: 7770: constexpr tuple(const tuple&) = default; 7770: 7770: constexpr tuple(tuple&&) = default; 7770: 7770: template() 7770: && _TMC::template 7770: _ImplicitlyConvertibleTuple<_U1, _U2>(), 7770: bool>::type = true> 7770: constexpr tuple(const tuple<_U1, _U2>& __in) 7770: : _Inherited(static_cast&>(__in)) { } 7770: 7770: template() 7770: && !_TMC::template 7770: _ImplicitlyConvertibleTuple<_U1, _U2>(), 7770: bool>::type = false> 7770: explicit constexpr tuple(const tuple<_U1, _U2>& __in) 7770: : _Inherited(static_cast&>(__in)) { } 7770: 7770: template() 7770: && _TMC::template 7770: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 7770: bool>::type = true> 7770: constexpr tuple(tuple<_U1, _U2>&& __in) 7770: : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { } 7770: 7770: template() 7770: && !_TMC::template 7770: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 7770: bool>::type = false> 7770: explicit constexpr tuple(tuple<_U1, _U2>&& __in) 7770: : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { } 7770: 7770: template() 7770: && _TMC::template 7770: _ImplicitlyConvertibleTuple<_U1, _U2>(), 7770: bool>::type = true> 7770: constexpr tuple(const pair<_U1, _U2>& __in) 7770: : _Inherited(__in.first, __in.second) { } 7770: 7770: template() 7770: && !_TMC::template 7770: _ImplicitlyConvertibleTuple<_U1, _U2>(), 7770: bool>::type = false> 7770: explicit constexpr tuple(const pair<_U1, _U2>& __in) 7770: : _Inherited(__in.first, __in.second) { } 7770: 7770: template() 7770: && _TMC::template 7770: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 7770: bool>::type = true> 7770: constexpr tuple(pair<_U1, _U2>&& __in) 7770: : _Inherited(std::forward<_U1>(__in.first), 7770: std::forward<_U2>(__in.second)) { } 7770: 7770: template() 7770: && !_TMC::template 7770: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 7770: bool>::type = false> 7770: explicit constexpr tuple(pair<_U1, _U2>&& __in) 7770: : _Inherited(std::forward<_U1>(__in.first), 7770: std::forward<_U2>(__in.second)) { } 7770: 7770: 7770: 7770: template 7770: tuple(allocator_arg_t __tag, const _Alloc& __a) 7770: : _Inherited(__tag, __a) { } 7770: 7770: template::template 7770: _ConstructibleTuple<_T1, _T2>() 7770: && _TCC<_Dummy>::template 7770: _ImplicitlyConvertibleTuple<_T1, _T2>(), 7770: bool>::type=true> 7770: 7770: tuple(allocator_arg_t __tag, const _Alloc& __a, 7770: const _T1& __a1, const _T2& __a2) 7770: : _Inherited(__tag, __a, __a1, __a2) { } 7770: 7770: template::template 7770: _ConstructibleTuple<_T1, _T2>() 7770: && !_TCC<_Dummy>::template 7770: _ImplicitlyConvertibleTuple<_T1, _T2>(), 7770: bool>::type=false> 7770: 7770: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 7770: const _T1& __a1, const _T2& __a2) 7770: : _Inherited(__tag, __a, __a1, __a2) { } 7770: 7770: template() 7770: && _TMC::template 7770: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 7770: bool>::type = true> 7770: tuple(allocator_arg_t __tag, const _Alloc& __a, _U1&& __a1, _U2&& __a2) 7770: : _Inherited(__tag, __a, std::forward<_U1>(__a1), 7770: std::forward<_U2>(__a2)) { } 7770: 7770: template() 7770: && !_TMC::template 7770: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 7770: bool>::type = false> 7770: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 7770: _U1&& __a1, _U2&& __a2) 7770: : _Inherited(__tag, __a, std::forward<_U1>(__a1), 7770: std::forward<_U2>(__a2)) { } 7770: 7770: template 7770: tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in) 7770: : _Inherited(__tag, __a, static_cast(__in)) { } 7770: 7770: template 7770: tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in) 7770: : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { } 7770: 7770: template() 7770: && _TMC::template 7770: _ImplicitlyConvertibleTuple<_U1, _U2>(), 7770: bool>::type = true> 7770: tuple(allocator_arg_t __tag, const _Alloc& __a, 7770: const tuple<_U1, _U2>& __in) 7770: : _Inherited(__tag, __a, 7770: static_cast&>(__in)) 7770: { } 7770: 7770: template() 7770: && !_TMC::template 7770: _ImplicitlyConvertibleTuple<_U1, _U2>(), 7770: bool>::type = false> 7770: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 7770: const tuple<_U1, _U2>& __in) 7770: : _Inherited(__tag, __a, 7770: static_cast&>(__in)) 7770: { } 7770: 7770: template() 7770: && _TMC::template 7770: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 7770: bool>::type = true> 7770: tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in) 7770: : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) 7770: { } 7770: 7770: template() 7770: && !_TMC::template 7770: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 7770: bool>::type = false> 7770: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 7770: tuple<_U1, _U2>&& __in) 7770: : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) 7770: { } 7770: 7770: template() 7770: && _TMC::template 7770: _ImplicitlyConvertibleTuple<_U1, _U2>(), 7770: bool>::type = true> 7770: tuple(allocator_arg_t __tag, const _Alloc& __a, 7770: const pair<_U1, _U2>& __in) 7770: : _Inherited(__tag, __a, __in.first, __in.second) { } 7770: 7770: template() 7770: && !_TMC::template 7770: _ImplicitlyConvertibleTuple<_U1, _U2>(), 7770: bool>::type = false> 7770: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 7770: const pair<_U1, _U2>& __in) 7770: : _Inherited(__tag, __a, __in.first, __in.second) { } 7770: 7770: template() 7770: && _TMC::template 7770: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 7770: bool>::type = true> 7770: tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in) 7770: : _Inherited(__tag, __a, std::forward<_U1>(__in.first), 7770: std::forward<_U2>(__in.second)) { } 7770: 7770: template() 7770: && !_TMC::template 7770: _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), 7770: bool>::type = false> 7770: explicit tuple(allocator_arg_t __tag, const _Alloc& __a, 7770: pair<_U1, _U2>&& __in) 7770: : _Inherited(__tag, __a, std::forward<_U1>(__in.first), 7770: std::forward<_U2>(__in.second)) { } 7770: 7770: tuple& 7770: operator=(const tuple& __in) 7770: { 7770: static_cast<_Inherited&>(*this) = __in; 7770: return *this; 7770: } 7770: 7770: tuple& 7770: operator=(tuple&& __in) 7770: noexcept(is_nothrow_move_assignable<_Inherited>::value) 7770: { 7770: static_cast<_Inherited&>(*this) = std::move(__in); 7770: return *this; 7770: } 7770: 7770: template 7770: tuple& 7770: operator=(const tuple<_U1, _U2>& __in) 7770: { 7770: static_cast<_Inherited&>(*this) = __in; 7770: return *this; 7770: } 7770: 7770: template 7770: tuple& 7770: operator=(tuple<_U1, _U2>&& __in) 7770: { 7770: static_cast<_Inherited&>(*this) = std::move(__in); 7770: return *this; 7770: } 7770: 7770: template 7770: tuple& 7770: operator=(const pair<_U1, _U2>& __in) 7770: { 7770: this->_M_head(*this) = __in.first; 7770: this->_M_tail(*this)._M_head(*this) = __in.second; 7770: return *this; 7770: } 7770: 7770: template 7770: tuple& 7770: operator=(pair<_U1, _U2>&& __in) 7770: { 7770: this->_M_head(*this) = std::forward<_U1>(__in.first); 7770: this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__in.second); 7770: return *this; 7770: } 7770: 7770: void 7770: swap(tuple& __in) 7770: noexcept(noexcept(__in._M_swap(__in))) 7770: { _Inherited::_M_swap(__in); } 7770: }; 7770: 7770: 7770: 7770: template 7770: struct tuple_size> 7770: : public integral_constant { }; 7770: 7770: 7770: template 7770: inline constexpr size_t tuple_size_v = tuple_size<_Tp>::value; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct tuple_element<__i, tuple<_Head, _Tail...> > 7770: : tuple_element<__i - 1, tuple<_Tail...> > { }; 7770: 7770: 7770: 7770: 7770: template 7770: struct tuple_element<0, tuple<_Head, _Tail...> > 7770: { 7770: typedef _Head type; 7770: }; 7770: 7770: 7770: 7770: 7770: template 7770: struct tuple_element<__i, tuple<>> 7770: { 7770: static_assert(__i < tuple_size>::value, 7770: "tuple index is in range"); 7770: }; 7770: 7770: template 7770: constexpr _Head& 7770: __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept 7770: { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } 7770: 7770: template 7770: constexpr const _Head& 7770: __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept 7770: { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } 7770: 7770: 7770: template 7770: constexpr __tuple_element_t<__i, tuple<_Elements...>>& 7770: get(tuple<_Elements...>& __t) noexcept 7770: { return std::__get_helper<__i>(__t); } 7770: 7770: 7770: template 7770: constexpr const __tuple_element_t<__i, tuple<_Elements...>>& 7770: get(const tuple<_Elements...>& __t) noexcept 7770: { return std::__get_helper<__i>(__t); } 7770: 7770: 7770: template 7770: constexpr __tuple_element_t<__i, tuple<_Elements...>>&& 7770: get(tuple<_Elements...>&& __t) noexcept 7770: { 7770: typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type; 7770: return std::forward<__element_type&&>(std::get<__i>(__t)); 7770: } 7770: 7770: 7770: template 7770: constexpr const __tuple_element_t<__i, tuple<_Elements...>>&& 7770: get(const tuple<_Elements...>&& __t) noexcept 7770: { 7770: typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type; 7770: return std::forward(std::get<__i>(__t)); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: constexpr _Head& 7770: __get_helper2(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept 7770: { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } 7770: 7770: template 7770: constexpr const _Head& 7770: __get_helper2(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept 7770: { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } 7770: 7770: 7770: template 7770: constexpr _Tp& 7770: get(tuple<_Types...>& __t) noexcept 7770: { return std::__get_helper2<_Tp>(__t); } 7770: 7770: 7770: template 7770: constexpr _Tp&& 7770: get(tuple<_Types...>&& __t) noexcept 7770: { return std::forward<_Tp&&>(std::__get_helper2<_Tp>(__t)); } 7770: 7770: 7770: template 7770: constexpr const _Tp& 7770: get(const tuple<_Types...>& __t) noexcept 7770: { return std::__get_helper2<_Tp>(__t); } 7770: 7770: 7770: 7770: template 7770: constexpr const _Tp&& 7770: get(const tuple<_Types...>&& __t) noexcept 7770: { return std::forward(std::__get_helper2<_Tp>(__t)); } 7770: 7770: 7770: 7770: template 7770: struct __tuple_compare 7770: { 7770: static constexpr bool 7770: __eq(const _Tp& __t, const _Up& __u) 7770: { 7770: return bool(std::get<__i>(__t) == std::get<__i>(__u)) 7770: && __tuple_compare<_Tp, _Up, __i + 1, __size>::__eq(__t, __u); 7770: } 7770: 7770: static constexpr bool 7770: __less(const _Tp& __t, const _Up& __u) 7770: { 7770: return bool(std::get<__i>(__t) < std::get<__i>(__u)) 7770: || (!bool(std::get<__i>(__u) < std::get<__i>(__t)) 7770: && __tuple_compare<_Tp, _Up, __i + 1, __size>::__less(__t, __u)); 7770: } 7770: }; 7770: 7770: template 7770: struct __tuple_compare<_Tp, _Up, __size, __size> 7770: { 7770: static constexpr bool 7770: __eq(const _Tp&, const _Up&) { return true; } 7770: 7770: static constexpr bool 7770: __less(const _Tp&, const _Up&) { return false; } 7770: }; 7770: 7770: template 7770: constexpr bool 7770: operator==(const tuple<_TElements...>& __t, 7770: const tuple<_UElements...>& __u) 7770: { 7770: static_assert(sizeof...(_TElements) == sizeof...(_UElements), 7770: "tuple objects can only be compared if they have equal sizes."); 7770: using __compare = __tuple_compare, 7770: tuple<_UElements...>, 7770: 0, sizeof...(_TElements)>; 7770: return __compare::__eq(__t, __u); 7770: } 7770: 7770: template 7770: constexpr bool 7770: operator<(const tuple<_TElements...>& __t, 7770: const tuple<_UElements...>& __u) 7770: { 7770: static_assert(sizeof...(_TElements) == sizeof...(_UElements), 7770: "tuple objects can only be compared if they have equal sizes."); 7770: using __compare = __tuple_compare, 7770: tuple<_UElements...>, 7770: 0, sizeof...(_TElements)>; 7770: return __compare::__less(__t, __u); 7770: } 7770: 7770: template 7770: constexpr bool 7770: operator!=(const tuple<_TElements...>& __t, 7770: const tuple<_UElements...>& __u) 7770: { return !(__t == __u); } 7770: 7770: template 7770: constexpr bool 7770: operator>(const tuple<_TElements...>& __t, 7770: const tuple<_UElements...>& __u) 7770: { return __u < __t; } 7770: 7770: template 7770: constexpr bool 7770: operator<=(const tuple<_TElements...>& __t, 7770: const tuple<_UElements...>& __u) 7770: { return !(__u < __t); } 7770: 7770: template 7770: constexpr bool 7770: operator>=(const tuple<_TElements...>& __t, 7770: const tuple<_UElements...>& __u) 7770: { return !(__t < __u); } 7770: 7770: 7770: template 7770: constexpr tuple::__type...> 7770: make_tuple(_Elements&&... __args) 7770: { 7770: typedef tuple::__type...> 7770: __result_type; 7770: return __result_type(std::forward<_Elements>(__args)...); 7770: } 7770: 7770: 7770: 7770: template 7770: constexpr tuple<_Elements&&...> 7770: forward_as_tuple(_Elements&&... __args) noexcept 7770: { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); } 7770: 7770: template 7770: struct __make_tuple_impl; 7770: 7770: template 7770: struct __make_tuple_impl<_Idx, tuple<_Tp...>, _Tuple, _Nm> 7770: : __make_tuple_impl<_Idx + 1, 7770: tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>, 7770: _Tuple, _Nm> 7770: { }; 7770: 7770: template 7770: struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm> 7770: { 7770: typedef tuple<_Tp...> __type; 7770: }; 7770: 7770: template 7770: struct __do_make_tuple 7770: : __make_tuple_impl<0, tuple<>, _Tuple, std::tuple_size<_Tuple>::value> 7770: { }; 7770: 7770: 7770: template 7770: struct __make_tuple 7770: : public __do_make_tuple::type>::type> 7770: { }; 7770: 7770: 7770: template 7770: struct __combine_tuples; 7770: 7770: template<> 7770: struct __combine_tuples<> 7770: { 7770: typedef tuple<> __type; 7770: }; 7770: 7770: template 7770: struct __combine_tuples> 7770: { 7770: typedef tuple<_Ts...> __type; 7770: }; 7770: 7770: template 7770: struct __combine_tuples, tuple<_T2s...>, _Rem...> 7770: { 7770: typedef typename __combine_tuples, 7770: _Rem...>::__type __type; 7770: }; 7770: 7770: 7770: template 7770: struct __tuple_cat_result 7770: { 7770: typedef typename __combine_tuples 7770: ::__type...>::__type __type; 7770: }; 7770: 7770: 7770: 7770: template 7770: struct __make_1st_indices; 7770: 7770: template<> 7770: struct __make_1st_indices<> 7770: { 7770: typedef std::_Index_tuple<> __type; 7770: }; 7770: 7770: template 7770: struct __make_1st_indices<_Tp, _Tpls...> 7770: { 7770: typedef typename std::_Build_index_tuple::type>::value>::__type __type; 7770: }; 7770: 7770: 7770: 7770: 7770: template 7770: struct __tuple_concater; 7770: 7770: template 7770: struct __tuple_concater<_Ret, std::_Index_tuple<_Is...>, _Tp, _Tpls...> 7770: { 7770: template 7770: static constexpr _Ret 7770: _S_do(_Tp&& __tp, _Tpls&&... __tps, _Us&&... __us) 7770: { 7770: typedef typename __make_1st_indices<_Tpls...>::__type __idx; 7770: typedef __tuple_concater<_Ret, __idx, _Tpls...> __next; 7770: return __next::_S_do(std::forward<_Tpls>(__tps)..., 7770: std::forward<_Us>(__us)..., 7770: std::get<_Is>(std::forward<_Tp>(__tp))...); 7770: } 7770: }; 7770: 7770: template 7770: struct __tuple_concater<_Ret, std::_Index_tuple<>> 7770: { 7770: template 7770: static constexpr _Ret 7770: _S_do(_Us&&... __us) 7770: { 7770: return _Ret(std::forward<_Us>(__us)...); 7770: } 7770: }; 7770: 7770: 7770: template...>::value>::type> 7770: constexpr auto 7770: tuple_cat(_Tpls&&... __tpls) 7770: -> typename __tuple_cat_result<_Tpls...>::__type 7770: { 7770: typedef typename __tuple_cat_result<_Tpls...>::__type __ret; 7770: typedef typename __make_1st_indices<_Tpls...>::__type __idx; 7770: typedef __tuple_concater<__ret, __idx, _Tpls...> __concater; 7770: return __concater::_S_do(std::forward<_Tpls>(__tpls)...); 7770: } 7770: 7770: 7770: 7770: 7770: template 7770: constexpr tuple<_Elements&...> 7770: tie(_Elements&... __args) noexcept 7770: { return tuple<_Elements&...>(__args...); } 7770: 7770: 7770: template 7770: inline 7770: 7770: 7770: typename enable_if<__and_<__is_swappable<_Elements>...>::value 7770: >::type 7770: 7770: 7770: 7770: swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y) 7770: noexcept(noexcept(__x.swap(__y))) 7770: { __x.swap(__y); } 7770: 7770: 7770: template 7770: typename enable_if...>::value>::type 7770: swap(tuple<_Elements...>&, tuple<_Elements...>&) = delete; 7770: 7770: 7770: 7770: 7770: 7770: 7770: struct _Swallow_assign 7770: { 7770: template 7770: constexpr const _Swallow_assign& 7770: operator=(const _Tp&) const 7770: { return *this; } 7770: }; 7770: 7770: 7770: 7770: inline constexpr _Swallow_assign ignore{}; 7770: 7770: 7770: template 7770: struct uses_allocator, _Alloc> : true_type { }; 7770: 7770: 7770: template 7770: template 7770: inline 7770: pair<_T1, _T2>:: 7770: pair(piecewise_construct_t, 7770: tuple<_Args1...> __first, tuple<_Args2...> __second) 7770: : pair(__first, __second, 7770: typename _Build_index_tuple::__type(), 7770: typename _Build_index_tuple::__type()) 7770: { } 7770: 7770: template 7770: template 7770: inline 7770: pair<_T1, _T2>:: 7770: pair(tuple<_Args1...>& __tuple1, tuple<_Args2...>& __tuple2, 7770: _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>) 7770: : first(std::forward<_Args1>(std::get<_Indexes1>(__tuple1))...), 7770: second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...) 7770: { } 7770: 7770: 7770: 7770: 7770: template 7770: constexpr decltype(auto) 7770: __apply_impl(_Fn&& __f, _Tuple&& __t, index_sequence<_Idx...>) 7770: { 7770: return std::__invoke(std::forward<_Fn>(__f), 7770: std::get<_Idx>(std::forward<_Tuple>(__t))...); 7770: } 7770: 7770: template 7770: constexpr decltype(auto) 7770: apply(_Fn&& __f, _Tuple&& __t) 7770: { 7770: using _Indices = make_index_sequence>>; 7770: return std::__apply_impl(std::forward<_Fn>(__f), 7770: std::forward<_Tuple>(__t), 7770: _Indices{}); 7770: } 7770: 7770: 7770: 7770: template 7770: constexpr _Tp 7770: __make_from_tuple_impl(_Tuple&& __t, index_sequence<_Idx...>) 7770: { return _Tp(std::get<_Idx>(std::forward<_Tuple>(__t))...); } 7770: 7770: template 7770: constexpr _Tp 7770: make_from_tuple(_Tuple&& __t) 7770: { 7770: return __make_from_tuple_impl<_Tp>( 7770: std::forward<_Tuple>(__t), 7770: make_index_sequence>>{}); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: } 7770: # 64 "/usr/include/c++/8/bits/stl_map.h" 2 3 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: template 7770: class multimap; 7770: # 98 "/usr/include/c++/8/bits/stl_map.h" 3 7770: template , 7770: typename _Alloc = std::allocator > > 7770: class map 7770: { 7770: public: 7770: typedef _Key key_type; 7770: typedef _Tp mapped_type; 7770: typedef std::pair value_type; 7770: typedef _Compare key_compare; 7770: typedef _Alloc allocator_type; 7770: 7770: private: 7770: # 122 "/usr/include/c++/8/bits/stl_map.h" 3 7770: static_assert(is_same::value, 7770: "std::map must have the same value_type as its allocator"); 7770: 7770: 7770: public: 7770: class value_compare 7770: : public std::binary_function 7770: { 7770: friend class map<_Key, _Tp, _Compare, _Alloc>; 7770: protected: 7770: _Compare comp; 7770: 7770: value_compare(_Compare __c) 7770: : comp(__c) { } 7770: 7770: public: 7770: bool operator()(const value_type& __x, const value_type& __y) const 7770: { return comp(__x.first, __y.first); } 7770: }; 7770: 7770: private: 7770: 7770: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 7770: rebind::other _Pair_alloc_type; 7770: 7770: typedef _Rb_tree, 7770: key_compare, _Pair_alloc_type> _Rep_type; 7770: 7770: 7770: _Rep_type _M_t; 7770: 7770: typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits; 7770: 7770: public: 7770: 7770: 7770: typedef typename _Alloc_traits::pointer pointer; 7770: typedef typename _Alloc_traits::const_pointer const_pointer; 7770: typedef typename _Alloc_traits::reference reference; 7770: typedef typename _Alloc_traits::const_reference const_reference; 7770: typedef typename _Rep_type::iterator iterator; 7770: typedef typename _Rep_type::const_iterator const_iterator; 7770: typedef typename _Rep_type::size_type size_type; 7770: typedef typename _Rep_type::difference_type difference_type; 7770: typedef typename _Rep_type::reverse_iterator reverse_iterator; 7770: typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; 7770: 7770: 7770: using node_type = typename _Rep_type::node_type; 7770: using insert_return_type = typename _Rep_type::insert_return_type; 7770: # 183 "/usr/include/c++/8/bits/stl_map.h" 3 7770: map() = default; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: explicit 7770: map(const _Compare& __comp, 7770: const allocator_type& __a = allocator_type()) 7770: : _M_t(__comp, _Pair_alloc_type(__a)) { } 7770: # 205 "/usr/include/c++/8/bits/stl_map.h" 3 7770: map(const map&) = default; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: map(map&&) = default; 7770: # 226 "/usr/include/c++/8/bits/stl_map.h" 3 7770: map(initializer_list __l, 7770: const _Compare& __comp = _Compare(), 7770: const allocator_type& __a = allocator_type()) 7770: : _M_t(__comp, _Pair_alloc_type(__a)) 7770: { _M_t._M_insert_unique(__l.begin(), __l.end()); } 7770: 7770: 7770: explicit 7770: map(const allocator_type& __a) 7770: : _M_t(_Compare(), _Pair_alloc_type(__a)) { } 7770: 7770: 7770: map(const map& __m, const allocator_type& __a) 7770: : _M_t(__m._M_t, _Pair_alloc_type(__a)) { } 7770: 7770: 7770: map(map&& __m, const allocator_type& __a) 7770: noexcept(is_nothrow_copy_constructible<_Compare>::value 7770: && _Alloc_traits::_S_always_equal()) 7770: : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { } 7770: 7770: 7770: map(initializer_list __l, const allocator_type& __a) 7770: : _M_t(_Compare(), _Pair_alloc_type(__a)) 7770: { _M_t._M_insert_unique(__l.begin(), __l.end()); } 7770: 7770: 7770: template 7770: map(_InputIterator __first, _InputIterator __last, 7770: const allocator_type& __a) 7770: : _M_t(_Compare(), _Pair_alloc_type(__a)) 7770: { _M_t._M_insert_unique(__first, __last); } 7770: # 270 "/usr/include/c++/8/bits/stl_map.h" 3 7770: template 7770: map(_InputIterator __first, _InputIterator __last) 7770: : _M_t() 7770: { _M_t._M_insert_unique(__first, __last); } 7770: # 287 "/usr/include/c++/8/bits/stl_map.h" 3 7770: template 7770: map(_InputIterator __first, _InputIterator __last, 7770: const _Compare& __comp, 7770: const allocator_type& __a = allocator_type()) 7770: : _M_t(__comp, _Pair_alloc_type(__a)) 7770: { _M_t._M_insert_unique(__first, __last); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: ~map() = default; 7770: # 316 "/usr/include/c++/8/bits/stl_map.h" 3 7770: map& 7770: operator=(const map&) = default; 7770: 7770: 7770: map& 7770: operator=(map&&) = default; 7770: # 334 "/usr/include/c++/8/bits/stl_map.h" 3 7770: map& 7770: operator=(initializer_list __l) 7770: { 7770: _M_t._M_assign_unique(__l.begin(), __l.end()); 7770: return *this; 7770: } 7770: 7770: 7770: 7770: allocator_type 7770: get_allocator() const noexcept 7770: { return allocator_type(_M_t.get_allocator()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: iterator 7770: begin() noexcept 7770: { return _M_t.begin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: begin() const noexcept 7770: { return _M_t.begin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: iterator 7770: end() noexcept 7770: { return _M_t.end(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: end() const noexcept 7770: { return _M_t.end(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: reverse_iterator 7770: rbegin() noexcept 7770: { return _M_t.rbegin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_reverse_iterator 7770: rbegin() const noexcept 7770: { return _M_t.rbegin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: reverse_iterator 7770: rend() noexcept 7770: { return _M_t.rend(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_reverse_iterator 7770: rend() const noexcept 7770: { return _M_t.rend(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: cbegin() const noexcept 7770: { return _M_t.begin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: cend() const noexcept 7770: { return _M_t.end(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_reverse_iterator 7770: crbegin() const noexcept 7770: { return _M_t.rbegin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_reverse_iterator 7770: crend() const noexcept 7770: { return _M_t.rend(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: bool 7770: empty() const noexcept 7770: { return _M_t.empty(); } 7770: 7770: 7770: size_type 7770: size() const noexcept 7770: { return _M_t.size(); } 7770: 7770: 7770: size_type 7770: max_size() const noexcept 7770: { return _M_t.max_size(); } 7770: # 489 "/usr/include/c++/8/bits/stl_map.h" 3 7770: mapped_type& 7770: operator[](const key_type& __k) 7770: { 7770: 7770: 7770: 7770: iterator __i = lower_bound(__k); 7770: 7770: if (__i == end() || key_comp()(__k, (*__i).first)) 7770: 7770: __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, 7770: std::tuple(__k), 7770: std::tuple<>()); 7770: 7770: 7770: 7770: return (*__i).second; 7770: } 7770: 7770: 7770: mapped_type& 7770: operator[](key_type&& __k) 7770: { 7770: 7770: 7770: 7770: iterator __i = lower_bound(__k); 7770: 7770: if (__i == end() || key_comp()(__k, (*__i).first)) 7770: __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, 7770: std::forward_as_tuple(std::move(__k)), 7770: std::tuple<>()); 7770: return (*__i).second; 7770: } 7770: # 534 "/usr/include/c++/8/bits/stl_map.h" 3 7770: mapped_type& 7770: at(const key_type& __k) 7770: { 7770: iterator __i = lower_bound(__k); 7770: if (__i == end() || key_comp()(__k, (*__i).first)) 7770: __throw_out_of_range(("map::at")); 7770: return (*__i).second; 7770: } 7770: 7770: const mapped_type& 7770: at(const key_type& __k) const 7770: { 7770: const_iterator __i = lower_bound(__k); 7770: if (__i == end() || key_comp()(__k, (*__i).first)) 7770: __throw_out_of_range(("map::at")); 7770: return (*__i).second; 7770: } 7770: # 572 "/usr/include/c++/8/bits/stl_map.h" 3 7770: template 7770: std::pair 7770: emplace(_Args&&... __args) 7770: { return _M_t._M_emplace_unique(std::forward<_Args>(__args)...); } 7770: # 602 "/usr/include/c++/8/bits/stl_map.h" 3 7770: template 7770: iterator 7770: emplace_hint(const_iterator __pos, _Args&&... __args) 7770: { 7770: return _M_t._M_emplace_hint_unique(__pos, 7770: std::forward<_Args>(__args)...); 7770: } 7770: 7770: 7770: 7770: 7770: node_type 7770: extract(const_iterator __pos) 7770: { 7770: ; 7770: return _M_t.extract(__pos); 7770: } 7770: 7770: 7770: node_type 7770: extract(const key_type& __x) 7770: { return _M_t.extract(__x); } 7770: 7770: 7770: insert_return_type 7770: insert(node_type&& __nh) 7770: { return _M_t._M_reinsert_node_unique(std::move(__nh)); } 7770: 7770: 7770: iterator 7770: insert(const_iterator __hint, node_type&& __nh) 7770: { return _M_t._M_reinsert_node_hint_unique(__hint, std::move(__nh)); } 7770: 7770: template 7770: friend class _Rb_tree_merge_helper; 7770: 7770: template 7770: void 7770: merge(map<_Key, _Tp, _C2, _Alloc>& __source) 7770: { 7770: using _Merge_helper = _Rb_tree_merge_helper; 7770: _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source)); 7770: } 7770: 7770: template 7770: void 7770: merge(map<_Key, _Tp, _C2, _Alloc>&& __source) 7770: { merge(__source); } 7770: 7770: template 7770: void 7770: merge(multimap<_Key, _Tp, _C2, _Alloc>& __source) 7770: { 7770: using _Merge_helper = _Rb_tree_merge_helper; 7770: _M_t._M_merge_unique(_Merge_helper::_S_get_tree(__source)); 7770: } 7770: 7770: template 7770: void 7770: merge(multimap<_Key, _Tp, _C2, _Alloc>&& __source) 7770: { merge(__source); } 7770: # 687 "/usr/include/c++/8/bits/stl_map.h" 3 7770: template 7770: pair 7770: try_emplace(const key_type& __k, _Args&&... __args) 7770: { 7770: iterator __i = lower_bound(__k); 7770: if (__i == end() || key_comp()(__k, (*__i).first)) 7770: { 7770: __i = emplace_hint(__i, std::piecewise_construct, 7770: std::forward_as_tuple(__k), 7770: std::forward_as_tuple( 7770: std::forward<_Args>(__args)...)); 7770: return {__i, true}; 7770: } 7770: return {__i, false}; 7770: } 7770: 7770: 7770: template 7770: pair 7770: try_emplace(key_type&& __k, _Args&&... __args) 7770: { 7770: iterator __i = lower_bound(__k); 7770: if (__i == end() || key_comp()(__k, (*__i).first)) 7770: { 7770: __i = emplace_hint(__i, std::piecewise_construct, 7770: std::forward_as_tuple(std::move(__k)), 7770: std::forward_as_tuple( 7770: std::forward<_Args>(__args)...)); 7770: return {__i, true}; 7770: } 7770: return {__i, false}; 7770: } 7770: # 747 "/usr/include/c++/8/bits/stl_map.h" 3 7770: template 7770: iterator 7770: try_emplace(const_iterator __hint, const key_type& __k, 7770: _Args&&... __args) 7770: { 7770: iterator __i; 7770: auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k); 7770: if (__true_hint.second) 7770: __i = emplace_hint(iterator(__true_hint.second), 7770: std::piecewise_construct, 7770: std::forward_as_tuple(__k), 7770: std::forward_as_tuple( 7770: std::forward<_Args>(__args)...)); 7770: else 7770: __i = iterator(__true_hint.first); 7770: return __i; 7770: } 7770: 7770: 7770: template 7770: iterator 7770: try_emplace(const_iterator __hint, key_type&& __k, _Args&&... __args) 7770: { 7770: iterator __i; 7770: auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k); 7770: if (__true_hint.second) 7770: __i = emplace_hint(iterator(__true_hint.second), 7770: std::piecewise_construct, 7770: std::forward_as_tuple(std::move(__k)), 7770: std::forward_as_tuple( 7770: std::forward<_Args>(__args)...)); 7770: else 7770: __i = iterator(__true_hint.first); 7770: return __i; 7770: } 7770: # 800 "/usr/include/c++/8/bits/stl_map.h" 3 7770: std::pair 7770: insert(const value_type& __x) 7770: { return _M_t._M_insert_unique(__x); } 7770: 7770: 7770: 7770: 7770: std::pair 7770: insert(value_type&& __x) 7770: { return _M_t._M_insert_unique(std::move(__x)); } 7770: 7770: template::value>::type> 7770: std::pair 7770: insert(_Pair&& __x) 7770: { return _M_t._M_insert_unique(std::forward<_Pair>(__x)); } 7770: # 828 "/usr/include/c++/8/bits/stl_map.h" 3 7770: void 7770: insert(std::initializer_list __list) 7770: { insert(__list.begin(), __list.end()); } 7770: # 857 "/usr/include/c++/8/bits/stl_map.h" 3 7770: iterator 7770: 7770: insert(const_iterator __position, const value_type& __x) 7770: 7770: 7770: 7770: { return _M_t._M_insert_unique_(__position, __x); } 7770: 7770: 7770: 7770: 7770: iterator 7770: insert(const_iterator __position, value_type&& __x) 7770: { return _M_t._M_insert_unique_(__position, std::move(__x)); } 7770: 7770: template::value>::type> 7770: iterator 7770: insert(const_iterator __position, _Pair&& __x) 7770: { return _M_t._M_insert_unique_(__position, 7770: std::forward<_Pair>(__x)); } 7770: # 890 "/usr/include/c++/8/bits/stl_map.h" 3 7770: template 7770: void 7770: insert(_InputIterator __first, _InputIterator __last) 7770: { _M_t._M_insert_unique(__first, __last); } 7770: # 916 "/usr/include/c++/8/bits/stl_map.h" 3 7770: template 7770: pair 7770: insert_or_assign(const key_type& __k, _Obj&& __obj) 7770: { 7770: iterator __i = lower_bound(__k); 7770: if (__i == end() || key_comp()(__k, (*__i).first)) 7770: { 7770: __i = emplace_hint(__i, std::piecewise_construct, 7770: std::forward_as_tuple(__k), 7770: std::forward_as_tuple( 7770: std::forward<_Obj>(__obj))); 7770: return {__i, true}; 7770: } 7770: (*__i).second = std::forward<_Obj>(__obj); 7770: return {__i, false}; 7770: } 7770: 7770: 7770: template 7770: pair 7770: insert_or_assign(key_type&& __k, _Obj&& __obj) 7770: { 7770: iterator __i = lower_bound(__k); 7770: if (__i == end() || key_comp()(__k, (*__i).first)) 7770: { 7770: __i = emplace_hint(__i, std::piecewise_construct, 7770: std::forward_as_tuple(std::move(__k)), 7770: std::forward_as_tuple( 7770: std::forward<_Obj>(__obj))); 7770: return {__i, true}; 7770: } 7770: (*__i).second = std::forward<_Obj>(__obj); 7770: return {__i, false}; 7770: } 7770: # 971 "/usr/include/c++/8/bits/stl_map.h" 3 7770: template 7770: iterator 7770: insert_or_assign(const_iterator __hint, 7770: const key_type& __k, _Obj&& __obj) 7770: { 7770: iterator __i; 7770: auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k); 7770: if (__true_hint.second) 7770: { 7770: return emplace_hint(iterator(__true_hint.second), 7770: std::piecewise_construct, 7770: std::forward_as_tuple(__k), 7770: std::forward_as_tuple( 7770: std::forward<_Obj>(__obj))); 7770: } 7770: __i = iterator(__true_hint.first); 7770: (*__i).second = std::forward<_Obj>(__obj); 7770: return __i; 7770: } 7770: 7770: 7770: template 7770: iterator 7770: insert_or_assign(const_iterator __hint, key_type&& __k, _Obj&& __obj) 7770: { 7770: iterator __i; 7770: auto __true_hint = _M_t._M_get_insert_hint_unique_pos(__hint, __k); 7770: if (__true_hint.second) 7770: { 7770: return emplace_hint(iterator(__true_hint.second), 7770: std::piecewise_construct, 7770: std::forward_as_tuple(std::move(__k)), 7770: std::forward_as_tuple( 7770: std::forward<_Obj>(__obj))); 7770: } 7770: __i = iterator(__true_hint.first); 7770: (*__i).second = std::forward<_Obj>(__obj); 7770: return __i; 7770: } 7770: # 1030 "/usr/include/c++/8/bits/stl_map.h" 3 7770: iterator 7770: erase(const_iterator __position) 7770: { return _M_t.erase(__position); } 7770: 7770: 7770: __attribute ((__abi_tag__ ("cxx11"))) 7770: iterator 7770: erase(iterator __position) 7770: { return _M_t.erase(__position); } 7770: # 1067 "/usr/include/c++/8/bits/stl_map.h" 3 7770: size_type 7770: erase(const key_type& __x) 7770: { return _M_t.erase(__x); } 7770: # 1087 "/usr/include/c++/8/bits/stl_map.h" 3 7770: iterator 7770: erase(const_iterator __first, const_iterator __last) 7770: { return _M_t.erase(__first, __last); } 7770: # 1121 "/usr/include/c++/8/bits/stl_map.h" 3 7770: void 7770: swap(map& __x) 7770: noexcept(__is_nothrow_swappable<_Compare>::value) 7770: { _M_t.swap(__x._M_t); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: void 7770: clear() noexcept 7770: { _M_t.clear(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: key_compare 7770: key_comp() const 7770: { return _M_t.key_comp(); } 7770: 7770: 7770: 7770: 7770: 7770: value_compare 7770: value_comp() const 7770: { return value_compare(_M_t.key_comp()); } 7770: # 1168 "/usr/include/c++/8/bits/stl_map.h" 3 7770: iterator 7770: find(const key_type& __x) 7770: { return _M_t.find(__x); } 7770: 7770: 7770: template 7770: auto 7770: find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x)) 7770: { return _M_t._M_find_tr(__x); } 7770: # 1193 "/usr/include/c++/8/bits/stl_map.h" 3 7770: const_iterator 7770: find(const key_type& __x) const 7770: { return _M_t.find(__x); } 7770: 7770: 7770: template 7770: auto 7770: find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x)) 7770: { return _M_t._M_find_tr(__x); } 7770: # 1214 "/usr/include/c++/8/bits/stl_map.h" 3 7770: size_type 7770: count(const key_type& __x) const 7770: { return _M_t.find(__x) == _M_t.end() ? 0 : 1; } 7770: 7770: 7770: template 7770: auto 7770: count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x)) 7770: { return _M_t._M_count_tr(__x); } 7770: # 1238 "/usr/include/c++/8/bits/stl_map.h" 3 7770: iterator 7770: lower_bound(const key_type& __x) 7770: { return _M_t.lower_bound(__x); } 7770: 7770: 7770: template 7770: auto 7770: lower_bound(const _Kt& __x) 7770: -> decltype(iterator(_M_t._M_lower_bound_tr(__x))) 7770: { return iterator(_M_t._M_lower_bound_tr(__x)); } 7770: # 1263 "/usr/include/c++/8/bits/stl_map.h" 3 7770: const_iterator 7770: lower_bound(const key_type& __x) const 7770: { return _M_t.lower_bound(__x); } 7770: 7770: 7770: template 7770: auto 7770: lower_bound(const _Kt& __x) const 7770: -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x))) 7770: { return const_iterator(_M_t._M_lower_bound_tr(__x)); } 7770: # 1283 "/usr/include/c++/8/bits/stl_map.h" 3 7770: iterator 7770: upper_bound(const key_type& __x) 7770: { return _M_t.upper_bound(__x); } 7770: 7770: 7770: template 7770: auto 7770: upper_bound(const _Kt& __x) 7770: -> decltype(iterator(_M_t._M_upper_bound_tr(__x))) 7770: { return iterator(_M_t._M_upper_bound_tr(__x)); } 7770: # 1303 "/usr/include/c++/8/bits/stl_map.h" 3 7770: const_iterator 7770: upper_bound(const key_type& __x) const 7770: { return _M_t.upper_bound(__x); } 7770: 7770: 7770: template 7770: auto 7770: upper_bound(const _Kt& __x) const 7770: -> decltype(const_iterator(_M_t._M_upper_bound_tr(__x))) 7770: { return const_iterator(_M_t._M_upper_bound_tr(__x)); } 7770: # 1332 "/usr/include/c++/8/bits/stl_map.h" 3 7770: std::pair 7770: equal_range(const key_type& __x) 7770: { return _M_t.equal_range(__x); } 7770: 7770: 7770: template 7770: auto 7770: equal_range(const _Kt& __x) 7770: -> decltype(pair(_M_t._M_equal_range_tr(__x))) 7770: { return pair(_M_t._M_equal_range_tr(__x)); } 7770: # 1361 "/usr/include/c++/8/bits/stl_map.h" 3 7770: std::pair 7770: equal_range(const key_type& __x) const 7770: { return _M_t.equal_range(__x); } 7770: 7770: 7770: template 7770: auto 7770: equal_range(const _Kt& __x) const 7770: -> decltype(pair( 7770: _M_t._M_equal_range_tr(__x))) 7770: { 7770: return pair( 7770: _M_t._M_equal_range_tr(__x)); 7770: } 7770: 7770: 7770: 7770: template 7770: friend bool 7770: operator==(const map<_K1, _T1, _C1, _A1>&, 7770: const map<_K1, _T1, _C1, _A1>&); 7770: 7770: template 7770: friend bool 7770: operator<(const map<_K1, _T1, _C1, _A1>&, 7770: const map<_K1, _T1, _C1, _A1>&); 7770: }; 7770: 7770: 7770: 7770: 7770: template>, 7770: typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>, 7770: typename = _RequireInputIter<_InputIterator>, 7770: typename = _RequireAllocator<_Allocator>> 7770: map(_InputIterator, _InputIterator, 7770: _Compare = _Compare(), _Allocator = _Allocator()) 7770: -> map<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>, 7770: _Compare, _Allocator>; 7770: 7770: template, 7770: typename _Allocator = allocator>, 7770: typename = _RequireAllocator<_Allocator>> 7770: map(initializer_list>, 7770: _Compare = _Compare(), _Allocator = _Allocator()) 7770: -> map<_Key, _Tp, _Compare, _Allocator>; 7770: 7770: template , 7770: typename = _RequireAllocator<_Allocator>> 7770: map(_InputIterator, _InputIterator, _Allocator) 7770: -> map<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>, 7770: less<__iter_key_t<_InputIterator>>, _Allocator>; 7770: 7770: template> 7770: map(initializer_list>, _Allocator) 7770: -> map<_Key, _Tp, less<_Key>, _Allocator>; 7770: # 1433 "/usr/include/c++/8/bits/stl_map.h" 3 7770: template 7770: inline bool 7770: operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x, 7770: const map<_Key, _Tp, _Compare, _Alloc>& __y) 7770: { return __x._M_t == __y._M_t; } 7770: # 1450 "/usr/include/c++/8/bits/stl_map.h" 3 7770: template 7770: inline bool 7770: operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x, 7770: const map<_Key, _Tp, _Compare, _Alloc>& __y) 7770: { return __x._M_t < __y._M_t; } 7770: 7770: 7770: template 7770: inline bool 7770: operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x, 7770: const map<_Key, _Tp, _Compare, _Alloc>& __y) 7770: { return !(__x == __y); } 7770: 7770: 7770: template 7770: inline bool 7770: operator>(const map<_Key, _Tp, _Compare, _Alloc>& __x, 7770: const map<_Key, _Tp, _Compare, _Alloc>& __y) 7770: { return __y < __x; } 7770: 7770: 7770: template 7770: inline bool 7770: operator<=(const map<_Key, _Tp, _Compare, _Alloc>& __x, 7770: const map<_Key, _Tp, _Compare, _Alloc>& __y) 7770: { return !(__y < __x); } 7770: 7770: 7770: template 7770: inline bool 7770: operator>=(const map<_Key, _Tp, _Compare, _Alloc>& __x, 7770: const map<_Key, _Tp, _Compare, _Alloc>& __y) 7770: { return !(__x < __y); } 7770: 7770: 7770: template 7770: inline void 7770: swap(map<_Key, _Tp, _Compare, _Alloc>& __x, 7770: map<_Key, _Tp, _Compare, _Alloc>& __y) 7770: noexcept(noexcept(__x.swap(__y))) 7770: { __x.swap(__y); } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct 7770: _Rb_tree_merge_helper, 7770: _Cmp2> 7770: { 7770: private: 7770: friend class std::map<_Key, _Val, _Cmp1, _Alloc>; 7770: 7770: static auto& 7770: _S_get_tree(std::map<_Key, _Val, _Cmp2, _Alloc>& __map) 7770: { return __map._M_t; } 7770: 7770: static auto& 7770: _S_get_tree(std::multimap<_Key, _Val, _Cmp2, _Alloc>& __map) 7770: { return __map._M_t; } 7770: }; 7770: 7770: 7770: 7770: } 7770: # 62 "/usr/include/c++/8/map" 2 3 7770: # 1 "/usr/include/c++/8/bits/stl_multimap.h" 1 3 7770: # 64 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: template 7770: class map; 7770: # 96 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: template , 7770: typename _Alloc = std::allocator > > 7770: class multimap 7770: { 7770: public: 7770: typedef _Key key_type; 7770: typedef _Tp mapped_type; 7770: typedef std::pair value_type; 7770: typedef _Compare key_compare; 7770: typedef _Alloc allocator_type; 7770: 7770: private: 7770: # 121 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: static_assert(is_same::value, 7770: "std::multimap must have the same value_type as its allocator"); 7770: 7770: 7770: public: 7770: class value_compare 7770: : public std::binary_function 7770: { 7770: friend class multimap<_Key, _Tp, _Compare, _Alloc>; 7770: protected: 7770: _Compare comp; 7770: 7770: value_compare(_Compare __c) 7770: : comp(__c) { } 7770: 7770: public: 7770: bool operator()(const value_type& __x, const value_type& __y) const 7770: { return comp(__x.first, __y.first); } 7770: }; 7770: 7770: private: 7770: 7770: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template 7770: rebind::other _Pair_alloc_type; 7770: 7770: typedef _Rb_tree, 7770: key_compare, _Pair_alloc_type> _Rep_type; 7770: 7770: _Rep_type _M_t; 7770: 7770: typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits; 7770: 7770: public: 7770: 7770: 7770: typedef typename _Alloc_traits::pointer pointer; 7770: typedef typename _Alloc_traits::const_pointer const_pointer; 7770: typedef typename _Alloc_traits::reference reference; 7770: typedef typename _Alloc_traits::const_reference const_reference; 7770: typedef typename _Rep_type::iterator iterator; 7770: typedef typename _Rep_type::const_iterator const_iterator; 7770: typedef typename _Rep_type::size_type size_type; 7770: typedef typename _Rep_type::difference_type difference_type; 7770: typedef typename _Rep_type::reverse_iterator reverse_iterator; 7770: typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; 7770: 7770: 7770: using node_type = typename _Rep_type::node_type; 7770: # 180 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: multimap() = default; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: explicit 7770: multimap(const _Compare& __comp, 7770: const allocator_type& __a = allocator_type()) 7770: : _M_t(__comp, _Pair_alloc_type(__a)) { } 7770: # 202 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: multimap(const multimap&) = default; 7770: # 211 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: multimap(multimap&&) = default; 7770: # 223 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: multimap(initializer_list __l, 7770: const _Compare& __comp = _Compare(), 7770: const allocator_type& __a = allocator_type()) 7770: : _M_t(__comp, _Pair_alloc_type(__a)) 7770: { _M_t._M_insert_equal(__l.begin(), __l.end()); } 7770: 7770: 7770: explicit 7770: multimap(const allocator_type& __a) 7770: : _M_t(_Compare(), _Pair_alloc_type(__a)) { } 7770: 7770: 7770: multimap(const multimap& __m, const allocator_type& __a) 7770: : _M_t(__m._M_t, _Pair_alloc_type(__a)) { } 7770: 7770: 7770: multimap(multimap&& __m, const allocator_type& __a) 7770: noexcept(is_nothrow_copy_constructible<_Compare>::value 7770: && _Alloc_traits::_S_always_equal()) 7770: : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { } 7770: 7770: 7770: multimap(initializer_list __l, const allocator_type& __a) 7770: : _M_t(_Compare(), _Pair_alloc_type(__a)) 7770: { _M_t._M_insert_equal(__l.begin(), __l.end()); } 7770: 7770: 7770: template 7770: multimap(_InputIterator __first, _InputIterator __last, 7770: const allocator_type& __a) 7770: : _M_t(_Compare(), _Pair_alloc_type(__a)) 7770: { _M_t._M_insert_equal(__first, __last); } 7770: # 266 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: template 7770: multimap(_InputIterator __first, _InputIterator __last) 7770: : _M_t() 7770: { _M_t._M_insert_equal(__first, __last); } 7770: # 282 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: template 7770: multimap(_InputIterator __first, _InputIterator __last, 7770: const _Compare& __comp, 7770: const allocator_type& __a = allocator_type()) 7770: : _M_t(__comp, _Pair_alloc_type(__a)) 7770: { _M_t._M_insert_equal(__first, __last); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: ~multimap() = default; 7770: # 311 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: multimap& 7770: operator=(const multimap&) = default; 7770: 7770: 7770: multimap& 7770: operator=(multimap&&) = default; 7770: # 329 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: multimap& 7770: operator=(initializer_list __l) 7770: { 7770: _M_t._M_assign_equal(__l.begin(), __l.end()); 7770: return *this; 7770: } 7770: 7770: 7770: 7770: allocator_type 7770: get_allocator() const noexcept 7770: { return allocator_type(_M_t.get_allocator()); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: iterator 7770: begin() noexcept 7770: { return _M_t.begin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: begin() const noexcept 7770: { return _M_t.begin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: iterator 7770: end() noexcept 7770: { return _M_t.end(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: end() const noexcept 7770: { return _M_t.end(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: reverse_iterator 7770: rbegin() noexcept 7770: { return _M_t.rbegin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_reverse_iterator 7770: rbegin() const noexcept 7770: { return _M_t.rbegin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: reverse_iterator 7770: rend() noexcept 7770: { return _M_t.rend(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_reverse_iterator 7770: rend() const noexcept 7770: { return _M_t.rend(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: cbegin() const noexcept 7770: { return _M_t.begin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: cend() const noexcept 7770: { return _M_t.end(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_reverse_iterator 7770: crbegin() const noexcept 7770: { return _M_t.rbegin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_reverse_iterator 7770: crend() const noexcept 7770: { return _M_t.rend(); } 7770: 7770: 7770: 7770: 7770: bool 7770: empty() const noexcept 7770: { return _M_t.empty(); } 7770: 7770: 7770: size_type 7770: size() const noexcept 7770: { return _M_t.size(); } 7770: 7770: 7770: size_type 7770: max_size() const noexcept 7770: { return _M_t.max_size(); } 7770: # 487 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: template 7770: iterator 7770: emplace(_Args&&... __args) 7770: { return _M_t._M_emplace_equal(std::forward<_Args>(__args)...); } 7770: # 514 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: template 7770: iterator 7770: emplace_hint(const_iterator __pos, _Args&&... __args) 7770: { 7770: return _M_t._M_emplace_hint_equal(__pos, 7770: std::forward<_Args>(__args)...); 7770: } 7770: # 536 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: iterator 7770: insert(const value_type& __x) 7770: { return _M_t._M_insert_equal(__x); } 7770: 7770: 7770: 7770: 7770: iterator 7770: insert(value_type&& __x) 7770: { return _M_t._M_insert_equal(std::move(__x)); } 7770: 7770: template::value>::type> 7770: iterator 7770: insert(_Pair&& __x) 7770: { return _M_t._M_insert_equal(std::forward<_Pair>(__x)); } 7770: # 577 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: iterator 7770: 7770: insert(const_iterator __position, const value_type& __x) 7770: 7770: 7770: 7770: { return _M_t._M_insert_equal_(__position, __x); } 7770: 7770: 7770: 7770: 7770: iterator 7770: insert(const_iterator __position, value_type&& __x) 7770: { return _M_t._M_insert_equal_(__position, std::move(__x)); } 7770: 7770: template::value>::type> 7770: iterator 7770: insert(const_iterator __position, _Pair&& __x) 7770: { return _M_t._M_insert_equal_(__position, 7770: std::forward<_Pair>(__x)); } 7770: # 611 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: template 7770: void 7770: insert(_InputIterator __first, _InputIterator __last) 7770: { _M_t._M_insert_equal(__first, __last); } 7770: # 624 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: void 7770: insert(initializer_list __l) 7770: { this->insert(__l.begin(), __l.end()); } 7770: 7770: 7770: 7770: 7770: node_type 7770: extract(const_iterator __pos) 7770: { 7770: ; 7770: return _M_t.extract(__pos); 7770: } 7770: 7770: 7770: node_type 7770: extract(const key_type& __x) 7770: { return _M_t.extract(__x); } 7770: 7770: 7770: iterator 7770: insert(node_type&& __nh) 7770: { return _M_t._M_reinsert_node_equal(std::move(__nh)); } 7770: 7770: 7770: iterator 7770: insert(const_iterator __hint, node_type&& __nh) 7770: { return _M_t._M_reinsert_node_hint_equal(__hint, std::move(__nh)); } 7770: 7770: template 7770: friend class _Rb_tree_merge_helper; 7770: 7770: template 7770: void 7770: merge(multimap<_Key, _Tp, _C2, _Alloc>& __source) 7770: { 7770: using _Merge_helper = _Rb_tree_merge_helper; 7770: _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source)); 7770: } 7770: 7770: template 7770: void 7770: merge(multimap<_Key, _Tp, _C2, _Alloc>&& __source) 7770: { merge(__source); } 7770: 7770: template 7770: void 7770: merge(map<_Key, _Tp, _C2, _Alloc>& __source) 7770: { 7770: using _Merge_helper = _Rb_tree_merge_helper; 7770: _M_t._M_merge_equal(_Merge_helper::_S_get_tree(__source)); 7770: } 7770: 7770: template 7770: void 7770: merge(map<_Key, _Tp, _C2, _Alloc>&& __source) 7770: { merge(__source); } 7770: # 701 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: iterator 7770: erase(const_iterator __position) 7770: { return _M_t.erase(__position); } 7770: 7770: 7770: __attribute ((__abi_tag__ ("cxx11"))) 7770: iterator 7770: erase(iterator __position) 7770: { return _M_t.erase(__position); } 7770: # 738 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: size_type 7770: erase(const key_type& __x) 7770: { return _M_t.erase(__x); } 7770: # 759 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: iterator 7770: erase(const_iterator __first, const_iterator __last) 7770: { return _M_t.erase(__first, __last); } 7770: # 796 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: void 7770: swap(multimap& __x) 7770: noexcept(__is_nothrow_swappable<_Compare>::value) 7770: { _M_t.swap(__x._M_t); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: void 7770: clear() noexcept 7770: { _M_t.clear(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: key_compare 7770: key_comp() const 7770: { return _M_t.key_comp(); } 7770: 7770: 7770: 7770: 7770: 7770: value_compare 7770: value_comp() const 7770: { return value_compare(_M_t.key_comp()); } 7770: # 842 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: iterator 7770: find(const key_type& __x) 7770: { return _M_t.find(__x); } 7770: 7770: 7770: template 7770: auto 7770: find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x)) 7770: { return _M_t._M_find_tr(__x); } 7770: # 866 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: const_iterator 7770: find(const key_type& __x) const 7770: { return _M_t.find(__x); } 7770: 7770: 7770: template 7770: auto 7770: find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x)) 7770: { return _M_t._M_find_tr(__x); } 7770: # 884 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: size_type 7770: count(const key_type& __x) const 7770: { return _M_t.count(__x); } 7770: 7770: 7770: template 7770: auto 7770: count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x)) 7770: { return _M_t._M_count_tr(__x); } 7770: # 908 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: iterator 7770: lower_bound(const key_type& __x) 7770: { return _M_t.lower_bound(__x); } 7770: 7770: 7770: template 7770: auto 7770: lower_bound(const _Kt& __x) 7770: -> decltype(iterator(_M_t._M_lower_bound_tr(__x))) 7770: { return iterator(_M_t._M_lower_bound_tr(__x)); } 7770: # 933 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: const_iterator 7770: lower_bound(const key_type& __x) const 7770: { return _M_t.lower_bound(__x); } 7770: 7770: 7770: template 7770: auto 7770: lower_bound(const _Kt& __x) const 7770: -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x))) 7770: { return const_iterator(_M_t._M_lower_bound_tr(__x)); } 7770: # 953 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: iterator 7770: upper_bound(const key_type& __x) 7770: { return _M_t.upper_bound(__x); } 7770: 7770: 7770: template 7770: auto 7770: upper_bound(const _Kt& __x) 7770: -> decltype(iterator(_M_t._M_upper_bound_tr(__x))) 7770: { return iterator(_M_t._M_upper_bound_tr(__x)); } 7770: # 973 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: const_iterator 7770: upper_bound(const key_type& __x) const 7770: { return _M_t.upper_bound(__x); } 7770: 7770: 7770: template 7770: auto 7770: upper_bound(const _Kt& __x) const 7770: -> decltype(const_iterator(_M_t._M_upper_bound_tr(__x))) 7770: { return const_iterator(_M_t._M_upper_bound_tr(__x)); } 7770: # 1000 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: std::pair 7770: equal_range(const key_type& __x) 7770: { return _M_t.equal_range(__x); } 7770: 7770: 7770: template 7770: auto 7770: equal_range(const _Kt& __x) 7770: -> decltype(pair(_M_t._M_equal_range_tr(__x))) 7770: { return pair(_M_t._M_equal_range_tr(__x)); } 7770: # 1027 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: std::pair 7770: equal_range(const key_type& __x) const 7770: { return _M_t.equal_range(__x); } 7770: 7770: 7770: template 7770: auto 7770: equal_range(const _Kt& __x) const 7770: -> decltype(pair( 7770: _M_t._M_equal_range_tr(__x))) 7770: { 7770: return pair( 7770: _M_t._M_equal_range_tr(__x)); 7770: } 7770: 7770: 7770: 7770: template 7770: friend bool 7770: operator==(const multimap<_K1, _T1, _C1, _A1>&, 7770: const multimap<_K1, _T1, _C1, _A1>&); 7770: 7770: template 7770: friend bool 7770: operator<(const multimap<_K1, _T1, _C1, _A1>&, 7770: const multimap<_K1, _T1, _C1, _A1>&); 7770: }; 7770: 7770: 7770: 7770: template>, 7770: typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>, 7770: typename = _RequireInputIter<_InputIterator>, 7770: typename = _RequireAllocator<_Allocator>> 7770: multimap(_InputIterator, _InputIterator, 7770: _Compare = _Compare(), _Allocator = _Allocator()) 7770: -> multimap<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>, 7770: _Compare, _Allocator>; 7770: 7770: template, 7770: typename _Allocator = allocator>, 7770: typename = _RequireAllocator<_Allocator>> 7770: multimap(initializer_list>, 7770: _Compare = _Compare(), _Allocator = _Allocator()) 7770: -> multimap<_Key, _Tp, _Compare, _Allocator>; 7770: 7770: template, 7770: typename = _RequireAllocator<_Allocator>> 7770: multimap(_InputIterator, _InputIterator, _Allocator) 7770: -> multimap<__iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>, 7770: less<__iter_key_t<_InputIterator>>, _Allocator>; 7770: 7770: template> 7770: multimap(initializer_list>, _Allocator) 7770: -> multimap<_Key, _Tp, less<_Key>, _Allocator>; 7770: # 1098 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: template 7770: inline bool 7770: operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 7770: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 7770: { return __x._M_t == __y._M_t; } 7770: # 1115 "/usr/include/c++/8/bits/stl_multimap.h" 3 7770: template 7770: inline bool 7770: operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 7770: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 7770: { return __x._M_t < __y._M_t; } 7770: 7770: 7770: template 7770: inline bool 7770: operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 7770: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 7770: { return !(__x == __y); } 7770: 7770: 7770: template 7770: inline bool 7770: operator>(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 7770: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 7770: { return __y < __x; } 7770: 7770: 7770: template 7770: inline bool 7770: operator<=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 7770: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 7770: { return !(__y < __x); } 7770: 7770: 7770: template 7770: inline bool 7770: operator>=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, 7770: const multimap<_Key, _Tp, _Compare, _Alloc>& __y) 7770: { return !(__x < __y); } 7770: 7770: 7770: template 7770: inline void 7770: swap(multimap<_Key, _Tp, _Compare, _Alloc>& __x, 7770: multimap<_Key, _Tp, _Compare, _Alloc>& __y) 7770: noexcept(noexcept(__x.swap(__y))) 7770: { __x.swap(__y); } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct 7770: _Rb_tree_merge_helper, 7770: _Cmp2> 7770: { 7770: private: 7770: friend class std::multimap<_Key, _Val, _Cmp1, _Alloc>; 7770: 7770: static auto& 7770: _S_get_tree(std::map<_Key, _Val, _Cmp2, _Alloc>& __map) 7770: { return __map._M_t; } 7770: 7770: static auto& 7770: _S_get_tree(std::multimap<_Key, _Val, _Cmp2, _Alloc>& __map) 7770: { return __map._M_t; } 7770: }; 7770: 7770: 7770: 7770: } 7770: # 63 "/usr/include/c++/8/map" 2 3 7770: # 56 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmetatype.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct QMetaTypeId2; 7770: 7770: template 7770: inline constexpr int qMetaTypeId(); 7770: # 216 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmetatype.h" 3 4 7770: class QDataStream; 7770: class QMetaTypeInterface; 7770: struct QMetaObject; 7770: 7770: namespace QtPrivate 7770: { 7770: 7770: 7770: 7770: 7770: template 7770: To convertImplicit(const From& from) 7770: { 7770: return from; 7770: } 7770: 7770: 7770: struct AbstractDebugStreamFunction 7770: { 7770: typedef void (*Stream)(const AbstractDebugStreamFunction *, QDebug&, const void *); 7770: typedef void (*Destroy)(AbstractDebugStreamFunction *); 7770: explicit AbstractDebugStreamFunction(Stream s = nullptr, Destroy d = nullptr) 7770: : stream(s), destroy(d) {} 7770: AbstractDebugStreamFunction(const AbstractDebugStreamFunction &) = delete; AbstractDebugStreamFunction &operator=(const AbstractDebugStreamFunction &) = delete; 7770: Stream stream; 7770: Destroy destroy; 7770: }; 7770: 7770: template 7770: struct BuiltInDebugStreamFunction : public AbstractDebugStreamFunction 7770: { 7770: BuiltInDebugStreamFunction() 7770: : AbstractDebugStreamFunction(stream, destroy) {} 7770: static void stream(const AbstractDebugStreamFunction *, QDebug& dbg, const void *r) 7770: { 7770: const T *rhs = static_cast(r); 7770: operator<<(dbg, *rhs); 7770: } 7770: 7770: static void destroy(AbstractDebugStreamFunction *_this) 7770: { 7770: delete static_cast(_this); 7770: } 7770: }; 7770: 7770: 7770: struct AbstractComparatorFunction 7770: { 7770: typedef bool (*LessThan)(const AbstractComparatorFunction *, const void *, const void *); 7770: typedef bool (*Equals)(const AbstractComparatorFunction *, const void *, const void *); 7770: typedef void (*Destroy)(AbstractComparatorFunction *); 7770: explicit AbstractComparatorFunction(LessThan lt = nullptr, Equals e = nullptr, Destroy d = nullptr) 7770: : lessThan(lt), equals(e), destroy(d) {} 7770: AbstractComparatorFunction(const AbstractComparatorFunction &) = delete; AbstractComparatorFunction &operator=(const AbstractComparatorFunction &) = delete; 7770: LessThan lessThan; 7770: Equals equals; 7770: Destroy destroy; 7770: }; 7770: 7770: template 7770: struct BuiltInComparatorFunction : public AbstractComparatorFunction 7770: { 7770: BuiltInComparatorFunction() 7770: : AbstractComparatorFunction(lessThan, equals, destroy) {} 7770: static bool lessThan(const AbstractComparatorFunction *, const void *l, const void *r) 7770: { 7770: const T *lhs = static_cast(l); 7770: const T *rhs = static_cast(r); 7770: return *lhs < *rhs; 7770: } 7770: 7770: static bool equals(const AbstractComparatorFunction *, const void *l, const void *r) 7770: { 7770: const T *lhs = static_cast(l); 7770: const T *rhs = static_cast(r); 7770: return *lhs == *rhs; 7770: } 7770: 7770: static void destroy(AbstractComparatorFunction *_this) 7770: { 7770: delete static_cast(_this); 7770: } 7770: }; 7770: 7770: template 7770: struct BuiltInEqualsComparatorFunction : public AbstractComparatorFunction 7770: { 7770: BuiltInEqualsComparatorFunction() 7770: : AbstractComparatorFunction(nullptr, equals, destroy) {} 7770: static bool equals(const AbstractComparatorFunction *, const void *l, const void *r) 7770: { 7770: const T *lhs = static_cast(l); 7770: const T *rhs = static_cast(r); 7770: return *lhs == *rhs; 7770: } 7770: 7770: static void destroy(AbstractComparatorFunction *_this) 7770: { 7770: delete static_cast(_this); 7770: } 7770: }; 7770: 7770: struct AbstractConverterFunction 7770: { 7770: typedef bool (*Converter)(const AbstractConverterFunction *, const void *, void*); 7770: explicit AbstractConverterFunction(Converter c = nullptr) 7770: : convert(c) {} 7770: AbstractConverterFunction(const AbstractConverterFunction &) = delete; AbstractConverterFunction &operator=(const AbstractConverterFunction &) = delete; 7770: Converter convert; 7770: }; 7770: 7770: template 7770: struct ConverterMemberFunction : public AbstractConverterFunction 7770: { 7770: explicit ConverterMemberFunction(To(From::*function)() const) 7770: : AbstractConverterFunction(convert), 7770: m_function(function) {} 7770: ~ConverterMemberFunction(); 7770: static bool convert(const AbstractConverterFunction *_this, const void *in, void *out) 7770: { 7770: const From *f = static_cast(in); 7770: To *t = static_cast(out); 7770: const ConverterMemberFunction *_typedThis = 7770: static_cast(_this); 7770: *t = (f->*_typedThis->m_function)(); 7770: return true; 7770: } 7770: 7770: To(From::* const m_function)() const; 7770: }; 7770: 7770: template 7770: struct ConverterMemberFunctionOk : public AbstractConverterFunction 7770: { 7770: explicit ConverterMemberFunctionOk(To(From::*function)(bool *) const) 7770: : AbstractConverterFunction(convert), 7770: m_function(function) {} 7770: ~ConverterMemberFunctionOk(); 7770: static bool convert(const AbstractConverterFunction *_this, const void *in, void *out) 7770: { 7770: const From *f = static_cast(in); 7770: To *t = static_cast(out); 7770: bool ok = false; 7770: const ConverterMemberFunctionOk *_typedThis = 7770: static_cast(_this); 7770: *t = (f->*_typedThis->m_function)(&ok); 7770: if (!ok) 7770: *t = To(); 7770: return ok; 7770: } 7770: 7770: To(From::* const m_function)(bool*) const; 7770: }; 7770: 7770: template 7770: struct ConverterFunctor : public AbstractConverterFunction 7770: { 7770: explicit ConverterFunctor(UnaryFunction function) 7770: : AbstractConverterFunction(convert), 7770: m_function(function) {} 7770: ~ConverterFunctor(); 7770: static bool convert(const AbstractConverterFunction *_this, const void *in, void *out) 7770: { 7770: const From *f = static_cast(in); 7770: To *t = static_cast(out); 7770: const ConverterFunctor *_typedThis = 7770: static_cast(_this); 7770: *t = _typedThis->m_function(*f); 7770: return true; 7770: } 7770: 7770: UnaryFunction m_function; 7770: }; 7770: 7770: template 7770: struct ValueTypeIsMetaType; 7770: template 7770: struct AssociativeValueTypeIsMetaType; 7770: template 7770: struct IsMetaTypePair; 7770: template 7770: struct MetaTypeSmartPointerHelper; 7770: } 7770: 7770: class __attribute__((visibility("default"))) QMetaType { 7770: enum ExtensionFlag { NoExtensionFlags, 7770: CreateEx = 0x1, DestroyEx = 0x2, 7770: ConstructEx = 0x4, DestructEx = 0x8, 7770: NameEx = 0x10, SizeEx = 0x20, 7770: CtorEx = 0x40, DtorEx = 0x80, 7770: FlagsEx = 0x100, MetaObjectEx = 0x200 7770: }; 7770: public: 7770: 7770: 7770: enum Type { 7770: 7770: 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, 7770: 7770: FirstCoreType = Bool, 7770: LastCoreType = Nullptr, 7770: FirstGuiType = QFont, 7770: LastGuiType = QPolygonF, 7770: FirstWidgetsType = QSizePolicy, 7770: LastWidgetsType = QSizePolicy, 7770: HighestInternalId = LastWidgetsType, 7770: 7770: QReal = sizeof(qreal) == sizeof(double) ? Double : Float, 7770: 7770: UnknownType = 0, 7770: User = 1024 7770: }; 7770: # 455 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmetatype.h" 3 4 7770: enum TypeFlag { 7770: NeedsConstruction = 0x1, 7770: NeedsDestruction = 0x2, 7770: MovableType = 0x4, 7770: PointerToQObject = 0x8, 7770: IsEnumeration = 0x10, 7770: SharedPointerToQObject = 0x20, 7770: WeakPointerToQObject = 0x40, 7770: TrackingPointerToQObject = 0x80, 7770: WasDeclaredAsMetaType = 0x100, 7770: IsGadget = 0x200 7770: }; 7770: typedef QFlags TypeFlags; 7770: 7770: typedef void (*Deleter)(void *); 7770: typedef void *(*Creator)(const void *); 7770: 7770: typedef void (*Destructor)(void *); 7770: typedef void *(*Constructor)(void *, const void *); 7770: 7770: typedef void (*SaveOperator)(QDataStream &, const void *); 7770: typedef void (*LoadOperator)(QDataStream &, void *); 7770: 7770: static void registerStreamOperators(const char *typeName, SaveOperator saveOp, 7770: LoadOperator loadOp); 7770: static void registerStreamOperators(int type, SaveOperator saveOp, 7770: LoadOperator loadOp); 7770: 7770: static int registerType(const char *typeName, Deleter deleter, 7770: Creator creator); 7770: static int registerType(const char *typeName, Deleter deleter, 7770: Creator creator, 7770: Destructor destructor, 7770: Constructor constructor, 7770: int size, 7770: QMetaType::TypeFlags flags, 7770: const QMetaObject *metaObject); 7770: static bool unregisterType(int type); 7770: static int registerNormalizedType(const ::QByteArray &normalizedTypeName, Deleter deleter, 7770: Creator creator, 7770: Destructor destructor, 7770: Constructor constructor, 7770: int size, 7770: QMetaType::TypeFlags flags, 7770: const QMetaObject *metaObject); 7770: static int registerNormalizedType(const ::QByteArray &normalizedTypeName, Destructor destructor, 7770: Constructor constructor, 7770: int size, 7770: QMetaType::TypeFlags flags, 7770: const QMetaObject *metaObject); 7770: static int registerTypedef(const char *typeName, int aliasId); 7770: static int registerNormalizedTypedef(const ::QByteArray &normalizedTypeName, int aliasId); 7770: static int type(const char *typeName); 7770: 7770: static int type(const ::QByteArray &typeName); 7770: static const char *typeName(int type); 7770: static int sizeOf(int type); 7770: static TypeFlags typeFlags(int type); 7770: static const QMetaObject *metaObjectForType(int type); 7770: static bool isRegistered(int type); 7770: static void *create(int type, const void *copy = nullptr); 7770: 7770: 7770: 7770: 7770: static void destroy(int type, void *data); 7770: static void *construct(int type, void *where, const void *copy); 7770: static void destruct(int type, void *where); 7770: 7770: 7770: static bool save(QDataStream &stream, int type, const void *data); 7770: static bool load(QDataStream &stream, int type, void *data); 7770: 7770: 7770: explicit QMetaType(const int type); 7770: inline ~QMetaType(); 7770: 7770: inline bool isValid() const; 7770: inline bool isRegistered() const; 7770: inline int sizeOf() const; 7770: inline TypeFlags flags() const; 7770: inline const QMetaObject *metaObject() const; 7770: 7770: inline void *create(const void *copy = nullptr) const; 7770: inline void destroy(void *data) const; 7770: inline void *construct(void *where, const void *copy = nullptr) const; 7770: inline void destruct(void *data) const; 7770: 7770: public: 7770: template 7770: static bool registerComparators() 7770: { 7770: static_assert(bool((!QMetaTypeId2::IsBuiltIn)), "QMetaType::registerComparators: The type must be a custom type.") 7770: ; 7770: 7770: const int typeId = qMetaTypeId(); 7770: static const QtPrivate::BuiltInComparatorFunction f; 7770: return registerComparatorFunction( &f, typeId); 7770: } 7770: template 7770: static bool registerEqualsComparator() 7770: { 7770: static_assert(bool((!QMetaTypeId2::IsBuiltIn)), "QMetaType::registerEqualsComparator: The type must be a custom type.") 7770: ; 7770: const int typeId = qMetaTypeId(); 7770: static const QtPrivate::BuiltInEqualsComparatorFunction f; 7770: return registerComparatorFunction( &f, typeId); 7770: } 7770: 7770: template 7770: static bool hasRegisteredComparators() 7770: { 7770: return hasRegisteredComparators(qMetaTypeId()); 7770: } 7770: static bool hasRegisteredComparators(int typeId); 7770: 7770: 7770: 7770: template 7770: static bool registerDebugStreamOperator() 7770: { 7770: static_assert(bool((!QMetaTypeId2::IsBuiltIn)), "QMetaType::registerDebugStreamOperator: The type must be a custom type.") 7770: ; 7770: 7770: const int typeId = qMetaTypeId(); 7770: static const QtPrivate::BuiltInDebugStreamFunction f; 7770: return registerDebugStreamOperatorFunction(&f, typeId); 7770: } 7770: template 7770: static bool hasRegisteredDebugStreamOperator() 7770: { 7770: return hasRegisteredDebugStreamOperator(qMetaTypeId()); 7770: } 7770: static bool hasRegisteredDebugStreamOperator(int typeId); 7770: 7770: 7770: 7770: template 7770: static bool registerConverter() 7770: { 7770: return registerConverter(QtPrivate::convertImplicit); 7770: } 7770: # 607 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmetatype.h" 3 4 7770: template 7770: static bool registerConverter(To(From::*function)() const) 7770: { 7770: static_assert(bool((!QMetaTypeId2::IsBuiltIn || !QMetaTypeId2::IsBuiltIn)), "QMetaType::registerConverter: At least one of the types must be a custom type.") 7770: ; 7770: 7770: const int fromTypeId = qMetaTypeId(); 7770: const int toTypeId = qMetaTypeId(); 7770: static const QtPrivate::ConverterMemberFunction f(function); 7770: return registerConverterFunction(&f, fromTypeId, toTypeId); 7770: } 7770: 7770: 7770: template 7770: static bool registerConverter(To(From::*function)(bool*) const) 7770: { 7770: static_assert(bool((!QMetaTypeId2::IsBuiltIn || !QMetaTypeId2::IsBuiltIn)), "QMetaType::registerConverter: At least one of the types must be a custom type.") 7770: ; 7770: 7770: const int fromTypeId = qMetaTypeId(); 7770: const int toTypeId = qMetaTypeId(); 7770: static const QtPrivate::ConverterMemberFunctionOk f(function); 7770: return registerConverterFunction(&f, fromTypeId, toTypeId); 7770: } 7770: 7770: 7770: template 7770: static bool registerConverter(UnaryFunction function) 7770: { 7770: static_assert(bool((!QMetaTypeId2::IsBuiltIn || !QMetaTypeId2::IsBuiltIn)), "QMetaType::registerConverter: At least one of the types must be a custom type.") 7770: ; 7770: 7770: const int fromTypeId = qMetaTypeId(); 7770: const int toTypeId = qMetaTypeId(); 7770: static const QtPrivate::ConverterFunctor f(function); 7770: return registerConverterFunction(&f, fromTypeId, toTypeId); 7770: } 7770: 7770: 7770: static bool convert(const void *from, int fromTypeId, void *to, int toTypeId); 7770: static bool compare(const void *lhs, const void *rhs, int typeId, int* result); 7770: static bool equals(const void *lhs, const void *rhs, int typeId, int* result); 7770: static bool debugStream(QDebug& dbg, const void *rhs, int typeId); 7770: 7770: template 7770: static bool hasRegisteredConverterFunction() 7770: { 7770: return hasRegisteredConverterFunction(qMetaTypeId(), qMetaTypeId()); 7770: } 7770: 7770: static bool hasRegisteredConverterFunction(int fromTypeId, int toTypeId); 7770: 7770: private: 7770: static QMetaType typeInfo(const int type); 7770: inline QMetaType(const ExtensionFlag extensionFlags, const QMetaTypeInterface *info, 7770: Creator creator, 7770: Deleter deleter, 7770: SaveOperator saveOp, 7770: LoadOperator loadOp, 7770: Constructor constructor, 7770: Destructor destructor, 7770: uint sizeOf, 7770: uint theTypeFlags, 7770: int typeId, 7770: const QMetaObject *metaObject); 7770: QMetaType(const QMetaType &other); 7770: QMetaType &operator =(const QMetaType &); 7770: inline bool isExtended(const ExtensionFlag flag) const { return m_extensionFlags & flag; } 7770: 7770: 7770: void ctor(const QMetaTypeInterface *info); 7770: void dtor(); 7770: uint sizeExtended() const; 7770: QMetaType::TypeFlags flagsExtended() const; 7770: const QMetaObject *metaObjectExtended() const; 7770: void *createExtended(const void *copy = nullptr) const; 7770: void destroyExtended(void *data) const; 7770: void *constructExtended(void *where, const void *copy = nullptr) const; 7770: void destructExtended(void *data) const; 7770: 7770: static bool registerComparatorFunction(const QtPrivate::AbstractComparatorFunction *f, int type); 7770: 7770: static bool registerDebugStreamOperatorFunction(const QtPrivate::AbstractDebugStreamFunction *f, int type); 7770: 7770: 7770: 7770: 7770: 7770: template friend struct QtPrivate::ValueTypeIsMetaType; 7770: template friend struct QtPrivate::ConverterMemberFunction; 7770: template friend struct QtPrivate::ConverterMemberFunctionOk; 7770: template friend struct QtPrivate::ConverterFunctor; 7770: template friend struct QtPrivate::AssociativeValueTypeIsMetaType; 7770: template friend struct QtPrivate::IsMetaTypePair; 7770: template friend struct QtPrivate::MetaTypeSmartPointerHelper; 7770: 7770: 7770: 7770: 7770: static bool registerConverterFunction(const QtPrivate::AbstractConverterFunction *f, int from, int to); 7770: static void unregisterConverterFunction(int from, int to); 7770: private: 7770: 7770: Creator m_creator_unused; 7770: Deleter m_deleter_unused; 7770: SaveOperator m_saveOp; 7770: LoadOperator m_loadOp; 7770: Constructor m_constructor; 7770: Destructor m_destructor; 7770: void *m_extension; 7770: uint m_size; 7770: uint m_typeFlags; 7770: uint m_extensionFlags; 7770: int m_typeId; 7770: const QMetaObject *m_metaObject; 7770: }; 7770: 7770: 7770: 7770: 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); } 7770: 7770: namespace QtPrivate { 7770: 7770: template 7770: ConverterMemberFunction::~ConverterMemberFunction() 7770: { 7770: QMetaType::unregisterConverterFunction(qMetaTypeId(), qMetaTypeId()); 7770: } 7770: template 7770: ConverterMemberFunctionOk::~ConverterMemberFunctionOk() 7770: { 7770: QMetaType::unregisterConverterFunction(qMetaTypeId(), qMetaTypeId()); 7770: } 7770: template 7770: ConverterFunctor::~ConverterFunctor() 7770: { 7770: QMetaType::unregisterConverterFunction(qMetaTypeId(), qMetaTypeId()); 7770: } 7770: 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: namespace QtMetaTypePrivate { 7770: template 7770: struct QMetaTypeFunctionHelper { 7770: static void Destruct(void *t) 7770: { 7770: (void)t; 7770: static_cast(t)->~T(); 7770: } 7770: 7770: static void *Construct(void *where, const void *t) 7770: { 7770: if (t) 7770: return new (where) T(*static_cast(t)); 7770: return new (where) T; 7770: } 7770: 7770: static void Save(QDataStream &stream, const void *t) 7770: { 7770: stream << *static_cast(t); 7770: } 7770: 7770: static void Load(QDataStream &stream, void *t) 7770: { 7770: stream >> *static_cast(t); 7770: } 7770: 7770: }; 7770: 7770: template 7770: struct QMetaTypeFunctionHelper { 7770: static void Destruct(void *) {} 7770: static void *Construct(void *, const void *) { return nullptr; } 7770: 7770: static void Save(QDataStream &, const void *) {} 7770: static void Load(QDataStream &, void *) {} 7770: 7770: }; 7770: template <> 7770: struct QMetaTypeFunctionHelper 7770: : public QMetaTypeFunctionHelper 7770: {}; 7770: 7770: struct VariantData 7770: { 7770: VariantData(const int metaTypeId_, 7770: const void *data_, 7770: const uint flags_) 7770: : metaTypeId(metaTypeId_) 7770: , data(data_) 7770: , flags(flags_) 7770: { 7770: } 7770: VariantData(const VariantData &other) 7770: : metaTypeId(other.metaTypeId), data(other.data), flags(other.flags){} 7770: const int metaTypeId; 7770: const void *data; 7770: const uint flags; 7770: private: 7770: 7770: VariantData &operator=(const VariantData &) = delete; 7770: }; 7770: 7770: template 7770: struct IteratorOwnerCommon 7770: { 7770: static void assign(void **ptr, const_iterator iterator) 7770: { 7770: *ptr = new const_iterator(iterator); 7770: } 7770: static void assign(void **ptr, void * const * src) 7770: { 7770: *ptr = new const_iterator(*static_cast(*src)); 7770: } 7770: 7770: static void advance(void **iterator, int step) 7770: { 7770: const_iterator &it = *static_cast(*iterator); 7770: std::advance(it, step); 7770: } 7770: 7770: static void destroy(void **ptr) 7770: { 7770: delete static_cast(*ptr); 7770: } 7770: 7770: static bool equal(void * const *it, void * const *other) 7770: { 7770: return *static_cast(*it) == *static_cast(*other); 7770: } 7770: }; 7770: 7770: template 7770: struct IteratorOwner : IteratorOwnerCommon 7770: { 7770: static const void *getData(void * const *iterator) 7770: { 7770: return &**static_cast(*iterator); 7770: } 7770: 7770: static const void *getData(const_iterator it) 7770: { 7770: return &*it; 7770: } 7770: }; 7770: 7770: struct __attribute__((visibility("default"))) VectorBoolElements 7770: { 7770: static const bool true_element; 7770: static const bool false_element; 7770: }; 7770: 7770: template<> 7770: struct IteratorOwner::const_iterator> : IteratorOwnerCommon::const_iterator> 7770: { 7770: public: 7770: static const void *getData(void * const *iterator) 7770: { 7770: return **static_cast::const_iterator*>(*iterator) ? 7770: &VectorBoolElements::true_element : &VectorBoolElements::false_element; 7770: } 7770: 7770: static const void *getData(const std::vector::const_iterator& it) 7770: { 7770: return *it ? &VectorBoolElements::true_element : &VectorBoolElements::false_element; 7770: } 7770: }; 7770: 7770: template 7770: struct IteratorOwner 7770: { 7770: private: 7770: 7770: 7770: 7770: struct Dummy {}; 7770: typedef typename std::conditional::value, Dummy, value_type>::type value_type_OR_Dummy; 7770: public: 7770: static void assign(void **ptr, const value_type_OR_Dummy *iterator ) 7770: { 7770: *ptr = const_cast(iterator); 7770: } 7770: static void assign(void **ptr, void * const * src) 7770: { 7770: *ptr = static_cast(*src); 7770: } 7770: 7770: static void advance(void **iterator, int step) 7770: { 7770: value_type *it = static_cast(*iterator); 7770: std::advance(it, step); 7770: *iterator = it; 7770: } 7770: 7770: static void destroy(void **) 7770: { 7770: } 7770: 7770: static const void *getData(void * const *iterator) 7770: { 7770: return *iterator; 7770: } 7770: 7770: static const void *getData(const value_type_OR_Dummy *it) 7770: { 7770: return it; 7770: } 7770: 7770: static bool equal(void * const *it, void * const *other) 7770: { 7770: return static_cast(*it) == static_cast(*other); 7770: } 7770: }; 7770: 7770: enum IteratorCapability 7770: { 7770: ForwardCapability = 1, 7770: BiDirectionalCapability = 2, 7770: RandomAccessCapability = 4 7770: }; 7770: 7770: template::iterator_category> 7770: struct CapabilitiesImpl; 7770: 7770: template 7770: struct CapabilitiesImpl 7770: { enum { IteratorCapabilities = ForwardCapability }; }; 7770: template 7770: struct CapabilitiesImpl 7770: { enum { IteratorCapabilities = BiDirectionalCapability | ForwardCapability }; }; 7770: template 7770: struct CapabilitiesImpl 7770: { enum { IteratorCapabilities = RandomAccessCapability | BiDirectionalCapability | ForwardCapability }; }; 7770: 7770: template 7770: struct ContainerAPI : CapabilitiesImpl 7770: { 7770: static int size(const T *t) { return int(std::distance(t->begin(), t->end())); } 7770: }; 7770: 7770: template 7770: struct ContainerAPI > : CapabilitiesImpl > 7770: { static int size(const QList *t) { return t->size(); } }; 7770: 7770: template 7770: struct ContainerAPI > : CapabilitiesImpl > 7770: { static int size(const QVector *t) { return t->size(); } }; 7770: 7770: template 7770: struct ContainerAPI > : CapabilitiesImpl > 7770: { static int size(const std::vector *t) { return int(t->size()); } }; 7770: 7770: template 7770: struct ContainerAPI > : CapabilitiesImpl > 7770: { static int size(const std::list *t) { return int(t->size()); } }; 7770: 7770: class QSequentialIterableImpl 7770: { 7770: public: 7770: const void * _iterable; 7770: void *_iterator; 7770: int _metaType_id; 7770: uint _metaType_flags; 7770: uint _iteratorCapabilities; 7770: typedef int(*sizeFunc)(const void *p); 7770: typedef const void * (*atFunc)(const void *p, int); 7770: typedef void (*moveIteratorFunc)(const void *p, void **); 7770: typedef void (*advanceFunc)(void **p, int); 7770: typedef VariantData (*getFunc)( void * const *p, int metaTypeId, uint flags); 7770: typedef void (*destroyIterFunc)(void **p); 7770: typedef bool (*equalIterFunc)(void * const *p, void * const *other); 7770: typedef void (*copyIterFunc)(void **, void * const *); 7770: 7770: sizeFunc _size; 7770: atFunc _at; 7770: moveIteratorFunc _moveToBegin; 7770: moveIteratorFunc _moveToEnd; 7770: advanceFunc _advance; 7770: getFunc _get; 7770: destroyIterFunc _destroyIter; 7770: equalIterFunc _equalIter; 7770: copyIterFunc _copyIter; 7770: 7770: template 7770: static int sizeImpl(const void *p) 7770: { return ContainerAPI::size(static_cast(p)); } 7770: 7770: template 7770: static const void* atImpl(const void *p, int idx) 7770: { 7770: typename T::const_iterator i = static_cast(p)->begin(); 7770: std::advance(i, idx); 7770: return IteratorOwner::getData(i); 7770: } 7770: 7770: template 7770: static void moveToBeginImpl(const void *container, void **iterator) 7770: { IteratorOwner::assign(iterator, static_cast(container)->begin()); } 7770: 7770: template 7770: static void moveToEndImpl(const void *container, void **iterator) 7770: { IteratorOwner::assign(iterator, static_cast(container)->end()); } 7770: 7770: template 7770: static VariantData getImpl(void * const *iterator, int metaTypeId, uint flags) 7770: { return VariantData(metaTypeId, IteratorOwner::getData(iterator), flags); } 7770: 7770: public: 7770: template QSequentialIterableImpl(const T*p) 7770: : _iterable(p) 7770: , _iterator(nullptr) 7770: , _metaType_id(qMetaTypeId()) 7770: , _metaType_flags(QTypeInfo::isPointer) 7770: , _iteratorCapabilities(ContainerAPI::IteratorCapabilities) 7770: , _size(sizeImpl) 7770: , _at(atImpl) 7770: , _moveToBegin(moveToBeginImpl) 7770: , _moveToEnd(moveToEndImpl) 7770: , _advance(IteratorOwner::advance) 7770: , _get(getImpl) 7770: , _destroyIter(IteratorOwner::destroy) 7770: , _equalIter(IteratorOwner::equal) 7770: , _copyIter(IteratorOwner::assign) 7770: { 7770: } 7770: 7770: QSequentialIterableImpl() 7770: : _iterable(nullptr) 7770: , _iterator(nullptr) 7770: , _metaType_id(QMetaType::UnknownType) 7770: , _metaType_flags(0) 7770: , _iteratorCapabilities(0) 7770: , _size(nullptr) 7770: , _at(nullptr) 7770: , _moveToBegin(nullptr) 7770: , _moveToEnd(nullptr) 7770: , _advance(nullptr) 7770: , _get(nullptr) 7770: , _destroyIter(nullptr) 7770: , _equalIter(nullptr) 7770: , _copyIter(nullptr) 7770: { 7770: } 7770: 7770: inline void moveToBegin() { _moveToBegin(_iterable, &_iterator); } 7770: inline void moveToEnd() { _moveToEnd(_iterable, &_iterator); } 7770: inline bool equal(const QSequentialIterableImpl&other) const { return _equalIter(&_iterator, &other._iterator); } 7770: inline QSequentialIterableImpl &advance(int i) { 7770: do { } while ((false) && (i > 0 || _iteratorCapabilities & BiDirectionalCapability)); 7770: _advance(&_iterator, i); 7770: return *this; 7770: } 7770: 7770: inline VariantData getCurrent() const { return _get(&_iterator, _metaType_id, _metaType_flags); } 7770: 7770: VariantData at(int idx) const 7770: { return VariantData(_metaType_id, _at(_iterable, idx), _metaType_flags); } 7770: 7770: int size() const { do { } while ((false) && (_iterable)); return _size(_iterable); } 7770: 7770: inline void destroyIter() { _destroyIter(&_iterator); } 7770: 7770: void copy(const QSequentialIterableImpl &other) 7770: { 7770: *this = other; 7770: _copyIter(&_iterator, &other._iterator); 7770: } 7770: }; 7770: } 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 { 7770: 7770: template 7770: struct QSequentialIterableConvertFunctor 7770: { 7770: QSequentialIterableImpl operator()(const From &f) const 7770: { 7770: return QSequentialIterableImpl(&f); 7770: } 7770: }; 7770: } 7770: 7770: namespace QtMetaTypePrivate { 7770: template::value> 7770: struct AssociativeContainerAccessor 7770: { 7770: static const typename T::key_type& getKey(const typename T::const_iterator &it) 7770: { 7770: return it.key(); 7770: } 7770: 7770: static const typename T::mapped_type& getValue(const typename T::const_iterator &it) 7770: { 7770: return it.value(); 7770: } 7770: }; 7770: 7770: template >::value> 7770: struct StlStyleAssociativeContainerAccessor; 7770: 7770: template 7770: struct StlStyleAssociativeContainerAccessor 7770: { 7770: static const typename T::key_type& getKey(const typename T::const_iterator &it) 7770: { 7770: return it->first; 7770: } 7770: 7770: static const typename T::mapped_type& getValue(const typename T::const_iterator &it) 7770: { 7770: return it->second; 7770: } 7770: }; 7770: 7770: template 7770: struct AssociativeContainerAccessor : public StlStyleAssociativeContainerAccessor 7770: { 7770: }; 7770: 7770: class QAssociativeIterableImpl 7770: { 7770: public: 7770: const void *_iterable; 7770: void *_iterator; 7770: int _metaType_id_key; 7770: uint _metaType_flags_key; 7770: int _metaType_id_value; 7770: uint _metaType_flags_value; 7770: typedef int(*sizeFunc)(const void *p); 7770: typedef void (*findFunc)(const void *container, const void *p, void **iterator); 7770: typedef void (*beginFunc)(const void *p, void **); 7770: typedef void (*advanceFunc)(void **p, int); 7770: typedef VariantData (*getFunc)(void * const *p, int metaTypeId, uint flags); 7770: typedef void (*destroyIterFunc)(void **p); 7770: typedef bool (*equalIterFunc)(void * const *p, void * const *other); 7770: typedef void (*copyIterFunc)(void **, void * const *); 7770: 7770: sizeFunc _size; 7770: findFunc _find; 7770: beginFunc _begin; 7770: beginFunc _end; 7770: advanceFunc _advance; 7770: getFunc _getKey; 7770: getFunc _getValue; 7770: destroyIterFunc _destroyIter; 7770: equalIterFunc _equalIter; 7770: copyIterFunc _copyIter; 7770: 7770: template 7770: static int sizeImpl(const void *p) 7770: { return int(std::distance(static_cast(p)->begin(), 7770: static_cast(p)->end())); } 7770: 7770: template 7770: static void findImpl(const void *container, const void *p, void **iterator) 7770: { IteratorOwner::assign(iterator, 7770: static_cast(container)->find(*static_cast(p))); } 7770: 7770: template 7770: static void advanceImpl(void **p, int step) 7770: { std::advance(*static_cast(*p), step); } 7770: 7770: template 7770: static void beginImpl(const void *container, void **iterator) 7770: { IteratorOwner::assign(iterator, static_cast(container)->begin()); } 7770: 7770: template 7770: static void endImpl(const void *container, void **iterator) 7770: { IteratorOwner::assign(iterator, static_cast(container)->end()); } 7770: 7770: template 7770: static VariantData getKeyImpl(void * const *iterator, int metaTypeId, uint flags) 7770: { return VariantData(metaTypeId, &AssociativeContainerAccessor::getKey(*static_cast(*iterator)), flags); } 7770: 7770: template 7770: static VariantData getValueImpl(void * const *iterator, int metaTypeId, uint flags) 7770: { return VariantData(metaTypeId, &AssociativeContainerAccessor::getValue(*static_cast(*iterator)), flags); } 7770: 7770: public: 7770: template QAssociativeIterableImpl(const T*p) 7770: : _iterable(p) 7770: , _iterator(nullptr) 7770: , _metaType_id_key(qMetaTypeId()) 7770: , _metaType_flags_key(QTypeInfo::isPointer) 7770: , _metaType_id_value(qMetaTypeId()) 7770: , _metaType_flags_value(QTypeInfo::isPointer) 7770: , _size(sizeImpl) 7770: , _find(findImpl) 7770: , _begin(beginImpl) 7770: , _end(endImpl) 7770: , _advance(advanceImpl) 7770: , _getKey(getKeyImpl) 7770: , _getValue(getValueImpl) 7770: , _destroyIter(IteratorOwner::destroy) 7770: , _equalIter(IteratorOwner::equal) 7770: , _copyIter(IteratorOwner::assign) 7770: { 7770: } 7770: 7770: QAssociativeIterableImpl() 7770: : _iterable(nullptr) 7770: , _iterator(nullptr) 7770: , _metaType_id_key(QMetaType::UnknownType) 7770: , _metaType_flags_key(0) 7770: , _metaType_id_value(QMetaType::UnknownType) 7770: , _metaType_flags_value(0) 7770: , _size(nullptr) 7770: , _find(nullptr) 7770: , _begin(nullptr) 7770: , _end(nullptr) 7770: , _advance(nullptr) 7770: , _getKey(nullptr) 7770: , _getValue(nullptr) 7770: , _destroyIter(nullptr) 7770: , _equalIter(nullptr) 7770: , _copyIter(nullptr) 7770: { 7770: } 7770: 7770: inline void begin() { _begin(_iterable, &_iterator); } 7770: inline void end() { _end(_iterable, &_iterator); } 7770: inline bool equal(const QAssociativeIterableImpl&other) const { return _equalIter(&_iterator, &other._iterator); } 7770: inline QAssociativeIterableImpl &advance(int i) { _advance(&_iterator, i); return *this; } 7770: 7770: inline void destroyIter() { _destroyIter(&_iterator); } 7770: 7770: inline VariantData getCurrentKey() const { return _getKey(&_iterator, _metaType_id_key, _metaType_flags_key); } 7770: inline VariantData getCurrentValue() const { return _getValue(&_iterator, _metaType_id_value, _metaType_flags_value); } 7770: 7770: inline void find(const VariantData &key) 7770: { _find(_iterable, key.data, &_iterator); } 7770: 7770: int size() const { do { } while ((false) && (_iterable)); return _size(_iterable); } 7770: 7770: void copy(const QAssociativeIterableImpl &other) 7770: { 7770: *this = other; 7770: _copyIter(&_iterator, &other._iterator); 7770: } 7770: }; 7770: } 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 { 7770: 7770: template 7770: struct QAssociativeIterableConvertFunctor 7770: { 7770: QAssociativeIterableImpl operator()(const From& f) const 7770: { 7770: return QAssociativeIterableImpl(&f); 7770: } 7770: }; 7770: 7770: class QPairVariantInterfaceImpl 7770: { 7770: const void *_pair; 7770: int _metaType_id_first; 7770: uint _metaType_flags_first; 7770: int _metaType_id_second; 7770: uint _metaType_flags_second; 7770: 7770: typedef VariantData (*getFunc)(const void * const *p, int metaTypeId, uint flags); 7770: 7770: getFunc _getFirst; 7770: getFunc _getSecond; 7770: 7770: template 7770: static VariantData getFirstImpl(const void * const *pair, int metaTypeId, uint flags) 7770: { return VariantData(metaTypeId, &static_cast(*pair)->first, flags); } 7770: template 7770: static VariantData getSecondImpl(const void * const *pair, int metaTypeId, uint flags) 7770: { return VariantData(metaTypeId, &static_cast(*pair)->second, flags); } 7770: 7770: public: 7770: template QPairVariantInterfaceImpl(const T*p) 7770: : _pair(p) 7770: , _metaType_id_first(qMetaTypeId()) 7770: , _metaType_flags_first(QTypeInfo::isPointer) 7770: , _metaType_id_second(qMetaTypeId()) 7770: , _metaType_flags_second(QTypeInfo::isPointer) 7770: , _getFirst(getFirstImpl) 7770: , _getSecond(getSecondImpl) 7770: { 7770: } 7770: 7770: QPairVariantInterfaceImpl() 7770: : _pair(nullptr) 7770: , _metaType_id_first(QMetaType::UnknownType) 7770: , _metaType_flags_first(0) 7770: , _metaType_id_second(QMetaType::UnknownType) 7770: , _metaType_flags_second(0) 7770: , _getFirst(nullptr) 7770: , _getSecond(nullptr) 7770: { 7770: } 7770: 7770: inline VariantData first() const { return _getFirst(&_pair, _metaType_id_first, _metaType_flags_first); } 7770: inline VariantData second() const { return _getSecond(&_pair, _metaType_id_second, _metaType_flags_second); } 7770: }; 7770: } 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 { 7770: 7770: template 7770: struct QPairVariantInterfaceConvertFunctor; 7770: 7770: template 7770: struct QPairVariantInterfaceConvertFunctor > 7770: { 7770: QPairVariantInterfaceImpl operator()(const QPair& f) const 7770: { 7770: return QPairVariantInterfaceImpl(&f); 7770: } 7770: }; 7770: 7770: template 7770: struct QPairVariantInterfaceConvertFunctor > 7770: { 7770: QPairVariantInterfaceImpl operator()(const std::pair& f) const 7770: { 7770: return QPairVariantInterfaceImpl(&f); 7770: } 7770: }; 7770: 7770: } 7770: 7770: class QObject; 7770: class QWidget; 7770: 7770: 7770: 7770: 7770: template class QSharedPointer; template class QWeakPointer; template class QPointer; 7770: 7770: namespace QtPrivate 7770: { 7770: template 7770: struct IsPointerToTypeDerivedFromQObject 7770: { 7770: enum { Value = false }; 7770: }; 7770: 7770: 7770: template<> 7770: struct IsPointerToTypeDerivedFromQObject 7770: { 7770: enum { Value = false }; 7770: }; 7770: template<> 7770: struct IsPointerToTypeDerivedFromQObject 7770: { 7770: enum { Value = false }; 7770: }; 7770: template<> 7770: struct IsPointerToTypeDerivedFromQObject 7770: { 7770: enum { Value = true }; 7770: }; 7770: 7770: template 7770: struct IsPointerToTypeDerivedFromQObject 7770: { 7770: typedef qint8 yes_type; 7770: typedef qint64 no_type; 7770: 7770: 7770: static yes_type checkType(QObject* ); 7770: 7770: static no_type checkType(...); 7770: static_assert(bool(sizeof(T)), "Type argument of Q_DECLARE_METATYPE(T*) must be fully defined"); 7770: enum { Value = sizeof(checkType(static_cast(nullptr))) == sizeof(yes_type) }; 7770: }; 7770: 7770: template 7770: struct IsGadgetHelper { enum { Value = false }; }; 7770: 7770: template 7770: struct IsGadgetHelper 7770: { 7770: template 7770: static char checkType(void (X::*)()); 7770: static void *checkType(void (T::*)()); 7770: enum { Value = sizeof(checkType(&T::qt_check_for_QGADGET_macro)) == sizeof(void *) }; 7770: }; 7770: 7770: 7770: template char qt_getEnumMetaObject(const T&); 7770: 7770: template 7770: struct IsQEnumHelper { 7770: static const T &declval(); 7770: 7770: 7770: 7770: 7770: enum { Value = sizeof(qt_getEnumMetaObject(declval())) == sizeof(QMetaObject*) }; 7770: }; 7770: template<> struct IsQEnumHelper { enum { Value = false }; }; 7770: 7770: template 7770: struct MetaObjectForType 7770: { 7770: static inline const QMetaObject *value() { return nullptr; } 7770: }; 7770: template<> 7770: struct MetaObjectForType 7770: { 7770: static inline const QMetaObject *value() { return nullptr; } 7770: }; 7770: template 7770: struct MetaObjectForType::Value>::type> 7770: { 7770: static inline const QMetaObject *value() { return &T::staticMetaObject; } 7770: }; 7770: template 7770: struct MetaObjectForType::Value>::type> 7770: { 7770: static inline const QMetaObject *value() { return &T::staticMetaObject; } 7770: }; 7770: template 7770: struct MetaObjectForType::Value>::type > 7770: { 7770: static inline const QMetaObject *value() { return qt_getEnumMetaObject(T()); } 7770: }; 7770: 7770: template 7770: struct IsSharedPointerToTypeDerivedFromQObject 7770: { 7770: enum { Value = false }; 7770: }; 7770: 7770: template 7770: struct IsSharedPointerToTypeDerivedFromQObject > : IsPointerToTypeDerivedFromQObject 7770: { 7770: }; 7770: 7770: template 7770: struct IsWeakPointerToTypeDerivedFromQObject 7770: { 7770: enum { Value = false }; 7770: }; 7770: 7770: template 7770: struct IsWeakPointerToTypeDerivedFromQObject > : IsPointerToTypeDerivedFromQObject 7770: { 7770: }; 7770: 7770: template 7770: struct IsTrackingPointerToTypeDerivedFromQObject 7770: { 7770: enum { Value = false }; 7770: }; 7770: 7770: template 7770: struct IsTrackingPointerToTypeDerivedFromQObject > 7770: { 7770: enum { Value = true }; 7770: }; 7770: 7770: template 7770: struct IsSequentialContainer 7770: { 7770: enum { Value = false }; 7770: }; 7770: 7770: template 7770: struct IsAssociativeContainer 7770: { 7770: enum { Value = false }; 7770: }; 7770: 7770: template::Value> 7770: struct SequentialContainerConverterHelper 7770: { 7770: static bool registerConverter(int) 7770: { 7770: return false; 7770: } 7770: }; 7770: 7770: template::Defined> 7770: struct ValueTypeIsMetaType 7770: { 7770: static bool registerConverter(int) 7770: { 7770: return false; 7770: } 7770: }; 7770: 7770: template 7770: struct SequentialContainerConverterHelper : ValueTypeIsMetaType 7770: { 7770: }; 7770: 7770: template::Value> 7770: struct AssociativeContainerConverterHelper 7770: { 7770: static bool registerConverter(int) 7770: { 7770: return false; 7770: } 7770: }; 7770: 7770: template::Defined> 7770: struct AssociativeValueTypeIsMetaType 7770: { 7770: static bool registerConverter(int) 7770: { 7770: return false; 7770: } 7770: }; 7770: 7770: template::Defined> 7770: struct KeyAndValueTypeIsMetaType 7770: { 7770: static bool registerConverter(int) 7770: { 7770: return false; 7770: } 7770: }; 7770: 7770: template 7770: struct KeyAndValueTypeIsMetaType : AssociativeValueTypeIsMetaType 7770: { 7770: }; 7770: 7770: template 7770: struct AssociativeContainerConverterHelper : KeyAndValueTypeIsMetaType 7770: { 7770: }; 7770: 7770: template::Defined 7770: && QMetaTypeId2::Defined> 7770: struct IsMetaTypePair 7770: { 7770: static bool registerConverter(int) 7770: { 7770: return false; 7770: } 7770: }; 7770: 7770: template 7770: struct IsMetaTypePair 7770: { 7770: inline static bool registerConverter(int id); 7770: }; 7770: 7770: template 7770: struct IsPair 7770: { 7770: static bool registerConverter(int) 7770: { 7770: return false; 7770: } 7770: }; 7770: template 7770: struct IsPair > : IsMetaTypePair > {}; 7770: template 7770: struct IsPair > : IsMetaTypePair > {}; 7770: 7770: template 7770: struct MetaTypePairHelper : IsPair {}; 7770: 7770: template 7770: struct MetaTypeSmartPointerHelper 7770: { 7770: static bool registerConverter(int) { return false; } 7770: }; 7770: 7770: __attribute__((visibility("default"))) bool isBuiltinType(const QByteArray &type); 7770: } 7770: 7770: template ::Value ? QMetaType::PointerToQObject : 7770: QtPrivate::IsGadgetHelper::Value ? QMetaType::IsGadget : 7770: QtPrivate::IsQEnumHelper::Value ? QMetaType::IsEnumeration : 0> 7770: struct QMetaTypeIdQObject 7770: { 7770: enum { 7770: Defined = 0 7770: }; 7770: }; 7770: 7770: template 7770: struct QMetaTypeId : public QMetaTypeIdQObject 7770: { 7770: }; 7770: 7770: template 7770: struct QMetaTypeId2 7770: { 7770: enum { Defined = QMetaTypeId::Defined, IsBuiltIn=false }; 7770: static inline constexpr int qt_metatype_id() { return QMetaTypeId::qt_metatype_id(); } 7770: }; 7770: 7770: template 7770: struct QMetaTypeId2 : QMetaTypeId2 {}; 7770: 7770: template 7770: struct QMetaTypeId2 { enum {Defined = false }; }; 7770: 7770: namespace QtPrivate { 7770: template ::Defined> 7770: struct QMetaTypeIdHelper { 7770: static inline constexpr int qt_metatype_id() 7770: { return QMetaTypeId2::qt_metatype_id(); } 7770: }; 7770: template struct QMetaTypeIdHelper { 7770: static inline constexpr int qt_metatype_id() 7770: { return -1; } 7770: }; 7770: 7770: 7770: template 7770: struct IsPointerToTypeDerivedFromQObject { enum { Value = false }; }; 7770: 7770: template 7770: struct QMetaTypeTypeFlags 7770: { 7770: enum { Flags = (QTypeInfoQuery::isRelocatable ? QMetaType::MovableType : 0) 7770: | (QTypeInfo::isComplex ? QMetaType::NeedsConstruction : 0) 7770: | (QTypeInfo::isComplex ? QMetaType::NeedsDestruction : 0) 7770: | (IsPointerToTypeDerivedFromQObject::Value ? QMetaType::PointerToQObject : 0) 7770: | (IsSharedPointerToTypeDerivedFromQObject::Value ? QMetaType::SharedPointerToQObject : 0) 7770: | (IsWeakPointerToTypeDerivedFromQObject::Value ? QMetaType::WeakPointerToQObject : 0) 7770: | (IsTrackingPointerToTypeDerivedFromQObject::Value ? QMetaType::TrackingPointerToQObject : 0) 7770: | (std::is_enum::value ? QMetaType::IsEnumeration : 0) 7770: | (IsGadgetHelper::Value ? QMetaType::IsGadget : 0) 7770: }; 7770: }; 7770: 7770: template 7770: struct MetaTypeDefinedHelper 7770: { 7770: enum DefinedType { Defined = defined }; 7770: }; 7770: 7770: template 7770: struct QSmartPointerConvertFunctor 7770: { 7770: QObject* operator()(const SmartPointer &p) const 7770: { 7770: return p.operator->(); 7770: } 7770: }; 7770: 7770: template 7770: struct QSmartPointerConvertFunctor > 7770: { 7770: QObject* operator()(const QWeakPointer &p) const 7770: { 7770: return p.data(); 7770: } 7770: }; 7770: } 7770: 7770: template 7770: int qRegisterNormalizedMetaType(const ::QByteArray &normalizedTypeName 7770: 7770: , T * dummy = 0 7770: , typename QtPrivate::MetaTypeDefinedHelper::Defined && !QMetaTypeId2::IsBuiltIn>::DefinedType defined = QtPrivate::MetaTypeDefinedHelper::Defined && !QMetaTypeId2::IsBuiltIn>::Defined 7770: 7770: ) 7770: { 7770: 7770: do { } while ((false) && (normalizedTypeName == QMetaObject::normalizedType(normalizedTypeName.constData()))); 7770: 7770: const int typedefOf = dummy ? -1 : QtPrivate::QMetaTypeIdHelper::qt_metatype_id(); 7770: if (typedefOf != -1) 7770: return QMetaType::registerNormalizedTypedef(normalizedTypeName, typedefOf); 7770: 7770: QMetaType::TypeFlags flags(QtPrivate::QMetaTypeTypeFlags::Flags); 7770: 7770: if (defined) 7770: flags |= QMetaType::WasDeclaredAsMetaType; 7770: 7770: const int id = QMetaType::registerNormalizedType(normalizedTypeName, 7770: QtMetaTypePrivate::QMetaTypeFunctionHelper::Destruct, 7770: QtMetaTypePrivate::QMetaTypeFunctionHelper::Construct, 7770: int(sizeof(T)), 7770: flags, 7770: QtPrivate::MetaObjectForType::value()); 7770: 7770: if (id > 0) { 7770: QtPrivate::SequentialContainerConverterHelper::registerConverter(id); 7770: QtPrivate::AssociativeContainerConverterHelper::registerConverter(id); 7770: QtPrivate::MetaTypePairHelper::registerConverter(id); 7770: QtPrivate::MetaTypeSmartPointerHelper::registerConverter(id); 7770: } 7770: 7770: return id; 7770: } 7770: 7770: template 7770: int qRegisterMetaType(const char *typeName 7770: 7770: , T * dummy = nullptr 7770: , typename QtPrivate::MetaTypeDefinedHelper::Defined && !QMetaTypeId2::IsBuiltIn>::DefinedType defined = QtPrivate::MetaTypeDefinedHelper::Defined && !QMetaTypeId2::IsBuiltIn>::Defined 7770: 7770: ) 7770: { 7770: 7770: 7770: 7770: ::QByteArray normalizedTypeName = QMetaObject::normalizedType(typeName); 7770: 7770: return qRegisterNormalizedMetaType(normalizedTypeName, dummy, defined); 7770: } 7770: 7770: 7770: template 7770: void qRegisterMetaTypeStreamOperators(const char *typeName 7770: 7770: , T * = nullptr 7770: 7770: ) 7770: { 7770: qRegisterMetaType(typeName); 7770: QMetaType::registerStreamOperators(typeName, QtMetaTypePrivate::QMetaTypeFunctionHelper::Save, 7770: QtMetaTypePrivate::QMetaTypeFunctionHelper::Load); 7770: } 7770: 7770: 7770: template 7770: inline constexpr int qMetaTypeId() 7770: { 7770: 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"); 7770: return QMetaTypeId2::qt_metatype_id(); 7770: } 7770: 7770: template 7770: inline constexpr int qRegisterMetaType() 7770: { 7770: return qMetaTypeId(); 7770: } 7770: 7770: 7770: 7770: template 7770: __attribute__ ((__deprecated__)) inline constexpr int qMetaTypeId(T *) 7770: { return qMetaTypeId(); } 7770: 7770: template 7770: __attribute__ ((__deprecated__)) inline constexpr int qRegisterMetaType(T *) 7770: { return qRegisterMetaType(); } 7770: 7770: 7770: 7770: 7770: template 7770: struct QMetaTypeIdQObject 7770: { 7770: enum { 7770: Defined = 1 7770: }; 7770: 7770: static int qt_metatype_id() 7770: { 7770: static QBasicAtomicInt metatype_id = { 0 }; 7770: if (const int id = metatype_id.loadAcquire()) 7770: return id; 7770: const char * const cName = T::staticMetaObject.className(); 7770: QByteArray typeName; 7770: typeName.reserve(int(strlen(cName)) + 1); 7770: typeName.append(cName).append('*'); 7770: const int newId = qRegisterNormalizedMetaType( 7770: typeName, 7770: reinterpret_cast(quintptr(-1))); 7770: metatype_id.storeRelease(newId); 7770: return newId; 7770: } 7770: }; 7770: 7770: template 7770: struct QMetaTypeIdQObject 7770: { 7770: enum { 7770: Defined = std::is_default_constructible::value 7770: }; 7770: 7770: static int qt_metatype_id() 7770: { 7770: static QBasicAtomicInt metatype_id = { 0 }; 7770: if (const int id = metatype_id.loadAcquire()) 7770: return id; 7770: const char * const cName = T::staticMetaObject.className(); 7770: const int newId = qRegisterNormalizedMetaType( 7770: cName, 7770: reinterpret_cast(quintptr(-1))); 7770: metatype_id.storeRelease(newId); 7770: return newId; 7770: } 7770: }; 7770: 7770: template 7770: struct QMetaTypeIdQObject 7770: { 7770: enum { 7770: Defined = 1 7770: }; 7770: 7770: static int qt_metatype_id() 7770: { 7770: static QBasicAtomicInt metatype_id = { 0 }; 7770: if (const int id = metatype_id.loadAcquire()) 7770: return id; 7770: const char *eName = qt_getEnumName(T()); 7770: const char *cName = qt_getEnumMetaObject(T())->className(); 7770: QByteArray typeName; 7770: typeName.reserve(int(strlen(cName) + 2 + strlen(eName))); 7770: typeName.append(cName).append("::").append(eName); 7770: const int newId = qRegisterNormalizedMetaType( 7770: typeName, 7770: reinterpret_cast(quintptr(-1))); 7770: metatype_id.storeRelease(newId); 7770: return newId; 7770: } 7770: }; 7770: 7770: 7770: 7770: template 7770: inline int qRegisterMetaTypeStreamOperators() 7770: { 7770: int id = qMetaTypeId(); 7770: QMetaType::registerStreamOperators(id, QtMetaTypePrivate::QMetaTypeFunctionHelper::Save, 7770: QtMetaTypePrivate::QMetaTypeFunctionHelper::Load); 7770: return id; 7770: } 7770: # 1881 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmetatype.h" 3 4 7770: 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; 7770: 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; 7770: class QSizePolicy; 7770: 7770: 7770: 7770: typedef QList QVariantList; 7770: typedef QMap QVariantMap; 7770: typedef QHash QVariantHash; 7770: 7770: typedef QList QByteArrayList; 7770: # 1968 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmetatype.h" 3 4 7770: namespace QtPrivate { 7770: 7770: template 7770: struct SharedPointerMetaTypeIdHelper 7770: { 7770: enum { 7770: Defined = 0 7770: }; 7770: static int qt_metatype_id() 7770: { 7770: return -1; 7770: } 7770: }; 7770: 7770: } 7770: # 2042 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmetatype.h" 3 4 7770: 7770: 7770: 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 }; }; } 7770: 7770: 7770: 7770: 7770: 7770: 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 }; }; } 7770: 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 }; }; } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template class QHash; template class QMap; template struct QPair; 7770: # 2074 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmetatype.h" 3 4 7770: 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; } }; 7770: 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; } }; 7770: 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; } }; 7770: 7770: 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; } }; 7770: 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; } }; 7770: 7770: 7770: 7770: 7770: 7770: 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> { }; 7770: 7770: 7770: 7770: 7770: 7770: inline QMetaType::QMetaType(const ExtensionFlag extensionFlags, const QMetaTypeInterface *info, 7770: Creator creator, 7770: Deleter deleter, 7770: SaveOperator saveOp, 7770: LoadOperator loadOp, 7770: Constructor constructor, 7770: Destructor destructor, 7770: uint size, 7770: uint theTypeFlags, 7770: int typeId, 7770: const QMetaObject *_metaObject) 7770: : m_creator_unused(creator) 7770: , m_deleter_unused(deleter) 7770: , m_saveOp(saveOp) 7770: , m_loadOp(loadOp) 7770: , m_constructor(constructor) 7770: , m_destructor(destructor) 7770: , m_extension(nullptr) 7770: , m_size(size) 7770: , m_typeFlags(theTypeFlags) 7770: , m_extensionFlags(extensionFlags) 7770: , m_typeId(typeId) 7770: , m_metaObject(_metaObject) 7770: { 7770: if (__builtin_expect(!!(isExtended(CtorEx) || typeId == QMetaType::Void), false)) 7770: ctor(info); 7770: } 7770: 7770: inline QMetaType::~QMetaType() 7770: { 7770: if (__builtin_expect(!!(isExtended(DtorEx)), false)) 7770: dtor(); 7770: } 7770: 7770: inline bool QMetaType::isValid() const 7770: { 7770: return m_typeId != UnknownType; 7770: } 7770: 7770: inline bool QMetaType::isRegistered() const 7770: { 7770: return isValid(); 7770: } 7770: 7770: inline void *QMetaType::create(const void *copy) const 7770: { 7770: 7770: return createExtended(copy); 7770: } 7770: 7770: inline void QMetaType::destroy(void *data) const 7770: { 7770: 7770: destroyExtended(data); 7770: } 7770: 7770: inline void *QMetaType::construct(void *where, const void *copy) const 7770: { 7770: if (__builtin_expect(!!(isExtended(ConstructEx)), false)) 7770: return constructExtended(where, copy); 7770: return m_constructor(where, copy); 7770: } 7770: 7770: inline void QMetaType::destruct(void *data) const 7770: { 7770: if (__builtin_expect(!!(isExtended(DestructEx)), false)) 7770: return destructExtended(data); 7770: if (__builtin_expect(!!(!data), false)) 7770: return; 7770: m_destructor(data); 7770: } 7770: 7770: inline int QMetaType::sizeOf() const 7770: { 7770: if (__builtin_expect(!!(isExtended(SizeEx)), false)) 7770: return sizeExtended(); 7770: return m_size; 7770: } 7770: 7770: inline QMetaType::TypeFlags QMetaType::flags() const 7770: { 7770: if (__builtin_expect(!!(isExtended(FlagsEx)), false)) 7770: return flagsExtended(); 7770: return QMetaType::TypeFlags(m_typeFlags); 7770: } 7770: 7770: inline const QMetaObject *QMetaType::metaObject() const 7770: { 7770: if (__builtin_expect(!!(isExtended(MetaObjectEx)), false)) 7770: return metaObjectExtended(); 7770: return m_metaObject; 7770: } 7770: 7770: 7770: 7770: 7770: 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; } }; 7770: 7770: 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; } }; 7770: 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; } }; 7770: 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; } }; 7770: 7770: 7770: 7770: template 7770: inline bool QtPrivate::IsMetaTypePair::registerConverter(int id) 7770: { 7770: const int toId = qMetaTypeId(); 7770: if (!QMetaType::hasRegisteredConverterFunction(id, toId)) { 7770: QtMetaTypePrivate::QPairVariantInterfaceConvertFunctor o; 7770: static const QtPrivate::ConverterFunctor > f(o); 7770: return QMetaType::registerConverterFunction(&f, id, toId); 7770: } 7770: return true; 7770: } 7770: 7770: namespace QtPrivate { 7770: template 7770: struct ValueTypeIsMetaType 7770: { 7770: static bool registerConverter(int id) 7770: { 7770: const int toId = qMetaTypeId(); 7770: if (!QMetaType::hasRegisteredConverterFunction(id, toId)) { 7770: QtMetaTypePrivate::QSequentialIterableConvertFunctor o; 7770: static const QtPrivate::ConverterFunctor > f(o); 7770: return QMetaType::registerConverterFunction(&f, id, toId); 7770: } 7770: return true; 7770: } 7770: }; 7770: 7770: template 7770: struct AssociativeValueTypeIsMetaType 7770: { 7770: static bool registerConverter(int id) 7770: { 7770: const int toId = qMetaTypeId(); 7770: if (!QMetaType::hasRegisteredConverterFunction(id, toId)) { 7770: QtMetaTypePrivate::QAssociativeIterableConvertFunctor o; 7770: static const QtPrivate::ConverterFunctor > f(o); 7770: return QMetaType::registerConverterFunction(&f, id, toId); 7770: } 7770: return true; 7770: } 7770: }; 7770: } 7770: 7770: 7770: # 47 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvariant.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmap.h" 1 3 4 7770: # 54 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmap.h" 3 4 7770: # 1 "/usr/include/c++/8/functional" 1 3 4 7770: # 46 "/usr/include/c++/8/functional" 3 4 7770: 7770: # 47 "/usr/include/c++/8/functional" 3 7770: # 58 "/usr/include/c++/8/functional" 3 7770: # 1 "/usr/include/c++/8/bits/refwrap.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/refwrap.h" 3 7770: 7770: # 34 "/usr/include/c++/8/bits/refwrap.h" 3 7770: # 43 "/usr/include/c++/8/bits/refwrap.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _Maybe_unary_or_binary_function { }; 7770: 7770: 7770: template 7770: struct _Maybe_unary_or_binary_function<_Res, _T1> 7770: : std::unary_function<_T1, _Res> { }; 7770: 7770: 7770: template 7770: struct _Maybe_unary_or_binary_function<_Res, _T1, _T2> 7770: : std::binary_function<_T1, _T2, _Res> { }; 7770: 7770: template 7770: struct _Mem_fn_traits; 7770: 7770: template 7770: struct _Mem_fn_traits_base 7770: { 7770: using __result_type = _Res; 7770: using __maybe_type 7770: = _Maybe_unary_or_binary_function<_Res, _Class*, _ArgTypes...>; 7770: using __arity = integral_constant; 7770: }; 7770: # 97 "/usr/include/c++/8/bits/refwrap.h" 3 7770: 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; }; 7770: 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; }; 7770: 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; }; 7770: 7770: 7770: template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; 7770: template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; 7770: template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template> 7770: struct _Maybe_get_result_type 7770: { }; 7770: 7770: template 7770: struct _Maybe_get_result_type<_Functor, 7770: __void_t> 7770: { typedef typename _Functor::result_type result_type; }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _Weak_result_type_impl 7770: : _Maybe_get_result_type<_Functor> 7770: { }; 7770: 7770: 7770: template 7770: struct _Weak_result_type_impl<_Res(_ArgTypes...) noexcept (_NE)> 7770: { typedef _Res result_type; }; 7770: 7770: 7770: template 7770: struct _Weak_result_type_impl<_Res(_ArgTypes......) noexcept (_NE)> 7770: { typedef _Res result_type; }; 7770: 7770: 7770: template 7770: struct _Weak_result_type_impl<_Res(*)(_ArgTypes...) noexcept (_NE)> 7770: { typedef _Res result_type; }; 7770: 7770: 7770: template 7770: struct 7770: _Weak_result_type_impl<_Res(*)(_ArgTypes......) noexcept (_NE)> 7770: { typedef _Res result_type; }; 7770: 7770: 7770: template::value> 7770: struct _Weak_result_type_memfun 7770: : _Weak_result_type_impl<_Functor> 7770: { }; 7770: 7770: 7770: template 7770: struct _Weak_result_type_memfun<_MemFunPtr, true> 7770: { 7770: using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type; 7770: }; 7770: 7770: 7770: template 7770: struct _Weak_result_type_memfun<_Func _Class::*, false> 7770: { }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _Weak_result_type 7770: : _Weak_result_type_memfun::type> 7770: { }; 7770: 7770: 7770: template> 7770: struct _Refwrap_base_arg1 7770: { }; 7770: 7770: 7770: template 7770: struct _Refwrap_base_arg1<_Tp, 7770: __void_t> 7770: { 7770: typedef typename _Tp::argument_type argument_type; 7770: }; 7770: 7770: 7770: template> 7770: struct _Refwrap_base_arg2 7770: { }; 7770: 7770: 7770: template 7770: struct _Refwrap_base_arg2<_Tp, 7770: __void_t> 7770: { 7770: typedef typename _Tp::first_argument_type first_argument_type; 7770: typedef typename _Tp::second_argument_type second_argument_type; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _Reference_wrapper_base 7770: : _Weak_result_type<_Tp>, _Refwrap_base_arg1<_Tp>, _Refwrap_base_arg2<_Tp> 7770: { }; 7770: 7770: 7770: template 7770: struct _Reference_wrapper_base<_Res(_T1) noexcept (_NE)> 7770: : unary_function<_T1, _Res> 7770: { }; 7770: 7770: template 7770: struct _Reference_wrapper_base<_Res(_T1) const> 7770: : unary_function<_T1, _Res> 7770: { }; 7770: 7770: template 7770: struct _Reference_wrapper_base<_Res(_T1) volatile> 7770: : unary_function<_T1, _Res> 7770: { }; 7770: 7770: template 7770: struct _Reference_wrapper_base<_Res(_T1) const volatile> 7770: : unary_function<_T1, _Res> 7770: { }; 7770: 7770: 7770: template 7770: struct _Reference_wrapper_base<_Res(_T1, _T2) noexcept (_NE)> 7770: : binary_function<_T1, _T2, _Res> 7770: { }; 7770: 7770: template 7770: struct _Reference_wrapper_base<_Res(_T1, _T2) const> 7770: : binary_function<_T1, _T2, _Res> 7770: { }; 7770: 7770: template 7770: struct _Reference_wrapper_base<_Res(_T1, _T2) volatile> 7770: : binary_function<_T1, _T2, _Res> 7770: { }; 7770: 7770: template 7770: struct _Reference_wrapper_base<_Res(_T1, _T2) const volatile> 7770: : binary_function<_T1, _T2, _Res> 7770: { }; 7770: 7770: 7770: template 7770: struct _Reference_wrapper_base<_Res(*)(_T1) noexcept (_NE)> 7770: : unary_function<_T1, _Res> 7770: { }; 7770: 7770: 7770: template 7770: struct _Reference_wrapper_base<_Res(*)(_T1, _T2) noexcept (_NE)> 7770: : binary_function<_T1, _T2, _Res> 7770: { }; 7770: 7770: template::value> 7770: struct _Reference_wrapper_base_memfun 7770: : _Reference_wrapper_base<_Tp> 7770: { }; 7770: 7770: template 7770: struct _Reference_wrapper_base_memfun<_MemFunPtr, true> 7770: : _Mem_fn_traits<_MemFunPtr>::__maybe_type 7770: { 7770: using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: class reference_wrapper 7770: : public _Reference_wrapper_base_memfun::type> 7770: { 7770: _Tp* _M_data; 7770: 7770: public: 7770: typedef _Tp type; 7770: 7770: reference_wrapper(_Tp& __indata) noexcept 7770: : _M_data(std::__addressof(__indata)) 7770: { } 7770: 7770: reference_wrapper(_Tp&&) = delete; 7770: 7770: reference_wrapper(const reference_wrapper&) = default; 7770: 7770: reference_wrapper& 7770: operator=(const reference_wrapper&) = default; 7770: 7770: operator _Tp&() const noexcept 7770: { return this->get(); } 7770: 7770: _Tp& 7770: get() const noexcept 7770: { return *_M_data; } 7770: 7770: template 7770: typename result_of<_Tp&(_Args&&...)>::type 7770: operator()(_Args&&... __args) const 7770: { 7770: return std::__invoke(get(), std::forward<_Args>(__args)...); 7770: } 7770: }; 7770: 7770: 7770: 7770: template 7770: inline reference_wrapper<_Tp> 7770: ref(_Tp& __t) noexcept 7770: { return reference_wrapper<_Tp>(__t); } 7770: 7770: 7770: template 7770: inline reference_wrapper 7770: cref(const _Tp& __t) noexcept 7770: { return reference_wrapper(__t); } 7770: 7770: template 7770: void ref(const _Tp&&) = delete; 7770: 7770: template 7770: void cref(const _Tp&&) = delete; 7770: 7770: 7770: template 7770: inline reference_wrapper<_Tp> 7770: ref(reference_wrapper<_Tp> __t) noexcept 7770: { return __t; } 7770: 7770: 7770: template 7770: inline reference_wrapper 7770: cref(reference_wrapper<_Tp> __t) noexcept 7770: { return { __t.get() }; } 7770: 7770: 7770: 7770: 7770: } 7770: # 59 "/usr/include/c++/8/functional" 2 3 7770: # 1 "/usr/include/c++/8/bits/std_function.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/std_function.h" 3 7770: 7770: # 34 "/usr/include/c++/8/bits/std_function.h" 3 7770: # 47 "/usr/include/c++/8/bits/std_function.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: class bad_function_call : public std::exception 7770: { 7770: public: 7770: virtual ~bad_function_call() noexcept; 7770: 7770: const char* what() const noexcept; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct __is_location_invariant 7770: : is_trivially_copyable<_Tp>::type 7770: { }; 7770: 7770: class _Undefined_class; 7770: 7770: union _Nocopy_types 7770: { 7770: void* _M_object; 7770: const void* _M_const_object; 7770: void (*_M_function_pointer)(); 7770: void (_Undefined_class::*_M_member_pointer)(); 7770: }; 7770: 7770: union [[gnu::may_alias]] _Any_data 7770: { 7770: void* _M_access() { return &_M_pod_data[0]; } 7770: const void* _M_access() const { return &_M_pod_data[0]; } 7770: 7770: template 7770: _Tp& 7770: _M_access() 7770: { return *static_cast<_Tp*>(_M_access()); } 7770: 7770: template 7770: const _Tp& 7770: _M_access() const 7770: { return *static_cast(_M_access()); } 7770: 7770: _Nocopy_types _M_unused; 7770: char _M_pod_data[sizeof(_Nocopy_types)]; 7770: }; 7770: 7770: enum _Manager_operation 7770: { 7770: __get_type_info, 7770: __get_functor_ptr, 7770: __clone_functor, 7770: __destroy_functor 7770: }; 7770: 7770: 7770: 7770: template 7770: struct _Simple_type_wrapper 7770: { 7770: _Simple_type_wrapper(_Tp __value) : __value(__value) { } 7770: 7770: _Tp __value; 7770: }; 7770: 7770: template 7770: struct __is_location_invariant<_Simple_type_wrapper<_Tp> > 7770: : __is_location_invariant<_Tp> 7770: { }; 7770: 7770: template 7770: class function; 7770: 7770: 7770: class _Function_base 7770: { 7770: public: 7770: static const std::size_t _M_max_size = sizeof(_Nocopy_types); 7770: static const std::size_t _M_max_align = __alignof__(_Nocopy_types); 7770: 7770: template 7770: class _Base_manager 7770: { 7770: protected: 7770: static const bool __stored_locally = 7770: (__is_location_invariant<_Functor>::value 7770: && sizeof(_Functor) <= _M_max_size 7770: && __alignof__(_Functor) <= _M_max_align 7770: && (_M_max_align % __alignof__(_Functor) == 0)); 7770: 7770: typedef integral_constant _Local_storage; 7770: 7770: 7770: static _Functor* 7770: _M_get_pointer(const _Any_data& __source) 7770: { 7770: const _Functor* __ptr = 7770: __stored_locally? std::__addressof(__source._M_access<_Functor>()) 7770: : __source._M_access<_Functor*>(); 7770: return const_cast<_Functor*>(__ptr); 7770: } 7770: 7770: 7770: 7770: static void 7770: _M_clone(_Any_data& __dest, const _Any_data& __source, true_type) 7770: { 7770: ::new (__dest._M_access()) _Functor(__source._M_access<_Functor>()); 7770: } 7770: 7770: 7770: 7770: static void 7770: _M_clone(_Any_data& __dest, const _Any_data& __source, false_type) 7770: { 7770: __dest._M_access<_Functor*>() = 7770: new _Functor(*__source._M_access<_Functor*>()); 7770: } 7770: 7770: 7770: 7770: static void 7770: _M_destroy(_Any_data& __victim, true_type) 7770: { 7770: __victim._M_access<_Functor>().~_Functor(); 7770: } 7770: 7770: 7770: static void 7770: _M_destroy(_Any_data& __victim, false_type) 7770: { 7770: delete __victim._M_access<_Functor*>(); 7770: } 7770: 7770: public: 7770: static bool 7770: _M_manager(_Any_data& __dest, const _Any_data& __source, 7770: _Manager_operation __op) 7770: { 7770: switch (__op) 7770: { 7770: 7770: case __get_type_info: 7770: __dest._M_access() = &typeid(_Functor); 7770: break; 7770: 7770: case __get_functor_ptr: 7770: __dest._M_access<_Functor*>() = _M_get_pointer(__source); 7770: break; 7770: 7770: case __clone_functor: 7770: _M_clone(__dest, __source, _Local_storage()); 7770: break; 7770: 7770: case __destroy_functor: 7770: _M_destroy(__dest, _Local_storage()); 7770: break; 7770: } 7770: return false; 7770: } 7770: 7770: static void 7770: _M_init_functor(_Any_data& __functor, _Functor&& __f) 7770: { _M_init_functor(__functor, std::move(__f), _Local_storage()); } 7770: 7770: template 7770: static bool 7770: _M_not_empty_function(const function<_Signature>& __f) 7770: { return static_cast(__f); } 7770: 7770: template 7770: static bool 7770: _M_not_empty_function(_Tp* __fp) 7770: { return __fp != nullptr; } 7770: 7770: template 7770: static bool 7770: _M_not_empty_function(_Tp _Class::* __mp) 7770: { return __mp != nullptr; } 7770: 7770: template 7770: static bool 7770: _M_not_empty_function(const _Tp&) 7770: { return true; } 7770: 7770: private: 7770: static void 7770: _M_init_functor(_Any_data& __functor, _Functor&& __f, true_type) 7770: { ::new (__functor._M_access()) _Functor(std::move(__f)); } 7770: 7770: static void 7770: _M_init_functor(_Any_data& __functor, _Functor&& __f, false_type) 7770: { __functor._M_access<_Functor*>() = new _Functor(std::move(__f)); } 7770: }; 7770: 7770: _Function_base() : _M_manager(nullptr) { } 7770: 7770: ~_Function_base() 7770: { 7770: if (_M_manager) 7770: _M_manager(_M_functor, _M_functor, __destroy_functor); 7770: } 7770: 7770: bool _M_empty() const { return !_M_manager; } 7770: 7770: typedef bool (*_Manager_type)(_Any_data&, const _Any_data&, 7770: _Manager_operation); 7770: 7770: _Any_data _M_functor; 7770: _Manager_type _M_manager; 7770: }; 7770: 7770: template 7770: class _Function_handler; 7770: 7770: template 7770: class _Function_handler<_Res(_ArgTypes...), _Functor> 7770: : public _Function_base::_Base_manager<_Functor> 7770: { 7770: typedef _Function_base::_Base_manager<_Functor> _Base; 7770: 7770: public: 7770: static _Res 7770: _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args) 7770: { 7770: return (*_Base::_M_get_pointer(__functor))( 7770: std::forward<_ArgTypes>(__args)...); 7770: } 7770: }; 7770: 7770: template 7770: class _Function_handler 7770: : public _Function_base::_Base_manager<_Functor> 7770: { 7770: typedef _Function_base::_Base_manager<_Functor> _Base; 7770: 7770: public: 7770: static void 7770: _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args) 7770: { 7770: (*_Base::_M_get_pointer(__functor))( 7770: std::forward<_ArgTypes>(__args)...); 7770: } 7770: }; 7770: 7770: template 7770: class _Function_handler<_Res(_ArgTypes...), _Member _Class::*> 7770: : public _Function_handler 7770: { 7770: typedef _Function_handler 7770: _Base; 7770: 7770: public: 7770: static _Res 7770: _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args) 7770: { 7770: return std::__invoke(_Base::_M_get_pointer(__functor)->__value, 7770: std::forward<_ArgTypes>(__args)...); 7770: } 7770: }; 7770: 7770: template 7770: class _Function_handler 7770: : public _Function_base::_Base_manager< 7770: _Simple_type_wrapper< _Member _Class::* > > 7770: { 7770: typedef _Member _Class::* _Functor; 7770: typedef _Simple_type_wrapper<_Functor> _Wrapper; 7770: typedef _Function_base::_Base_manager<_Wrapper> _Base; 7770: 7770: public: 7770: static bool 7770: _M_manager(_Any_data& __dest, const _Any_data& __source, 7770: _Manager_operation __op) 7770: { 7770: switch (__op) 7770: { 7770: 7770: case __get_type_info: 7770: __dest._M_access() = &typeid(_Functor); 7770: break; 7770: 7770: case __get_functor_ptr: 7770: __dest._M_access<_Functor*>() = 7770: &_Base::_M_get_pointer(__source)->__value; 7770: break; 7770: 7770: default: 7770: _Base::_M_manager(__dest, __source, __op); 7770: } 7770: return false; 7770: } 7770: 7770: static void 7770: _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args) 7770: { 7770: std::__invoke(_Base::_M_get_pointer(__functor)->__value, 7770: std::forward<_ArgTypes>(__args)...); 7770: } 7770: }; 7770: 7770: template 7770: using __check_func_return_type 7770: = __or_, is_same<_From, _To>, is_convertible<_From, _To>>; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: class function<_Res(_ArgTypes...)> 7770: : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>, 7770: private _Function_base 7770: { 7770: template::type> 7770: struct _Callable : __check_func_return_type<_Res2, _Res> { }; 7770: 7770: 7770: 7770: template 7770: struct _Callable : false_type { }; 7770: 7770: template 7770: using _Requires = typename enable_if<_Cond::value, _Tp>::type; 7770: 7770: public: 7770: typedef _Res result_type; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: function() noexcept 7770: : _Function_base() { } 7770: 7770: 7770: 7770: 7770: 7770: function(nullptr_t) noexcept 7770: : _Function_base() { } 7770: # 413 "/usr/include/c++/8/bits/std_function.h" 3 7770: function(const function& __x); 7770: # 422 "/usr/include/c++/8/bits/std_function.h" 3 7770: function(function&& __x) noexcept : _Function_base() 7770: { 7770: __x.swap(*this); 7770: } 7770: # 443 "/usr/include/c++/8/bits/std_function.h" 3 7770: template>, void>, 7770: typename = _Requires<_Callable<_Functor>, void>> 7770: function(_Functor); 7770: # 460 "/usr/include/c++/8/bits/std_function.h" 3 7770: function& 7770: operator=(const function& __x) 7770: { 7770: function(__x).swap(*this); 7770: return *this; 7770: } 7770: # 478 "/usr/include/c++/8/bits/std_function.h" 3 7770: function& 7770: operator=(function&& __x) noexcept 7770: { 7770: function(std::move(__x)).swap(*this); 7770: return *this; 7770: } 7770: # 492 "/usr/include/c++/8/bits/std_function.h" 3 7770: function& 7770: operator=(nullptr_t) noexcept 7770: { 7770: if (_M_manager) 7770: { 7770: _M_manager(_M_functor, _M_functor, __destroy_functor); 7770: _M_manager = nullptr; 7770: _M_invoker = nullptr; 7770: } 7770: return *this; 7770: } 7770: # 520 "/usr/include/c++/8/bits/std_function.h" 3 7770: template 7770: _Requires<_Callable::type>, function&> 7770: operator=(_Functor&& __f) 7770: { 7770: function(std::forward<_Functor>(__f)).swap(*this); 7770: return *this; 7770: } 7770: 7770: 7770: template 7770: function& 7770: operator=(reference_wrapper<_Functor> __f) noexcept 7770: { 7770: function(__f).swap(*this); 7770: return *this; 7770: } 7770: # 546 "/usr/include/c++/8/bits/std_function.h" 3 7770: void swap(function& __x) noexcept 7770: { 7770: std::swap(_M_functor, __x._M_functor); 7770: std::swap(_M_manager, __x._M_manager); 7770: std::swap(_M_invoker, __x._M_invoker); 7770: } 7770: # 563 "/usr/include/c++/8/bits/std_function.h" 3 7770: explicit operator bool() const noexcept 7770: { return !_M_empty(); } 7770: # 576 "/usr/include/c++/8/bits/std_function.h" 3 7770: _Res operator()(_ArgTypes... __args) const; 7770: # 589 "/usr/include/c++/8/bits/std_function.h" 3 7770: const type_info& target_type() const noexcept; 7770: # 602 "/usr/include/c++/8/bits/std_function.h" 3 7770: template _Functor* target() noexcept; 7770: 7770: template const _Functor* target() const noexcept; 7770: 7770: 7770: 7770: private: 7770: using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...); 7770: _Invoker_type _M_invoker; 7770: }; 7770: 7770: 7770: template 7770: struct __function_guide_helper 7770: { }; 7770: 7770: template 7770: struct __function_guide_helper< 7770: _Res (_Tp::*) (_Args...) noexcept(_Nx) 7770: > 7770: { using type = _Res(_Args...); }; 7770: 7770: template 7770: struct __function_guide_helper< 7770: _Res (_Tp::*) (_Args...) & noexcept(_Nx) 7770: > 7770: { using type = _Res(_Args...); }; 7770: 7770: template 7770: struct __function_guide_helper< 7770: _Res (_Tp::*) (_Args...) const noexcept(_Nx) 7770: > 7770: { using type = _Res(_Args...); }; 7770: 7770: template 7770: struct __function_guide_helper< 7770: _Res (_Tp::*) (_Args...) const & noexcept(_Nx) 7770: > 7770: { using type = _Res(_Args...); }; 7770: 7770: template 7770: function(_Res(*)(_ArgTypes...)) -> function<_Res(_ArgTypes...)>; 7770: 7770: template::type> 7770: function(_Functor) -> function<_Signature>; 7770: 7770: 7770: 7770: template 7770: function<_Res(_ArgTypes...)>:: 7770: function(const function& __x) 7770: : _Function_base() 7770: { 7770: if (static_cast(__x)) 7770: { 7770: __x._M_manager(_M_functor, __x._M_functor, __clone_functor); 7770: _M_invoker = __x._M_invoker; 7770: _M_manager = __x._M_manager; 7770: } 7770: } 7770: 7770: template 7770: template 7770: function<_Res(_ArgTypes...)>:: 7770: function(_Functor __f) 7770: : _Function_base() 7770: { 7770: typedef _Function_handler<_Res(_ArgTypes...), _Functor> _My_handler; 7770: 7770: if (_My_handler::_M_not_empty_function(__f)) 7770: { 7770: _My_handler::_M_init_functor(_M_functor, std::move(__f)); 7770: _M_invoker = &_My_handler::_M_invoke; 7770: _M_manager = &_My_handler::_M_manager; 7770: } 7770: } 7770: 7770: template 7770: _Res 7770: function<_Res(_ArgTypes...)>:: 7770: operator()(_ArgTypes... __args) const 7770: { 7770: if (_M_empty()) 7770: __throw_bad_function_call(); 7770: return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...); 7770: } 7770: 7770: 7770: template 7770: const type_info& 7770: function<_Res(_ArgTypes...)>:: 7770: target_type() const noexcept 7770: { 7770: if (_M_manager) 7770: { 7770: _Any_data __typeinfo_result; 7770: _M_manager(__typeinfo_result, _M_functor, __get_type_info); 7770: return *__typeinfo_result._M_access(); 7770: } 7770: else 7770: return typeid(void); 7770: } 7770: 7770: template 7770: template 7770: _Functor* 7770: function<_Res(_ArgTypes...)>:: 7770: target() noexcept 7770: { 7770: const function* __const_this = this; 7770: const _Functor* __func = __const_this->template target<_Functor>(); 7770: return const_cast<_Functor*>(__func); 7770: } 7770: 7770: template 7770: template 7770: const _Functor* 7770: function<_Res(_ArgTypes...)>:: 7770: target() const noexcept 7770: { 7770: if (typeid(_Functor) == target_type() && _M_manager) 7770: { 7770: _Any_data __ptr; 7770: _M_manager(__ptr, _M_functor, __get_functor_ptr); 7770: return __ptr._M_access(); 7770: } 7770: else 7770: return nullptr; 7770: } 7770: # 743 "/usr/include/c++/8/bits/std_function.h" 3 7770: template 7770: inline bool 7770: operator==(const function<_Res(_Args...)>& __f, nullptr_t) noexcept 7770: { return !static_cast(__f); } 7770: 7770: 7770: template 7770: inline bool 7770: operator==(nullptr_t, const function<_Res(_Args...)>& __f) noexcept 7770: { return !static_cast(__f); } 7770: # 761 "/usr/include/c++/8/bits/std_function.h" 3 7770: template 7770: inline bool 7770: operator!=(const function<_Res(_Args...)>& __f, nullptr_t) noexcept 7770: { return static_cast(__f); } 7770: 7770: 7770: template 7770: inline bool 7770: operator!=(nullptr_t, const function<_Res(_Args...)>& __f) noexcept 7770: { return static_cast(__f); } 7770: # 782 "/usr/include/c++/8/bits/std_function.h" 3 7770: template 7770: inline void 7770: swap(function<_Res(_Args...)>& __x, function<_Res(_Args...)>& __y) noexcept 7770: { __x.swap(__y); } 7770: 7770: 7770: } 7770: # 60 "/usr/include/c++/8/functional" 2 3 7770: 7770: # 1 "/usr/include/c++/8/unordered_map" 1 3 7770: # 32 "/usr/include/c++/8/unordered_map" 3 7770: 7770: # 33 "/usr/include/c++/8/unordered_map" 3 7770: # 46 "/usr/include/c++/8/unordered_map" 3 7770: # 1 "/usr/include/c++/8/bits/hashtable.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/hashtable.h" 3 7770: 7770: # 34 "/usr/include/c++/8/bits/hashtable.h" 3 7770: 7770: # 1 "/usr/include/c++/8/bits/hashtable_policy.h" 1 3 7770: # 38 "/usr/include/c++/8/bits/hashtable_policy.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: template 7770: class _Hashtable; 7770: 7770: namespace __detail 7770: { 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _Hashtable_base; 7770: 7770: 7770: 7770: template 7770: inline typename std::iterator_traits<_Iterator>::difference_type 7770: __distance_fw(_Iterator __first, _Iterator __last, 7770: std::input_iterator_tag) 7770: { return __first != __last ? 1 : 0; } 7770: 7770: template 7770: inline typename std::iterator_traits<_Iterator>::difference_type 7770: __distance_fw(_Iterator __first, _Iterator __last, 7770: std::forward_iterator_tag) 7770: { return std::distance(__first, __last); } 7770: 7770: template 7770: inline typename std::iterator_traits<_Iterator>::difference_type 7770: __distance_fw(_Iterator __first, _Iterator __last) 7770: { return __distance_fw(__first, __last, 7770: std::__iterator_category(__first)); } 7770: 7770: struct _Identity 7770: { 7770: template 7770: _Tp&& 7770: operator()(_Tp&& __x) const 7770: { return std::forward<_Tp>(__x); } 7770: }; 7770: 7770: struct _Select1st 7770: { 7770: template 7770: auto 7770: operator()(_Tp&& __x) const 7770: -> decltype(std::get<0>(std::forward<_Tp>(__x))) 7770: { return std::get<0>(std::forward<_Tp>(__x)); } 7770: }; 7770: 7770: template 7770: struct _Hashtable_alloc; 7770: 7770: 7770: 7770: template 7770: struct _ReuseOrAllocNode 7770: { 7770: private: 7770: using __node_alloc_type = _NodeAlloc; 7770: using __hashtable_alloc = _Hashtable_alloc<__node_alloc_type>; 7770: using __node_alloc_traits = 7770: typename __hashtable_alloc::__node_alloc_traits; 7770: using __node_type = typename __hashtable_alloc::__node_type; 7770: 7770: public: 7770: _ReuseOrAllocNode(__node_type* __nodes, __hashtable_alloc& __h) 7770: : _M_nodes(__nodes), _M_h(__h) { } 7770: _ReuseOrAllocNode(const _ReuseOrAllocNode&) = delete; 7770: 7770: ~_ReuseOrAllocNode() 7770: { _M_h._M_deallocate_nodes(_M_nodes); } 7770: 7770: template 7770: __node_type* 7770: operator()(_Arg&& __arg) const 7770: { 7770: if (_M_nodes) 7770: { 7770: __node_type* __node = _M_nodes; 7770: _M_nodes = _M_nodes->_M_next(); 7770: __node->_M_nxt = nullptr; 7770: auto& __a = _M_h._M_node_allocator(); 7770: __node_alloc_traits::destroy(__a, __node->_M_valptr()); 7770: if (true) 7770: { 7770: __node_alloc_traits::construct(__a, __node->_M_valptr(), 7770: std::forward<_Arg>(__arg)); 7770: } 7770: if (false) 7770: { 7770: __node->~__node_type(); 7770: __node_alloc_traits::deallocate(__a, __node, 1); 7770: ; 7770: } 7770: return __node; 7770: } 7770: return _M_h._M_allocate_node(std::forward<_Arg>(__arg)); 7770: } 7770: 7770: private: 7770: mutable __node_type* _M_nodes; 7770: __hashtable_alloc& _M_h; 7770: }; 7770: 7770: 7770: 7770: template 7770: struct _AllocNode 7770: { 7770: private: 7770: using __hashtable_alloc = _Hashtable_alloc<_NodeAlloc>; 7770: using __node_type = typename __hashtable_alloc::__node_type; 7770: 7770: public: 7770: _AllocNode(__hashtable_alloc& __h) 7770: : _M_h(__h) { } 7770: 7770: template 7770: __node_type* 7770: operator()(_Arg&& __arg) const 7770: { return _M_h._M_allocate_node(std::forward<_Arg>(__arg)); } 7770: 7770: private: 7770: __hashtable_alloc& _M_h; 7770: }; 7770: # 199 "/usr/include/c++/8/bits/hashtable_policy.h" 3 7770: template 7770: struct _Hashtable_traits 7770: { 7770: using __hash_cached = __bool_constant<_Cache_hash_code>; 7770: using __constant_iterators = __bool_constant<_Constant_iterators>; 7770: using __unique_keys = __bool_constant<_Unique_keys>; 7770: }; 7770: # 215 "/usr/include/c++/8/bits/hashtable_policy.h" 3 7770: struct _Hash_node_base 7770: { 7770: _Hash_node_base* _M_nxt; 7770: 7770: _Hash_node_base() noexcept : _M_nxt() { } 7770: 7770: _Hash_node_base(_Hash_node_base* __next) noexcept : _M_nxt(__next) { } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _Hash_node_value_base : _Hash_node_base 7770: { 7770: typedef _Value value_type; 7770: 7770: __gnu_cxx::__aligned_buffer<_Value> _M_storage; 7770: 7770: _Value* 7770: _M_valptr() noexcept 7770: { return _M_storage._M_ptr(); } 7770: 7770: const _Value* 7770: _M_valptr() const noexcept 7770: { return _M_storage._M_ptr(); } 7770: 7770: _Value& 7770: _M_v() noexcept 7770: { return *_M_valptr(); } 7770: 7770: const _Value& 7770: _M_v() const noexcept 7770: { return *_M_valptr(); } 7770: }; 7770: 7770: 7770: 7770: 7770: template 7770: struct _Hash_node; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _Hash_node<_Value, true> : _Hash_node_value_base<_Value> 7770: { 7770: std::size_t _M_hash_code; 7770: 7770: _Hash_node* 7770: _M_next() const noexcept 7770: { return static_cast<_Hash_node*>(this->_M_nxt); } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _Hash_node<_Value, false> : _Hash_node_value_base<_Value> 7770: { 7770: _Hash_node* 7770: _M_next() const noexcept 7770: { return static_cast<_Hash_node*>(this->_M_nxt); } 7770: }; 7770: 7770: 7770: template 7770: struct _Node_iterator_base 7770: { 7770: using __node_type = _Hash_node<_Value, _Cache_hash_code>; 7770: 7770: __node_type* _M_cur; 7770: 7770: _Node_iterator_base(__node_type* __p) noexcept 7770: : _M_cur(__p) { } 7770: 7770: void 7770: _M_incr() noexcept 7770: { _M_cur = _M_cur->_M_next(); } 7770: }; 7770: 7770: template 7770: inline bool 7770: operator==(const _Node_iterator_base<_Value, _Cache_hash_code>& __x, 7770: const _Node_iterator_base<_Value, _Cache_hash_code >& __y) 7770: noexcept 7770: { return __x._M_cur == __y._M_cur; } 7770: 7770: template 7770: inline bool 7770: operator!=(const _Node_iterator_base<_Value, _Cache_hash_code>& __x, 7770: const _Node_iterator_base<_Value, _Cache_hash_code>& __y) 7770: noexcept 7770: { return __x._M_cur != __y._M_cur; } 7770: 7770: 7770: template 7770: struct _Node_iterator 7770: : public _Node_iterator_base<_Value, __cache> 7770: { 7770: private: 7770: using __base_type = _Node_iterator_base<_Value, __cache>; 7770: using __node_type = typename __base_type::__node_type; 7770: 7770: public: 7770: typedef _Value value_type; 7770: typedef std::ptrdiff_t difference_type; 7770: typedef std::forward_iterator_tag iterator_category; 7770: 7770: using pointer = typename std::conditional<__constant_iterators, 7770: const _Value*, _Value*>::type; 7770: 7770: using reference = typename std::conditional<__constant_iterators, 7770: const _Value&, _Value&>::type; 7770: 7770: _Node_iterator() noexcept 7770: : __base_type(0) { } 7770: 7770: explicit 7770: _Node_iterator(__node_type* __p) noexcept 7770: : __base_type(__p) { } 7770: 7770: reference 7770: operator*() const noexcept 7770: { return this->_M_cur->_M_v(); } 7770: 7770: pointer 7770: operator->() const noexcept 7770: { return this->_M_cur->_M_valptr(); } 7770: 7770: _Node_iterator& 7770: operator++() noexcept 7770: { 7770: this->_M_incr(); 7770: return *this; 7770: } 7770: 7770: _Node_iterator 7770: operator++(int) noexcept 7770: { 7770: _Node_iterator __tmp(*this); 7770: this->_M_incr(); 7770: return __tmp; 7770: } 7770: }; 7770: 7770: 7770: template 7770: struct _Node_const_iterator 7770: : public _Node_iterator_base<_Value, __cache> 7770: { 7770: private: 7770: using __base_type = _Node_iterator_base<_Value, __cache>; 7770: using __node_type = typename __base_type::__node_type; 7770: 7770: public: 7770: typedef _Value value_type; 7770: typedef std::ptrdiff_t difference_type; 7770: typedef std::forward_iterator_tag iterator_category; 7770: 7770: typedef const _Value* pointer; 7770: typedef const _Value& reference; 7770: 7770: _Node_const_iterator() noexcept 7770: : __base_type(0) { } 7770: 7770: explicit 7770: _Node_const_iterator(__node_type* __p) noexcept 7770: : __base_type(__p) { } 7770: 7770: _Node_const_iterator(const _Node_iterator<_Value, __constant_iterators, 7770: __cache>& __x) noexcept 7770: : __base_type(__x._M_cur) { } 7770: 7770: reference 7770: operator*() const noexcept 7770: { return this->_M_cur->_M_v(); } 7770: 7770: pointer 7770: operator->() const noexcept 7770: { return this->_M_cur->_M_valptr(); } 7770: 7770: _Node_const_iterator& 7770: operator++() noexcept 7770: { 7770: this->_M_incr(); 7770: return *this; 7770: } 7770: 7770: _Node_const_iterator 7770: operator++(int) noexcept 7770: { 7770: _Node_const_iterator __tmp(*this); 7770: this->_M_incr(); 7770: return __tmp; 7770: } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: struct _Mod_range_hashing 7770: { 7770: typedef std::size_t first_argument_type; 7770: typedef std::size_t second_argument_type; 7770: typedef std::size_t result_type; 7770: 7770: result_type 7770: operator()(first_argument_type __num, 7770: second_argument_type __den) const noexcept 7770: { return __num % __den; } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: struct _Default_ranged_hash { }; 7770: 7770: 7770: 7770: struct _Prime_rehash_policy 7770: { 7770: using __has_load_factor = std::true_type; 7770: 7770: _Prime_rehash_policy(float __z = 1.0) noexcept 7770: : _M_max_load_factor(__z), _M_next_resize(0) { } 7770: 7770: float 7770: max_load_factor() const noexcept 7770: { return _M_max_load_factor; } 7770: 7770: 7770: std::size_t 7770: _M_next_bkt(std::size_t __n) const; 7770: 7770: 7770: std::size_t 7770: _M_bkt_for_elements(std::size_t __n) const 7770: { return __builtin_ceil(__n / (long double)_M_max_load_factor); } 7770: 7770: 7770: 7770: 7770: 7770: std::pair 7770: _M_need_rehash(std::size_t __n_bkt, std::size_t __n_elt, 7770: std::size_t __n_ins) const; 7770: 7770: typedef std::size_t _State; 7770: 7770: _State 7770: _M_state() const 7770: { return _M_next_resize; } 7770: 7770: void 7770: _M_reset() noexcept 7770: { _M_next_resize = 0; } 7770: 7770: void 7770: _M_reset(_State __state) 7770: { _M_next_resize = __state; } 7770: 7770: static const std::size_t _S_growth_factor = 2; 7770: 7770: float _M_max_load_factor; 7770: mutable std::size_t _M_next_resize; 7770: }; 7770: 7770: 7770: struct _Mask_range_hashing 7770: { 7770: typedef std::size_t first_argument_type; 7770: typedef std::size_t second_argument_type; 7770: typedef std::size_t result_type; 7770: 7770: result_type 7770: operator()(first_argument_type __num, 7770: second_argument_type __den) const noexcept 7770: { return __num & (__den - 1); } 7770: }; 7770: 7770: 7770: constexpr 7770: inline std::size_t 7770: __clp2(std::size_t __n) noexcept 7770: { 7770: 7770: std::uint_fast64_t __x = __n; 7770: 7770: 7770: 7770: 7770: __x = __x - 1; 7770: __x = __x | (__x >> 1); 7770: __x = __x | (__x >> 2); 7770: __x = __x | (__x >> 4); 7770: __x = __x | (__x >> 8); 7770: __x = __x | (__x >>16); 7770: 7770: __x = __x | (__x >>32); 7770: 7770: return __x + 1; 7770: } 7770: 7770: 7770: 7770: struct _Power2_rehash_policy 7770: { 7770: using __has_load_factor = std::true_type; 7770: 7770: _Power2_rehash_policy(float __z = 1.0) noexcept 7770: : _M_max_load_factor(__z), _M_next_resize(0) { } 7770: 7770: float 7770: max_load_factor() const noexcept 7770: { return _M_max_load_factor; } 7770: 7770: 7770: 7770: std::size_t 7770: _M_next_bkt(std::size_t __n) noexcept 7770: { 7770: const auto __max_width = std::min(sizeof(size_t), 8); 7770: const auto __max_bkt = size_t(1) << (__max_width * 8 - 1); 7770: std::size_t __res = __clp2(__n); 7770: 7770: if (__res == __n) 7770: __res <<= 1; 7770: 7770: if (__res == 0) 7770: __res = __max_bkt; 7770: 7770: if (__res == __max_bkt) 7770: 7770: 7770: 7770: _M_next_resize = std::size_t(-1); 7770: else 7770: _M_next_resize 7770: = __builtin_ceil(__res * (long double)_M_max_load_factor); 7770: 7770: return __res; 7770: } 7770: 7770: 7770: std::size_t 7770: _M_bkt_for_elements(std::size_t __n) const noexcept 7770: { return __builtin_ceil(__n / (long double)_M_max_load_factor); } 7770: 7770: 7770: 7770: 7770: 7770: std::pair 7770: _M_need_rehash(std::size_t __n_bkt, std::size_t __n_elt, 7770: std::size_t __n_ins) noexcept 7770: { 7770: if (__n_elt + __n_ins >= _M_next_resize) 7770: { 7770: long double __min_bkts = (__n_elt + __n_ins) 7770: / (long double)_M_max_load_factor; 7770: if (__min_bkts >= __n_bkt) 7770: return std::make_pair(true, 7770: _M_next_bkt(std::max(__builtin_floor(__min_bkts) + 1, 7770: __n_bkt * _S_growth_factor))); 7770: 7770: _M_next_resize 7770: = __builtin_floor(__n_bkt * (long double)_M_max_load_factor); 7770: return std::make_pair(false, 0); 7770: } 7770: else 7770: return std::make_pair(false, 0); 7770: } 7770: 7770: typedef std::size_t _State; 7770: 7770: _State 7770: _M_state() const noexcept 7770: { return _M_next_resize; } 7770: 7770: void 7770: _M_reset() noexcept 7770: { _M_next_resize = 0; } 7770: 7770: void 7770: _M_reset(_State __state) noexcept 7770: { _M_next_resize = __state; } 7770: 7770: static const std::size_t _S_growth_factor = 2; 7770: 7770: float _M_max_load_factor; 7770: std::size_t _M_next_resize; 7770: }; 7770: # 638 "/usr/include/c++/8/bits/hashtable_policy.h" 3 7770: template 7770: struct _Map_base { }; 7770: 7770: 7770: template 7770: struct _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits, false> 7770: { 7770: using mapped_type = typename std::tuple_element<1, _Pair>::type; 7770: }; 7770: 7770: 7770: template 7770: struct _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits, true> 7770: { 7770: private: 7770: using __hashtable_base = __detail::_Hashtable_base<_Key, _Pair, 7770: _Select1st, 7770: _Equal, _H1, _H2, _Hash, 7770: _Traits>; 7770: 7770: using __hashtable = _Hashtable<_Key, _Pair, _Alloc, 7770: _Select1st, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>; 7770: 7770: using __hash_code = typename __hashtable_base::__hash_code; 7770: using __node_type = typename __hashtable_base::__node_type; 7770: 7770: public: 7770: using key_type = typename __hashtable_base::key_type; 7770: using iterator = typename __hashtable_base::iterator; 7770: using mapped_type = typename std::tuple_element<1, _Pair>::type; 7770: 7770: mapped_type& 7770: operator[](const key_type& __k); 7770: 7770: mapped_type& 7770: operator[](key_type&& __k); 7770: 7770: 7770: 7770: mapped_type& 7770: at(const key_type& __k); 7770: 7770: const mapped_type& 7770: at(const key_type& __k) const; 7770: }; 7770: 7770: template 7770: auto 7770: _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: 7770: operator[](const key_type& __k) 7770: -> mapped_type& 7770: { 7770: __hashtable* __h = static_cast<__hashtable*>(this); 7770: __hash_code __code = __h->_M_hash_code(__k); 7770: std::size_t __n = __h->_M_bucket_index(__k, __code); 7770: __node_type* __p = __h->_M_find_node(__n, __k, __code); 7770: 7770: if (!__p) 7770: { 7770: __p = __h->_M_allocate_node(std::piecewise_construct, 7770: std::tuple(__k), 7770: std::tuple<>()); 7770: return __h->_M_insert_unique_node(__n, __code, __p)->second; 7770: } 7770: 7770: return __p->_M_v().second; 7770: } 7770: 7770: template 7770: auto 7770: _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: 7770: operator[](key_type&& __k) 7770: -> mapped_type& 7770: { 7770: __hashtable* __h = static_cast<__hashtable*>(this); 7770: __hash_code __code = __h->_M_hash_code(__k); 7770: std::size_t __n = __h->_M_bucket_index(__k, __code); 7770: __node_type* __p = __h->_M_find_node(__n, __k, __code); 7770: 7770: if (!__p) 7770: { 7770: __p = __h->_M_allocate_node(std::piecewise_construct, 7770: std::forward_as_tuple(std::move(__k)), 7770: std::tuple<>()); 7770: return __h->_M_insert_unique_node(__n, __code, __p)->second; 7770: } 7770: 7770: return __p->_M_v().second; 7770: } 7770: 7770: template 7770: auto 7770: _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: 7770: at(const key_type& __k) 7770: -> mapped_type& 7770: { 7770: __hashtable* __h = static_cast<__hashtable*>(this); 7770: __hash_code __code = __h->_M_hash_code(__k); 7770: std::size_t __n = __h->_M_bucket_index(__k, __code); 7770: __node_type* __p = __h->_M_find_node(__n, __k, __code); 7770: 7770: if (!__p) 7770: __throw_out_of_range(("_Map_base::at")); 7770: return __p->_M_v().second; 7770: } 7770: 7770: template 7770: auto 7770: _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: 7770: at(const key_type& __k) const 7770: -> const mapped_type& 7770: { 7770: const __hashtable* __h = static_cast(this); 7770: __hash_code __code = __h->_M_hash_code(__k); 7770: std::size_t __n = __h->_M_bucket_index(__k, __code); 7770: __node_type* __p = __h->_M_find_node(__n, __k, __code); 7770: 7770: if (!__p) 7770: __throw_out_of_range(("_Map_base::at")); 7770: return __p->_M_v().second; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _Insert_base 7770: { 7770: protected: 7770: using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, 7770: _Equal, _H1, _H2, _Hash, 7770: _RehashPolicy, _Traits>; 7770: 7770: using __hashtable_base = _Hashtable_base<_Key, _Value, _ExtractKey, 7770: _Equal, _H1, _H2, _Hash, 7770: _Traits>; 7770: 7770: using value_type = typename __hashtable_base::value_type; 7770: using iterator = typename __hashtable_base::iterator; 7770: using const_iterator = typename __hashtable_base::const_iterator; 7770: using size_type = typename __hashtable_base::size_type; 7770: 7770: using __unique_keys = typename __hashtable_base::__unique_keys; 7770: using __ireturn_type = typename __hashtable_base::__ireturn_type; 7770: using __node_type = _Hash_node<_Value, _Traits::__hash_cached::value>; 7770: using __node_alloc_type = __alloc_rebind<_Alloc, __node_type>; 7770: using __node_gen_type = _AllocNode<__node_alloc_type>; 7770: 7770: __hashtable& 7770: _M_conjure_hashtable() 7770: { return *(static_cast<__hashtable*>(this)); } 7770: 7770: template 7770: void 7770: _M_insert_range(_InputIterator __first, _InputIterator __last, 7770: const _NodeGetter&, true_type); 7770: 7770: template 7770: void 7770: _M_insert_range(_InputIterator __first, _InputIterator __last, 7770: const _NodeGetter&, false_type); 7770: 7770: public: 7770: __ireturn_type 7770: insert(const value_type& __v) 7770: { 7770: __hashtable& __h = _M_conjure_hashtable(); 7770: __node_gen_type __node_gen(__h); 7770: return __h._M_insert(__v, __node_gen, __unique_keys()); 7770: } 7770: 7770: iterator 7770: insert(const_iterator __hint, const value_type& __v) 7770: { 7770: __hashtable& __h = _M_conjure_hashtable(); 7770: __node_gen_type __node_gen(__h); 7770: return __h._M_insert(__hint, __v, __node_gen, __unique_keys()); 7770: } 7770: 7770: void 7770: insert(initializer_list __l) 7770: { this->insert(__l.begin(), __l.end()); } 7770: 7770: template 7770: void 7770: insert(_InputIterator __first, _InputIterator __last) 7770: { 7770: __hashtable& __h = _M_conjure_hashtable(); 7770: __node_gen_type __node_gen(__h); 7770: return _M_insert_range(__first, __last, __node_gen, __unique_keys()); 7770: } 7770: }; 7770: 7770: template 7770: template 7770: void 7770: _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, 7770: _RehashPolicy, _Traits>:: 7770: _M_insert_range(_InputIterator __first, _InputIterator __last, 7770: const _NodeGetter& __node_gen, true_type) 7770: { 7770: size_type __n_elt = __detail::__distance_fw(__first, __last); 7770: if (__n_elt == 0) 7770: return; 7770: 7770: __hashtable& __h = _M_conjure_hashtable(); 7770: for (; __first != __last; ++__first) 7770: { 7770: if (__h._M_insert(*__first, __node_gen, __unique_keys(), 7770: __n_elt).second) 7770: __n_elt = 1; 7770: else if (__n_elt != 1) 7770: --__n_elt; 7770: } 7770: } 7770: 7770: template 7770: template 7770: void 7770: _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, 7770: _RehashPolicy, _Traits>:: 7770: _M_insert_range(_InputIterator __first, _InputIterator __last, 7770: const _NodeGetter& __node_gen, false_type) 7770: { 7770: using __rehash_type = typename __hashtable::__rehash_type; 7770: using __rehash_state = typename __hashtable::__rehash_state; 7770: using pair_type = std::pair; 7770: 7770: size_type __n_elt = __detail::__distance_fw(__first, __last); 7770: if (__n_elt == 0) 7770: return; 7770: 7770: __hashtable& __h = _M_conjure_hashtable(); 7770: __rehash_type& __rehash = __h._M_rehash_policy; 7770: const __rehash_state& __saved_state = __rehash._M_state(); 7770: pair_type __do_rehash = __rehash._M_need_rehash(__h._M_bucket_count, 7770: __h._M_element_count, 7770: __n_elt); 7770: 7770: if (__do_rehash.first) 7770: __h._M_rehash(__do_rehash.second, __saved_state); 7770: 7770: for (; __first != __last; ++__first) 7770: __h._M_insert(*__first, __node_gen, __unique_keys()); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _Insert; 7770: 7770: 7770: template 7770: struct _Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, 7770: _RehashPolicy, _Traits, true> 7770: : public _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits> 7770: { 7770: using __base_type = _Insert_base<_Key, _Value, _Alloc, _ExtractKey, 7770: _Equal, _H1, _H2, _Hash, 7770: _RehashPolicy, _Traits>; 7770: 7770: using __hashtable_base = _Hashtable_base<_Key, _Value, _ExtractKey, 7770: _Equal, _H1, _H2, _Hash, 7770: _Traits>; 7770: 7770: using value_type = typename __base_type::value_type; 7770: using iterator = typename __base_type::iterator; 7770: using const_iterator = typename __base_type::const_iterator; 7770: 7770: using __unique_keys = typename __base_type::__unique_keys; 7770: using __ireturn_type = typename __hashtable_base::__ireturn_type; 7770: using __hashtable = typename __base_type::__hashtable; 7770: using __node_gen_type = typename __base_type::__node_gen_type; 7770: 7770: using __base_type::insert; 7770: 7770: __ireturn_type 7770: insert(value_type&& __v) 7770: { 7770: __hashtable& __h = this->_M_conjure_hashtable(); 7770: __node_gen_type __node_gen(__h); 7770: return __h._M_insert(std::move(__v), __node_gen, __unique_keys()); 7770: } 7770: 7770: iterator 7770: insert(const_iterator __hint, value_type&& __v) 7770: { 7770: __hashtable& __h = this->_M_conjure_hashtable(); 7770: __node_gen_type __node_gen(__h); 7770: return __h._M_insert(__hint, std::move(__v), __node_gen, 7770: __unique_keys()); 7770: } 7770: }; 7770: 7770: 7770: template 7770: struct _Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, 7770: _RehashPolicy, _Traits, false> 7770: : public _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits> 7770: { 7770: using __base_type = _Insert_base<_Key, _Value, _Alloc, _ExtractKey, 7770: _Equal, _H1, _H2, _Hash, 7770: _RehashPolicy, _Traits>; 7770: using value_type = typename __base_type::value_type; 7770: using iterator = typename __base_type::iterator; 7770: using const_iterator = typename __base_type::const_iterator; 7770: 7770: using __unique_keys = typename __base_type::__unique_keys; 7770: using __hashtable = typename __base_type::__hashtable; 7770: using __ireturn_type = typename __base_type::__ireturn_type; 7770: 7770: using __base_type::insert; 7770: 7770: template 7770: using __is_cons = std::is_constructible; 7770: 7770: template 7770: using _IFcons = std::enable_if<__is_cons<_Pair>::value>; 7770: 7770: template 7770: using _IFconsp = typename _IFcons<_Pair>::type; 7770: 7770: template> 7770: __ireturn_type 7770: insert(_Pair&& __v) 7770: { 7770: __hashtable& __h = this->_M_conjure_hashtable(); 7770: return __h._M_emplace(__unique_keys(), std::forward<_Pair>(__v)); 7770: } 7770: 7770: template> 7770: iterator 7770: insert(const_iterator __hint, _Pair&& __v) 7770: { 7770: __hashtable& __h = this->_M_conjure_hashtable(); 7770: return __h._M_emplace(__hint, __unique_keys(), 7770: std::forward<_Pair>(__v)); 7770: } 7770: }; 7770: 7770: template 7770: using __has_load_factor = typename _Policy::__has_load_factor; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template> 7770: struct _Rehash_base; 7770: 7770: 7770: template 7770: struct _Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits, 7770: std::false_type> 7770: { 7770: }; 7770: 7770: 7770: template 7770: struct _Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits, 7770: std::true_type> 7770: { 7770: using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, 7770: _Equal, _H1, _H2, _Hash, 7770: _RehashPolicy, _Traits>; 7770: 7770: float 7770: max_load_factor() const noexcept 7770: { 7770: const __hashtable* __this = static_cast(this); 7770: return __this->__rehash_policy().max_load_factor(); 7770: } 7770: 7770: void 7770: max_load_factor(float __z) 7770: { 7770: __hashtable* __this = static_cast<__hashtable*>(this); 7770: __this->__rehash_policy(_RehashPolicy(__z)); 7770: } 7770: 7770: void 7770: reserve(std::size_t __n) 7770: { 7770: __hashtable* __this = static_cast<__hashtable*>(this); 7770: __this->rehash(__builtin_ceil(__n / max_load_factor())); 7770: } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _Hashtable_ebo_helper; 7770: 7770: 7770: template 7770: struct _Hashtable_ebo_helper<_Nm, _Tp, true> 7770: : private _Tp 7770: { 7770: _Hashtable_ebo_helper() = default; 7770: 7770: template 7770: _Hashtable_ebo_helper(_OtherTp&& __tp) 7770: : _Tp(std::forward<_OtherTp>(__tp)) 7770: { } 7770: 7770: static const _Tp& 7770: _S_cget(const _Hashtable_ebo_helper& __eboh) 7770: { return static_cast(__eboh); } 7770: 7770: static _Tp& 7770: _S_get(_Hashtable_ebo_helper& __eboh) 7770: { return static_cast<_Tp&>(__eboh); } 7770: }; 7770: 7770: 7770: template 7770: struct _Hashtable_ebo_helper<_Nm, _Tp, false> 7770: { 7770: _Hashtable_ebo_helper() = default; 7770: 7770: template 7770: _Hashtable_ebo_helper(_OtherTp&& __tp) 7770: : _M_tp(std::forward<_OtherTp>(__tp)) 7770: { } 7770: 7770: static const _Tp& 7770: _S_cget(const _Hashtable_ebo_helper& __eboh) 7770: { return __eboh._M_tp; } 7770: 7770: static _Tp& 7770: _S_get(_Hashtable_ebo_helper& __eboh) 7770: { return __eboh._M_tp; } 7770: 7770: private: 7770: _Tp _M_tp; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _Local_iterator_base; 7770: # 1176 "/usr/include/c++/8/bits/hashtable_policy.h" 3 7770: template 7770: struct _Hash_code_base; 7770: 7770: 7770: 7770: template 7770: struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, false> 7770: : private _Hashtable_ebo_helper<0, _ExtractKey>, 7770: private _Hashtable_ebo_helper<1, _Hash> 7770: { 7770: private: 7770: using __ebo_extract_key = _Hashtable_ebo_helper<0, _ExtractKey>; 7770: using __ebo_hash = _Hashtable_ebo_helper<1, _Hash>; 7770: 7770: protected: 7770: typedef void* __hash_code; 7770: typedef _Hash_node<_Value, false> __node_type; 7770: 7770: 7770: 7770: _Hash_code_base() = default; 7770: 7770: _Hash_code_base(const _ExtractKey& __ex, const _H1&, const _H2&, 7770: const _Hash& __h) 7770: : __ebo_extract_key(__ex), __ebo_hash(__h) { } 7770: 7770: __hash_code 7770: _M_hash_code(const _Key& __key) const 7770: { return 0; } 7770: 7770: std::size_t 7770: _M_bucket_index(const _Key& __k, __hash_code, std::size_t __n) const 7770: { return _M_ranged_hash()(__k, __n); } 7770: 7770: std::size_t 7770: _M_bucket_index(const __node_type* __p, std::size_t __n) const 7770: noexcept( noexcept(declval()(declval(), 7770: (std::size_t)0)) ) 7770: { return _M_ranged_hash()(_M_extract()(__p->_M_v()), __n); } 7770: 7770: void 7770: _M_store_code(__node_type*, __hash_code) const 7770: { } 7770: 7770: void 7770: _M_copy_code(__node_type*, const __node_type*) const 7770: { } 7770: 7770: void 7770: _M_swap(_Hash_code_base& __x) 7770: { 7770: std::swap(_M_extract(), __x._M_extract()); 7770: std::swap(_M_ranged_hash(), __x._M_ranged_hash()); 7770: } 7770: 7770: const _ExtractKey& 7770: _M_extract() const { return __ebo_extract_key::_S_cget(*this); } 7770: 7770: _ExtractKey& 7770: _M_extract() { return __ebo_extract_key::_S_get(*this); } 7770: 7770: const _Hash& 7770: _M_ranged_hash() const { return __ebo_hash::_S_cget(*this); } 7770: 7770: _Hash& 7770: _M_ranged_hash() { return __ebo_hash::_S_get(*this); } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, true>; 7770: 7770: 7770: 7770: 7770: template 7770: struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, 7770: _Default_ranged_hash, false> 7770: : private _Hashtable_ebo_helper<0, _ExtractKey>, 7770: private _Hashtable_ebo_helper<1, _H1>, 7770: private _Hashtable_ebo_helper<2, _H2> 7770: { 7770: private: 7770: using __ebo_extract_key = _Hashtable_ebo_helper<0, _ExtractKey>; 7770: using __ebo_h1 = _Hashtable_ebo_helper<1, _H1>; 7770: using __ebo_h2 = _Hashtable_ebo_helper<2, _H2>; 7770: 7770: 7770: friend struct _Local_iterator_base<_Key, _Value, _ExtractKey, _H1, _H2, 7770: _Default_ranged_hash, false>; 7770: 7770: public: 7770: typedef _H1 hasher; 7770: 7770: hasher 7770: hash_function() const 7770: { return _M_h1(); } 7770: 7770: protected: 7770: typedef std::size_t __hash_code; 7770: typedef _Hash_node<_Value, false> __node_type; 7770: 7770: 7770: 7770: _Hash_code_base() = default; 7770: 7770: _Hash_code_base(const _ExtractKey& __ex, 7770: const _H1& __h1, const _H2& __h2, 7770: const _Default_ranged_hash&) 7770: : __ebo_extract_key(__ex), __ebo_h1(__h1), __ebo_h2(__h2) { } 7770: 7770: __hash_code 7770: _M_hash_code(const _Key& __k) const 7770: { return _M_h1()(__k); } 7770: 7770: std::size_t 7770: _M_bucket_index(const _Key&, __hash_code __c, std::size_t __n) const 7770: { return _M_h2()(__c, __n); } 7770: 7770: std::size_t 7770: _M_bucket_index(const __node_type* __p, std::size_t __n) const 7770: noexcept( noexcept(declval()(declval())) 7770: && noexcept(declval()((__hash_code)0, 7770: (std::size_t)0)) ) 7770: { return _M_h2()(_M_h1()(_M_extract()(__p->_M_v())), __n); } 7770: 7770: void 7770: _M_store_code(__node_type*, __hash_code) const 7770: { } 7770: 7770: void 7770: _M_copy_code(__node_type*, const __node_type*) const 7770: { } 7770: 7770: void 7770: _M_swap(_Hash_code_base& __x) 7770: { 7770: std::swap(_M_extract(), __x._M_extract()); 7770: std::swap(_M_h1(), __x._M_h1()); 7770: std::swap(_M_h2(), __x._M_h2()); 7770: } 7770: 7770: const _ExtractKey& 7770: _M_extract() const { return __ebo_extract_key::_S_cget(*this); } 7770: 7770: _ExtractKey& 7770: _M_extract() { return __ebo_extract_key::_S_get(*this); } 7770: 7770: const _H1& 7770: _M_h1() const { return __ebo_h1::_S_cget(*this); } 7770: 7770: _H1& 7770: _M_h1() { return __ebo_h1::_S_get(*this); } 7770: 7770: const _H2& 7770: _M_h2() const { return __ebo_h2::_S_cget(*this); } 7770: 7770: _H2& 7770: _M_h2() { return __ebo_h2::_S_get(*this); } 7770: }; 7770: 7770: 7770: 7770: 7770: template 7770: struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, 7770: _Default_ranged_hash, true> 7770: : private _Hashtable_ebo_helper<0, _ExtractKey>, 7770: private _Hashtable_ebo_helper<1, _H1>, 7770: private _Hashtable_ebo_helper<2, _H2> 7770: { 7770: private: 7770: 7770: friend struct _Local_iterator_base<_Key, _Value, _ExtractKey, _H1, _H2, 7770: _Default_ranged_hash, true>; 7770: 7770: using __ebo_extract_key = _Hashtable_ebo_helper<0, _ExtractKey>; 7770: using __ebo_h1 = _Hashtable_ebo_helper<1, _H1>; 7770: using __ebo_h2 = _Hashtable_ebo_helper<2, _H2>; 7770: 7770: public: 7770: typedef _H1 hasher; 7770: 7770: hasher 7770: hash_function() const 7770: { return _M_h1(); } 7770: 7770: protected: 7770: typedef std::size_t __hash_code; 7770: typedef _Hash_node<_Value, true> __node_type; 7770: 7770: 7770: _Hash_code_base() = default; 7770: _Hash_code_base(const _ExtractKey& __ex, 7770: const _H1& __h1, const _H2& __h2, 7770: const _Default_ranged_hash&) 7770: : __ebo_extract_key(__ex), __ebo_h1(__h1), __ebo_h2(__h2) { } 7770: 7770: __hash_code 7770: _M_hash_code(const _Key& __k) const 7770: { return _M_h1()(__k); } 7770: 7770: std::size_t 7770: _M_bucket_index(const _Key&, __hash_code __c, 7770: std::size_t __n) const 7770: { return _M_h2()(__c, __n); } 7770: 7770: std::size_t 7770: _M_bucket_index(const __node_type* __p, std::size_t __n) const 7770: noexcept( noexcept(declval()((__hash_code)0, 7770: (std::size_t)0)) ) 7770: { return _M_h2()(__p->_M_hash_code, __n); } 7770: 7770: void 7770: _M_store_code(__node_type* __n, __hash_code __c) const 7770: { __n->_M_hash_code = __c; } 7770: 7770: void 7770: _M_copy_code(__node_type* __to, const __node_type* __from) const 7770: { __to->_M_hash_code = __from->_M_hash_code; } 7770: 7770: void 7770: _M_swap(_Hash_code_base& __x) 7770: { 7770: std::swap(_M_extract(), __x._M_extract()); 7770: std::swap(_M_h1(), __x._M_h1()); 7770: std::swap(_M_h2(), __x._M_h2()); 7770: } 7770: 7770: const _ExtractKey& 7770: _M_extract() const { return __ebo_extract_key::_S_cget(*this); } 7770: 7770: _ExtractKey& 7770: _M_extract() { return __ebo_extract_key::_S_get(*this); } 7770: 7770: const _H1& 7770: _M_h1() const { return __ebo_h1::_S_cget(*this); } 7770: 7770: _H1& 7770: _M_h1() { return __ebo_h1::_S_get(*this); } 7770: 7770: const _H2& 7770: _M_h2() const { return __ebo_h2::_S_cget(*this); } 7770: 7770: _H2& 7770: _M_h2() { return __ebo_h2::_S_get(*this); } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _Equal_helper; 7770: 7770: 7770: template 7770: struct _Equal_helper<_Key, _Value, _ExtractKey, _Equal, _HashCodeType, true> 7770: { 7770: static bool 7770: _S_equals(const _Equal& __eq, const _ExtractKey& __extract, 7770: const _Key& __k, _HashCodeType __c, _Hash_node<_Value, true>* __n) 7770: { return __c == __n->_M_hash_code && __eq(__k, __extract(__n->_M_v())); } 7770: }; 7770: 7770: 7770: template 7770: struct _Equal_helper<_Key, _Value, _ExtractKey, _Equal, _HashCodeType, false> 7770: { 7770: static bool 7770: _S_equals(const _Equal& __eq, const _ExtractKey& __extract, 7770: const _Key& __k, _HashCodeType, _Hash_node<_Value, false>* __n) 7770: { return __eq(__k, __extract(__n->_M_v())); } 7770: }; 7770: 7770: 7770: 7770: template 7770: struct _Local_iterator_base<_Key, _Value, _ExtractKey, 7770: _H1, _H2, _Hash, true> 7770: : private _Hashtable_ebo_helper<0, _H2> 7770: { 7770: protected: 7770: using __base_type = _Hashtable_ebo_helper<0, _H2>; 7770: using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey, 7770: _H1, _H2, _Hash, true>; 7770: 7770: _Local_iterator_base() = default; 7770: _Local_iterator_base(const __hash_code_base& __base, 7770: _Hash_node<_Value, true>* __p, 7770: std::size_t __bkt, std::size_t __bkt_count) 7770: : __base_type(__base._M_h2()), 7770: _M_cur(__p), _M_bucket(__bkt), _M_bucket_count(__bkt_count) { } 7770: 7770: void 7770: _M_incr() 7770: { 7770: _M_cur = _M_cur->_M_next(); 7770: if (_M_cur) 7770: { 7770: std::size_t __bkt 7770: = __base_type::_S_get(*this)(_M_cur->_M_hash_code, 7770: _M_bucket_count); 7770: if (__bkt != _M_bucket) 7770: _M_cur = nullptr; 7770: } 7770: } 7770: 7770: _Hash_node<_Value, true>* _M_cur; 7770: std::size_t _M_bucket; 7770: std::size_t _M_bucket_count; 7770: 7770: public: 7770: const void* 7770: _M_curr() const { return _M_cur; } 7770: 7770: std::size_t 7770: _M_get_bucket() const { return _M_bucket; } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: template::value> 7770: struct _Hash_code_storage 7770: { 7770: __gnu_cxx::__aligned_buffer<_Tp> _M_storage; 7770: 7770: _Tp* 7770: _M_h() { return _M_storage._M_ptr(); } 7770: 7770: const _Tp* 7770: _M_h() const { return _M_storage._M_ptr(); } 7770: }; 7770: 7770: 7770: template 7770: struct _Hash_code_storage<_Tp, true> 7770: { 7770: static_assert( std::is_empty<_Tp>::value, "Type must be empty" ); 7770: 7770: 7770: 7770: _Tp* 7770: _M_h() { return reinterpret_cast<_Tp*>(this); } 7770: 7770: const _Tp* 7770: _M_h() const { return reinterpret_cast(this); } 7770: }; 7770: 7770: template 7770: using __hash_code_for_local_iter 7770: = _Hash_code_storage<_Hash_code_base<_Key, _Value, _ExtractKey, 7770: _H1, _H2, _Hash, false>>; 7770: 7770: 7770: template 7770: struct _Local_iterator_base<_Key, _Value, _ExtractKey, 7770: _H1, _H2, _Hash, false> 7770: : __hash_code_for_local_iter<_Key, _Value, _ExtractKey, _H1, _H2, _Hash> 7770: { 7770: protected: 7770: using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey, 7770: _H1, _H2, _Hash, false>; 7770: 7770: _Local_iterator_base() : _M_bucket_count(-1) { } 7770: 7770: _Local_iterator_base(const __hash_code_base& __base, 7770: _Hash_node<_Value, false>* __p, 7770: std::size_t __bkt, std::size_t __bkt_count) 7770: : _M_cur(__p), _M_bucket(__bkt), _M_bucket_count(__bkt_count) 7770: { _M_init(__base); } 7770: 7770: ~_Local_iterator_base() 7770: { 7770: if (_M_bucket_count != -1) 7770: _M_destroy(); 7770: } 7770: 7770: _Local_iterator_base(const _Local_iterator_base& __iter) 7770: : _M_cur(__iter._M_cur), _M_bucket(__iter._M_bucket), 7770: _M_bucket_count(__iter._M_bucket_count) 7770: { 7770: if (_M_bucket_count != -1) 7770: _M_init(*__iter._M_h()); 7770: } 7770: 7770: _Local_iterator_base& 7770: operator=(const _Local_iterator_base& __iter) 7770: { 7770: if (_M_bucket_count != -1) 7770: _M_destroy(); 7770: _M_cur = __iter._M_cur; 7770: _M_bucket = __iter._M_bucket; 7770: _M_bucket_count = __iter._M_bucket_count; 7770: if (_M_bucket_count != -1) 7770: _M_init(*__iter._M_h()); 7770: return *this; 7770: } 7770: 7770: void 7770: _M_incr() 7770: { 7770: _M_cur = _M_cur->_M_next(); 7770: if (_M_cur) 7770: { 7770: std::size_t __bkt = this->_M_h()->_M_bucket_index(_M_cur, 7770: _M_bucket_count); 7770: if (__bkt != _M_bucket) 7770: _M_cur = nullptr; 7770: } 7770: } 7770: 7770: _Hash_node<_Value, false>* _M_cur; 7770: std::size_t _M_bucket; 7770: std::size_t _M_bucket_count; 7770: 7770: void 7770: _M_init(const __hash_code_base& __base) 7770: { ::new(this->_M_h()) __hash_code_base(__base); } 7770: 7770: void 7770: _M_destroy() { this->_M_h()->~__hash_code_base(); } 7770: 7770: public: 7770: const void* 7770: _M_curr() const { return _M_cur; } 7770: 7770: std::size_t 7770: _M_get_bucket() const { return _M_bucket; } 7770: }; 7770: 7770: template 7770: inline bool 7770: operator==(const _Local_iterator_base<_Key, _Value, _ExtractKey, 7770: _H1, _H2, _Hash, __cache>& __x, 7770: const _Local_iterator_base<_Key, _Value, _ExtractKey, 7770: _H1, _H2, _Hash, __cache>& __y) 7770: { return __x._M_curr() == __y._M_curr(); } 7770: 7770: template 7770: inline bool 7770: operator!=(const _Local_iterator_base<_Key, _Value, _ExtractKey, 7770: _H1, _H2, _Hash, __cache>& __x, 7770: const _Local_iterator_base<_Key, _Value, _ExtractKey, 7770: _H1, _H2, _Hash, __cache>& __y) 7770: { return __x._M_curr() != __y._M_curr(); } 7770: 7770: 7770: template 7770: struct _Local_iterator 7770: : public _Local_iterator_base<_Key, _Value, _ExtractKey, 7770: _H1, _H2, _Hash, __cache> 7770: { 7770: private: 7770: using __base_type = _Local_iterator_base<_Key, _Value, _ExtractKey, 7770: _H1, _H2, _Hash, __cache>; 7770: using __hash_code_base = typename __base_type::__hash_code_base; 7770: public: 7770: typedef _Value value_type; 7770: typedef typename std::conditional<__constant_iterators, 7770: const _Value*, _Value*>::type 7770: pointer; 7770: typedef typename std::conditional<__constant_iterators, 7770: const _Value&, _Value&>::type 7770: reference; 7770: typedef std::ptrdiff_t difference_type; 7770: typedef std::forward_iterator_tag iterator_category; 7770: 7770: _Local_iterator() = default; 7770: 7770: _Local_iterator(const __hash_code_base& __base, 7770: _Hash_node<_Value, __cache>* __p, 7770: std::size_t __bkt, std::size_t __bkt_count) 7770: : __base_type(__base, __p, __bkt, __bkt_count) 7770: { } 7770: 7770: reference 7770: operator*() const 7770: { return this->_M_cur->_M_v(); } 7770: 7770: pointer 7770: operator->() const 7770: { return this->_M_cur->_M_valptr(); } 7770: 7770: _Local_iterator& 7770: operator++() 7770: { 7770: this->_M_incr(); 7770: return *this; 7770: } 7770: 7770: _Local_iterator 7770: operator++(int) 7770: { 7770: _Local_iterator __tmp(*this); 7770: this->_M_incr(); 7770: return __tmp; 7770: } 7770: }; 7770: 7770: 7770: template 7770: struct _Local_const_iterator 7770: : public _Local_iterator_base<_Key, _Value, _ExtractKey, 7770: _H1, _H2, _Hash, __cache> 7770: { 7770: private: 7770: using __base_type = _Local_iterator_base<_Key, _Value, _ExtractKey, 7770: _H1, _H2, _Hash, __cache>; 7770: using __hash_code_base = typename __base_type::__hash_code_base; 7770: 7770: public: 7770: typedef _Value value_type; 7770: typedef const _Value* pointer; 7770: typedef const _Value& reference; 7770: typedef std::ptrdiff_t difference_type; 7770: typedef std::forward_iterator_tag iterator_category; 7770: 7770: _Local_const_iterator() = default; 7770: 7770: _Local_const_iterator(const __hash_code_base& __base, 7770: _Hash_node<_Value, __cache>* __p, 7770: std::size_t __bkt, std::size_t __bkt_count) 7770: : __base_type(__base, __p, __bkt, __bkt_count) 7770: { } 7770: 7770: _Local_const_iterator(const _Local_iterator<_Key, _Value, _ExtractKey, 7770: _H1, _H2, _Hash, 7770: __constant_iterators, 7770: __cache>& __x) 7770: : __base_type(__x) 7770: { } 7770: 7770: reference 7770: operator*() const 7770: { return this->_M_cur->_M_v(); } 7770: 7770: pointer 7770: operator->() const 7770: { return this->_M_cur->_M_valptr(); } 7770: 7770: _Local_const_iterator& 7770: operator++() 7770: { 7770: this->_M_incr(); 7770: return *this; 7770: } 7770: 7770: _Local_const_iterator 7770: operator++(int) 7770: { 7770: _Local_const_iterator __tmp(*this); 7770: this->_M_incr(); 7770: return __tmp; 7770: } 7770: }; 7770: # 1769 "/usr/include/c++/8/bits/hashtable_policy.h" 3 7770: template 7770: struct _Hashtable_base 7770: : public _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, 7770: _Traits::__hash_cached::value>, 7770: private _Hashtable_ebo_helper<0, _Equal> 7770: { 7770: public: 7770: typedef _Key key_type; 7770: typedef _Value value_type; 7770: typedef _Equal key_equal; 7770: typedef std::size_t size_type; 7770: typedef std::ptrdiff_t difference_type; 7770: 7770: using __traits_type = _Traits; 7770: using __hash_cached = typename __traits_type::__hash_cached; 7770: using __constant_iterators = typename __traits_type::__constant_iterators; 7770: using __unique_keys = typename __traits_type::__unique_keys; 7770: 7770: using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey, 7770: _H1, _H2, _Hash, 7770: __hash_cached::value>; 7770: 7770: using __hash_code = typename __hash_code_base::__hash_code; 7770: using __node_type = typename __hash_code_base::__node_type; 7770: 7770: using iterator = __detail::_Node_iterator; 7770: 7770: using const_iterator = __detail::_Node_const_iterator; 7770: 7770: using local_iterator = __detail::_Local_iterator; 7770: 7770: using const_local_iterator = __detail::_Local_const_iterator; 7770: 7770: using __ireturn_type = typename std::conditional<__unique_keys::value, 7770: std::pair, 7770: iterator>::type; 7770: private: 7770: using _EqualEBO = _Hashtable_ebo_helper<0, _Equal>; 7770: using _EqualHelper = _Equal_helper<_Key, _Value, _ExtractKey, _Equal, 7770: __hash_code, __hash_cached::value>; 7770: 7770: protected: 7770: _Hashtable_base() = default; 7770: _Hashtable_base(const _ExtractKey& __ex, const _H1& __h1, const _H2& __h2, 7770: const _Hash& __hash, const _Equal& __eq) 7770: : __hash_code_base(__ex, __h1, __h2, __hash), _EqualEBO(__eq) 7770: { } 7770: 7770: bool 7770: _M_equals(const _Key& __k, __hash_code __c, __node_type* __n) const 7770: { 7770: return _EqualHelper::_S_equals(_M_eq(), this->_M_extract(), 7770: __k, __c, __n); 7770: } 7770: 7770: void 7770: _M_swap(_Hashtable_base& __x) 7770: { 7770: __hash_code_base::_M_swap(__x); 7770: std::swap(_M_eq(), __x._M_eq()); 7770: } 7770: 7770: const _Equal& 7770: _M_eq() const { return _EqualEBO::_S_cget(*this); } 7770: 7770: _Equal& 7770: _M_eq() { return _EqualEBO::_S_get(*this); } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: struct _Equality_base 7770: { 7770: protected: 7770: template 7770: static bool 7770: _S_is_permutation(_Uiterator, _Uiterator, _Uiterator); 7770: }; 7770: 7770: 7770: template 7770: bool 7770: _Equality_base:: 7770: _S_is_permutation(_Uiterator __first1, _Uiterator __last1, 7770: _Uiterator __first2) 7770: { 7770: for (; __first1 != __last1; ++__first1, ++__first2) 7770: if (!(*__first1 == *__first2)) 7770: break; 7770: 7770: if (__first1 == __last1) 7770: return true; 7770: 7770: _Uiterator __last2 = __first2; 7770: std::advance(__last2, std::distance(__first1, __last1)); 7770: 7770: for (_Uiterator __it1 = __first1; __it1 != __last1; ++__it1) 7770: { 7770: _Uiterator __tmp = __first1; 7770: while (__tmp != __it1 && !bool(*__tmp == *__it1)) 7770: ++__tmp; 7770: 7770: 7770: if (__tmp != __it1) 7770: continue; 7770: 7770: std::ptrdiff_t __n2 = 0; 7770: for (__tmp = __first2; __tmp != __last2; ++__tmp) 7770: if (*__tmp == *__it1) 7770: ++__n2; 7770: 7770: if (!__n2) 7770: return false; 7770: 7770: std::ptrdiff_t __n1 = 0; 7770: for (__tmp = __it1; __tmp != __last1; ++__tmp) 7770: if (*__tmp == *__it1) 7770: ++__n1; 7770: 7770: if (__n1 != __n2) 7770: return false; 7770: } 7770: return true; 7770: } 7770: # 1918 "/usr/include/c++/8/bits/hashtable_policy.h" 3 7770: template 7770: struct _Equality; 7770: 7770: 7770: template 7770: struct _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits, true> 7770: { 7770: using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>; 7770: 7770: bool 7770: _M_equal(const __hashtable&) const; 7770: }; 7770: 7770: template 7770: bool 7770: _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: 7770: _M_equal(const __hashtable& __other) const 7770: { 7770: const __hashtable* __this = static_cast(this); 7770: 7770: if (__this->size() != __other.size()) 7770: return false; 7770: 7770: for (auto __itx = __this->begin(); __itx != __this->end(); ++__itx) 7770: { 7770: const auto __ity = __other.find(_ExtractKey()(*__itx)); 7770: if (__ity == __other.end() || !bool(*__ity == *__itx)) 7770: return false; 7770: } 7770: return true; 7770: } 7770: 7770: 7770: template 7770: struct _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits, false> 7770: : public _Equality_base 7770: { 7770: using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>; 7770: 7770: bool 7770: _M_equal(const __hashtable&) const; 7770: }; 7770: 7770: template 7770: bool 7770: _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits, false>:: 7770: _M_equal(const __hashtable& __other) const 7770: { 7770: const __hashtable* __this = static_cast(this); 7770: 7770: if (__this->size() != __other.size()) 7770: return false; 7770: 7770: for (auto __itx = __this->begin(); __itx != __this->end();) 7770: { 7770: const auto __xrange = __this->equal_range(_ExtractKey()(*__itx)); 7770: const auto __yrange = __other.equal_range(_ExtractKey()(*__itx)); 7770: 7770: if (std::distance(__xrange.first, __xrange.second) 7770: != std::distance(__yrange.first, __yrange.second)) 7770: return false; 7770: 7770: if (!_S_is_permutation(__xrange.first, __xrange.second, 7770: __yrange.first)) 7770: return false; 7770: 7770: __itx = __xrange.second; 7770: } 7770: return true; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _Hashtable_alloc : private _Hashtable_ebo_helper<0, _NodeAlloc> 7770: { 7770: private: 7770: using __ebo_node_alloc = _Hashtable_ebo_helper<0, _NodeAlloc>; 7770: public: 7770: using __node_type = typename _NodeAlloc::value_type; 7770: using __node_alloc_type = _NodeAlloc; 7770: 7770: using __node_alloc_traits = __gnu_cxx::__alloc_traits<__node_alloc_type>; 7770: 7770: using __value_alloc_traits = typename __node_alloc_traits::template 7770: rebind_traits; 7770: 7770: using __node_base = __detail::_Hash_node_base; 7770: using __bucket_type = __node_base*; 7770: using __bucket_alloc_type = 7770: __alloc_rebind<__node_alloc_type, __bucket_type>; 7770: using __bucket_alloc_traits = std::allocator_traits<__bucket_alloc_type>; 7770: 7770: _Hashtable_alloc() = default; 7770: _Hashtable_alloc(const _Hashtable_alloc&) = default; 7770: _Hashtable_alloc(_Hashtable_alloc&&) = default; 7770: 7770: template 7770: _Hashtable_alloc(_Alloc&& __a) 7770: : __ebo_node_alloc(std::forward<_Alloc>(__a)) 7770: { } 7770: 7770: __node_alloc_type& 7770: _M_node_allocator() 7770: { return __ebo_node_alloc::_S_get(*this); } 7770: 7770: const __node_alloc_type& 7770: _M_node_allocator() const 7770: { return __ebo_node_alloc::_S_cget(*this); } 7770: 7770: template 7770: __node_type* 7770: _M_allocate_node(_Args&&... __args); 7770: 7770: void 7770: _M_deallocate_node(__node_type* __n); 7770: 7770: 7770: void 7770: _M_deallocate_nodes(__node_type* __n); 7770: 7770: __bucket_type* 7770: _M_allocate_buckets(std::size_t __n); 7770: 7770: void 7770: _M_deallocate_buckets(__bucket_type*, std::size_t __n); 7770: }; 7770: 7770: 7770: 7770: template 7770: template 7770: typename _Hashtable_alloc<_NodeAlloc>::__node_type* 7770: _Hashtable_alloc<_NodeAlloc>::_M_allocate_node(_Args&&... __args) 7770: { 7770: auto __nptr = __node_alloc_traits::allocate(_M_node_allocator(), 1); 7770: __node_type* __n = std::__to_address(__nptr); 7770: if (true) 7770: { 7770: ::new ((void*)__n) __node_type; 7770: __node_alloc_traits::construct(_M_node_allocator(), 7770: __n->_M_valptr(), 7770: std::forward<_Args>(__args)...); 7770: return __n; 7770: } 7770: if (false) 7770: { 7770: __node_alloc_traits::deallocate(_M_node_allocator(), __nptr, 1); 7770: ; 7770: } 7770: } 7770: 7770: template 7770: void 7770: _Hashtable_alloc<_NodeAlloc>::_M_deallocate_node(__node_type* __n) 7770: { 7770: typedef typename __node_alloc_traits::pointer _Ptr; 7770: auto __ptr = std::pointer_traits<_Ptr>::pointer_to(*__n); 7770: __node_alloc_traits::destroy(_M_node_allocator(), __n->_M_valptr()); 7770: __n->~__node_type(); 7770: __node_alloc_traits::deallocate(_M_node_allocator(), __ptr, 1); 7770: } 7770: 7770: template 7770: void 7770: _Hashtable_alloc<_NodeAlloc>::_M_deallocate_nodes(__node_type* __n) 7770: { 7770: while (__n) 7770: { 7770: __node_type* __tmp = __n; 7770: __n = __n->_M_next(); 7770: _M_deallocate_node(__tmp); 7770: } 7770: } 7770: 7770: template 7770: typename _Hashtable_alloc<_NodeAlloc>::__bucket_type* 7770: _Hashtable_alloc<_NodeAlloc>::_M_allocate_buckets(std::size_t __n) 7770: { 7770: __bucket_alloc_type __alloc(_M_node_allocator()); 7770: 7770: auto __ptr = __bucket_alloc_traits::allocate(__alloc, __n); 7770: __bucket_type* __p = std::__to_address(__ptr); 7770: __builtin_memset(__p, 0, __n * sizeof(__bucket_type)); 7770: return __p; 7770: } 7770: 7770: template 7770: void 7770: _Hashtable_alloc<_NodeAlloc>::_M_deallocate_buckets(__bucket_type* __bkts, 7770: std::size_t __n) 7770: { 7770: typedef typename __bucket_alloc_traits::pointer _Ptr; 7770: auto __ptr = std::pointer_traits<_Ptr>::pointer_to(*__bkts); 7770: __bucket_alloc_type __alloc(_M_node_allocator()); 7770: __bucket_alloc_traits::deallocate(__alloc, __ptr, __n); 7770: } 7770: 7770: 7770: } 7770: 7770: } 7770: # 36 "/usr/include/c++/8/bits/hashtable.h" 2 3 7770: 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: template 7770: using __cache_default 7770: = __not_<__and_< 7770: __is_fast_hash<_Hash>, 7770: 7770: __is_nothrow_invocable>>; 7770: # 169 "/usr/include/c++/8/bits/hashtable.h" 3 7770: template 7770: class _Hashtable 7770: : public __detail::_Hashtable_base<_Key, _Value, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _Traits>, 7770: public __detail::_Map_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>, 7770: public __detail::_Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>, 7770: public __detail::_Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>, 7770: public __detail::_Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>, 7770: private __detail::_Hashtable_alloc< 7770: __alloc_rebind<_Alloc, 7770: __detail::_Hash_node<_Value, 7770: _Traits::__hash_cached::value>>> 7770: { 7770: static_assert(is_same::type, _Value>::value, 7770: "unordered container must have a non-const, non-volatile value_type"); 7770: 7770: static_assert(is_same{}, 7770: "unordered container must have the same value_type as its allocator"); 7770: 7770: static_assert(__is_invocable{}, 7770: "hash function must be invocable with an argument of key type"); 7770: static_assert(__is_invocable{}, 7770: "key equality predicate must be invocable with two arguments of " 7770: "key type"); 7770: 7770: using __traits_type = _Traits; 7770: using __hash_cached = typename __traits_type::__hash_cached; 7770: using __node_type = __detail::_Hash_node<_Value, __hash_cached::value>; 7770: using __node_alloc_type = __alloc_rebind<_Alloc, __node_type>; 7770: 7770: using __hashtable_alloc = __detail::_Hashtable_alloc<__node_alloc_type>; 7770: 7770: using __value_alloc_traits = 7770: typename __hashtable_alloc::__value_alloc_traits; 7770: using __node_alloc_traits = 7770: typename __hashtable_alloc::__node_alloc_traits; 7770: using __node_base = typename __hashtable_alloc::__node_base; 7770: using __bucket_type = typename __hashtable_alloc::__bucket_type; 7770: 7770: public: 7770: typedef _Key key_type; 7770: typedef _Value value_type; 7770: typedef _Alloc allocator_type; 7770: typedef _Equal key_equal; 7770: 7770: 7770: 7770: typedef typename __value_alloc_traits::pointer pointer; 7770: typedef typename __value_alloc_traits::const_pointer const_pointer; 7770: typedef value_type& reference; 7770: typedef const value_type& const_reference; 7770: 7770: private: 7770: using __rehash_type = _RehashPolicy; 7770: using __rehash_state = typename __rehash_type::_State; 7770: 7770: using __constant_iterators = typename __traits_type::__constant_iterators; 7770: using __unique_keys = typename __traits_type::__unique_keys; 7770: 7770: using __key_extract = typename std::conditional< 7770: __constant_iterators::value, 7770: __detail::_Identity, 7770: __detail::_Select1st>::type; 7770: 7770: using __hashtable_base = __detail:: 7770: _Hashtable_base<_Key, _Value, _ExtractKey, 7770: _Equal, _H1, _H2, _Hash, _Traits>; 7770: 7770: using __hash_code_base = typename __hashtable_base::__hash_code_base; 7770: using __hash_code = typename __hashtable_base::__hash_code; 7770: using __ireturn_type = typename __hashtable_base::__ireturn_type; 7770: 7770: using __map_base = __detail::_Map_base<_Key, _Value, _Alloc, _ExtractKey, 7770: _Equal, _H1, _H2, _Hash, 7770: _RehashPolicy, _Traits>; 7770: 7770: using __rehash_base = __detail::_Rehash_base<_Key, _Value, _Alloc, 7770: _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, 7770: _RehashPolicy, _Traits>; 7770: 7770: using __eq_base = __detail::_Equality<_Key, _Value, _Alloc, _ExtractKey, 7770: _Equal, _H1, _H2, _Hash, 7770: _RehashPolicy, _Traits>; 7770: 7770: using __reuse_or_alloc_node_type = 7770: __detail::_ReuseOrAllocNode<__node_alloc_type>; 7770: 7770: 7770: template 7770: using __if_hash_cached = __or_<__not_<__hash_cached>, _Cond>; 7770: 7770: template 7770: using __if_hash_not_cached = __or_<__hash_cached, _Cond>; 7770: 7770: 7770: 7770: 7770: 7770: struct __hash_code_base_access : __hash_code_base 7770: { using __hash_code_base::_M_bucket_index; }; 7770: 7770: 7770: 7770: static_assert(noexcept(declval() 7770: ._M_bucket_index((const __node_type*)nullptr, 7770: (std::size_t)0)), 7770: "Cache the hash code or qualify your functors involved" 7770: " in hash code and bucket index computation with noexcept"); 7770: 7770: 7770: 7770: 7770: 7770: 7770: static_assert(__if_hash_cached>::value, 7770: "Functor used to map hash code to bucket index" 7770: " must be default constructible"); 7770: 7770: template 7770: friend struct __detail::_Map_base; 7770: 7770: template 7770: friend struct __detail::_Insert_base; 7770: 7770: template 7770: friend struct __detail::_Insert; 7770: 7770: public: 7770: using size_type = typename __hashtable_base::size_type; 7770: using difference_type = typename __hashtable_base::difference_type; 7770: 7770: using iterator = typename __hashtable_base::iterator; 7770: using const_iterator = typename __hashtable_base::const_iterator; 7770: 7770: using local_iterator = typename __hashtable_base::local_iterator; 7770: using const_local_iterator = typename __hashtable_base:: 7770: const_local_iterator; 7770: 7770: 7770: using node_type = _Node_handle<_Key, _Value, __node_alloc_type>; 7770: using insert_return_type = _Node_insert_return; 7770: 7770: 7770: private: 7770: __bucket_type* _M_buckets = &_M_single_bucket; 7770: size_type _M_bucket_count = 1; 7770: __node_base _M_before_begin; 7770: size_type _M_element_count = 0; 7770: _RehashPolicy _M_rehash_policy; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: __bucket_type _M_single_bucket = nullptr; 7770: 7770: bool 7770: _M_uses_single_bucket(__bucket_type* __bkts) const 7770: { return __builtin_expect(__bkts == &_M_single_bucket, false); } 7770: 7770: bool 7770: _M_uses_single_bucket() const 7770: { return _M_uses_single_bucket(_M_buckets); } 7770: 7770: __hashtable_alloc& 7770: _M_base_alloc() { return *this; } 7770: 7770: __bucket_type* 7770: _M_allocate_buckets(size_type __n) 7770: { 7770: if (__builtin_expect(__n == 1, false)) 7770: { 7770: _M_single_bucket = nullptr; 7770: return &_M_single_bucket; 7770: } 7770: 7770: return __hashtable_alloc::_M_allocate_buckets(__n); 7770: } 7770: 7770: void 7770: _M_deallocate_buckets(__bucket_type* __bkts, size_type __n) 7770: { 7770: if (_M_uses_single_bucket(__bkts)) 7770: return; 7770: 7770: __hashtable_alloc::_M_deallocate_buckets(__bkts, __n); 7770: } 7770: 7770: void 7770: _M_deallocate_buckets() 7770: { _M_deallocate_buckets(_M_buckets, _M_bucket_count); } 7770: 7770: 7770: 7770: __node_type* 7770: _M_bucket_begin(size_type __bkt) const; 7770: 7770: __node_type* 7770: _M_begin() const 7770: { return static_cast<__node_type*>(_M_before_begin._M_nxt); } 7770: 7770: template 7770: void 7770: _M_assign(const _Hashtable&, const _NodeGenerator&); 7770: 7770: void 7770: _M_move_assign(_Hashtable&&, std::true_type); 7770: 7770: void 7770: _M_move_assign(_Hashtable&&, std::false_type); 7770: 7770: void 7770: _M_reset() noexcept; 7770: 7770: _Hashtable(const _H1& __h1, const _H2& __h2, const _Hash& __h, 7770: const _Equal& __eq, const _ExtractKey& __exk, 7770: const allocator_type& __a) 7770: : __hashtable_base(__exk, __h1, __h2, __h, __eq), 7770: __hashtable_alloc(__node_alloc_type(__a)) 7770: { } 7770: 7770: public: 7770: 7770: _Hashtable() = default; 7770: _Hashtable(size_type __bucket_hint, 7770: const _H1&, const _H2&, const _Hash&, 7770: const _Equal&, const _ExtractKey&, 7770: const allocator_type&); 7770: 7770: template 7770: _Hashtable(_InputIterator __first, _InputIterator __last, 7770: size_type __bucket_hint, 7770: const _H1&, const _H2&, const _Hash&, 7770: const _Equal&, const _ExtractKey&, 7770: const allocator_type&); 7770: 7770: _Hashtable(const _Hashtable&); 7770: 7770: _Hashtable(_Hashtable&&) noexcept; 7770: 7770: _Hashtable(const _Hashtable&, const allocator_type&); 7770: 7770: _Hashtable(_Hashtable&&, const allocator_type&); 7770: 7770: 7770: explicit 7770: _Hashtable(const allocator_type& __a) 7770: : __hashtable_alloc(__node_alloc_type(__a)) 7770: { } 7770: 7770: explicit 7770: _Hashtable(size_type __n, 7770: const _H1& __hf = _H1(), 7770: const key_equal& __eql = key_equal(), 7770: const allocator_type& __a = allocator_type()) 7770: : _Hashtable(__n, __hf, _H2(), _Hash(), __eql, 7770: __key_extract(), __a) 7770: { } 7770: 7770: template 7770: _Hashtable(_InputIterator __f, _InputIterator __l, 7770: size_type __n = 0, 7770: const _H1& __hf = _H1(), 7770: const key_equal& __eql = key_equal(), 7770: const allocator_type& __a = allocator_type()) 7770: : _Hashtable(__f, __l, __n, __hf, _H2(), _Hash(), __eql, 7770: __key_extract(), __a) 7770: { } 7770: 7770: _Hashtable(initializer_list __l, 7770: size_type __n = 0, 7770: const _H1& __hf = _H1(), 7770: const key_equal& __eql = key_equal(), 7770: const allocator_type& __a = allocator_type()) 7770: : _Hashtable(__l.begin(), __l.end(), __n, __hf, _H2(), _Hash(), __eql, 7770: __key_extract(), __a) 7770: { } 7770: 7770: _Hashtable& 7770: operator=(const _Hashtable& __ht); 7770: 7770: _Hashtable& 7770: operator=(_Hashtable&& __ht) 7770: noexcept(__node_alloc_traits::_S_nothrow_move() 7770: && is_nothrow_move_assignable<_H1>::value 7770: && is_nothrow_move_assignable<_Equal>::value) 7770: { 7770: constexpr bool __move_storage = 7770: __node_alloc_traits::_S_propagate_on_move_assign() 7770: || __node_alloc_traits::_S_always_equal(); 7770: _M_move_assign(std::move(__ht), __bool_constant<__move_storage>()); 7770: return *this; 7770: } 7770: 7770: _Hashtable& 7770: operator=(initializer_list __l) 7770: { 7770: __reuse_or_alloc_node_type __roan(_M_begin(), *this); 7770: _M_before_begin._M_nxt = nullptr; 7770: clear(); 7770: this->_M_insert_range(__l.begin(), __l.end(), __roan, __unique_keys()); 7770: return *this; 7770: } 7770: 7770: ~_Hashtable() noexcept; 7770: 7770: void 7770: swap(_Hashtable&) 7770: noexcept(__and_<__is_nothrow_swappable<_H1>, 7770: __is_nothrow_swappable<_Equal>>::value); 7770: 7770: 7770: iterator 7770: begin() noexcept 7770: { return iterator(_M_begin()); } 7770: 7770: const_iterator 7770: begin() const noexcept 7770: { return const_iterator(_M_begin()); } 7770: 7770: iterator 7770: end() noexcept 7770: { return iterator(nullptr); } 7770: 7770: const_iterator 7770: end() const noexcept 7770: { return const_iterator(nullptr); } 7770: 7770: const_iterator 7770: cbegin() const noexcept 7770: { return const_iterator(_M_begin()); } 7770: 7770: const_iterator 7770: cend() const noexcept 7770: { return const_iterator(nullptr); } 7770: 7770: size_type 7770: size() const noexcept 7770: { return _M_element_count; } 7770: 7770: bool 7770: empty() const noexcept 7770: { return size() == 0; } 7770: 7770: allocator_type 7770: get_allocator() const noexcept 7770: { return allocator_type(this->_M_node_allocator()); } 7770: 7770: size_type 7770: max_size() const noexcept 7770: { return __node_alloc_traits::max_size(this->_M_node_allocator()); } 7770: 7770: 7770: key_equal 7770: key_eq() const 7770: { return this->_M_eq(); } 7770: 7770: 7770: 7770: 7770: size_type 7770: bucket_count() const noexcept 7770: { return _M_bucket_count; } 7770: 7770: size_type 7770: max_bucket_count() const noexcept 7770: { return max_size(); } 7770: 7770: size_type 7770: bucket_size(size_type __n) const 7770: { return std::distance(begin(__n), end(__n)); } 7770: 7770: size_type 7770: bucket(const key_type& __k) const 7770: { return _M_bucket_index(__k, this->_M_hash_code(__k)); } 7770: 7770: local_iterator 7770: begin(size_type __n) 7770: { 7770: return local_iterator(*this, _M_bucket_begin(__n), 7770: __n, _M_bucket_count); 7770: } 7770: 7770: local_iterator 7770: end(size_type __n) 7770: { return local_iterator(*this, nullptr, __n, _M_bucket_count); } 7770: 7770: const_local_iterator 7770: begin(size_type __n) const 7770: { 7770: return const_local_iterator(*this, _M_bucket_begin(__n), 7770: __n, _M_bucket_count); 7770: } 7770: 7770: const_local_iterator 7770: end(size_type __n) const 7770: { return const_local_iterator(*this, nullptr, __n, _M_bucket_count); } 7770: 7770: 7770: const_local_iterator 7770: cbegin(size_type __n) const 7770: { 7770: return const_local_iterator(*this, _M_bucket_begin(__n), 7770: __n, _M_bucket_count); 7770: } 7770: 7770: const_local_iterator 7770: cend(size_type __n) const 7770: { return const_local_iterator(*this, nullptr, __n, _M_bucket_count); } 7770: 7770: float 7770: load_factor() const noexcept 7770: { 7770: return static_cast(size()) / static_cast(bucket_count()); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const _RehashPolicy& 7770: __rehash_policy() const 7770: { return _M_rehash_policy; } 7770: 7770: void 7770: __rehash_policy(const _RehashPolicy& __pol) 7770: { _M_rehash_policy = __pol; } 7770: 7770: 7770: iterator 7770: find(const key_type& __k); 7770: 7770: const_iterator 7770: find(const key_type& __k) const; 7770: 7770: size_type 7770: count(const key_type& __k) const; 7770: 7770: std::pair 7770: equal_range(const key_type& __k); 7770: 7770: std::pair 7770: equal_range(const key_type& __k) const; 7770: 7770: protected: 7770: 7770: size_type 7770: _M_bucket_index(__node_type* __n) const noexcept 7770: { return __hash_code_base::_M_bucket_index(__n, _M_bucket_count); } 7770: 7770: size_type 7770: _M_bucket_index(const key_type& __k, __hash_code __c) const 7770: { return __hash_code_base::_M_bucket_index(__k, __c, _M_bucket_count); } 7770: 7770: 7770: 7770: __node_base* 7770: _M_find_before_node(size_type, const key_type&, __hash_code) const; 7770: 7770: __node_type* 7770: _M_find_node(size_type __bkt, const key_type& __key, 7770: __hash_code __c) const 7770: { 7770: __node_base* __before_n = _M_find_before_node(__bkt, __key, __c); 7770: if (__before_n) 7770: return static_cast<__node_type*>(__before_n->_M_nxt); 7770: return nullptr; 7770: } 7770: 7770: 7770: void 7770: _M_insert_bucket_begin(size_type, __node_type*); 7770: 7770: 7770: void 7770: _M_remove_bucket_begin(size_type __bkt, __node_type* __next_n, 7770: size_type __next_bkt); 7770: 7770: 7770: __node_base* 7770: _M_get_previous_node(size_type __bkt, __node_base* __n); 7770: 7770: 7770: 7770: 7770: iterator 7770: _M_insert_unique_node(size_type __bkt, __hash_code __code, 7770: __node_type* __n, size_type __n_elt = 1); 7770: 7770: 7770: 7770: iterator 7770: _M_insert_multi_node(__node_type* __hint, 7770: __hash_code __code, __node_type* __n); 7770: 7770: template 7770: std::pair 7770: _M_emplace(std::true_type, _Args&&... __args); 7770: 7770: template 7770: iterator 7770: _M_emplace(std::false_type __uk, _Args&&... __args) 7770: { return _M_emplace(cend(), __uk, std::forward<_Args>(__args)...); } 7770: 7770: 7770: template 7770: iterator 7770: _M_emplace(const_iterator, std::true_type __uk, _Args&&... __args) 7770: { return _M_emplace(__uk, std::forward<_Args>(__args)...).first; } 7770: 7770: template 7770: iterator 7770: _M_emplace(const_iterator, std::false_type, _Args&&... __args); 7770: 7770: template 7770: std::pair 7770: _M_insert(_Arg&&, const _NodeGenerator&, true_type, size_type = 1); 7770: 7770: template 7770: iterator 7770: _M_insert(_Arg&& __arg, const _NodeGenerator& __node_gen, 7770: false_type __uk) 7770: { 7770: return _M_insert(cend(), std::forward<_Arg>(__arg), __node_gen, 7770: __uk); 7770: } 7770: 7770: 7770: template 7770: iterator 7770: _M_insert(const_iterator, _Arg&& __arg, 7770: const _NodeGenerator& __node_gen, true_type __uk) 7770: { 7770: return 7770: _M_insert(std::forward<_Arg>(__arg), __node_gen, __uk).first; 7770: } 7770: 7770: 7770: template 7770: iterator 7770: _M_insert(const_iterator, _Arg&&, 7770: const _NodeGenerator&, false_type); 7770: 7770: size_type 7770: _M_erase(std::true_type, const key_type&); 7770: 7770: size_type 7770: _M_erase(std::false_type, const key_type&); 7770: 7770: iterator 7770: _M_erase(size_type __bkt, __node_base* __prev_n, __node_type* __n); 7770: 7770: public: 7770: 7770: template 7770: __ireturn_type 7770: emplace(_Args&&... __args) 7770: { return _M_emplace(__unique_keys(), std::forward<_Args>(__args)...); } 7770: 7770: template 7770: iterator 7770: emplace_hint(const_iterator __hint, _Args&&... __args) 7770: { 7770: return _M_emplace(__hint, __unique_keys(), 7770: std::forward<_Args>(__args)...); 7770: } 7770: 7770: 7770: 7770: 7770: iterator 7770: erase(const_iterator); 7770: 7770: 7770: iterator 7770: erase(iterator __it) 7770: { return erase(const_iterator(__it)); } 7770: 7770: size_type 7770: erase(const key_type& __k) 7770: { return _M_erase(__unique_keys(), __k); } 7770: 7770: iterator 7770: erase(const_iterator, const_iterator); 7770: 7770: void 7770: clear() noexcept; 7770: 7770: 7770: void rehash(size_type __n); 7770: 7770: 7770: 7770: 7770: 7770: 7770: insert_return_type 7770: _M_reinsert_node(node_type&& __nh) 7770: { 7770: insert_return_type __ret; 7770: if (__nh.empty()) 7770: __ret.position = end(); 7770: else 7770: { 7770: ; 7770: 7770: const key_type& __k = __nh._M_key(); 7770: __hash_code __code = this->_M_hash_code(__k); 7770: size_type __bkt = _M_bucket_index(__k, __code); 7770: if (__node_type* __n = _M_find_node(__bkt, __k, __code)) 7770: { 7770: __ret.node = std::move(__nh); 7770: __ret.position = iterator(__n); 7770: __ret.inserted = false; 7770: } 7770: else 7770: { 7770: __ret.position 7770: = _M_insert_unique_node(__bkt, __code, __nh._M_ptr); 7770: __nh._M_ptr = nullptr; 7770: __ret.inserted = true; 7770: } 7770: } 7770: return __ret; 7770: } 7770: 7770: 7770: iterator 7770: _M_reinsert_node_multi(const_iterator __hint, node_type&& __nh) 7770: { 7770: iterator __ret; 7770: if (__nh.empty()) 7770: __ret = end(); 7770: else 7770: { 7770: ; 7770: 7770: auto __code = this->_M_hash_code(__nh._M_key()); 7770: auto __node = std::exchange(__nh._M_ptr, nullptr); 7770: 7770: __ret = _M_insert_multi_node(__hint._M_cur, __code, __node); 7770: } 7770: return __ret; 7770: } 7770: 7770: 7770: node_type 7770: extract(const_iterator __pos) 7770: { 7770: __node_type* __n = __pos._M_cur; 7770: size_t __bkt = _M_bucket_index(__n); 7770: 7770: 7770: 7770: 7770: __node_base* __prev_n = _M_get_previous_node(__bkt, __n); 7770: 7770: if (__prev_n == _M_buckets[__bkt]) 7770: _M_remove_bucket_begin(__bkt, __n->_M_next(), 7770: __n->_M_nxt ? _M_bucket_index(__n->_M_next()) : 0); 7770: else if (__n->_M_nxt) 7770: { 7770: size_type __next_bkt = _M_bucket_index(__n->_M_next()); 7770: if (__next_bkt != __bkt) 7770: _M_buckets[__next_bkt] = __prev_n; 7770: } 7770: 7770: __prev_n->_M_nxt = __n->_M_nxt; 7770: __n->_M_nxt = nullptr; 7770: --_M_element_count; 7770: return { __n, this->_M_node_allocator() }; 7770: } 7770: 7770: 7770: node_type 7770: extract(const _Key& __k) 7770: { 7770: node_type __nh; 7770: auto __pos = find(__k); 7770: if (__pos != end()) 7770: __nh = extract(const_iterator(__pos)); 7770: return __nh; 7770: } 7770: 7770: 7770: template 7770: void 7770: _M_merge_unique(_Compatible_Hashtable& __src) noexcept 7770: { 7770: static_assert(is_same_v, "Node types are compatible"); 7770: ; 7770: 7770: auto __n_elt = __src.size(); 7770: for (auto __i = __src.begin(), __end = __src.end(); __i != __end;) 7770: { 7770: auto __pos = __i++; 7770: const key_type& __k = this->_M_extract()(__pos._M_cur->_M_v()); 7770: __hash_code __code = this->_M_hash_code(__k); 7770: size_type __bkt = _M_bucket_index(__k, __code); 7770: if (_M_find_node(__bkt, __k, __code) == nullptr) 7770: { 7770: auto __nh = __src.extract(__pos); 7770: _M_insert_unique_node(__bkt, __code, __nh._M_ptr, __n_elt); 7770: __nh._M_ptr = nullptr; 7770: __n_elt = 1; 7770: } 7770: else if (__n_elt != 1) 7770: --__n_elt; 7770: } 7770: } 7770: 7770: 7770: template 7770: void 7770: _M_merge_multi(_Compatible_Hashtable& __src) noexcept 7770: { 7770: static_assert(is_same_v, "Node types are compatible"); 7770: ; 7770: 7770: this->reserve(size() + __src.size()); 7770: for (auto __i = __src.begin(), __end = __src.end(); __i != __end;) 7770: _M_reinsert_node_multi(cend(), __src.extract(__i++)); 7770: } 7770: 7770: 7770: private: 7770: 7770: void _M_rehash_aux(size_type __n, std::true_type); 7770: 7770: 7770: void _M_rehash_aux(size_type __n, std::false_type); 7770: 7770: 7770: 7770: void _M_rehash(size_type __n, const __rehash_state& __state); 7770: }; 7770: 7770: 7770: 7770: template 7770: auto 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_bucket_begin(size_type __bkt) const 7770: -> __node_type* 7770: { 7770: __node_base* __n = _M_buckets[__bkt]; 7770: return __n ? static_cast<__node_type*>(__n->_M_nxt) : nullptr; 7770: } 7770: 7770: template 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _Hashtable(size_type __bucket_hint, 7770: const _H1& __h1, const _H2& __h2, const _Hash& __h, 7770: const _Equal& __eq, const _ExtractKey& __exk, 7770: const allocator_type& __a) 7770: : _Hashtable(__h1, __h2, __h, __eq, __exk, __a) 7770: { 7770: auto __bkt = _M_rehash_policy._M_next_bkt(__bucket_hint); 7770: if (__bkt > _M_bucket_count) 7770: { 7770: _M_buckets = _M_allocate_buckets(__bkt); 7770: _M_bucket_count = __bkt; 7770: } 7770: } 7770: 7770: template 7770: template 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _Hashtable(_InputIterator __f, _InputIterator __l, 7770: size_type __bucket_hint, 7770: const _H1& __h1, const _H2& __h2, const _Hash& __h, 7770: const _Equal& __eq, const _ExtractKey& __exk, 7770: const allocator_type& __a) 7770: : _Hashtable(__h1, __h2, __h, __eq, __exk, __a) 7770: { 7770: auto __nb_elems = __detail::__distance_fw(__f, __l); 7770: auto __bkt_count = 7770: _M_rehash_policy._M_next_bkt( 7770: std::max(_M_rehash_policy._M_bkt_for_elements(__nb_elems), 7770: __bucket_hint)); 7770: 7770: if (__bkt_count > _M_bucket_count) 7770: { 7770: _M_buckets = _M_allocate_buckets(__bkt_count); 7770: _M_bucket_count = __bkt_count; 7770: } 7770: 7770: for (; __f != __l; ++__f) 7770: this->insert(*__f); 7770: } 7770: 7770: template 7770: auto 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: operator=(const _Hashtable& __ht) 7770: -> _Hashtable& 7770: { 7770: if (&__ht == this) 7770: return *this; 7770: 7770: if (__node_alloc_traits::_S_propagate_on_copy_assign()) 7770: { 7770: auto& __this_alloc = this->_M_node_allocator(); 7770: auto& __that_alloc = __ht._M_node_allocator(); 7770: if (!__node_alloc_traits::_S_always_equal() 7770: && __this_alloc != __that_alloc) 7770: { 7770: 7770: this->_M_deallocate_nodes(_M_begin()); 7770: _M_before_begin._M_nxt = nullptr; 7770: _M_deallocate_buckets(); 7770: _M_buckets = nullptr; 7770: std::__alloc_on_copy(__this_alloc, __that_alloc); 7770: __hashtable_base::operator=(__ht); 7770: _M_bucket_count = __ht._M_bucket_count; 7770: _M_element_count = __ht._M_element_count; 7770: _M_rehash_policy = __ht._M_rehash_policy; 7770: if (true) 7770: { 7770: _M_assign(__ht, 7770: [this](const __node_type* __n) 7770: { return this->_M_allocate_node(__n->_M_v()); }); 7770: } 7770: if (false) 7770: { 7770: 7770: 7770: _M_reset(); 7770: ; 7770: } 7770: return *this; 7770: } 7770: std::__alloc_on_copy(__this_alloc, __that_alloc); 7770: } 7770: 7770: 7770: __bucket_type* __former_buckets = nullptr; 7770: std::size_t __former_bucket_count = _M_bucket_count; 7770: const __rehash_state& __former_state = _M_rehash_policy._M_state(); 7770: 7770: if (_M_bucket_count != __ht._M_bucket_count) 7770: { 7770: __former_buckets = _M_buckets; 7770: _M_buckets = _M_allocate_buckets(__ht._M_bucket_count); 7770: _M_bucket_count = __ht._M_bucket_count; 7770: } 7770: else 7770: __builtin_memset(_M_buckets, 0, 7770: _M_bucket_count * sizeof(__bucket_type)); 7770: 7770: if (true) 7770: { 7770: __hashtable_base::operator=(__ht); 7770: _M_element_count = __ht._M_element_count; 7770: _M_rehash_policy = __ht._M_rehash_policy; 7770: __reuse_or_alloc_node_type __roan(_M_begin(), *this); 7770: _M_before_begin._M_nxt = nullptr; 7770: _M_assign(__ht, 7770: [&__roan](const __node_type* __n) 7770: { return __roan(__n->_M_v()); }); 7770: if (__former_buckets) 7770: _M_deallocate_buckets(__former_buckets, __former_bucket_count); 7770: } 7770: if (false) 7770: { 7770: if (__former_buckets) 7770: { 7770: 7770: _M_deallocate_buckets(); 7770: _M_rehash_policy._M_reset(__former_state); 7770: _M_buckets = __former_buckets; 7770: _M_bucket_count = __former_bucket_count; 7770: } 7770: __builtin_memset(_M_buckets, 0, 7770: _M_bucket_count * sizeof(__bucket_type)); 7770: ; 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: template 7770: void 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_assign(const _Hashtable& __ht, const _NodeGenerator& __node_gen) 7770: { 7770: __bucket_type* __buckets = nullptr; 7770: if (!_M_buckets) 7770: _M_buckets = __buckets = _M_allocate_buckets(_M_bucket_count); 7770: 7770: if (true) 7770: { 7770: if (!__ht._M_before_begin._M_nxt) 7770: return; 7770: 7770: 7770: 7770: __node_type* __ht_n = __ht._M_begin(); 7770: __node_type* __this_n = __node_gen(__ht_n); 7770: this->_M_copy_code(__this_n, __ht_n); 7770: _M_before_begin._M_nxt = __this_n; 7770: _M_buckets[_M_bucket_index(__this_n)] = &_M_before_begin; 7770: 7770: 7770: __node_base* __prev_n = __this_n; 7770: for (__ht_n = __ht_n->_M_next(); __ht_n; __ht_n = __ht_n->_M_next()) 7770: { 7770: __this_n = __node_gen(__ht_n); 7770: __prev_n->_M_nxt = __this_n; 7770: this->_M_copy_code(__this_n, __ht_n); 7770: size_type __bkt = _M_bucket_index(__this_n); 7770: if (!_M_buckets[__bkt]) 7770: _M_buckets[__bkt] = __prev_n; 7770: __prev_n = __this_n; 7770: } 7770: } 7770: if (false) 7770: { 7770: clear(); 7770: if (__buckets) 7770: _M_deallocate_buckets(); 7770: ; 7770: } 7770: } 7770: 7770: template 7770: void 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_reset() noexcept 7770: { 7770: _M_rehash_policy._M_reset(); 7770: _M_bucket_count = 1; 7770: _M_single_bucket = nullptr; 7770: _M_buckets = &_M_single_bucket; 7770: _M_before_begin._M_nxt = nullptr; 7770: _M_element_count = 0; 7770: } 7770: 7770: template 7770: void 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_move_assign(_Hashtable&& __ht, std::true_type) 7770: { 7770: this->_M_deallocate_nodes(_M_begin()); 7770: _M_deallocate_buckets(); 7770: __hashtable_base::operator=(std::move(__ht)); 7770: _M_rehash_policy = __ht._M_rehash_policy; 7770: if (!__ht._M_uses_single_bucket()) 7770: _M_buckets = __ht._M_buckets; 7770: else 7770: { 7770: _M_buckets = &_M_single_bucket; 7770: _M_single_bucket = __ht._M_single_bucket; 7770: } 7770: _M_bucket_count = __ht._M_bucket_count; 7770: _M_before_begin._M_nxt = __ht._M_before_begin._M_nxt; 7770: _M_element_count = __ht._M_element_count; 7770: std::__alloc_on_move(this->_M_node_allocator(), __ht._M_node_allocator()); 7770: 7770: 7770: 7770: if (_M_begin()) 7770: _M_buckets[_M_bucket_index(_M_begin())] = &_M_before_begin; 7770: __ht._M_reset(); 7770: } 7770: 7770: template 7770: void 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_move_assign(_Hashtable&& __ht, std::false_type) 7770: { 7770: if (__ht._M_node_allocator() == this->_M_node_allocator()) 7770: _M_move_assign(std::move(__ht), std::true_type()); 7770: else 7770: { 7770: 7770: __bucket_type* __former_buckets = nullptr; 7770: size_type __former_bucket_count = _M_bucket_count; 7770: const __rehash_state& __former_state = _M_rehash_policy._M_state(); 7770: 7770: if (_M_bucket_count != __ht._M_bucket_count) 7770: { 7770: __former_buckets = _M_buckets; 7770: _M_buckets = _M_allocate_buckets(__ht._M_bucket_count); 7770: _M_bucket_count = __ht._M_bucket_count; 7770: } 7770: else 7770: __builtin_memset(_M_buckets, 0, 7770: _M_bucket_count * sizeof(__bucket_type)); 7770: 7770: if (true) 7770: { 7770: __hashtable_base::operator=(std::move(__ht)); 7770: _M_element_count = __ht._M_element_count; 7770: _M_rehash_policy = __ht._M_rehash_policy; 7770: __reuse_or_alloc_node_type __roan(_M_begin(), *this); 7770: _M_before_begin._M_nxt = nullptr; 7770: _M_assign(__ht, 7770: [&__roan](__node_type* __n) 7770: { return __roan(std::move_if_noexcept(__n->_M_v())); }); 7770: __ht.clear(); 7770: } 7770: if (false) 7770: { 7770: if (__former_buckets) 7770: { 7770: _M_deallocate_buckets(); 7770: _M_rehash_policy._M_reset(__former_state); 7770: _M_buckets = __former_buckets; 7770: _M_bucket_count = __former_bucket_count; 7770: } 7770: __builtin_memset(_M_buckets, 0, 7770: _M_bucket_count * sizeof(__bucket_type)); 7770: ; 7770: } 7770: } 7770: } 7770: 7770: template 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _Hashtable(const _Hashtable& __ht) 7770: : __hashtable_base(__ht), 7770: __map_base(__ht), 7770: __rehash_base(__ht), 7770: __hashtable_alloc( 7770: __node_alloc_traits::_S_select_on_copy(__ht._M_node_allocator())), 7770: _M_buckets(nullptr), 7770: _M_bucket_count(__ht._M_bucket_count), 7770: _M_element_count(__ht._M_element_count), 7770: _M_rehash_policy(__ht._M_rehash_policy) 7770: { 7770: _M_assign(__ht, 7770: [this](const __node_type* __n) 7770: { return this->_M_allocate_node(__n->_M_v()); }); 7770: } 7770: 7770: template 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _Hashtable(_Hashtable&& __ht) noexcept 7770: : __hashtable_base(__ht), 7770: __map_base(__ht), 7770: __rehash_base(__ht), 7770: __hashtable_alloc(std::move(__ht._M_base_alloc())), 7770: _M_buckets(__ht._M_buckets), 7770: _M_bucket_count(__ht._M_bucket_count), 7770: _M_before_begin(__ht._M_before_begin._M_nxt), 7770: _M_element_count(__ht._M_element_count), 7770: _M_rehash_policy(__ht._M_rehash_policy) 7770: { 7770: 7770: if (__ht._M_uses_single_bucket()) 7770: { 7770: _M_buckets = &_M_single_bucket; 7770: _M_single_bucket = __ht._M_single_bucket; 7770: } 7770: 7770: 7770: 7770: if (_M_begin()) 7770: _M_buckets[_M_bucket_index(_M_begin())] = &_M_before_begin; 7770: 7770: __ht._M_reset(); 7770: } 7770: 7770: template 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _Hashtable(const _Hashtable& __ht, const allocator_type& __a) 7770: : __hashtable_base(__ht), 7770: __map_base(__ht), 7770: __rehash_base(__ht), 7770: __hashtable_alloc(__node_alloc_type(__a)), 7770: _M_buckets(), 7770: _M_bucket_count(__ht._M_bucket_count), 7770: _M_element_count(__ht._M_element_count), 7770: _M_rehash_policy(__ht._M_rehash_policy) 7770: { 7770: _M_assign(__ht, 7770: [this](const __node_type* __n) 7770: { return this->_M_allocate_node(__n->_M_v()); }); 7770: } 7770: 7770: template 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _Hashtable(_Hashtable&& __ht, const allocator_type& __a) 7770: : __hashtable_base(__ht), 7770: __map_base(__ht), 7770: __rehash_base(__ht), 7770: __hashtable_alloc(__node_alloc_type(__a)), 7770: _M_buckets(nullptr), 7770: _M_bucket_count(__ht._M_bucket_count), 7770: _M_element_count(__ht._M_element_count), 7770: _M_rehash_policy(__ht._M_rehash_policy) 7770: { 7770: if (__ht._M_node_allocator() == this->_M_node_allocator()) 7770: { 7770: if (__ht._M_uses_single_bucket()) 7770: { 7770: _M_buckets = &_M_single_bucket; 7770: _M_single_bucket = __ht._M_single_bucket; 7770: } 7770: else 7770: _M_buckets = __ht._M_buckets; 7770: 7770: _M_before_begin._M_nxt = __ht._M_before_begin._M_nxt; 7770: 7770: 7770: if (_M_begin()) 7770: _M_buckets[_M_bucket_index(_M_begin())] = &_M_before_begin; 7770: __ht._M_reset(); 7770: } 7770: else 7770: { 7770: _M_assign(__ht, 7770: [this](__node_type* __n) 7770: { 7770: return this->_M_allocate_node( 7770: std::move_if_noexcept(__n->_M_v())); 7770: }); 7770: __ht.clear(); 7770: } 7770: } 7770: 7770: template 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: ~_Hashtable() noexcept 7770: { 7770: clear(); 7770: _M_deallocate_buckets(); 7770: } 7770: 7770: template 7770: void 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: swap(_Hashtable& __x) 7770: noexcept(__and_<__is_nothrow_swappable<_H1>, 7770: __is_nothrow_swappable<_Equal>>::value) 7770: { 7770: 7770: 7770: 7770: this->_M_swap(__x); 7770: 7770: std::__alloc_on_swap(this->_M_node_allocator(), __x._M_node_allocator()); 7770: std::swap(_M_rehash_policy, __x._M_rehash_policy); 7770: 7770: 7770: if (this->_M_uses_single_bucket()) 7770: { 7770: if (!__x._M_uses_single_bucket()) 7770: { 7770: _M_buckets = __x._M_buckets; 7770: __x._M_buckets = &__x._M_single_bucket; 7770: } 7770: } 7770: else if (__x._M_uses_single_bucket()) 7770: { 7770: __x._M_buckets = _M_buckets; 7770: _M_buckets = &_M_single_bucket; 7770: } 7770: else 7770: std::swap(_M_buckets, __x._M_buckets); 7770: 7770: std::swap(_M_bucket_count, __x._M_bucket_count); 7770: std::swap(_M_before_begin._M_nxt, __x._M_before_begin._M_nxt); 7770: std::swap(_M_element_count, __x._M_element_count); 7770: std::swap(_M_single_bucket, __x._M_single_bucket); 7770: 7770: 7770: 7770: if (_M_begin()) 7770: _M_buckets[_M_bucket_index(_M_begin())] = &_M_before_begin; 7770: 7770: if (__x._M_begin()) 7770: __x._M_buckets[__x._M_bucket_index(__x._M_begin())] 7770: = &__x._M_before_begin; 7770: } 7770: 7770: template 7770: auto 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: find(const key_type& __k) 7770: -> iterator 7770: { 7770: __hash_code __code = this->_M_hash_code(__k); 7770: std::size_t __n = _M_bucket_index(__k, __code); 7770: __node_type* __p = _M_find_node(__n, __k, __code); 7770: return __p ? iterator(__p) : end(); 7770: } 7770: 7770: template 7770: auto 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: find(const key_type& __k) const 7770: -> const_iterator 7770: { 7770: __hash_code __code = this->_M_hash_code(__k); 7770: std::size_t __n = _M_bucket_index(__k, __code); 7770: __node_type* __p = _M_find_node(__n, __k, __code); 7770: return __p ? const_iterator(__p) : end(); 7770: } 7770: 7770: template 7770: auto 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: count(const key_type& __k) const 7770: -> size_type 7770: { 7770: __hash_code __code = this->_M_hash_code(__k); 7770: std::size_t __n = _M_bucket_index(__k, __code); 7770: __node_type* __p = _M_bucket_begin(__n); 7770: if (!__p) 7770: return 0; 7770: 7770: std::size_t __result = 0; 7770: for (;; __p = __p->_M_next()) 7770: { 7770: if (this->_M_equals(__k, __code, __p)) 7770: ++__result; 7770: else if (__result) 7770: 7770: 7770: 7770: break; 7770: if (!__p->_M_nxt || _M_bucket_index(__p->_M_next()) != __n) 7770: break; 7770: } 7770: return __result; 7770: } 7770: 7770: template 7770: auto 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: equal_range(const key_type& __k) 7770: -> pair 7770: { 7770: __hash_code __code = this->_M_hash_code(__k); 7770: std::size_t __n = _M_bucket_index(__k, __code); 7770: __node_type* __p = _M_find_node(__n, __k, __code); 7770: 7770: if (__p) 7770: { 7770: __node_type* __p1 = __p->_M_next(); 7770: while (__p1 && _M_bucket_index(__p1) == __n 7770: && this->_M_equals(__k, __code, __p1)) 7770: __p1 = __p1->_M_next(); 7770: 7770: return std::make_pair(iterator(__p), iterator(__p1)); 7770: } 7770: else 7770: return std::make_pair(end(), end()); 7770: } 7770: 7770: template 7770: auto 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: equal_range(const key_type& __k) const 7770: -> pair 7770: { 7770: __hash_code __code = this->_M_hash_code(__k); 7770: std::size_t __n = _M_bucket_index(__k, __code); 7770: __node_type* __p = _M_find_node(__n, __k, __code); 7770: 7770: if (__p) 7770: { 7770: __node_type* __p1 = __p->_M_next(); 7770: while (__p1 && _M_bucket_index(__p1) == __n 7770: && this->_M_equals(__k, __code, __p1)) 7770: __p1 = __p1->_M_next(); 7770: 7770: return std::make_pair(const_iterator(__p), const_iterator(__p1)); 7770: } 7770: else 7770: return std::make_pair(end(), end()); 7770: } 7770: 7770: 7770: 7770: template 7770: auto 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_find_before_node(size_type __n, const key_type& __k, 7770: __hash_code __code) const 7770: -> __node_base* 7770: { 7770: __node_base* __prev_p = _M_buckets[__n]; 7770: if (!__prev_p) 7770: return nullptr; 7770: 7770: for (__node_type* __p = static_cast<__node_type*>(__prev_p->_M_nxt);; 7770: __p = __p->_M_next()) 7770: { 7770: if (this->_M_equals(__k, __code, __p)) 7770: return __prev_p; 7770: 7770: if (!__p->_M_nxt || _M_bucket_index(__p->_M_next()) != __n) 7770: break; 7770: __prev_p = __p; 7770: } 7770: return nullptr; 7770: } 7770: 7770: template 7770: void 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_insert_bucket_begin(size_type __bkt, __node_type* __node) 7770: { 7770: if (_M_buckets[__bkt]) 7770: { 7770: 7770: 7770: __node->_M_nxt = _M_buckets[__bkt]->_M_nxt; 7770: _M_buckets[__bkt]->_M_nxt = __node; 7770: } 7770: else 7770: { 7770: 7770: 7770: 7770: __node->_M_nxt = _M_before_begin._M_nxt; 7770: _M_before_begin._M_nxt = __node; 7770: if (__node->_M_nxt) 7770: 7770: 7770: _M_buckets[_M_bucket_index(__node->_M_next())] = __node; 7770: _M_buckets[__bkt] = &_M_before_begin; 7770: } 7770: } 7770: 7770: template 7770: void 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_remove_bucket_begin(size_type __bkt, __node_type* __next, 7770: size_type __next_bkt) 7770: { 7770: if (!__next || __next_bkt != __bkt) 7770: { 7770: 7770: 7770: if (__next) 7770: _M_buckets[__next_bkt] = _M_buckets[__bkt]; 7770: 7770: 7770: if (&_M_before_begin == _M_buckets[__bkt]) 7770: _M_before_begin._M_nxt = __next; 7770: _M_buckets[__bkt] = nullptr; 7770: } 7770: } 7770: 7770: template 7770: auto 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_get_previous_node(size_type __bkt, __node_base* __n) 7770: -> __node_base* 7770: { 7770: __node_base* __prev_n = _M_buckets[__bkt]; 7770: while (__prev_n->_M_nxt != __n) 7770: __prev_n = __prev_n->_M_nxt; 7770: return __prev_n; 7770: } 7770: 7770: template 7770: template 7770: auto 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_emplace(std::true_type, _Args&&... __args) 7770: -> pair 7770: { 7770: 7770: __node_type* __node = this->_M_allocate_node(std::forward<_Args>(__args)...); 7770: const key_type& __k = this->_M_extract()(__node->_M_v()); 7770: __hash_code __code; 7770: if (true) 7770: { 7770: __code = this->_M_hash_code(__k); 7770: } 7770: if (false) 7770: { 7770: this->_M_deallocate_node(__node); 7770: ; 7770: } 7770: 7770: size_type __bkt = _M_bucket_index(__k, __code); 7770: if (__node_type* __p = _M_find_node(__bkt, __k, __code)) 7770: { 7770: 7770: this->_M_deallocate_node(__node); 7770: return std::make_pair(iterator(__p), false); 7770: } 7770: 7770: 7770: return std::make_pair(_M_insert_unique_node(__bkt, __code, __node), 7770: true); 7770: } 7770: 7770: template 7770: template 7770: auto 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_emplace(const_iterator __hint, std::false_type, _Args&&... __args) 7770: -> iterator 7770: { 7770: 7770: __node_type* __node = 7770: this->_M_allocate_node(std::forward<_Args>(__args)...); 7770: 7770: __hash_code __code; 7770: if (true) 7770: { 7770: __code = this->_M_hash_code(this->_M_extract()(__node->_M_v())); 7770: } 7770: if (false) 7770: { 7770: this->_M_deallocate_node(__node); 7770: ; 7770: } 7770: 7770: return _M_insert_multi_node(__hint._M_cur, __code, __node); 7770: } 7770: 7770: template 7770: auto 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_insert_unique_node(size_type __bkt, __hash_code __code, 7770: __node_type* __node, size_type __n_elt) 7770: -> iterator 7770: { 7770: const __rehash_state& __saved_state = _M_rehash_policy._M_state(); 7770: std::pair __do_rehash 7770: = _M_rehash_policy._M_need_rehash(_M_bucket_count, _M_element_count, 7770: __n_elt); 7770: 7770: if (true) 7770: { 7770: if (__do_rehash.first) 7770: { 7770: _M_rehash(__do_rehash.second, __saved_state); 7770: __bkt = _M_bucket_index(this->_M_extract()(__node->_M_v()), __code); 7770: } 7770: 7770: this->_M_store_code(__node, __code); 7770: 7770: 7770: _M_insert_bucket_begin(__bkt, __node); 7770: ++_M_element_count; 7770: return iterator(__node); 7770: } 7770: if (false) 7770: { 7770: this->_M_deallocate_node(__node); 7770: ; 7770: } 7770: } 7770: 7770: 7770: 7770: template 7770: auto 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_insert_multi_node(__node_type* __hint, __hash_code __code, 7770: __node_type* __node) 7770: -> iterator 7770: { 7770: const __rehash_state& __saved_state = _M_rehash_policy._M_state(); 7770: std::pair __do_rehash 7770: = _M_rehash_policy._M_need_rehash(_M_bucket_count, _M_element_count, 1); 7770: 7770: if (true) 7770: { 7770: if (__do_rehash.first) 7770: _M_rehash(__do_rehash.second, __saved_state); 7770: 7770: this->_M_store_code(__node, __code); 7770: const key_type& __k = this->_M_extract()(__node->_M_v()); 7770: size_type __bkt = _M_bucket_index(__k, __code); 7770: 7770: 7770: 7770: __node_base* __prev 7770: = __builtin_expect(__hint != nullptr, false) 7770: && this->_M_equals(__k, __code, __hint) 7770: ? __hint 7770: : _M_find_before_node(__bkt, __k, __code); 7770: if (__prev) 7770: { 7770: 7770: __node->_M_nxt = __prev->_M_nxt; 7770: __prev->_M_nxt = __node; 7770: if (__builtin_expect(__prev == __hint, false)) 7770: 7770: 7770: if (__node->_M_nxt 7770: && !this->_M_equals(__k, __code, __node->_M_next())) 7770: { 7770: size_type __next_bkt = _M_bucket_index(__node->_M_next()); 7770: if (__next_bkt != __bkt) 7770: _M_buckets[__next_bkt] = __node; 7770: } 7770: } 7770: else 7770: 7770: 7770: 7770: 7770: _M_insert_bucket_begin(__bkt, __node); 7770: ++_M_element_count; 7770: return iterator(__node); 7770: } 7770: if (false) 7770: { 7770: this->_M_deallocate_node(__node); 7770: ; 7770: } 7770: } 7770: 7770: 7770: template 7770: template 7770: auto 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_insert(_Arg&& __v, const _NodeGenerator& __node_gen, true_type, 7770: size_type __n_elt) 7770: -> pair 7770: { 7770: const key_type& __k = this->_M_extract()(__v); 7770: __hash_code __code = this->_M_hash_code(__k); 7770: size_type __bkt = _M_bucket_index(__k, __code); 7770: 7770: __node_type* __n = _M_find_node(__bkt, __k, __code); 7770: if (__n) 7770: return std::make_pair(iterator(__n), false); 7770: 7770: __n = __node_gen(std::forward<_Arg>(__v)); 7770: return { _M_insert_unique_node(__bkt, __code, __n, __n_elt), true }; 7770: } 7770: 7770: 7770: template 7770: template 7770: auto 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_insert(const_iterator __hint, _Arg&& __v, 7770: const _NodeGenerator& __node_gen, false_type) 7770: -> iterator 7770: { 7770: 7770: 7770: __hash_code __code = this->_M_hash_code(this->_M_extract()(__v)); 7770: 7770: 7770: __node_type* __node = __node_gen(std::forward<_Arg>(__v)); 7770: 7770: return _M_insert_multi_node(__hint._M_cur, __code, __node); 7770: } 7770: 7770: template 7770: auto 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: erase(const_iterator __it) 7770: -> iterator 7770: { 7770: __node_type* __n = __it._M_cur; 7770: std::size_t __bkt = _M_bucket_index(__n); 7770: 7770: 7770: 7770: 7770: __node_base* __prev_n = _M_get_previous_node(__bkt, __n); 7770: return _M_erase(__bkt, __prev_n, __n); 7770: } 7770: 7770: template 7770: auto 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_erase(size_type __bkt, __node_base* __prev_n, __node_type* __n) 7770: -> iterator 7770: { 7770: if (__prev_n == _M_buckets[__bkt]) 7770: _M_remove_bucket_begin(__bkt, __n->_M_next(), 7770: __n->_M_nxt ? _M_bucket_index(__n->_M_next()) : 0); 7770: else if (__n->_M_nxt) 7770: { 7770: size_type __next_bkt = _M_bucket_index(__n->_M_next()); 7770: if (__next_bkt != __bkt) 7770: _M_buckets[__next_bkt] = __prev_n; 7770: } 7770: 7770: __prev_n->_M_nxt = __n->_M_nxt; 7770: iterator __result(__n->_M_next()); 7770: this->_M_deallocate_node(__n); 7770: --_M_element_count; 7770: 7770: return __result; 7770: } 7770: 7770: template 7770: auto 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_erase(std::true_type, const key_type& __k) 7770: -> size_type 7770: { 7770: __hash_code __code = this->_M_hash_code(__k); 7770: std::size_t __bkt = _M_bucket_index(__k, __code); 7770: 7770: 7770: __node_base* __prev_n = _M_find_before_node(__bkt, __k, __code); 7770: if (!__prev_n) 7770: return 0; 7770: 7770: 7770: __node_type* __n = static_cast<__node_type*>(__prev_n->_M_nxt); 7770: _M_erase(__bkt, __prev_n, __n); 7770: return 1; 7770: } 7770: 7770: template 7770: auto 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_erase(std::false_type, const key_type& __k) 7770: -> size_type 7770: { 7770: __hash_code __code = this->_M_hash_code(__k); 7770: std::size_t __bkt = _M_bucket_index(__k, __code); 7770: 7770: 7770: __node_base* __prev_n = _M_find_before_node(__bkt, __k, __code); 7770: if (!__prev_n) 7770: return 0; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: __node_type* __n = static_cast<__node_type*>(__prev_n->_M_nxt); 7770: __node_type* __n_last = __n; 7770: std::size_t __n_last_bkt = __bkt; 7770: do 7770: { 7770: __n_last = __n_last->_M_next(); 7770: if (!__n_last) 7770: break; 7770: __n_last_bkt = _M_bucket_index(__n_last); 7770: } 7770: while (__n_last_bkt == __bkt && this->_M_equals(__k, __code, __n_last)); 7770: 7770: 7770: size_type __result = 0; 7770: do 7770: { 7770: __node_type* __p = __n->_M_next(); 7770: this->_M_deallocate_node(__n); 7770: __n = __p; 7770: ++__result; 7770: --_M_element_count; 7770: } 7770: while (__n != __n_last); 7770: 7770: if (__prev_n == _M_buckets[__bkt]) 7770: _M_remove_bucket_begin(__bkt, __n_last, __n_last_bkt); 7770: else if (__n_last && __n_last_bkt != __bkt) 7770: _M_buckets[__n_last_bkt] = __prev_n; 7770: __prev_n->_M_nxt = __n_last; 7770: return __result; 7770: } 7770: 7770: template 7770: auto 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: erase(const_iterator __first, const_iterator __last) 7770: -> iterator 7770: { 7770: __node_type* __n = __first._M_cur; 7770: __node_type* __last_n = __last._M_cur; 7770: if (__n == __last_n) 7770: return iterator(__n); 7770: 7770: std::size_t __bkt = _M_bucket_index(__n); 7770: 7770: __node_base* __prev_n = _M_get_previous_node(__bkt, __n); 7770: bool __is_bucket_begin = __n == _M_bucket_begin(__bkt); 7770: std::size_t __n_bkt = __bkt; 7770: for (;;) 7770: { 7770: do 7770: { 7770: __node_type* __tmp = __n; 7770: __n = __n->_M_next(); 7770: this->_M_deallocate_node(__tmp); 7770: --_M_element_count; 7770: if (!__n) 7770: break; 7770: __n_bkt = _M_bucket_index(__n); 7770: } 7770: while (__n != __last_n && __n_bkt == __bkt); 7770: if (__is_bucket_begin) 7770: _M_remove_bucket_begin(__bkt, __n, __n_bkt); 7770: if (__n == __last_n) 7770: break; 7770: __is_bucket_begin = true; 7770: __bkt = __n_bkt; 7770: } 7770: 7770: if (__n && (__n_bkt != __bkt || __is_bucket_begin)) 7770: _M_buckets[__n_bkt] = __prev_n; 7770: __prev_n->_M_nxt = __n; 7770: return iterator(__n); 7770: } 7770: 7770: template 7770: void 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: clear() noexcept 7770: { 7770: this->_M_deallocate_nodes(_M_begin()); 7770: __builtin_memset(_M_buckets, 0, _M_bucket_count * sizeof(__bucket_type)); 7770: _M_element_count = 0; 7770: _M_before_begin._M_nxt = nullptr; 7770: } 7770: 7770: template 7770: void 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: rehash(size_type __n) 7770: { 7770: const __rehash_state& __saved_state = _M_rehash_policy._M_state(); 7770: std::size_t __buckets 7770: = std::max(_M_rehash_policy._M_bkt_for_elements(_M_element_count + 1), 7770: __n); 7770: __buckets = _M_rehash_policy._M_next_bkt(__buckets); 7770: 7770: if (__buckets != _M_bucket_count) 7770: _M_rehash(__buckets, __saved_state); 7770: else 7770: 7770: _M_rehash_policy._M_reset(__saved_state); 7770: } 7770: 7770: template 7770: void 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_rehash(size_type __n, const __rehash_state& __state) 7770: { 7770: if (true) 7770: { 7770: _M_rehash_aux(__n, __unique_keys()); 7770: } 7770: if (false) 7770: { 7770: 7770: 7770: _M_rehash_policy._M_reset(__state); 7770: ; 7770: } 7770: } 7770: 7770: 7770: template 7770: void 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_rehash_aux(size_type __n, std::true_type) 7770: { 7770: __bucket_type* __new_buckets = _M_allocate_buckets(__n); 7770: __node_type* __p = _M_begin(); 7770: _M_before_begin._M_nxt = nullptr; 7770: std::size_t __bbegin_bkt = 0; 7770: while (__p) 7770: { 7770: __node_type* __next = __p->_M_next(); 7770: std::size_t __bkt = __hash_code_base::_M_bucket_index(__p, __n); 7770: if (!__new_buckets[__bkt]) 7770: { 7770: __p->_M_nxt = _M_before_begin._M_nxt; 7770: _M_before_begin._M_nxt = __p; 7770: __new_buckets[__bkt] = &_M_before_begin; 7770: if (__p->_M_nxt) 7770: __new_buckets[__bbegin_bkt] = __p; 7770: __bbegin_bkt = __bkt; 7770: } 7770: else 7770: { 7770: __p->_M_nxt = __new_buckets[__bkt]->_M_nxt; 7770: __new_buckets[__bkt]->_M_nxt = __p; 7770: } 7770: __p = __next; 7770: } 7770: 7770: _M_deallocate_buckets(); 7770: _M_bucket_count = __n; 7770: _M_buckets = __new_buckets; 7770: } 7770: 7770: 7770: 7770: template 7770: void 7770: _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, 7770: _H1, _H2, _Hash, _RehashPolicy, _Traits>:: 7770: _M_rehash_aux(size_type __n, std::false_type) 7770: { 7770: __bucket_type* __new_buckets = _M_allocate_buckets(__n); 7770: 7770: __node_type* __p = _M_begin(); 7770: _M_before_begin._M_nxt = nullptr; 7770: std::size_t __bbegin_bkt = 0; 7770: std::size_t __prev_bkt = 0; 7770: __node_type* __prev_p = nullptr; 7770: bool __check_bucket = false; 7770: 7770: while (__p) 7770: { 7770: __node_type* __next = __p->_M_next(); 7770: std::size_t __bkt = __hash_code_base::_M_bucket_index(__p, __n); 7770: 7770: if (__prev_p && __prev_bkt == __bkt) 7770: { 7770: 7770: 7770: 7770: __p->_M_nxt = __prev_p->_M_nxt; 7770: __prev_p->_M_nxt = __p; 7770: 7770: 7770: 7770: 7770: 7770: 7770: __check_bucket = true; 7770: } 7770: else 7770: { 7770: if (__check_bucket) 7770: { 7770: 7770: 7770: if (__prev_p->_M_nxt) 7770: { 7770: std::size_t __next_bkt 7770: = __hash_code_base::_M_bucket_index(__prev_p->_M_next(), 7770: __n); 7770: if (__next_bkt != __prev_bkt) 7770: __new_buckets[__next_bkt] = __prev_p; 7770: } 7770: __check_bucket = false; 7770: } 7770: 7770: if (!__new_buckets[__bkt]) 7770: { 7770: __p->_M_nxt = _M_before_begin._M_nxt; 7770: _M_before_begin._M_nxt = __p; 7770: __new_buckets[__bkt] = &_M_before_begin; 7770: if (__p->_M_nxt) 7770: __new_buckets[__bbegin_bkt] = __p; 7770: __bbegin_bkt = __bkt; 7770: } 7770: else 7770: { 7770: __p->_M_nxt = __new_buckets[__bkt]->_M_nxt; 7770: __new_buckets[__bkt]->_M_nxt = __p; 7770: } 7770: } 7770: __prev_p = __p; 7770: __prev_bkt = __bkt; 7770: __p = __next; 7770: } 7770: 7770: if (__check_bucket && __prev_p->_M_nxt) 7770: { 7770: std::size_t __next_bkt 7770: = __hash_code_base::_M_bucket_index(__prev_p->_M_next(), __n); 7770: if (__next_bkt != __prev_bkt) 7770: __new_buckets[__next_bkt] = __prev_p; 7770: } 7770: 7770: _M_deallocate_buckets(); 7770: _M_bucket_count = __n; 7770: _M_buckets = __new_buckets; 7770: } 7770: 7770: 7770: template class _Hash_merge_helper { }; 7770: 7770: 7770: 7770: } 7770: # 47 "/usr/include/c++/8/unordered_map" 2 3 7770: # 1 "/usr/include/c++/8/bits/unordered_map.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: template 7770: using __umap_traits = __detail::_Hashtable_traits<_Cache, false, true>; 7770: 7770: template, 7770: typename _Pred = std::equal_to<_Key>, 7770: typename _Alloc = std::allocator >, 7770: typename _Tr = __umap_traits<__cache_default<_Key, _Hash>::value>> 7770: using __umap_hashtable = _Hashtable<_Key, std::pair, 7770: _Alloc, __detail::_Select1st, 7770: _Pred, _Hash, 7770: __detail::_Mod_range_hashing, 7770: __detail::_Default_ranged_hash, 7770: __detail::_Prime_rehash_policy, _Tr>; 7770: 7770: 7770: template 7770: using __ummap_traits = __detail::_Hashtable_traits<_Cache, false, false>; 7770: 7770: template, 7770: typename _Pred = std::equal_to<_Key>, 7770: typename _Alloc = std::allocator >, 7770: typename _Tr = __ummap_traits<__cache_default<_Key, _Hash>::value>> 7770: using __ummap_hashtable = _Hashtable<_Key, std::pair, 7770: _Alloc, __detail::_Select1st, 7770: _Pred, _Hash, 7770: __detail::_Mod_range_hashing, 7770: __detail::_Default_ranged_hash, 7770: __detail::_Prime_rehash_policy, _Tr>; 7770: 7770: template 7770: class unordered_multimap; 7770: # 98 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: template, 7770: typename _Pred = equal_to<_Key>, 7770: typename _Alloc = allocator>> 7770: class unordered_map 7770: { 7770: typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable; 7770: _Hashtable _M_h; 7770: 7770: public: 7770: 7770: 7770: 7770: typedef typename _Hashtable::key_type key_type; 7770: typedef typename _Hashtable::value_type value_type; 7770: typedef typename _Hashtable::mapped_type mapped_type; 7770: typedef typename _Hashtable::hasher hasher; 7770: typedef typename _Hashtable::key_equal key_equal; 7770: typedef typename _Hashtable::allocator_type allocator_type; 7770: 7770: 7770: 7770: 7770: typedef typename _Hashtable::pointer pointer; 7770: typedef typename _Hashtable::const_pointer const_pointer; 7770: typedef typename _Hashtable::reference reference; 7770: typedef typename _Hashtable::const_reference const_reference; 7770: typedef typename _Hashtable::iterator iterator; 7770: typedef typename _Hashtable::const_iterator const_iterator; 7770: typedef typename _Hashtable::local_iterator local_iterator; 7770: typedef typename _Hashtable::const_local_iterator const_local_iterator; 7770: typedef typename _Hashtable::size_type size_type; 7770: typedef typename _Hashtable::difference_type difference_type; 7770: 7770: 7770: 7770: using node_type = typename _Hashtable::node_type; 7770: using insert_return_type = typename _Hashtable::insert_return_type; 7770: 7770: 7770: 7770: 7770: 7770: unordered_map() = default; 7770: # 150 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: explicit 7770: unordered_map(size_type __n, 7770: const hasher& __hf = hasher(), 7770: const key_equal& __eql = key_equal(), 7770: const allocator_type& __a = allocator_type()) 7770: : _M_h(__n, __hf, __eql, __a) 7770: { } 7770: # 171 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: template 7770: unordered_map(_InputIterator __first, _InputIterator __last, 7770: size_type __n = 0, 7770: const hasher& __hf = hasher(), 7770: const key_equal& __eql = key_equal(), 7770: const allocator_type& __a = allocator_type()) 7770: : _M_h(__first, __last, __n, __hf, __eql, __a) 7770: { } 7770: 7770: 7770: unordered_map(const unordered_map&) = default; 7770: 7770: 7770: unordered_map(unordered_map&&) = default; 7770: 7770: 7770: 7770: 7770: 7770: explicit 7770: unordered_map(const allocator_type& __a) 7770: : _M_h(__a) 7770: { } 7770: 7770: 7770: 7770: 7770: 7770: 7770: unordered_map(const unordered_map& __umap, 7770: const allocator_type& __a) 7770: : _M_h(__umap._M_h, __a) 7770: { } 7770: 7770: 7770: 7770: 7770: 7770: 7770: unordered_map(unordered_map&& __umap, 7770: const allocator_type& __a) 7770: : _M_h(std::move(__umap._M_h), __a) 7770: { } 7770: # 226 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: unordered_map(initializer_list __l, 7770: size_type __n = 0, 7770: const hasher& __hf = hasher(), 7770: const key_equal& __eql = key_equal(), 7770: const allocator_type& __a = allocator_type()) 7770: : _M_h(__l, __n, __hf, __eql, __a) 7770: { } 7770: 7770: unordered_map(size_type __n, const allocator_type& __a) 7770: : unordered_map(__n, hasher(), key_equal(), __a) 7770: { } 7770: 7770: unordered_map(size_type __n, const hasher& __hf, 7770: const allocator_type& __a) 7770: : unordered_map(__n, __hf, key_equal(), __a) 7770: { } 7770: 7770: template 7770: unordered_map(_InputIterator __first, _InputIterator __last, 7770: size_type __n, 7770: const allocator_type& __a) 7770: : unordered_map(__first, __last, __n, hasher(), key_equal(), __a) 7770: { } 7770: 7770: template 7770: unordered_map(_InputIterator __first, _InputIterator __last, 7770: size_type __n, const hasher& __hf, 7770: const allocator_type& __a) 7770: : unordered_map(__first, __last, __n, __hf, key_equal(), __a) 7770: { } 7770: 7770: unordered_map(initializer_list __l, 7770: size_type __n, 7770: const allocator_type& __a) 7770: : unordered_map(__l, __n, hasher(), key_equal(), __a) 7770: { } 7770: 7770: unordered_map(initializer_list __l, 7770: size_type __n, const hasher& __hf, 7770: const allocator_type& __a) 7770: : unordered_map(__l, __n, __hf, key_equal(), __a) 7770: { } 7770: 7770: 7770: unordered_map& 7770: operator=(const unordered_map&) = default; 7770: 7770: 7770: unordered_map& 7770: operator=(unordered_map&&) = default; 7770: # 288 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: unordered_map& 7770: operator=(initializer_list __l) 7770: { 7770: _M_h = __l; 7770: return *this; 7770: } 7770: 7770: 7770: allocator_type 7770: get_allocator() const noexcept 7770: { return _M_h.get_allocator(); } 7770: 7770: 7770: 7770: 7770: bool 7770: empty() const noexcept 7770: { return _M_h.empty(); } 7770: 7770: 7770: size_type 7770: size() const noexcept 7770: { return _M_h.size(); } 7770: 7770: 7770: size_type 7770: max_size() const noexcept 7770: { return _M_h.max_size(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: iterator 7770: begin() noexcept 7770: { return _M_h.begin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: begin() const noexcept 7770: { return _M_h.begin(); } 7770: 7770: const_iterator 7770: cbegin() const noexcept 7770: { return _M_h.begin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: iterator 7770: end() noexcept 7770: { return _M_h.end(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: end() const noexcept 7770: { return _M_h.end(); } 7770: 7770: const_iterator 7770: cend() const noexcept 7770: { return _M_h.end(); } 7770: # 385 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: template 7770: std::pair 7770: emplace(_Args&&... __args) 7770: { return _M_h.emplace(std::forward<_Args>(__args)...); } 7770: # 416 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: template 7770: iterator 7770: emplace_hint(const_iterator __pos, _Args&&... __args) 7770: { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); } 7770: 7770: 7770: 7770: node_type 7770: extract(const_iterator __pos) 7770: { 7770: ; 7770: return _M_h.extract(__pos); 7770: } 7770: 7770: 7770: node_type 7770: extract(const key_type& __key) 7770: { return _M_h.extract(__key); } 7770: 7770: 7770: insert_return_type 7770: insert(node_type&& __nh) 7770: { return _M_h._M_reinsert_node(std::move(__nh)); } 7770: 7770: 7770: iterator 7770: insert(const_iterator, node_type&& __nh) 7770: { return _M_h._M_reinsert_node(std::move(__nh)).position; } 7770: # 468 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: template 7770: pair 7770: try_emplace(const key_type& __k, _Args&&... __args) 7770: { 7770: iterator __i = find(__k); 7770: if (__i == end()) 7770: { 7770: __i = emplace(std::piecewise_construct, 7770: std::forward_as_tuple(__k), 7770: std::forward_as_tuple( 7770: std::forward<_Args>(__args)...)) 7770: .first; 7770: return {__i, true}; 7770: } 7770: return {__i, false}; 7770: } 7770: 7770: 7770: template 7770: pair 7770: try_emplace(key_type&& __k, _Args&&... __args) 7770: { 7770: iterator __i = find(__k); 7770: if (__i == end()) 7770: { 7770: __i = emplace(std::piecewise_construct, 7770: std::forward_as_tuple(std::move(__k)), 7770: std::forward_as_tuple( 7770: std::forward<_Args>(__args)...)) 7770: .first; 7770: return {__i, true}; 7770: } 7770: return {__i, false}; 7770: } 7770: # 531 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: template 7770: iterator 7770: try_emplace(const_iterator __hint, const key_type& __k, 7770: _Args&&... __args) 7770: { 7770: iterator __i = find(__k); 7770: if (__i == end()) 7770: __i = emplace_hint(__hint, std::piecewise_construct, 7770: std::forward_as_tuple(__k), 7770: std::forward_as_tuple( 7770: std::forward<_Args>(__args)...)); 7770: return __i; 7770: } 7770: 7770: 7770: template 7770: iterator 7770: try_emplace(const_iterator __hint, key_type&& __k, _Args&&... __args) 7770: { 7770: iterator __i = find(__k); 7770: if (__i == end()) 7770: __i = emplace_hint(__hint, std::piecewise_construct, 7770: std::forward_as_tuple(std::move(__k)), 7770: std::forward_as_tuple( 7770: std::forward<_Args>(__args)...)); 7770: return __i; 7770: } 7770: # 578 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: std::pair 7770: insert(const value_type& __x) 7770: { return _M_h.insert(__x); } 7770: 7770: 7770: 7770: std::pair 7770: insert(value_type&& __x) 7770: { return _M_h.insert(std::move(__x)); } 7770: 7770: template::value>::type> 7770: std::pair 7770: insert(_Pair&& __x) 7770: { return _M_h.insert(std::forward<_Pair>(__x)); } 7770: # 618 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: iterator 7770: insert(const_iterator __hint, const value_type& __x) 7770: { return _M_h.insert(__hint, __x); } 7770: 7770: 7770: 7770: iterator 7770: insert(const_iterator __hint, value_type&& __x) 7770: { return _M_h.insert(__hint, std::move(__x)); } 7770: 7770: template::value>::type> 7770: iterator 7770: insert(const_iterator __hint, _Pair&& __x) 7770: { return _M_h.insert(__hint, std::forward<_Pair>(__x)); } 7770: # 645 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: template 7770: void 7770: insert(_InputIterator __first, _InputIterator __last) 7770: { _M_h.insert(__first, __last); } 7770: # 657 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: void 7770: insert(initializer_list __l) 7770: { _M_h.insert(__l); } 7770: # 684 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: template 7770: pair 7770: insert_or_assign(const key_type& __k, _Obj&& __obj) 7770: { 7770: iterator __i = find(__k); 7770: if (__i == end()) 7770: { 7770: __i = emplace(std::piecewise_construct, 7770: std::forward_as_tuple(__k), 7770: std::forward_as_tuple(std::forward<_Obj>(__obj))) 7770: .first; 7770: return {__i, true}; 7770: } 7770: (*__i).second = std::forward<_Obj>(__obj); 7770: return {__i, false}; 7770: } 7770: 7770: 7770: template 7770: pair 7770: insert_or_assign(key_type&& __k, _Obj&& __obj) 7770: { 7770: iterator __i = find(__k); 7770: if (__i == end()) 7770: { 7770: __i = emplace(std::piecewise_construct, 7770: std::forward_as_tuple(std::move(__k)), 7770: std::forward_as_tuple(std::forward<_Obj>(__obj))) 7770: .first; 7770: return {__i, true}; 7770: } 7770: (*__i).second = std::forward<_Obj>(__obj); 7770: return {__i, false}; 7770: } 7770: # 745 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: template 7770: iterator 7770: insert_or_assign(const_iterator __hint, const key_type& __k, 7770: _Obj&& __obj) 7770: { 7770: iterator __i = find(__k); 7770: if (__i == end()) 7770: { 7770: return emplace_hint(__hint, std::piecewise_construct, 7770: std::forward_as_tuple(__k), 7770: std::forward_as_tuple( 7770: std::forward<_Obj>(__obj))); 7770: } 7770: (*__i).second = std::forward<_Obj>(__obj); 7770: return __i; 7770: } 7770: 7770: 7770: template 7770: iterator 7770: insert_or_assign(const_iterator __hint, key_type&& __k, _Obj&& __obj) 7770: { 7770: iterator __i = find(__k); 7770: if (__i == end()) 7770: { 7770: return emplace_hint(__hint, std::piecewise_construct, 7770: std::forward_as_tuple(std::move(__k)), 7770: std::forward_as_tuple( 7770: std::forward<_Obj>(__obj))); 7770: } 7770: (*__i).second = std::forward<_Obj>(__obj); 7770: return __i; 7770: } 7770: # 794 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: iterator 7770: erase(const_iterator __position) 7770: { return _M_h.erase(__position); } 7770: 7770: 7770: iterator 7770: erase(iterator __position) 7770: { return _M_h.erase(__position); } 7770: # 816 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: size_type 7770: erase(const key_type& __x) 7770: { return _M_h.erase(__x); } 7770: # 834 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: iterator 7770: erase(const_iterator __first, const_iterator __last) 7770: { return _M_h.erase(__first, __last); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: void 7770: clear() noexcept 7770: { _M_h.clear(); } 7770: # 858 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: void 7770: swap(unordered_map& __x) 7770: noexcept( noexcept(_M_h.swap(__x._M_h)) ) 7770: { _M_h.swap(__x._M_h); } 7770: 7770: 7770: template 7770: friend class _Hash_merge_helper; 7770: 7770: template 7770: void 7770: merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>& __source) 7770: { 7770: using _Merge_helper = _Hash_merge_helper; 7770: _M_h._M_merge_unique(_Merge_helper::_S_get_table(__source)); 7770: } 7770: 7770: template 7770: void 7770: merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>&& __source) 7770: { merge(__source); } 7770: 7770: template 7770: void 7770: merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>& __source) 7770: { 7770: using _Merge_helper = _Hash_merge_helper; 7770: _M_h._M_merge_unique(_Merge_helper::_S_get_table(__source)); 7770: } 7770: 7770: template 7770: void 7770: merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>&& __source) 7770: { merge(__source); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: hasher 7770: hash_function() const 7770: { return _M_h.hash_function(); } 7770: 7770: 7770: 7770: key_equal 7770: key_eq() const 7770: { return _M_h.key_eq(); } 7770: # 922 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: iterator 7770: find(const key_type& __x) 7770: { return _M_h.find(__x); } 7770: 7770: const_iterator 7770: find(const key_type& __x) const 7770: { return _M_h.find(__x); } 7770: # 940 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: size_type 7770: count(const key_type& __x) const 7770: { return _M_h.count(__x); } 7770: # 953 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: std::pair 7770: equal_range(const key_type& __x) 7770: { return _M_h.equal_range(__x); } 7770: 7770: std::pair 7770: equal_range(const key_type& __x) const 7770: { return _M_h.equal_range(__x); } 7770: # 975 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: mapped_type& 7770: operator[](const key_type& __k) 7770: { return _M_h[__k]; } 7770: 7770: mapped_type& 7770: operator[](key_type&& __k) 7770: { return _M_h[std::move(__k)]; } 7770: # 992 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: mapped_type& 7770: at(const key_type& __k) 7770: { return _M_h.at(__k); } 7770: 7770: const mapped_type& 7770: at(const key_type& __k) const 7770: { return _M_h.at(__k); } 7770: 7770: 7770: 7770: 7770: 7770: size_type 7770: bucket_count() const noexcept 7770: { return _M_h.bucket_count(); } 7770: 7770: 7770: size_type 7770: max_bucket_count() const noexcept 7770: { return _M_h.max_bucket_count(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: size_type 7770: bucket_size(size_type __n) const 7770: { return _M_h.bucket_size(__n); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: size_type 7770: bucket(const key_type& __key) const 7770: { return _M_h.bucket(__key); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: local_iterator 7770: begin(size_type __n) 7770: { return _M_h.begin(__n); } 7770: # 1048 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: const_local_iterator 7770: begin(size_type __n) const 7770: { return _M_h.begin(__n); } 7770: 7770: const_local_iterator 7770: cbegin(size_type __n) const 7770: { return _M_h.cbegin(__n); } 7770: # 1063 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: local_iterator 7770: end(size_type __n) 7770: { return _M_h.end(__n); } 7770: # 1074 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: const_local_iterator 7770: end(size_type __n) const 7770: { return _M_h.end(__n); } 7770: 7770: const_local_iterator 7770: cend(size_type __n) const 7770: { return _M_h.cend(__n); } 7770: 7770: 7770: 7770: 7770: 7770: float 7770: load_factor() const noexcept 7770: { return _M_h.load_factor(); } 7770: 7770: 7770: 7770: float 7770: max_load_factor() const noexcept 7770: { return _M_h.max_load_factor(); } 7770: 7770: 7770: 7770: 7770: 7770: void 7770: max_load_factor(float __z) 7770: { _M_h.max_load_factor(__z); } 7770: # 1111 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: void 7770: rehash(size_type __n) 7770: { _M_h.rehash(__n); } 7770: # 1122 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: void 7770: reserve(size_type __n) 7770: { _M_h.reserve(__n); } 7770: 7770: template 7770: friend bool 7770: operator==(const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&, 7770: const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&); 7770: }; 7770: 7770: 7770: 7770: template>, 7770: typename _Pred = equal_to<__iter_key_t<_InputIterator>>, 7770: typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>, 7770: typename = _RequireInputIter<_InputIterator>, 7770: typename = _RequireAllocator<_Allocator>> 7770: unordered_map(_InputIterator, _InputIterator, 7770: typename unordered_map::size_type = {}, 7770: _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator()) 7770: -> unordered_map<__iter_key_t<_InputIterator>, 7770: __iter_val_t<_InputIterator>, 7770: _Hash, _Pred, _Allocator>; 7770: 7770: template, 7770: typename _Pred = equal_to<_Key>, 7770: typename _Allocator = allocator>, 7770: typename = _RequireAllocator<_Allocator>> 7770: unordered_map(initializer_list>, 7770: typename unordered_map::size_type = {}, 7770: _Hash = _Hash(), _Pred = _Pred(), _Allocator = _Allocator()) 7770: -> unordered_map<_Key, _Tp, _Hash, _Pred, _Allocator>; 7770: 7770: template, 7770: typename = _RequireAllocator<_Allocator>> 7770: unordered_map(_InputIterator, _InputIterator, 7770: typename unordered_map::size_type, _Allocator) 7770: -> unordered_map<__iter_key_t<_InputIterator>, 7770: __iter_val_t<_InputIterator>, 7770: hash<__iter_key_t<_InputIterator>>, 7770: equal_to<__iter_key_t<_InputIterator>>, 7770: _Allocator>; 7770: 7770: template, 7770: typename = _RequireAllocator<_Allocator>> 7770: unordered_map(_InputIterator, _InputIterator, _Allocator) 7770: -> unordered_map<__iter_key_t<_InputIterator>, 7770: __iter_val_t<_InputIterator>, 7770: hash<__iter_key_t<_InputIterator>>, 7770: equal_to<__iter_key_t<_InputIterator>>, 7770: _Allocator>; 7770: 7770: template, 7770: typename = _RequireAllocator<_Allocator>> 7770: unordered_map(_InputIterator, _InputIterator, 7770: typename unordered_map::size_type, 7770: _Hash, _Allocator) 7770: -> unordered_map<__iter_key_t<_InputIterator>, 7770: __iter_val_t<_InputIterator>, _Hash, 7770: equal_to<__iter_key_t<_InputIterator>>, _Allocator>; 7770: 7770: template> 7770: unordered_map(initializer_list>, 7770: typename unordered_map::size_type, 7770: _Allocator) 7770: -> unordered_map<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>; 7770: 7770: template> 7770: unordered_map(initializer_list>, _Allocator) 7770: -> unordered_map<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>; 7770: 7770: template> 7770: unordered_map(initializer_list>, 7770: typename unordered_map::size_type, 7770: _Hash, _Allocator) 7770: -> unordered_map<_Key, _Tp, _Hash, equal_to<_Key>, _Allocator>; 7770: # 1232 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: template, 7770: typename _Pred = equal_to<_Key>, 7770: typename _Alloc = allocator>> 7770: class unordered_multimap 7770: { 7770: typedef __ummap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable; 7770: _Hashtable _M_h; 7770: 7770: public: 7770: 7770: 7770: 7770: typedef typename _Hashtable::key_type key_type; 7770: typedef typename _Hashtable::value_type value_type; 7770: typedef typename _Hashtable::mapped_type mapped_type; 7770: typedef typename _Hashtable::hasher hasher; 7770: typedef typename _Hashtable::key_equal key_equal; 7770: typedef typename _Hashtable::allocator_type allocator_type; 7770: 7770: 7770: 7770: 7770: typedef typename _Hashtable::pointer pointer; 7770: typedef typename _Hashtable::const_pointer const_pointer; 7770: typedef typename _Hashtable::reference reference; 7770: typedef typename _Hashtable::const_reference const_reference; 7770: typedef typename _Hashtable::iterator iterator; 7770: typedef typename _Hashtable::const_iterator const_iterator; 7770: typedef typename _Hashtable::local_iterator local_iterator; 7770: typedef typename _Hashtable::const_local_iterator const_local_iterator; 7770: typedef typename _Hashtable::size_type size_type; 7770: typedef typename _Hashtable::difference_type difference_type; 7770: 7770: 7770: 7770: using node_type = typename _Hashtable::node_type; 7770: 7770: 7770: 7770: 7770: 7770: unordered_multimap() = default; 7770: # 1283 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: explicit 7770: unordered_multimap(size_type __n, 7770: const hasher& __hf = hasher(), 7770: const key_equal& __eql = key_equal(), 7770: const allocator_type& __a = allocator_type()) 7770: : _M_h(__n, __hf, __eql, __a) 7770: { } 7770: # 1304 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: template 7770: unordered_multimap(_InputIterator __first, _InputIterator __last, 7770: size_type __n = 0, 7770: const hasher& __hf = hasher(), 7770: const key_equal& __eql = key_equal(), 7770: const allocator_type& __a = allocator_type()) 7770: : _M_h(__first, __last, __n, __hf, __eql, __a) 7770: { } 7770: 7770: 7770: unordered_multimap(const unordered_multimap&) = default; 7770: 7770: 7770: unordered_multimap(unordered_multimap&&) = default; 7770: 7770: 7770: 7770: 7770: 7770: explicit 7770: unordered_multimap(const allocator_type& __a) 7770: : _M_h(__a) 7770: { } 7770: 7770: 7770: 7770: 7770: 7770: 7770: unordered_multimap(const unordered_multimap& __ummap, 7770: const allocator_type& __a) 7770: : _M_h(__ummap._M_h, __a) 7770: { } 7770: 7770: 7770: 7770: 7770: 7770: 7770: unordered_multimap(unordered_multimap&& __ummap, 7770: const allocator_type& __a) 7770: : _M_h(std::move(__ummap._M_h), __a) 7770: { } 7770: # 1359 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: unordered_multimap(initializer_list __l, 7770: size_type __n = 0, 7770: const hasher& __hf = hasher(), 7770: const key_equal& __eql = key_equal(), 7770: const allocator_type& __a = allocator_type()) 7770: : _M_h(__l, __n, __hf, __eql, __a) 7770: { } 7770: 7770: unordered_multimap(size_type __n, const allocator_type& __a) 7770: : unordered_multimap(__n, hasher(), key_equal(), __a) 7770: { } 7770: 7770: unordered_multimap(size_type __n, const hasher& __hf, 7770: const allocator_type& __a) 7770: : unordered_multimap(__n, __hf, key_equal(), __a) 7770: { } 7770: 7770: template 7770: unordered_multimap(_InputIterator __first, _InputIterator __last, 7770: size_type __n, 7770: const allocator_type& __a) 7770: : unordered_multimap(__first, __last, __n, hasher(), key_equal(), __a) 7770: { } 7770: 7770: template 7770: unordered_multimap(_InputIterator __first, _InputIterator __last, 7770: size_type __n, const hasher& __hf, 7770: const allocator_type& __a) 7770: : unordered_multimap(__first, __last, __n, __hf, key_equal(), __a) 7770: { } 7770: 7770: unordered_multimap(initializer_list __l, 7770: size_type __n, 7770: const allocator_type& __a) 7770: : unordered_multimap(__l, __n, hasher(), key_equal(), __a) 7770: { } 7770: 7770: unordered_multimap(initializer_list __l, 7770: size_type __n, const hasher& __hf, 7770: const allocator_type& __a) 7770: : unordered_multimap(__l, __n, __hf, key_equal(), __a) 7770: { } 7770: 7770: 7770: unordered_multimap& 7770: operator=(const unordered_multimap&) = default; 7770: 7770: 7770: unordered_multimap& 7770: operator=(unordered_multimap&&) = default; 7770: # 1421 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: unordered_multimap& 7770: operator=(initializer_list __l) 7770: { 7770: _M_h = __l; 7770: return *this; 7770: } 7770: 7770: 7770: allocator_type 7770: get_allocator() const noexcept 7770: { return _M_h.get_allocator(); } 7770: 7770: 7770: 7770: 7770: bool 7770: empty() const noexcept 7770: { return _M_h.empty(); } 7770: 7770: 7770: size_type 7770: size() const noexcept 7770: { return _M_h.size(); } 7770: 7770: 7770: size_type 7770: max_size() const noexcept 7770: { return _M_h.max_size(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: iterator 7770: begin() noexcept 7770: { return _M_h.begin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: begin() const noexcept 7770: { return _M_h.begin(); } 7770: 7770: const_iterator 7770: cbegin() const noexcept 7770: { return _M_h.begin(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: iterator 7770: end() noexcept 7770: { return _M_h.end(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: const_iterator 7770: end() const noexcept 7770: { return _M_h.end(); } 7770: 7770: const_iterator 7770: cend() const noexcept 7770: { return _M_h.end(); } 7770: # 1513 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: template 7770: iterator 7770: emplace(_Args&&... __args) 7770: { return _M_h.emplace(std::forward<_Args>(__args)...); } 7770: # 1540 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: template 7770: iterator 7770: emplace_hint(const_iterator __pos, _Args&&... __args) 7770: { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); } 7770: # 1555 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: iterator 7770: insert(const value_type& __x) 7770: { return _M_h.insert(__x); } 7770: 7770: iterator 7770: insert(value_type&& __x) 7770: { return _M_h.insert(std::move(__x)); } 7770: 7770: template::value>::type> 7770: iterator 7770: insert(_Pair&& __x) 7770: { return _M_h.insert(std::forward<_Pair>(__x)); } 7770: # 1591 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: iterator 7770: insert(const_iterator __hint, const value_type& __x) 7770: { return _M_h.insert(__hint, __x); } 7770: 7770: 7770: 7770: iterator 7770: insert(const_iterator __hint, value_type&& __x) 7770: { return _M_h.insert(__hint, std::move(__x)); } 7770: 7770: template::value>::type> 7770: iterator 7770: insert(const_iterator __hint, _Pair&& __x) 7770: { return _M_h.insert(__hint, std::forward<_Pair>(__x)); } 7770: # 1618 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: template 7770: void 7770: insert(_InputIterator __first, _InputIterator __last) 7770: { _M_h.insert(__first, __last); } 7770: # 1631 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: void 7770: insert(initializer_list __l) 7770: { _M_h.insert(__l); } 7770: 7770: 7770: 7770: node_type 7770: extract(const_iterator __pos) 7770: { 7770: ; 7770: return _M_h.extract(__pos); 7770: } 7770: 7770: 7770: node_type 7770: extract(const key_type& __key) 7770: { return _M_h.extract(__key); } 7770: 7770: 7770: iterator 7770: insert(node_type&& __nh) 7770: { return _M_h._M_reinsert_node_multi(cend(), std::move(__nh)); } 7770: 7770: 7770: iterator 7770: insert(const_iterator __hint, node_type&& __nh) 7770: { return _M_h._M_reinsert_node_multi(__hint, std::move(__nh)); } 7770: # 1674 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: iterator 7770: erase(const_iterator __position) 7770: { return _M_h.erase(__position); } 7770: 7770: 7770: iterator 7770: erase(iterator __position) 7770: { return _M_h.erase(__position); } 7770: # 1695 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: size_type 7770: erase(const key_type& __x) 7770: { return _M_h.erase(__x); } 7770: # 1714 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: iterator 7770: erase(const_iterator __first, const_iterator __last) 7770: { return _M_h.erase(__first, __last); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: void 7770: clear() noexcept 7770: { _M_h.clear(); } 7770: # 1738 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: void 7770: swap(unordered_multimap& __x) 7770: noexcept( noexcept(_M_h.swap(__x._M_h)) ) 7770: { _M_h.swap(__x._M_h); } 7770: 7770: 7770: template 7770: friend class _Hash_merge_helper; 7770: 7770: template 7770: void 7770: merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>& __source) 7770: { 7770: using _Merge_helper 7770: = _Hash_merge_helper; 7770: _M_h._M_merge_multi(_Merge_helper::_S_get_table(__source)); 7770: } 7770: 7770: template 7770: void 7770: merge(unordered_multimap<_Key, _Tp, _H2, _P2, _Alloc>&& __source) 7770: { merge(__source); } 7770: 7770: template 7770: void 7770: merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>& __source) 7770: { 7770: using _Merge_helper 7770: = _Hash_merge_helper; 7770: _M_h._M_merge_multi(_Merge_helper::_S_get_table(__source)); 7770: } 7770: 7770: template 7770: void 7770: merge(unordered_map<_Key, _Tp, _H2, _P2, _Alloc>&& __source) 7770: { merge(__source); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: hasher 7770: hash_function() const 7770: { return _M_h.hash_function(); } 7770: 7770: 7770: 7770: key_equal 7770: key_eq() const 7770: { return _M_h.key_eq(); } 7770: # 1804 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: iterator 7770: find(const key_type& __x) 7770: { return _M_h.find(__x); } 7770: 7770: const_iterator 7770: find(const key_type& __x) const 7770: { return _M_h.find(__x); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: size_type 7770: count(const key_type& __x) const 7770: { return _M_h.count(__x); } 7770: # 1829 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: std::pair 7770: equal_range(const key_type& __x) 7770: { return _M_h.equal_range(__x); } 7770: 7770: std::pair 7770: equal_range(const key_type& __x) const 7770: { return _M_h.equal_range(__x); } 7770: 7770: 7770: 7770: 7770: 7770: size_type 7770: bucket_count() const noexcept 7770: { return _M_h.bucket_count(); } 7770: 7770: 7770: size_type 7770: max_bucket_count() const noexcept 7770: { return _M_h.max_bucket_count(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: size_type 7770: bucket_size(size_type __n) const 7770: { return _M_h.bucket_size(__n); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: size_type 7770: bucket(const key_type& __key) const 7770: { return _M_h.bucket(__key); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: local_iterator 7770: begin(size_type __n) 7770: { return _M_h.begin(__n); } 7770: # 1885 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: const_local_iterator 7770: begin(size_type __n) const 7770: { return _M_h.begin(__n); } 7770: 7770: const_local_iterator 7770: cbegin(size_type __n) const 7770: { return _M_h.cbegin(__n); } 7770: # 1900 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: local_iterator 7770: end(size_type __n) 7770: { return _M_h.end(__n); } 7770: # 1911 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: const_local_iterator 7770: end(size_type __n) const 7770: { return _M_h.end(__n); } 7770: 7770: const_local_iterator 7770: cend(size_type __n) const 7770: { return _M_h.cend(__n); } 7770: 7770: 7770: 7770: 7770: 7770: float 7770: load_factor() const noexcept 7770: { return _M_h.load_factor(); } 7770: 7770: 7770: 7770: float 7770: max_load_factor() const noexcept 7770: { return _M_h.max_load_factor(); } 7770: 7770: 7770: 7770: 7770: 7770: void 7770: max_load_factor(float __z) 7770: { _M_h.max_load_factor(__z); } 7770: # 1948 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: void 7770: rehash(size_type __n) 7770: { _M_h.rehash(__n); } 7770: # 1959 "/usr/include/c++/8/bits/unordered_map.h" 3 7770: void 7770: reserve(size_type __n) 7770: { _M_h.reserve(__n); } 7770: 7770: template 7770: friend bool 7770: operator==(const unordered_multimap<_Key1, _Tp1, 7770: _Hash1, _Pred1, _Alloc1>&, 7770: const unordered_multimap<_Key1, _Tp1, 7770: _Hash1, _Pred1, _Alloc1>&); 7770: }; 7770: 7770: 7770: 7770: template>, 7770: typename _Pred = equal_to<__iter_key_t<_InputIterator>>, 7770: typename _Allocator = allocator<__iter_to_alloc_t<_InputIterator>>, 7770: typename = _RequireInputIter<_InputIterator>, 7770: typename = _RequireAllocator<_Allocator>> 7770: unordered_multimap(_InputIterator, _InputIterator, 7770: unordered_multimap::size_type = {}, 7770: _Hash = _Hash(), _Pred = _Pred(), 7770: _Allocator = _Allocator()) 7770: -> unordered_multimap<__iter_key_t<_InputIterator>, 7770: __iter_val_t<_InputIterator>, _Hash, _Pred, 7770: _Allocator>; 7770: 7770: template, 7770: typename _Pred = equal_to<_Key>, 7770: typename _Allocator = allocator>, 7770: typename = _RequireAllocator<_Allocator>> 7770: unordered_multimap(initializer_list>, 7770: unordered_multimap::size_type = {}, 7770: _Hash = _Hash(), _Pred = _Pred(), 7770: _Allocator = _Allocator()) 7770: -> unordered_multimap<_Key, _Tp, _Hash, _Pred, _Allocator>; 7770: 7770: template, 7770: typename = _RequireAllocator<_Allocator>> 7770: unordered_multimap(_InputIterator, _InputIterator, 7770: unordered_multimap::size_type, _Allocator) 7770: -> unordered_multimap<__iter_key_t<_InputIterator>, 7770: __iter_val_t<_InputIterator>, 7770: hash<__iter_key_t<_InputIterator>>, 7770: equal_to<__iter_key_t<_InputIterator>>, _Allocator>; 7770: 7770: template, 7770: typename = _RequireAllocator<_Allocator>> 7770: unordered_multimap(_InputIterator, _InputIterator, _Allocator) 7770: -> unordered_multimap<__iter_key_t<_InputIterator>, 7770: __iter_val_t<_InputIterator>, 7770: hash<__iter_key_t<_InputIterator>>, 7770: equal_to<__iter_key_t<_InputIterator>>, _Allocator>; 7770: 7770: template, 7770: typename = _RequireAllocator<_Allocator>> 7770: unordered_multimap(_InputIterator, _InputIterator, 7770: unordered_multimap::size_type, _Hash, 7770: _Allocator) 7770: -> unordered_multimap<__iter_key_t<_InputIterator>, 7770: __iter_val_t<_InputIterator>, _Hash, 7770: equal_to<__iter_key_t<_InputIterator>>, _Allocator>; 7770: 7770: template> 7770: unordered_multimap(initializer_list>, 7770: unordered_multimap::size_type, 7770: _Allocator) 7770: -> unordered_multimap<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>; 7770: 7770: template> 7770: unordered_multimap(initializer_list>, _Allocator) 7770: -> unordered_multimap<_Key, _Tp, hash<_Key>, equal_to<_Key>, _Allocator>; 7770: 7770: template> 7770: unordered_multimap(initializer_list>, 7770: unordered_multimap::size_type, 7770: _Hash, _Allocator) 7770: -> unordered_multimap<_Key, _Tp, _Hash, equal_to<_Key>, _Allocator>; 7770: 7770: 7770: 7770: template 7770: inline void 7770: swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, 7770: unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y) 7770: noexcept(noexcept(__x.swap(__y))) 7770: { __x.swap(__y); } 7770: 7770: template 7770: inline void 7770: swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, 7770: unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y) 7770: noexcept(noexcept(__x.swap(__y))) 7770: { __x.swap(__y); } 7770: 7770: template 7770: inline bool 7770: operator==(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, 7770: const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y) 7770: { return __x._M_h._M_equal(__y._M_h); } 7770: 7770: template 7770: inline bool 7770: operator!=(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, 7770: const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y) 7770: { return !(__x == __y); } 7770: 7770: template 7770: inline bool 7770: operator==(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, 7770: const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y) 7770: { return __x._M_h._M_equal(__y._M_h); } 7770: 7770: template 7770: inline bool 7770: operator!=(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, 7770: const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y) 7770: { return !(__x == __y); } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct _Hash_merge_helper< 7770: std::unordered_map<_Key, _Val, _Hash1, _Eq1, _Alloc>, 7770: _Hash2, _Eq2> 7770: { 7770: private: 7770: template 7770: using unordered_map = std::unordered_map<_Tp...>; 7770: template 7770: using unordered_multimap = std::unordered_multimap<_Tp...>; 7770: 7770: friend unordered_map<_Key, _Val, _Hash1, _Eq1, _Alloc>; 7770: 7770: static auto& 7770: _S_get_table(unordered_map<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map) 7770: { return __map._M_h; } 7770: 7770: static auto& 7770: _S_get_table(unordered_multimap<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map) 7770: { return __map._M_h; } 7770: }; 7770: 7770: 7770: template 7770: struct _Hash_merge_helper< 7770: std::unordered_multimap<_Key, _Val, _Hash1, _Eq1, _Alloc>, 7770: _Hash2, _Eq2> 7770: { 7770: private: 7770: template 7770: using unordered_map = std::unordered_map<_Tp...>; 7770: template 7770: using unordered_multimap = std::unordered_multimap<_Tp...>; 7770: 7770: friend unordered_multimap<_Key, _Val, _Hash1, _Eq1, _Alloc>; 7770: 7770: static auto& 7770: _S_get_table(unordered_map<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map) 7770: { return __map._M_h; } 7770: 7770: static auto& 7770: _S_get_table(unordered_multimap<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map) 7770: { return __map._M_h; } 7770: }; 7770: 7770: 7770: 7770: } 7770: # 48 "/usr/include/c++/8/unordered_map" 2 3 7770: # 62 "/usr/include/c++/8/functional" 2 3 7770: 7770: 7770: 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline invoke_result_t<_Callable, _Args...> 7770: invoke(_Callable&& __fn, _Args&&... __args) 7770: noexcept(is_nothrow_invocable_v<_Callable, _Args...>) 7770: { 7770: return std::__invoke(std::forward<_Callable>(__fn), 7770: std::forward<_Args>(__args)...); 7770: } 7770: 7770: 7770: template::value> 7770: class _Mem_fn_base 7770: : public _Mem_fn_traits<_MemFunPtr>::__maybe_type 7770: { 7770: using _Traits = _Mem_fn_traits<_MemFunPtr>; 7770: 7770: using _Arity = typename _Traits::__arity; 7770: using _Varargs = typename _Traits::__vararg; 7770: 7770: template 7770: friend struct _Bind_check_arity; 7770: 7770: _MemFunPtr _M_pmf; 7770: 7770: public: 7770: 7770: using result_type = typename _Traits::__result_type; 7770: 7770: explicit constexpr 7770: _Mem_fn_base(_MemFunPtr __pmf) noexcept : _M_pmf(__pmf) { } 7770: 7770: template 7770: auto 7770: operator()(_Args&&... __args) const 7770: noexcept(noexcept( 7770: std::__invoke(_M_pmf, std::forward<_Args>(__args)...))) 7770: -> decltype(std::__invoke(_M_pmf, std::forward<_Args>(__args)...)) 7770: { return std::__invoke(_M_pmf, std::forward<_Args>(__args)...); } 7770: }; 7770: 7770: 7770: template 7770: class _Mem_fn_base<_MemObjPtr, false> 7770: { 7770: using _Arity = integral_constant; 7770: using _Varargs = false_type; 7770: 7770: template 7770: friend struct _Bind_check_arity; 7770: 7770: _MemObjPtr _M_pm; 7770: 7770: public: 7770: explicit constexpr 7770: _Mem_fn_base(_MemObjPtr __pm) noexcept : _M_pm(__pm) { } 7770: 7770: template 7770: auto 7770: operator()(_Tp&& __obj) const 7770: noexcept(noexcept(std::__invoke(_M_pm, std::forward<_Tp>(__obj)))) 7770: -> decltype(std::__invoke(_M_pm, std::forward<_Tp>(__obj))) 7770: { return std::__invoke(_M_pm, std::forward<_Tp>(__obj)); } 7770: }; 7770: 7770: template 7770: struct _Mem_fn; 7770: 7770: template 7770: struct _Mem_fn<_Res _Class::*> 7770: : _Mem_fn_base<_Res _Class::*> 7770: { 7770: using _Mem_fn_base<_Res _Class::*>::_Mem_fn_base; 7770: }; 7770: # 158 "/usr/include/c++/8/functional" 3 7770: template 7770: inline _Mem_fn<_Tp _Class::*> 7770: mem_fn(_Tp _Class::* __pm) noexcept 7770: { 7770: return _Mem_fn<_Tp _Class::*>(__pm); 7770: } 7770: # 173 "/usr/include/c++/8/functional" 3 7770: template 7770: struct is_bind_expression 7770: : public false_type { }; 7770: # 184 "/usr/include/c++/8/functional" 3 7770: template 7770: struct is_placeholder 7770: : public integral_constant 7770: { }; 7770: 7770: 7770: template inline constexpr bool is_bind_expression_v 7770: = is_bind_expression<_Tp>::value; 7770: template inline constexpr int is_placeholder_v 7770: = is_placeholder<_Tp>::value; 7770: 7770: 7770: 7770: 7770: 7770: template struct _Placeholder { }; 7770: 7770: 7770: 7770: 7770: 7770: namespace placeholders 7770: { 7770: 7770: 7770: 7770: 7770: extern const _Placeholder<1> _1; 7770: extern const _Placeholder<2> _2; 7770: extern const _Placeholder<3> _3; 7770: extern const _Placeholder<4> _4; 7770: extern const _Placeholder<5> _5; 7770: extern const _Placeholder<6> _6; 7770: extern const _Placeholder<7> _7; 7770: extern const _Placeholder<8> _8; 7770: extern const _Placeholder<9> _9; 7770: extern const _Placeholder<10> _10; 7770: extern const _Placeholder<11> _11; 7770: extern const _Placeholder<12> _12; 7770: extern const _Placeholder<13> _13; 7770: extern const _Placeholder<14> _14; 7770: extern const _Placeholder<15> _15; 7770: extern const _Placeholder<16> _16; 7770: extern const _Placeholder<17> _17; 7770: extern const _Placeholder<18> _18; 7770: extern const _Placeholder<19> _19; 7770: extern const _Placeholder<20> _20; 7770: extern const _Placeholder<21> _21; 7770: extern const _Placeholder<22> _22; 7770: extern const _Placeholder<23> _23; 7770: extern const _Placeholder<24> _24; 7770: extern const _Placeholder<25> _25; 7770: extern const _Placeholder<26> _26; 7770: extern const _Placeholder<27> _27; 7770: extern const _Placeholder<28> _28; 7770: extern const _Placeholder<29> _29; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct is_placeholder<_Placeholder<_Num> > 7770: : public integral_constant 7770: { }; 7770: 7770: template 7770: struct is_placeholder > 7770: : public integral_constant 7770: { }; 7770: 7770: 7770: 7770: template 7770: using _Safe_tuple_element_t 7770: = typename enable_if<(__i < tuple_size<_Tuple>::value), 7770: tuple_element<__i, _Tuple>>::type::type; 7770: # 275 "/usr/include/c++/8/functional" 3 7770: template::value, 7770: bool _IsPlaceholder = (is_placeholder<_Arg>::value > 0)> 7770: class _Mu; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: class _Mu, false, false> 7770: { 7770: public: 7770: 7770: 7770: 7770: 7770: template 7770: _Tp& 7770: operator()(_CVRef& __arg, _Tuple&) const volatile 7770: { return __arg.get(); } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: class _Mu<_Arg, true, false> 7770: { 7770: public: 7770: template 7770: auto 7770: operator()(_CVArg& __arg, 7770: tuple<_Args...>& __tuple) const volatile 7770: -> decltype(__arg(declval<_Args>()...)) 7770: { 7770: 7770: typedef typename _Build_index_tuple::__type 7770: _Indexes; 7770: return this->__call(__arg, __tuple, _Indexes()); 7770: } 7770: 7770: private: 7770: 7770: 7770: template 7770: auto 7770: __call(_CVArg& __arg, tuple<_Args...>& __tuple, 7770: const _Index_tuple<_Indexes...>&) const volatile 7770: -> decltype(__arg(declval<_Args>()...)) 7770: { 7770: return __arg(std::get<_Indexes>(std::move(__tuple))...); 7770: } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: class _Mu<_Arg, false, true> 7770: { 7770: public: 7770: template 7770: _Safe_tuple_element_t<(is_placeholder<_Arg>::value - 1), _Tuple>&& 7770: operator()(const volatile _Arg&, _Tuple& __tuple) const volatile 7770: { 7770: return 7770: ::std::get<(is_placeholder<_Arg>::value - 1)>(std::move(__tuple)); 7770: } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: class _Mu<_Arg, false, false> 7770: { 7770: public: 7770: template 7770: _CVArg&& 7770: operator()(_CVArg&& __arg, _Tuple&) const volatile 7770: { return std::forward<_CVArg>(__arg); } 7770: }; 7770: 7770: 7770: template 7770: inline auto 7770: __volget(volatile tuple<_Tp...>& __tuple) 7770: -> __tuple_element_t<_Ind, tuple<_Tp...>> volatile& 7770: { return std::get<_Ind>(const_cast&>(__tuple)); } 7770: 7770: 7770: template 7770: inline auto 7770: __volget(const volatile tuple<_Tp...>& __tuple) 7770: -> __tuple_element_t<_Ind, tuple<_Tp...>> const volatile& 7770: { return std::get<_Ind>(const_cast&>(__tuple)); } 7770: 7770: 7770: template 7770: struct _Bind; 7770: 7770: template 7770: class _Bind<_Functor(_Bound_args...)> 7770: : public _Weak_result_type<_Functor> 7770: { 7770: typedef typename _Build_index_tuple::__type 7770: _Bound_indexes; 7770: 7770: _Functor _M_f; 7770: tuple<_Bound_args...> _M_bound_args; 7770: 7770: 7770: template 7770: _Result 7770: __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) 7770: { 7770: return std::__invoke(_M_f, 7770: _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)... 7770: ); 7770: } 7770: 7770: 7770: template 7770: _Result 7770: __call_c(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const 7770: { 7770: return std::__invoke(_M_f, 7770: _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)... 7770: ); 7770: } 7770: 7770: 7770: template 7770: _Result 7770: __call_v(tuple<_Args...>&& __args, 7770: _Index_tuple<_Indexes...>) volatile 7770: { 7770: return std::__invoke(_M_f, 7770: _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)... 7770: ); 7770: } 7770: 7770: 7770: template 7770: _Result 7770: __call_c_v(tuple<_Args...>&& __args, 7770: _Index_tuple<_Indexes...>) const volatile 7770: { 7770: return std::__invoke(_M_f, 7770: _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)... 7770: ); 7770: } 7770: 7770: template 7770: using _Mu_type = decltype( 7770: _Mu::type>()( 7770: std::declval<_BoundArg&>(), std::declval<_CallArgs&>()) ); 7770: 7770: template 7770: using _Res_type_impl 7770: = typename result_of< _Fn&(_Mu_type<_BArgs, _CallArgs>&&...) >::type; 7770: 7770: template 7770: using _Res_type = _Res_type_impl<_Functor, _CallArgs, _Bound_args...>; 7770: 7770: template 7770: using __dependent = typename 7770: enable_if::value+1), _Functor>::type; 7770: 7770: template class __cv_quals> 7770: using _Res_type_cv = _Res_type_impl< 7770: typename __cv_quals<__dependent<_CallArgs>>::type, 7770: _CallArgs, 7770: typename __cv_quals<_Bound_args>::type...>; 7770: 7770: public: 7770: template 7770: explicit _Bind(const _Functor& __f, _Args&&... __args) 7770: : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...) 7770: { } 7770: 7770: template 7770: explicit _Bind(_Functor&& __f, _Args&&... __args) 7770: : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...) 7770: { } 7770: 7770: _Bind(const _Bind&) = default; 7770: 7770: _Bind(_Bind&& __b) 7770: : _M_f(std::move(__b._M_f)), _M_bound_args(std::move(__b._M_bound_args)) 7770: { } 7770: 7770: 7770: template>> 7770: _Result 7770: operator()(_Args&&... __args) 7770: { 7770: return this->__call<_Result>( 7770: std::forward_as_tuple(std::forward<_Args>(__args)...), 7770: _Bound_indexes()); 7770: } 7770: 7770: 7770: template, add_const>> 7770: _Result 7770: operator()(_Args&&... __args) const 7770: { 7770: return this->__call_c<_Result>( 7770: std::forward_as_tuple(std::forward<_Args>(__args)...), 7770: _Bound_indexes()); 7770: } 7770: # 505 "/usr/include/c++/8/functional" 3 7770: template, add_volatile>> 7770: [[deprecated("std::bind does not support volatile in C++17")]] 7770: _Result 7770: operator()(_Args&&... __args) volatile 7770: { 7770: return this->__call_v<_Result>( 7770: std::forward_as_tuple(std::forward<_Args>(__args)...), 7770: _Bound_indexes()); 7770: } 7770: 7770: 7770: template, add_cv>> 7770: [[deprecated("std::bind does not support volatile in C++17")]] 7770: _Result 7770: operator()(_Args&&... __args) const volatile 7770: { 7770: return this->__call_c_v<_Result>( 7770: std::forward_as_tuple(std::forward<_Args>(__args)...), 7770: _Bound_indexes()); 7770: } 7770: }; 7770: 7770: 7770: template 7770: struct _Bind_result; 7770: 7770: template 7770: class _Bind_result<_Result, _Functor(_Bound_args...)> 7770: { 7770: typedef typename _Build_index_tuple::__type 7770: _Bound_indexes; 7770: 7770: _Functor _M_f; 7770: tuple<_Bound_args...> _M_bound_args; 7770: 7770: 7770: template 7770: using __enable_if_void 7770: = typename enable_if{}>::type; 7770: 7770: template 7770: using __disable_if_void 7770: = typename enable_if{}, _Result>::type; 7770: 7770: 7770: template 7770: __disable_if_void<_Res> 7770: __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) 7770: { 7770: return std::__invoke(_M_f, _Mu<_Bound_args>() 7770: (std::get<_Indexes>(_M_bound_args), __args)...); 7770: } 7770: 7770: 7770: template 7770: __enable_if_void<_Res> 7770: __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) 7770: { 7770: std::__invoke(_M_f, _Mu<_Bound_args>() 7770: (std::get<_Indexes>(_M_bound_args), __args)...); 7770: } 7770: 7770: 7770: template 7770: __disable_if_void<_Res> 7770: __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const 7770: { 7770: return std::__invoke(_M_f, _Mu<_Bound_args>() 7770: (std::get<_Indexes>(_M_bound_args), __args)...); 7770: } 7770: 7770: 7770: template 7770: __enable_if_void<_Res> 7770: __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const 7770: { 7770: std::__invoke(_M_f, _Mu<_Bound_args>() 7770: (std::get<_Indexes>(_M_bound_args), __args)...); 7770: } 7770: 7770: 7770: template 7770: __disable_if_void<_Res> 7770: __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile 7770: { 7770: return std::__invoke(_M_f, _Mu<_Bound_args>() 7770: (__volget<_Indexes>(_M_bound_args), __args)...); 7770: } 7770: 7770: 7770: template 7770: __enable_if_void<_Res> 7770: __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile 7770: { 7770: std::__invoke(_M_f, _Mu<_Bound_args>() 7770: (__volget<_Indexes>(_M_bound_args), __args)...); 7770: } 7770: 7770: 7770: template 7770: __disable_if_void<_Res> 7770: __call(tuple<_Args...>&& __args, 7770: _Index_tuple<_Indexes...>) const volatile 7770: { 7770: return std::__invoke(_M_f, _Mu<_Bound_args>() 7770: (__volget<_Indexes>(_M_bound_args), __args)...); 7770: } 7770: 7770: 7770: template 7770: __enable_if_void<_Res> 7770: __call(tuple<_Args...>&& __args, 7770: _Index_tuple<_Indexes...>) const volatile 7770: { 7770: std::__invoke(_M_f, _Mu<_Bound_args>() 7770: (__volget<_Indexes>(_M_bound_args), __args)...); 7770: } 7770: 7770: public: 7770: typedef _Result result_type; 7770: 7770: template 7770: explicit _Bind_result(const _Functor& __f, _Args&&... __args) 7770: : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...) 7770: { } 7770: 7770: template 7770: explicit _Bind_result(_Functor&& __f, _Args&&... __args) 7770: : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...) 7770: { } 7770: 7770: _Bind_result(const _Bind_result&) = default; 7770: 7770: _Bind_result(_Bind_result&& __b) 7770: : _M_f(std::move(__b._M_f)), _M_bound_args(std::move(__b._M_bound_args)) 7770: { } 7770: 7770: 7770: template 7770: result_type 7770: operator()(_Args&&... __args) 7770: { 7770: return this->__call<_Result>( 7770: std::forward_as_tuple(std::forward<_Args>(__args)...), 7770: _Bound_indexes()); 7770: } 7770: 7770: 7770: template 7770: result_type 7770: operator()(_Args&&... __args) const 7770: { 7770: return this->__call<_Result>( 7770: std::forward_as_tuple(std::forward<_Args>(__args)...), 7770: _Bound_indexes()); 7770: } 7770: 7770: 7770: template 7770: [[deprecated("std::bind does not support volatile in C++17")]] 7770: result_type 7770: operator()(_Args&&... __args) volatile 7770: { 7770: return this->__call<_Result>( 7770: std::forward_as_tuple(std::forward<_Args>(__args)...), 7770: _Bound_indexes()); 7770: } 7770: 7770: 7770: template 7770: [[deprecated("std::bind does not support volatile in C++17")]] 7770: result_type 7770: operator()(_Args&&... __args) const volatile 7770: { 7770: return this->__call<_Result>( 7770: std::forward_as_tuple(std::forward<_Args>(__args)...), 7770: _Bound_indexes()); 7770: } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct is_bind_expression<_Bind<_Signature> > 7770: : public true_type { }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct is_bind_expression > 7770: : public true_type { }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct is_bind_expression > 7770: : public true_type { }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct is_bind_expression> 7770: : public true_type { }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct is_bind_expression<_Bind_result<_Result, _Signature>> 7770: : public true_type { }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct is_bind_expression> 7770: : public true_type { }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct is_bind_expression> 7770: : public true_type { }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct is_bind_expression> 7770: : public true_type { }; 7770: 7770: template 7770: struct _Bind_check_arity { }; 7770: 7770: template 7770: struct _Bind_check_arity<_Ret (*)(_Args...), _BoundArgs...> 7770: { 7770: static_assert(sizeof...(_BoundArgs) == sizeof...(_Args), 7770: "Wrong number of arguments for function"); 7770: }; 7770: 7770: template 7770: struct _Bind_check_arity<_Ret (*)(_Args......), _BoundArgs...> 7770: { 7770: static_assert(sizeof...(_BoundArgs) >= sizeof...(_Args), 7770: "Wrong number of arguments for function"); 7770: }; 7770: 7770: template 7770: struct _Bind_check_arity<_Tp _Class::*, _BoundArgs...> 7770: { 7770: using _Arity = typename _Mem_fn<_Tp _Class::*>::_Arity; 7770: using _Varargs = typename _Mem_fn<_Tp _Class::*>::_Varargs; 7770: static_assert(_Varargs::value 7770: ? sizeof...(_BoundArgs) >= _Arity::value + 1 7770: : sizeof...(_BoundArgs) == _Arity::value + 1, 7770: "Wrong number of arguments for pointer-to-member"); 7770: }; 7770: 7770: 7770: 7770: 7770: template::type> 7770: using __is_socketlike = __or_, is_enum<_Tp2>>; 7770: 7770: template 7770: struct _Bind_helper 7770: : _Bind_check_arity::type, _BoundArgs...> 7770: { 7770: typedef typename decay<_Func>::type __func_type; 7770: typedef _Bind<__func_type(typename decay<_BoundArgs>::type...)> type; 7770: }; 7770: 7770: 7770: 7770: 7770: template 7770: struct _Bind_helper 7770: { }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline typename 7770: _Bind_helper<__is_socketlike<_Func>::value, _Func, _BoundArgs...>::type 7770: bind(_Func&& __f, _BoundArgs&&... __args) 7770: { 7770: typedef _Bind_helper __helper_type; 7770: return typename __helper_type::type(std::forward<_Func>(__f), 7770: std::forward<_BoundArgs>(__args)...); 7770: } 7770: 7770: template 7770: struct _Bindres_helper 7770: : _Bind_check_arity::type, _BoundArgs...> 7770: { 7770: typedef typename decay<_Func>::type __functor_type; 7770: typedef _Bind_result<_Result, 7770: __functor_type(typename decay<_BoundArgs>::type...)> 7770: type; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: inline 7770: typename _Bindres_helper<_Result, _Func, _BoundArgs...>::type 7770: bind(_Func&& __f, _BoundArgs&&... __args) 7770: { 7770: typedef _Bindres_helper<_Result, _Func, _BoundArgs...> __helper_type; 7770: return typename __helper_type::type(std::forward<_Func>(__f), 7770: std::forward<_BoundArgs>(__args)...); 7770: } 7770: 7770: 7770: 7770: template 7770: class _Not_fn 7770: { 7770: template 7770: using __inv_res_t = typename __invoke_result<_Fn2, _Args...>::type; 7770: 7770: template 7770: static decltype(!std::declval<_Tp>()) 7770: _S_not() noexcept(noexcept(!std::declval<_Tp>())); 7770: 7770: public: 7770: template 7770: _Not_fn(_Fn2&& __fn, int) 7770: : _M_fn(std::forward<_Fn2>(__fn)) { } 7770: 7770: _Not_fn(const _Not_fn& __fn) = default; 7770: _Not_fn(_Not_fn&& __fn) = default; 7770: ~_Not_fn() = default; 7770: # 872 "/usr/include/c++/8/functional" 3 7770: template decltype(_S_not<__inv_res_t<_Fn &, _Args...>>()) operator()(_Args&&... __args) & noexcept(noexcept(_S_not<__inv_res_t<_Fn &, _Args...>>())) { return !std::__invoke(std::forward< _Fn & >(_M_fn), std::forward<_Args>(__args)...); } 7770: template decltype(_S_not<__inv_res_t<_Fn const &, _Args...>>()) operator()(_Args&&... __args) const & noexcept(noexcept(_S_not<__inv_res_t<_Fn const &, _Args...>>())) { return !std::__invoke(std::forward< _Fn const & >(_M_fn), std::forward<_Args>(__args)...); } 7770: template decltype(_S_not<__inv_res_t<_Fn &&, _Args...>>()) operator()(_Args&&... __args) && noexcept(noexcept(_S_not<__inv_res_t<_Fn &&, _Args...>>())) { return !std::__invoke(std::forward< _Fn && >(_M_fn), std::forward<_Args>(__args)...); } 7770: template decltype(_S_not<__inv_res_t<_Fn const &&, _Args...>>()) operator()(_Args&&... __args) const && noexcept(noexcept(_S_not<__inv_res_t<_Fn const &&, _Args...>>())) { return !std::__invoke(std::forward< _Fn const && >(_M_fn), std::forward<_Args>(__args)...); } 7770: 7770: 7770: private: 7770: _Fn _M_fn; 7770: }; 7770: 7770: template 7770: struct __is_byte_like : false_type { }; 7770: 7770: template 7770: struct __is_byte_like<_Tp, equal_to<_Tp>> 7770: : __bool_constant::value> { }; 7770: 7770: template 7770: struct __is_byte_like<_Tp, equal_to> 7770: : __bool_constant::value> { }; 7770: 7770: 7770: 7770: enum class byte : unsigned char; 7770: 7770: template<> 7770: struct __is_byte_like> 7770: : true_type { }; 7770: 7770: template<> 7770: struct __is_byte_like> 7770: : true_type { }; 7770: 7770: 7770: 7770: template 7770: inline auto 7770: not_fn(_Fn&& __fn) 7770: noexcept(std::is_nothrow_constructible, _Fn&&>::value) 7770: { 7770: return _Not_fn>{std::forward<_Fn>(__fn), 0}; 7770: } 7770: 7770: 7770: 7770: 7770: template> 7770: class default_searcher 7770: { 7770: public: 7770: default_searcher(_ForwardIterator1 __pat_first, 7770: _ForwardIterator1 __pat_last, 7770: _BinaryPredicate __pred = _BinaryPredicate()) 7770: : _M_m(__pat_first, __pat_last, std::move(__pred)) 7770: { } 7770: 7770: template 7770: pair<_ForwardIterator2, _ForwardIterator2> 7770: operator()(_ForwardIterator2 __first, _ForwardIterator2 __last) const 7770: { 7770: _ForwardIterator2 __first_ret = 7770: std::search(__first, __last, std::get<0>(_M_m), std::get<1>(_M_m), 7770: std::get<2>(_M_m)); 7770: auto __ret = std::make_pair(__first_ret, __first_ret); 7770: if (__ret.first != __last) 7770: std::advance(__ret.second, std::distance(std::get<0>(_M_m), 7770: std::get<1>(_M_m))); 7770: return __ret; 7770: } 7770: 7770: private: 7770: tuple<_ForwardIterator1, _ForwardIterator1, _BinaryPredicate> _M_m; 7770: }; 7770: 7770: template 7770: struct __boyer_moore_map_base 7770: { 7770: template 7770: __boyer_moore_map_base(_RAIter __pat, size_t __patlen, 7770: _Hash&& __hf, _Pred&& __pred) 7770: : _M_bad_char{ __patlen, std::move(__hf), std::move(__pred) } 7770: { 7770: if (__patlen > 0) 7770: for (__diff_type __i = 0; __i < __patlen - 1; ++__i) 7770: _M_bad_char[__pat[__i]] = __patlen - 1 - __i; 7770: } 7770: 7770: using __diff_type = _Tp; 7770: 7770: __diff_type 7770: _M_lookup(_Key __key, __diff_type __not_found) const 7770: { 7770: auto __iter = _M_bad_char.find(__key); 7770: if (__iter == _M_bad_char.end()) 7770: return __not_found; 7770: return __iter->second; 7770: } 7770: 7770: _Pred 7770: _M_pred() const { return _M_bad_char.key_eq(); } 7770: 7770: std::unordered_map<_Key, _Tp, _Hash, _Pred> _M_bad_char; 7770: }; 7770: 7770: template 7770: struct __boyer_moore_array_base 7770: { 7770: template 7770: __boyer_moore_array_base(_RAIter __pat, size_t __patlen, 7770: _Unused&&, _Pred&& __pred) 7770: : _M_bad_char{ std::array<_Tp, _Len>{}, std::move(__pred) } 7770: { 7770: std::get<0>(_M_bad_char).fill(__patlen); 7770: if (__patlen > 0) 7770: for (__diff_type __i = 0; __i < __patlen - 1; ++__i) 7770: { 7770: auto __ch = __pat[__i]; 7770: using _UCh = make_unsigned_t; 7770: auto __uch = static_cast<_UCh>(__ch); 7770: std::get<0>(_M_bad_char)[__uch] = __patlen - 1 - __i; 7770: } 7770: } 7770: 7770: using __diff_type = _Tp; 7770: 7770: template 7770: __diff_type 7770: _M_lookup(_Key __key, __diff_type __not_found) const 7770: { 7770: auto __ukey = static_cast>(__key); 7770: if (__ukey >= _Len) 7770: return __not_found; 7770: return std::get<0>(_M_bad_char)[__ukey]; 7770: } 7770: 7770: const _Pred& 7770: _M_pred() const { return std::get<1>(_M_bad_char); } 7770: 7770: tuple, _Pred> _M_bad_char; 7770: }; 7770: 7770: 7770: 7770: template::value_type, 7770: typename _Diff = typename iterator_traits<_RAIter>::difference_type> 7770: using __boyer_moore_base_t 7770: = conditional_t<__is_byte_like<_Val, _Pred>::value, 7770: __boyer_moore_array_base<_Diff, 256, _Pred>, 7770: __boyer_moore_map_base<_Val, _Diff, _Hash, _Pred>>; 7770: 7770: template::value_type>, 7770: typename _BinaryPredicate = equal_to<>> 7770: class boyer_moore_searcher 7770: : __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate> 7770: { 7770: using _Base = __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>; 7770: using typename _Base::__diff_type; 7770: 7770: public: 7770: boyer_moore_searcher(_RAIter __pat_first, _RAIter __pat_last, 7770: _Hash __hf = _Hash(), 7770: _BinaryPredicate __pred = _BinaryPredicate()); 7770: 7770: template 7770: pair<_RandomAccessIterator2, _RandomAccessIterator2> 7770: operator()(_RandomAccessIterator2 __first, 7770: _RandomAccessIterator2 __last) const; 7770: 7770: private: 7770: bool 7770: _M_is_prefix(_RAIter __word, __diff_type __len, 7770: __diff_type __pos) 7770: { 7770: const auto& __pred = this->_M_pred(); 7770: __diff_type __suffixlen = __len - __pos; 7770: for (__diff_type __i = 0; __i < __suffixlen; ++__i) 7770: if (!__pred(__word[__i], __word[__pos + __i])) 7770: return false; 7770: return true; 7770: } 7770: 7770: __diff_type 7770: _M_suffix_length(_RAIter __word, __diff_type __len, 7770: __diff_type __pos) 7770: { 7770: const auto& __pred = this->_M_pred(); 7770: __diff_type __i = 0; 7770: while (__pred(__word[__pos - __i], __word[__len - 1 - __i]) 7770: && __i < __pos) 7770: { 7770: ++__i; 7770: } 7770: return __i; 7770: } 7770: 7770: template 7770: __diff_type 7770: _M_bad_char_shift(_Tp __c) const 7770: { return this->_M_lookup(__c, _M_pat_end - _M_pat); } 7770: 7770: _RAIter _M_pat; 7770: _RAIter _M_pat_end; 7770: std::vector<__diff_type> _M_good_suffix; 7770: }; 7770: 7770: template::value_type>, 7770: typename _BinaryPredicate = equal_to<>> 7770: class boyer_moore_horspool_searcher 7770: : __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate> 7770: { 7770: using _Base = __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>; 7770: using typename _Base::__diff_type; 7770: 7770: public: 7770: boyer_moore_horspool_searcher(_RAIter __pat, 7770: _RAIter __pat_end, 7770: _Hash __hf = _Hash(), 7770: _BinaryPredicate __pred 7770: = _BinaryPredicate()) 7770: : _Base(__pat, __pat_end - __pat, std::move(__hf), std::move(__pred)), 7770: _M_pat(__pat), _M_pat_end(__pat_end) 7770: { } 7770: 7770: template 7770: pair<_RandomAccessIterator2, _RandomAccessIterator2> 7770: operator()(_RandomAccessIterator2 __first, 7770: _RandomAccessIterator2 __last) const 7770: { 7770: const auto& __pred = this->_M_pred(); 7770: auto __patlen = _M_pat_end - _M_pat; 7770: if (__patlen == 0) 7770: return std::make_pair(__first, __first); 7770: auto __len = __last - __first; 7770: while (__len >= __patlen) 7770: { 7770: for (auto __scan = __patlen - 1; 7770: __pred(__first[__scan], _M_pat[__scan]); --__scan) 7770: if (__scan == 0) 7770: return std::make_pair(__first, __first + __patlen); 7770: auto __shift = _M_bad_char_shift(__first[__patlen - 1]); 7770: __len -= __shift; 7770: __first += __shift; 7770: } 7770: return std::make_pair(__last, __last); 7770: } 7770: 7770: private: 7770: template 7770: __diff_type 7770: _M_bad_char_shift(_Tp __c) const 7770: { return this->_M_lookup(__c, _M_pat_end - _M_pat); } 7770: 7770: _RAIter _M_pat; 7770: _RAIter _M_pat_end; 7770: }; 7770: 7770: template 7770: boyer_moore_searcher<_RAIter, _Hash, _BinaryPredicate>:: 7770: boyer_moore_searcher(_RAIter __pat, _RAIter __pat_end, 7770: _Hash __hf, _BinaryPredicate __pred) 7770: : _Base(__pat, __pat_end - __pat, std::move(__hf), std::move(__pred)), 7770: _M_pat(__pat), _M_pat_end(__pat_end), _M_good_suffix(__pat_end - __pat) 7770: { 7770: auto __patlen = __pat_end - __pat; 7770: if (__patlen == 0) 7770: return; 7770: __diff_type __last_prefix = __patlen - 1; 7770: for (__diff_type __p = __patlen - 1; __p >= 0; --__p) 7770: { 7770: if (_M_is_prefix(__pat, __patlen, __p + 1)) 7770: __last_prefix = __p + 1; 7770: _M_good_suffix[__p] = __last_prefix + (__patlen - 1 - __p); 7770: } 7770: for (__diff_type __p = 0; __p < __patlen - 1; ++__p) 7770: { 7770: auto __slen = _M_suffix_length(__pat, __patlen, __p); 7770: auto __pos = __patlen - 1 - __slen; 7770: if (!__pred(__pat[__p - __slen], __pat[__pos])) 7770: _M_good_suffix[__pos] = __patlen - 1 - __p + __slen; 7770: } 7770: } 7770: 7770: template 7770: template 7770: pair<_RandomAccessIterator2, _RandomAccessIterator2> 7770: boyer_moore_searcher<_RAIter, _Hash, _BinaryPredicate>:: 7770: operator()(_RandomAccessIterator2 __first, 7770: _RandomAccessIterator2 __last) const 7770: { 7770: auto __patlen = _M_pat_end - _M_pat; 7770: if (__patlen == 0) 7770: return std::make_pair(__first, __first); 7770: const auto& __pred = this->_M_pred(); 7770: __diff_type __i = __patlen - 1; 7770: auto __stringlen = __last - __first; 7770: while (__i < __stringlen) 7770: { 7770: __diff_type __j = __patlen - 1; 7770: while (__j >= 0 && __pred(__first[__i], _M_pat[__j])) 7770: { 7770: --__i; 7770: --__j; 7770: } 7770: if (__j < 0) 7770: { 7770: const auto __match = __first + __i + 1; 7770: return std::make_pair(__match, __match + __patlen); 7770: } 7770: __i += std::max(_M_bad_char_shift(__first[__i]), 7770: _M_good_suffix[__j]); 7770: } 7770: return std::make_pair(__last, __last); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: } 7770: # 55 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmap.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: # 69 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmap.h" 3 4 7770: template inline bool qMapLessThanKey(const Key &key1, const Key &key2) 7770: { 7770: return key1 < key2; 7770: } 7770: 7770: template inline bool qMapLessThanKey(const Ptr *key1, const Ptr *key2) 7770: { 7770: return std::less()(key1, key2); 7770: } 7770: 7770: struct QMapDataBase; 7770: template struct QMapData; 7770: 7770: struct __attribute__((visibility("default"))) QMapNodeBase 7770: { 7770: quintptr p; 7770: QMapNodeBase *left; 7770: QMapNodeBase *right; 7770: 7770: enum Color { Red = 0, Black = 1 }; 7770: enum { Mask = 3 }; 7770: 7770: const QMapNodeBase *nextNode() const; 7770: QMapNodeBase *nextNode() { return const_cast(const_cast(this)->nextNode()); } 7770: const QMapNodeBase *previousNode() const; 7770: QMapNodeBase *previousNode() { return const_cast(const_cast(this)->previousNode()); } 7770: 7770: Color color() const { return Color(p & 1); } 7770: void setColor(Color c) { if (c == Black) p |= Black; else p &= ~Black; } 7770: QMapNodeBase *parent() const { return reinterpret_cast(p & ~Mask); } 7770: void setParent(QMapNodeBase *pp) { p = (p & Mask) | quintptr(pp); } 7770: 7770: template 7770: static typename std::enable_if::isComplex>::type 7770: callDestructorIfNecessary(T &t) noexcept { (void)t;; t.~T(); } 7770: template 7770: static typename std::enable_if::isComplex>::type 7770: callDestructorIfNecessary(T &) noexcept {} 7770: }; 7770: 7770: template 7770: struct QMapNode : public QMapNodeBase 7770: { 7770: Key key; 7770: T value; 7770: 7770: inline QMapNode *leftNode() const { return static_cast(left); } 7770: inline QMapNode *rightNode() const { return static_cast(right); } 7770: 7770: inline const QMapNode *nextNode() const { return static_cast(QMapNodeBase::nextNode()); } 7770: inline const QMapNode *previousNode() const { return static_cast(QMapNodeBase::previousNode()); } 7770: inline QMapNode *nextNode() { return static_cast(QMapNodeBase::nextNode()); } 7770: inline QMapNode *previousNode() { return static_cast(QMapNodeBase::previousNode()); } 7770: 7770: QMapNode *copy(QMapData *d) const; 7770: 7770: void destroySubTree() 7770: { 7770: callDestructorIfNecessary(key); 7770: callDestructorIfNecessary(value); 7770: doDestroySubTree(std::integral_constant::isComplex || QTypeInfo::isComplex>()); 7770: } 7770: 7770: QMapNode *lowerBound(const Key &key); 7770: QMapNode *upperBound(const Key &key); 7770: 7770: private: 7770: void doDestroySubTree(std::false_type) {} 7770: void doDestroySubTree(std::true_type) 7770: { 7770: if (left) 7770: leftNode()->destroySubTree(); 7770: if (right) 7770: rightNode()->destroySubTree(); 7770: } 7770: 7770: QMapNode() = delete; 7770: QMapNode(const QMapNode &) = delete; QMapNode &operator=(const QMapNode &) = delete; 7770: }; 7770: 7770: template 7770: inline QMapNode *QMapNode::lowerBound(const Key &akey) 7770: { 7770: QMapNode *n = this; 7770: QMapNode *lastNode = nullptr; 7770: while (n) { 7770: if (!qMapLessThanKey(n->key, akey)) { 7770: lastNode = n; 7770: n = n->leftNode(); 7770: } else { 7770: n = n->rightNode(); 7770: } 7770: } 7770: return lastNode; 7770: } 7770: 7770: template 7770: inline QMapNode *QMapNode::upperBound(const Key &akey) 7770: { 7770: QMapNode *n = this; 7770: QMapNode *lastNode = nullptr; 7770: while (n) { 7770: if (qMapLessThanKey(akey, n->key)) { 7770: lastNode = n; 7770: n = n->leftNode(); 7770: } else { 7770: n = n->rightNode(); 7770: } 7770: } 7770: return lastNode; 7770: } 7770: 7770: 7770: 7770: struct __attribute__((visibility("default"))) QMapDataBase 7770: { 7770: QtPrivate::RefCount ref; 7770: int size; 7770: QMapNodeBase header; 7770: QMapNodeBase *mostLeftNode; 7770: 7770: void rotateLeft(QMapNodeBase *x); 7770: void rotateRight(QMapNodeBase *x); 7770: void rebalance(QMapNodeBase *x); 7770: void freeNodeAndRebalance(QMapNodeBase *z); 7770: void recalcMostLeftNode(); 7770: 7770: QMapNodeBase *createNode(int size, int alignment, QMapNodeBase *parent, bool left); 7770: void freeTree(QMapNodeBase *root, int alignment); 7770: 7770: static const QMapDataBase shared_null; 7770: 7770: static QMapDataBase *createData(); 7770: static void freeData(QMapDataBase *d); 7770: }; 7770: 7770: template 7770: struct QMapData : public QMapDataBase 7770: { 7770: typedef QMapNode Node; 7770: 7770: Node *root() const { return static_cast(header.left); } 7770: 7770: 7770: 7770: const Node *end() const { return reinterpret_cast(&header); } 7770: Node *end() { return reinterpret_cast(&header); } 7770: const Node *begin() const { if (root()) return static_cast(mostLeftNode); return end(); } 7770: Node *begin() { if (root()) return static_cast(mostLeftNode); return end(); } 7770: 7770: void deleteNode(Node *z); 7770: Node *findNode(const Key &akey) const; 7770: void nodeRange(const Key &akey, Node **firstNode, Node **lastNode); 7770: 7770: Node *createNode(const Key &k, const T &v, Node *parent = nullptr, bool left = false) 7770: { 7770: Node *n = static_cast(QMapDataBase::createNode(sizeof(Node), alignof(Node), 7770: parent, left)); 7770: if (true) { 7770: new (&n->key) Key(k); 7770: if (true) { 7770: new (&n->value) T(v); 7770: } else { 7770: n->key.~Key(); 7770: qt_noop(); 7770: } 7770: } else { 7770: QMapDataBase::freeNodeAndRebalance(n); 7770: qt_noop(); 7770: } 7770: return n; 7770: } 7770: 7770: static QMapData *create() { 7770: return static_cast(createData()); 7770: } 7770: 7770: void destroy() { 7770: if (root()) { 7770: root()->destroySubTree(); 7770: freeTree(header.left, alignof(Node)); 7770: } 7770: freeData(this); 7770: } 7770: }; 7770: 7770: template 7770: QMapNode *QMapNode::copy(QMapData *d) const 7770: { 7770: QMapNode *n = d->createNode(key, value); 7770: n->setColor(color()); 7770: if (left) { 7770: n->left = leftNode()->copy(d); 7770: n->left->setParent(n); 7770: } else { 7770: n->left = nullptr; 7770: } 7770: if (right) { 7770: n->right = rightNode()->copy(d); 7770: n->right->setParent(n); 7770: } else { 7770: n->right = nullptr; 7770: } 7770: return n; 7770: } 7770: 7770: template 7770: void QMapData::deleteNode(QMapNode *z) 7770: { 7770: QMapNodeBase::callDestructorIfNecessary(z->key); 7770: QMapNodeBase::callDestructorIfNecessary(z->value); 7770: freeNodeAndRebalance(z); 7770: } 7770: 7770: template 7770: QMapNode *QMapData::findNode(const Key &akey) const 7770: { 7770: if (Node *r = root()) { 7770: Node *lb = r->lowerBound(akey); 7770: if (lb && !qMapLessThanKey(akey, lb->key)) 7770: return lb; 7770: } 7770: return nullptr; 7770: } 7770: 7770: 7770: template 7770: void QMapData::nodeRange(const Key &akey, QMapNode **firstNode, QMapNode **lastNode) 7770: { 7770: Node *n = root(); 7770: Node *l = end(); 7770: while (n) { 7770: if (qMapLessThanKey(akey, n->key)) { 7770: l = n; 7770: n = n->leftNode(); 7770: } else if (qMapLessThanKey(n->key, akey)) { 7770: n = n->rightNode(); 7770: } else { 7770: *firstNode = n->leftNode() ? n->leftNode()->lowerBound(akey) : nullptr; 7770: if (!*firstNode) 7770: *firstNode = n; 7770: *lastNode = n->rightNode() ? n->rightNode()->upperBound(akey) : nullptr; 7770: if (!*lastNode) 7770: *lastNode = l; 7770: return; 7770: } 7770: } 7770: *firstNode = *lastNode = l; 7770: } 7770: 7770: 7770: template 7770: class QMap 7770: { 7770: typedef QMapNode Node; 7770: 7770: QMapData *d; 7770: 7770: public: 7770: inline QMap() noexcept : d(static_cast *>(const_cast(&QMapDataBase::shared_null))) { } 7770: 7770: inline QMap(std::initializer_list > list) 7770: : d(static_cast *>(const_cast(&QMapDataBase::shared_null))) 7770: { 7770: for (typename std::initializer_list >::const_iterator it = list.begin(); it != list.end(); ++it) 7770: insert(it->first, it->second); 7770: } 7770: 7770: QMap(const QMap &other); 7770: 7770: inline ~QMap() { if (!d->ref.deref()) d->destroy(); } 7770: 7770: QMap &operator=(const QMap &other); 7770: 7770: inline QMap(QMap &&other) noexcept 7770: : d(other.d) 7770: { 7770: other.d = static_cast *>( 7770: const_cast(&QMapDataBase::shared_null)); 7770: } 7770: 7770: inline QMap &operator=(QMap &&other) noexcept 7770: { QMap moved(std::move(other)); swap(moved); return *this; } 7770: 7770: inline void swap(QMap &other) noexcept { qSwap(d, other.d); } 7770: explicit QMap(const typename std::map &other); 7770: std::map toStdMap() const; 7770: 7770: bool operator==(const QMap &other) const; 7770: inline bool operator!=(const QMap &other) const { return !(*this == other); } 7770: 7770: inline int size() const { return d->size; } 7770: 7770: inline bool isEmpty() const { return d->size == 0; } 7770: 7770: inline void detach() { if (d->ref.isShared()) detach_helper(); } 7770: inline bool isDetached() const { return !d->ref.isShared(); } 7770: 7770: inline void setSharable(bool sharable) 7770: { 7770: if (sharable == d->ref.isSharable()) 7770: return; 7770: if (!sharable) 7770: detach(); 7770: 7770: d->ref.setSharable(sharable); 7770: } 7770: 7770: inline bool isSharedWith(const QMap &other) const { return d == other.d; } 7770: 7770: void clear(); 7770: 7770: int remove(const Key &key); 7770: T take(const Key &key); 7770: 7770: bool contains(const Key &key) const; 7770: const Key key(const T &value, const Key &defaultKey = Key()) const; 7770: const T value(const Key &key, const T &defaultValue = T()) const; 7770: T &operator[](const Key &key); 7770: const T operator[](const Key &key) const; 7770: 7770: QList uniqueKeys() const; 7770: QList keys() const; 7770: QList keys(const T &value) const; 7770: QList values() const; 7770: QList values(const Key &key) const; 7770: int count(const Key &key) const; 7770: 7770: inline const Key &firstKey() const { do { } while ((false) && (!isEmpty())); return constBegin().key(); } 7770: inline const Key &lastKey() const { do { } while ((false) && (!isEmpty())); return (constEnd() - 1).key(); } 7770: 7770: inline T &first() { do { } while ((false) && (!isEmpty())); return *begin(); } 7770: inline const T &first() const { do { } while ((false) && (!isEmpty())); return *constBegin(); } 7770: inline T &last() { do { } while ((false) && (!isEmpty())); return *(end() - 1); } 7770: inline const T &last() const { do { } while ((false) && (!isEmpty())); return *(constEnd() - 1); } 7770: 7770: class const_iterator; 7770: 7770: class iterator 7770: { 7770: friend class const_iterator; 7770: Node *i; 7770: 7770: public: 7770: typedef std::bidirectional_iterator_tag iterator_category; 7770: typedef qptrdiff difference_type; 7770: typedef T value_type; 7770: typedef T *pointer; 7770: typedef T &reference; 7770: 7770: inline iterator() : i(nullptr) { } 7770: inline iterator(Node *node) : i(node) { } 7770: 7770: inline const Key &key() const { return i->key; } 7770: inline T &value() const { return i->value; } 7770: inline T &operator*() const { return i->value; } 7770: inline T *operator->() const { return &i->value; } 7770: inline bool operator==(const iterator &o) const { return i == o.i; } 7770: inline bool operator!=(const iterator &o) const { return i != o.i; } 7770: 7770: inline iterator &operator++() { 7770: i = i->nextNode(); 7770: return *this; 7770: } 7770: inline iterator operator++(int) { 7770: iterator r = *this; 7770: i = i->nextNode(); 7770: return r; 7770: } 7770: inline iterator &operator--() { 7770: i = i->previousNode(); 7770: return *this; 7770: } 7770: inline iterator operator--(int) { 7770: iterator r = *this; 7770: i = i->previousNode(); 7770: return r; 7770: } 7770: inline iterator operator+(int j) const 7770: { iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } 7770: inline iterator operator-(int j) const { return operator+(-j); } 7770: inline iterator &operator+=(int j) { return *this = *this + j; } 7770: inline iterator &operator-=(int j) { return *this = *this - j; } 7770: 7770: 7770: public: 7770: inline bool operator==(const const_iterator &o) const 7770: { return i == o.i; } 7770: inline bool operator!=(const const_iterator &o) const 7770: { return i != o.i; } 7770: 7770: friend class QMap; 7770: }; 7770: friend class iterator; 7770: 7770: class const_iterator 7770: { 7770: friend class iterator; 7770: const Node *i; 7770: 7770: public: 7770: typedef std::bidirectional_iterator_tag iterator_category; 7770: typedef qptrdiff difference_type; 7770: typedef T value_type; 7770: typedef const T *pointer; 7770: typedef const T &reference; 7770: 7770: constexpr inline const_iterator() : i(nullptr) { } 7770: inline const_iterator(const Node *node) : i(node) { } 7770: 7770: 7770: 7770: inline const_iterator(const iterator &o) 7770: 7770: { i = o.i; } 7770: 7770: inline const Key &key() const { return i->key; } 7770: inline const T &value() const { return i->value; } 7770: inline const T &operator*() const { return i->value; } 7770: inline const T *operator->() const { return &i->value; } 7770: constexpr inline bool operator==(const const_iterator &o) const { return i == o.i; } 7770: constexpr inline bool operator!=(const const_iterator &o) const { return i != o.i; } 7770: 7770: inline const_iterator &operator++() { 7770: i = i->nextNode(); 7770: return *this; 7770: } 7770: inline const_iterator operator++(int) { 7770: const_iterator r = *this; 7770: i = i->nextNode(); 7770: return r; 7770: } 7770: inline const_iterator &operator--() { 7770: i = i->previousNode(); 7770: return *this; 7770: } 7770: inline const_iterator operator--(int) { 7770: const_iterator r = *this; 7770: i = i->previousNode(); 7770: return r; 7770: } 7770: inline const_iterator operator+(int j) const 7770: { const_iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } 7770: inline const_iterator operator-(int j) const { return operator+(-j); } 7770: inline const_iterator &operator+=(int j) { return *this = *this + j; } 7770: inline const_iterator &operator-=(int j) { return *this = *this - j; } 7770: 7770: 7770: 7770: 7770: 7770: 7770: friend class QMap; 7770: }; 7770: friend class const_iterator; 7770: 7770: class key_iterator 7770: { 7770: const_iterator i; 7770: 7770: public: 7770: typedef typename const_iterator::iterator_category iterator_category; 7770: typedef typename const_iterator::difference_type difference_type; 7770: typedef Key value_type; 7770: typedef const Key *pointer; 7770: typedef const Key &reference; 7770: 7770: key_iterator() = default; 7770: explicit key_iterator(const_iterator o) : i(o) { } 7770: 7770: const Key &operator*() const { return i.key(); } 7770: const Key *operator->() const { return &i.key(); } 7770: bool operator==(key_iterator o) const { return i == o.i; } 7770: bool operator!=(key_iterator o) const { return i != o.i; } 7770: 7770: inline key_iterator &operator++() { ++i; return *this; } 7770: inline key_iterator operator++(int) { return key_iterator(i++);} 7770: inline key_iterator &operator--() { --i; return *this; } 7770: inline key_iterator operator--(int) { return key_iterator(i--); } 7770: const_iterator base() const { return i; } 7770: }; 7770: 7770: 7770: 7770: inline iterator begin() { detach(); return iterator(d->begin()); } 7770: inline const_iterator begin() const { return const_iterator(d->begin()); } 7770: inline const_iterator constBegin() const { return const_iterator(d->begin()); } 7770: inline const_iterator cbegin() const { return const_iterator(d->begin()); } 7770: inline iterator end() { detach(); return iterator(d->end()); } 7770: inline const_iterator end() const { return const_iterator(d->end()); } 7770: inline const_iterator constEnd() const { return const_iterator(d->end()); } 7770: inline const_iterator cend() const { return const_iterator(d->end()); } 7770: inline key_iterator keyBegin() const { return key_iterator(begin()); } 7770: inline key_iterator keyEnd() const { return key_iterator(end()); } 7770: iterator erase(iterator it); 7770: 7770: 7770: typedef iterator Iterator; 7770: typedef const_iterator ConstIterator; 7770: inline int count() const { return d->size; } 7770: iterator find(const Key &key); 7770: const_iterator find(const Key &key) const; 7770: const_iterator constFind(const Key &key) const; 7770: iterator lowerBound(const Key &key); 7770: const_iterator lowerBound(const Key &key) const; 7770: iterator upperBound(const Key &key); 7770: const_iterator upperBound(const Key &key) const; 7770: iterator insert(const Key &key, const T &value); 7770: iterator insert(const_iterator pos, const Key &key, const T &value); 7770: iterator insertMulti(const Key &key, const T &value); 7770: iterator insertMulti(const_iterator pos, const Key &akey, const T &avalue); 7770: QMap &unite(const QMap &other); 7770: 7770: 7770: typedef Key key_type; 7770: typedef T mapped_type; 7770: typedef qptrdiff difference_type; 7770: typedef int size_type; 7770: inline bool empty() const { return isEmpty(); } 7770: QPair equal_range(const Key &akey); 7770: QPair equal_range(const Key &akey) const; 7770: 7770: 7770: 7770: 7770: 7770: private: 7770: void detach_helper(); 7770: bool isValidIterator(const const_iterator &ci) const 7770: { 7770: 7770: 7770: 7770: 7770: 7770: 7770: (void)ci;; 7770: return true; 7770: 7770: } 7770: }; 7770: 7770: template 7770: inline QMap::QMap(const QMap &other) 7770: { 7770: if (other.d->ref.ref()) { 7770: d = other.d; 7770: } else { 7770: d = QMapData::create(); 7770: if (other.d->header.left) { 7770: d->header.left = static_cast(other.d->header.left)->copy(d); 7770: d->header.left->setParent(&d->header); 7770: d->recalcMostLeftNode(); 7770: } 7770: } 7770: } 7770: 7770: template 7770: inline QMap &QMap::operator=(const QMap &other) 7770: { 7770: if (d != other.d) { 7770: QMap tmp(other); 7770: tmp.swap(*this); 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: inline void QMap::clear() 7770: { 7770: *this = QMap(); 7770: } 7770: 7770: 7770: # 642 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmap.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 642 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmap.h" 3 4 7770: 7770: 7770: 7770: template 7770: inline const T QMap::value(const Key &akey, const T &adefaultValue) const 7770: { 7770: Node *n = d->findNode(akey); 7770: return n ? n->value : adefaultValue; 7770: } 7770: 7770: 7770: # 652 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmap.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 652 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmap.h" 3 4 7770: 7770: 7770: template 7770: inline const T QMap::operator[](const Key &akey) const 7770: { 7770: return value(akey); 7770: } 7770: 7770: template 7770: inline T &QMap::operator[](const Key &akey) 7770: { 7770: detach(); 7770: Node *n = d->findNode(akey); 7770: if (!n) 7770: return *insert(akey, T()); 7770: return n->value; 7770: } 7770: 7770: template 7770: inline int QMap::count(const Key &akey) const 7770: { 7770: Node *firstNode; 7770: Node *lastNode; 7770: d->nodeRange(akey, &firstNode, &lastNode); 7770: 7770: const_iterator ci_first(firstNode); 7770: const const_iterator ci_last(lastNode); 7770: int cnt = 0; 7770: while (ci_first != ci_last) { 7770: ++cnt; 7770: ++ci_first; 7770: } 7770: return cnt; 7770: } 7770: 7770: template 7770: inline bool QMap::contains(const Key &akey) const 7770: { 7770: return d->findNode(akey) != nullptr; 7770: } 7770: 7770: template 7770: inline typename QMap::iterator QMap::insert(const Key &akey, const T &avalue) 7770: { 7770: detach(); 7770: Node *n = d->root(); 7770: Node *y = d->end(); 7770: Node *lastNode = nullptr; 7770: bool left = true; 7770: while (n) { 7770: y = n; 7770: if (!qMapLessThanKey(n->key, akey)) { 7770: lastNode = n; 7770: left = true; 7770: n = n->leftNode(); 7770: } else { 7770: left = false; 7770: n = n->rightNode(); 7770: } 7770: } 7770: if (lastNode && !qMapLessThanKey(akey, lastNode->key)) { 7770: lastNode->value = avalue; 7770: return iterator(lastNode); 7770: } 7770: Node *z = d->createNode(akey, avalue, y, left); 7770: return iterator(z); 7770: } 7770: 7770: template 7770: typename QMap::iterator QMap::insert(const_iterator pos, const Key &akey, const T &avalue) 7770: { 7770: if (d->ref.isShared()) 7770: return this->insert(akey, avalue); 7770: 7770: do { } while ((false) && (isValidIterator(pos))); 7770: 7770: if (pos == constEnd()) { 7770: 7770: Node *n = static_cast(pos.i->left); 7770: if (n) { 7770: while (n->right) 7770: n = static_cast(n->right); 7770: 7770: if (!qMapLessThanKey(n->key, akey)) 7770: return this->insert(akey, avalue); 7770: 7770: 7770: 7770: 7770: Node *z = d->createNode(akey, avalue, n, false); 7770: return iterator(z); 7770: } 7770: return this->insert(akey, avalue); 7770: } else { 7770: 7770: 7770: Node *next = const_cast(pos.i); 7770: if (qMapLessThanKey(next->key, akey)) 7770: return this->insert(akey, avalue); 7770: 7770: if (pos == constBegin()) { 7770: 7770: 7770: if (!qMapLessThanKey(akey, next->key)) { 7770: next->value = avalue; 7770: return iterator(next); 7770: } 7770: 7770: Node *z = d->createNode(akey, avalue, begin().i, true); 7770: return iterator(z); 7770: } else { 7770: Node *prev = const_cast(pos.i->previousNode()); 7770: if (!qMapLessThanKey(prev->key, akey)) { 7770: return this->insert(akey, avalue); 7770: } 7770: 7770: if (!qMapLessThanKey(akey, next->key)) { 7770: next->value = avalue; 7770: return iterator(next); 7770: } 7770: 7770: 7770: if (prev->right == nullptr) { 7770: Node *z = d->createNode(akey, avalue, prev, false); 7770: return iterator(z); 7770: } 7770: if (next->left == nullptr) { 7770: Node *z = d->createNode(akey, avalue, next, true); 7770: return iterator(z); 7770: } 7770: do { } while ((false) && (false)); 7770: return this->insert(akey, avalue); 7770: } 7770: } 7770: } 7770: 7770: template 7770: inline typename QMap::iterator QMap::insertMulti(const Key &akey, 7770: const T &avalue) 7770: { 7770: detach(); 7770: Node* y = d->end(); 7770: Node* x = static_cast(d->root()); 7770: bool left = true; 7770: while (x != nullptr) { 7770: left = !qMapLessThanKey(x->key, akey); 7770: y = x; 7770: x = left ? x->leftNode() : x->rightNode(); 7770: } 7770: Node *z = d->createNode(akey, avalue, y, left); 7770: return iterator(z); 7770: } 7770: 7770: template 7770: typename QMap::iterator QMap::insertMulti(const_iterator pos, const Key &akey, const T &avalue) 7770: { 7770: if (d->ref.isShared()) 7770: return this->insertMulti(akey, avalue); 7770: 7770: do { } while ((false) && (isValidIterator(pos))); 7770: 7770: if (pos == constEnd()) { 7770: 7770: Node *n = static_cast(pos.i->left); 7770: if (n) { 7770: while (n->right) 7770: n = static_cast(n->right); 7770: 7770: if (!qMapLessThanKey(n->key, akey)) 7770: return this->insertMulti(akey, avalue); 7770: Node *z = d->createNode(akey, avalue, n, false); 7770: return iterator(z); 7770: } 7770: return this->insertMulti(akey, avalue); 7770: } else { 7770: 7770: 7770: Node *next = const_cast(pos.i); 7770: if (qMapLessThanKey(next->key, akey)) 7770: return this->insertMulti(akey, avalue); 7770: 7770: if (pos == constBegin()) { 7770: 7770: Node *z = d->createNode(akey, avalue, begin().i, true); 7770: return iterator(z); 7770: } else { 7770: Node *prev = const_cast(pos.i->previousNode()); 7770: if (!qMapLessThanKey(prev->key, akey)) 7770: return this->insertMulti(akey, avalue); 7770: 7770: 7770: if (prev->right == nullptr) { 7770: Node *z = d->createNode(akey, avalue, prev, false); 7770: return iterator(z); 7770: } 7770: if (next->left == nullptr) { 7770: Node *z = d->createNode(akey, avalue, next, true); 7770: return iterator(z); 7770: } 7770: do { } while ((false) && (false)); 7770: return this->insertMulti(akey, avalue); 7770: } 7770: } 7770: } 7770: 7770: 7770: template 7770: inline typename QMap::const_iterator QMap::constFind(const Key &akey) const 7770: { 7770: Node *n = d->findNode(akey); 7770: return const_iterator(n ? n : d->end()); 7770: } 7770: 7770: template 7770: inline typename QMap::const_iterator QMap::find(const Key &akey) const 7770: { 7770: return constFind(akey); 7770: } 7770: 7770: template 7770: inline typename QMap::iterator QMap::find(const Key &akey) 7770: { 7770: detach(); 7770: Node *n = d->findNode(akey); 7770: return iterator(n ? n : d->end()); 7770: } 7770: 7770: template 7770: inline QMap &QMap::unite(const QMap &other) 7770: { 7770: QMap copy(other); 7770: const_iterator it = copy.constEnd(); 7770: const const_iterator b = copy.constBegin(); 7770: while (it != b) { 7770: --it; 7770: insertMulti(it.key(), it.value()); 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: QPair::iterator, typename QMap::iterator> QMap::equal_range(const Key &akey) 7770: { 7770: detach(); 7770: Node *firstNode, *lastNode; 7770: d->nodeRange(akey, &firstNode, &lastNode); 7770: return QPair(iterator(firstNode), iterator(lastNode)); 7770: } 7770: 7770: template 7770: QPair::const_iterator, typename QMap::const_iterator> 7770: QMap::equal_range(const Key &akey) const 7770: { 7770: Node *firstNode, *lastNode; 7770: d->nodeRange(akey, &firstNode, &lastNode); 7770: return qMakePair(const_iterator(firstNode), const_iterator(lastNode)); 7770: } 7770: # 932 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmap.h" 3 4 7770: template 7770: int QMap::remove(const Key &akey) 7770: { 7770: detach(); 7770: int n = 0; 7770: while (Node *node = d->findNode(akey)) { 7770: d->deleteNode(node); 7770: ++n; 7770: } 7770: return n; 7770: } 7770: 7770: template 7770: T QMap::take(const Key &akey) 7770: { 7770: detach(); 7770: 7770: Node *node = d->findNode(akey); 7770: if (node) { 7770: T t = node->value; 7770: d->deleteNode(node); 7770: return t; 7770: } 7770: return T(); 7770: } 7770: 7770: template 7770: typename QMap::iterator QMap::erase(iterator it) 7770: { 7770: if (it == iterator(d->end())) 7770: return it; 7770: 7770: do { } while ((false) && (isValidIterator(const_iterator(it)))); 7770: 7770: if (d->ref.isShared()) { 7770: const_iterator oldBegin = constBegin(); 7770: const_iterator old = const_iterator(it); 7770: int backStepsWithSameKey = 0; 7770: 7770: while (old != oldBegin) { 7770: --old; 7770: if (qMapLessThanKey(old.key(), it.key())) 7770: break; 7770: ++backStepsWithSameKey; 7770: } 7770: 7770: it = find(old.key()); 7770: do { } while ((false) && (it != iterator(d->end()))); 7770: 7770: while (backStepsWithSameKey > 0) { 7770: ++it; 7770: --backStepsWithSameKey; 7770: } 7770: } 7770: 7770: Node *n = it.i; 7770: ++it; 7770: d->deleteNode(n); 7770: return it; 7770: } 7770: 7770: template 7770: void QMap::detach_helper() 7770: { 7770: QMapData *x = QMapData::create(); 7770: if (d->header.left) { 7770: x->header.left = static_cast(d->header.left)->copy(x); 7770: x->header.left->setParent(&x->header); 7770: } 7770: if (!d->ref.deref()) 7770: d->destroy(); 7770: d = x; 7770: d->recalcMostLeftNode(); 7770: } 7770: 7770: template 7770: QList QMap::uniqueKeys() const 7770: { 7770: QList res; 7770: res.reserve(size()); 7770: const_iterator i = begin(); 7770: if (i != end()) { 7770: for (;;) { 7770: const Key &aKey = i.key(); 7770: res.append(aKey); 7770: do { 7770: if (++i == end()) 7770: goto break_out_of_outer_loop; 7770: } while (!qMapLessThanKey(aKey, i.key())); 7770: } 7770: } 7770: break_out_of_outer_loop: 7770: return res; 7770: } 7770: 7770: template 7770: QList QMap::keys() const 7770: { 7770: QList res; 7770: res.reserve(size()); 7770: const_iterator i = begin(); 7770: while (i != end()) { 7770: res.append(i.key()); 7770: ++i; 7770: } 7770: return res; 7770: } 7770: 7770: template 7770: QList QMap::keys(const T &avalue) const 7770: { 7770: QList res; 7770: const_iterator i = begin(); 7770: while (i != end()) { 7770: if (i.value() == avalue) 7770: res.append(i.key()); 7770: ++i; 7770: } 7770: return res; 7770: } 7770: 7770: template 7770: const Key QMap::key(const T &avalue, const Key &defaultKey) const 7770: { 7770: const_iterator i = begin(); 7770: while (i != end()) { 7770: if (i.value() == avalue) 7770: return i.key(); 7770: ++i; 7770: } 7770: 7770: return defaultKey; 7770: } 7770: 7770: template 7770: QList QMap::values() const 7770: { 7770: QList res; 7770: res.reserve(size()); 7770: const_iterator i = begin(); 7770: while (i != end()) { 7770: res.append(i.value()); 7770: ++i; 7770: } 7770: return res; 7770: } 7770: 7770: template 7770: QList QMap::values(const Key &akey) const 7770: { 7770: QList res; 7770: Node *n = d->findNode(akey); 7770: if (n) { 7770: const_iterator it(n); 7770: do { 7770: res.append(*it); 7770: ++it; 7770: } while (it != constEnd() && !qMapLessThanKey(akey, it.key())); 7770: } 7770: return res; 7770: } 7770: 7770: template 7770: inline typename QMap::const_iterator QMap::lowerBound(const Key &akey) const 7770: { 7770: Node *lb = d->root() ? d->root()->lowerBound(akey) : nullptr; 7770: if (!lb) 7770: lb = d->end(); 7770: return const_iterator(lb); 7770: } 7770: 7770: template 7770: inline typename QMap::iterator QMap::lowerBound(const Key &akey) 7770: { 7770: detach(); 7770: Node *lb = d->root() ? d->root()->lowerBound(akey) : nullptr; 7770: if (!lb) 7770: lb = d->end(); 7770: return iterator(lb); 7770: } 7770: 7770: template 7770: inline typename QMap::const_iterator 7770: QMap::upperBound(const Key &akey) const 7770: { 7770: Node *ub = d->root() ? d->root()->upperBound(akey) : nullptr; 7770: if (!ub) 7770: ub = d->end(); 7770: return const_iterator(ub); 7770: } 7770: 7770: template 7770: inline typename QMap::iterator QMap::upperBound(const Key &akey) 7770: { 7770: detach(); 7770: Node *ub = d->root() ? d->root()->upperBound(akey) : nullptr; 7770: if (!ub) 7770: ub = d->end(); 7770: return iterator(ub); 7770: } 7770: 7770: template 7770: bool QMap::operator==(const QMap &other) const 7770: { 7770: if (size() != other.size()) 7770: return false; 7770: if (d == other.d) 7770: return true; 7770: 7770: const_iterator it1 = begin(); 7770: const_iterator it2 = other.begin(); 7770: 7770: while (it1 != end()) { 7770: if (!(it1.value() == it2.value()) || qMapLessThanKey(it1.key(), it2.key()) || qMapLessThanKey(it2.key(), it1.key())) 7770: return false; 7770: ++it2; 7770: ++it1; 7770: } 7770: return true; 7770: } 7770: 7770: template 7770: QMap::QMap(const std::map &other) 7770: { 7770: d = QMapData::create(); 7770: typename std::map::const_iterator it = other.end(); 7770: while (it != other.begin()) { 7770: --it; 7770: d->createNode((*it).first, (*it).second, d->begin(), true); 7770: } 7770: } 7770: 7770: template 7770: std::map QMap::toStdMap() const 7770: { 7770: std::map map; 7770: const_iterator it = end(); 7770: while (it != begin()) { 7770: --it; 7770: map.insert(map.begin(), std::pair(it.key(), it.value())); 7770: } 7770: return map; 7770: } 7770: 7770: template 7770: class QMultiMap : public QMap 7770: { 7770: public: 7770: QMultiMap() noexcept {} 7770: 7770: inline QMultiMap(std::initializer_list > list) 7770: { 7770: for (typename std::initializer_list >::const_iterator it = list.begin(); it != list.end(); ++it) 7770: insert(it->first, it->second); 7770: } 7770: 7770: QMultiMap(const QMap &other) : QMap(other) {} 7770: 7770: QMultiMap(QMap &&other) noexcept : QMap(std::move(other)) {} 7770: 7770: void swap(QMultiMap &other) noexcept { QMap::swap(other); } 7770: 7770: inline typename QMap::iterator replace(const Key &key, const T &value) 7770: { return QMap::insert(key, value); } 7770: inline typename QMap::iterator insert(const Key &key, const T &value) 7770: { return QMap::insertMulti(key, value); } 7770: inline typename QMap::iterator insert(typename QMap::const_iterator pos, const Key &key, const T &value) 7770: { return QMap::insertMulti(pos, key, value); } 7770: 7770: inline QMultiMap &operator+=(const QMultiMap &other) 7770: { this->unite(other); return *this; } 7770: inline QMultiMap operator+(const QMultiMap &other) const 7770: { QMultiMap result = *this; result += other; return result; } 7770: 7770: using QMap::contains; 7770: using QMap::remove; 7770: using QMap::count; 7770: using QMap::find; 7770: using QMap::constFind; 7770: 7770: bool contains(const Key &key, const T &value) const; 7770: 7770: int remove(const Key &key, const T &value); 7770: 7770: int count(const Key &key, const T &value) const; 7770: 7770: typename QMap::iterator find(const Key &key, const T &value) { 7770: typename QMap::iterator i(find(key)); 7770: typename QMap::iterator end(this->end()); 7770: while (i != end && !qMapLessThanKey(key, i.key())) { 7770: if (i.value() == value) 7770: return i; 7770: ++i; 7770: } 7770: return end; 7770: } 7770: typename QMap::const_iterator find(const Key &key, const T &value) const { 7770: typename QMap::const_iterator i(constFind(key)); 7770: typename QMap::const_iterator end(QMap::constEnd()); 7770: while (i != end && !qMapLessThanKey(key, i.key())) { 7770: if (i.value() == value) 7770: return i; 7770: ++i; 7770: } 7770: return end; 7770: } 7770: typename QMap::const_iterator constFind(const Key &key, const T &value) const 7770: { return find(key, value); } 7770: private: 7770: T &operator[](const Key &key); 7770: const T operator[](const Key &key) const; 7770: }; 7770: 7770: template 7770: inline bool QMultiMap::contains(const Key &key, const T &value) const 7770: { 7770: return constFind(key, value) != QMap::constEnd(); 7770: } 7770: 7770: template 7770: inline int QMultiMap::remove(const Key &key, const T &value) 7770: { 7770: int n = 0; 7770: typename QMap::iterator i(find(key)); 7770: typename QMap::iterator end(QMap::end()); 7770: while (i != end && !qMapLessThanKey(key, i.key())) { 7770: if (i.value() == value) { 7770: i = this->erase(i); 7770: ++n; 7770: } else { 7770: ++i; 7770: } 7770: } 7770: return n; 7770: } 7770: 7770: template 7770: inline int QMultiMap::count(const Key &key, const T &value) const 7770: { 7770: int n = 0; 7770: typename QMap::const_iterator i(constFind(key)); 7770: typename QMap::const_iterator end(QMap::constEnd()); 7770: while (i != end && !qMapLessThanKey(key, i.key())) { 7770: if (i.value() == value) 7770: ++n; 7770: ++i; 7770: } 7770: return n; 7770: } 7770: 7770: 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; } }; 7770: 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; } }; 7770: 7770: 7770: # 48 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvariant.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qhash.h" 1 3 4 7770: # 62 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qhash.h" 3 4 7770: 7770: 7770: struct __attribute__((visibility("default"))) QHashData 7770: { 7770: struct Node { 7770: Node *next; 7770: uint h; 7770: }; 7770: 7770: Node *fakeNext; 7770: Node **buckets; 7770: QtPrivate::RefCount ref; 7770: int size; 7770: int nodeSize; 7770: short userNumBits; 7770: short numBits; 7770: int numBuckets; 7770: uint seed; 7770: uint sharable : 1; 7770: uint strictAlignment : 1; 7770: uint reserved : 30; 7770: 7770: void *allocateNode(int nodeAlign); 7770: void freeNode(void *node); 7770: QHashData *detach_helper(void (*node_duplicate)(Node *, void *), void (*node_delete)(Node *), 7770: int nodeSize, int nodeAlign); 7770: bool willGrow(); 7770: void hasShrunk(); 7770: void rehash(int hint); 7770: void free_helper(void (*node_delete)(Node *)); 7770: Node *firstNode(); 7770: 7770: 7770: 7770: 7770: static Node *nextNode(Node *node); 7770: static Node *previousNode(Node *node); 7770: 7770: static const QHashData shared_null; 7770: }; 7770: 7770: inline bool QHashData::willGrow() 7770: { 7770: if (size >= numBuckets) { 7770: rehash(numBits + 1); 7770: return true; 7770: } else { 7770: return false; 7770: } 7770: } 7770: 7770: inline void QHashData::hasShrunk() 7770: { 7770: if (size <= (numBuckets >> 3) && numBits > userNumBits) { 7770: if (true) { 7770: rehash(qMax(int(numBits) - 2, int(userNumBits))); 7770: } else { 7770: 7770: } 7770: } 7770: } 7770: 7770: inline QHashData::Node *QHashData::firstNode() 7770: { 7770: Node *e = reinterpret_cast(this); 7770: Node **bucket = buckets; 7770: int n = numBuckets; 7770: while (n--) { 7770: if (*bucket != e) 7770: return *bucket; 7770: ++bucket; 7770: } 7770: return e; 7770: } 7770: 7770: struct QHashDummyValue 7770: { 7770: }; 7770: 7770: inline bool operator==(const QHashDummyValue & , const QHashDummyValue & ) 7770: { 7770: return true; 7770: } 7770: 7770: 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"; } }; 7770: 7770: template 7770: struct QHashNode 7770: { 7770: QHashNode *next; 7770: const uint h; 7770: const Key key; 7770: T value; 7770: 7770: inline QHashNode(const Key &key0, const T &value0, uint hash, QHashNode *n) 7770: : next(n), h(hash), key(key0), value(value0) {} 7770: inline bool same_key(uint h0, const Key &key0) const { return h0 == h && key0 == key; } 7770: 7770: private: 7770: QHashNode(const QHashNode &) = delete; QHashNode &operator=(const QHashNode &) = delete; 7770: }; 7770: 7770: 7770: template 7770: struct QHashNode 7770: { 7770: union { 7770: QHashNode *next; 7770: QHashDummyValue value; 7770: }; 7770: const uint h; 7770: const Key key; 7770: 7770: inline QHashNode(const Key &key0, const QHashDummyValue &, uint hash, QHashNode *n) 7770: : next(n), h(hash), key(key0) {} 7770: inline bool same_key(uint h0, const Key &key0) const { return h0 == h && key0 == key; } 7770: 7770: private: 7770: QHashNode(const QHashNode &) = delete; QHashNode &operator=(const QHashNode &) = delete; 7770: }; 7770: # 226 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qhash.h" 3 4 7770: template 7770: class QHash 7770: { 7770: typedef QHashNode Node; 7770: 7770: union { 7770: QHashData *d; 7770: QHashNode *e; 7770: }; 7770: 7770: static inline Node *concrete(QHashData::Node *node) { 7770: return reinterpret_cast(node); 7770: } 7770: 7770: static inline int alignOfNode() { return qMax(sizeof(void*), alignof(Node)); } 7770: 7770: public: 7770: inline QHash() noexcept : d(const_cast(&QHashData::shared_null)) { } 7770: 7770: inline QHash(std::initializer_list > list) 7770: : d(const_cast(&QHashData::shared_null)) 7770: { 7770: reserve(int(list.size())); 7770: for (typename std::initializer_list >::const_iterator it = list.begin(); it != list.end(); ++it) 7770: insert(it->first, it->second); 7770: } 7770: 7770: QHash(const QHash &other) : d(other.d) { d->ref.ref(); if (!d->sharable) detach(); } 7770: ~QHash() { if (!d->ref.deref()) freeData(d); } 7770: 7770: QHash &operator=(const QHash &other); 7770: 7770: QHash(QHash &&other) noexcept : d(other.d) { other.d = const_cast(&QHashData::shared_null); } 7770: QHash &operator=(QHash &&other) noexcept 7770: { QHash moved(std::move(other)); swap(moved); return *this; } 7770: 7770: void swap(QHash &other) noexcept { qSwap(d, other.d); } 7770: 7770: bool operator==(const QHash &other) const; 7770: bool operator!=(const QHash &other) const { return !(*this == other); } 7770: 7770: inline int size() const { return d->size; } 7770: 7770: inline bool isEmpty() const { return d->size == 0; } 7770: 7770: inline int capacity() const { return d->numBuckets; } 7770: void reserve(int size); 7770: inline void squeeze() { reserve(1); } 7770: 7770: inline void detach() { if (d->ref.isShared()) detach_helper(); } 7770: inline bool isDetached() const { return !d->ref.isShared(); } 7770: 7770: inline void setSharable(bool sharable) { if (!sharable) detach(); if (d != &QHashData::shared_null) d->sharable = sharable; } 7770: 7770: bool isSharedWith(const QHash &other) const { return d == other.d; } 7770: 7770: void clear(); 7770: 7770: int remove(const Key &key); 7770: T take(const Key &key); 7770: 7770: bool contains(const Key &key) const; 7770: const Key key(const T &value) const; 7770: const Key key(const T &value, const Key &defaultKey) const; 7770: const T value(const Key &key) const; 7770: const T value(const Key &key, const T &defaultValue) const; 7770: T &operator[](const Key &key); 7770: const T operator[](const Key &key) const; 7770: 7770: QList uniqueKeys() const; 7770: QList keys() const; 7770: QList keys(const T &value) const; 7770: QList values() const; 7770: QList values(const Key &key) const; 7770: int count(const Key &key) const; 7770: 7770: class const_iterator; 7770: 7770: class iterator 7770: { 7770: friend class const_iterator; 7770: friend class QHash; 7770: friend class QSet; 7770: QHashData::Node *i; 7770: 7770: public: 7770: typedef std::bidirectional_iterator_tag iterator_category; 7770: typedef qptrdiff difference_type; 7770: typedef T value_type; 7770: typedef T *pointer; 7770: typedef T &reference; 7770: 7770: inline iterator() : i(nullptr) { } 7770: explicit inline iterator(void *node) : i(reinterpret_cast(node)) { } 7770: 7770: inline const Key &key() const { return concrete(i)->key; } 7770: inline T &value() const { return concrete(i)->value; } 7770: inline T &operator*() const { return concrete(i)->value; } 7770: inline T *operator->() const { return &concrete(i)->value; } 7770: inline bool operator==(const iterator &o) const { return i == o.i; } 7770: inline bool operator!=(const iterator &o) const { return i != o.i; } 7770: 7770: inline iterator &operator++() { 7770: i = QHashData::nextNode(i); 7770: return *this; 7770: } 7770: inline iterator operator++(int) { 7770: iterator r = *this; 7770: i = QHashData::nextNode(i); 7770: return r; 7770: } 7770: inline iterator &operator--() { 7770: i = QHashData::previousNode(i); 7770: return *this; 7770: } 7770: inline iterator operator--(int) { 7770: iterator r = *this; 7770: i = QHashData::previousNode(i); 7770: return r; 7770: } 7770: inline iterator operator+(int j) const 7770: { iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } 7770: inline iterator operator-(int j) const { return operator+(-j); } 7770: inline iterator &operator+=(int j) { return *this = *this + j; } 7770: inline iterator &operator-=(int j) { return *this = *this - j; } 7770: 7770: 7770: public: 7770: inline bool operator==(const const_iterator &o) const 7770: { return i == o.i; } 7770: inline bool operator!=(const const_iterator &o) const 7770: { return i != o.i; } 7770: 7770: }; 7770: friend class iterator; 7770: 7770: class const_iterator 7770: { 7770: friend class iterator; 7770: friend class QHash; 7770: friend class QSet; 7770: QHashData::Node *i; 7770: 7770: public: 7770: typedef std::bidirectional_iterator_tag iterator_category; 7770: typedef qptrdiff difference_type; 7770: typedef T value_type; 7770: typedef const T *pointer; 7770: typedef const T &reference; 7770: 7770: constexpr inline const_iterator() : i(nullptr) { } 7770: explicit inline const_iterator(void *node) 7770: : i(reinterpret_cast(node)) { } 7770: 7770: 7770: 7770: inline const_iterator(const iterator &o) 7770: 7770: { i = o.i; } 7770: 7770: inline const Key &key() const { return concrete(i)->key; } 7770: inline const T &value() const { return concrete(i)->value; } 7770: inline const T &operator*() const { return concrete(i)->value; } 7770: inline const T *operator->() const { return &concrete(i)->value; } 7770: constexpr inline bool operator==(const const_iterator &o) const { return i == o.i; } 7770: constexpr inline bool operator!=(const const_iterator &o) const { return i != o.i; } 7770: 7770: inline const_iterator &operator++() { 7770: i = QHashData::nextNode(i); 7770: return *this; 7770: } 7770: inline const_iterator operator++(int) { 7770: const_iterator r = *this; 7770: i = QHashData::nextNode(i); 7770: return r; 7770: } 7770: inline const_iterator &operator--() { 7770: i = QHashData::previousNode(i); 7770: return *this; 7770: } 7770: inline const_iterator operator--(int) { 7770: const_iterator r = *this; 7770: i = QHashData::previousNode(i); 7770: return r; 7770: } 7770: inline const_iterator operator+(int j) const 7770: { const_iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } 7770: inline const_iterator operator-(int j) const { return operator+(-j); } 7770: inline const_iterator &operator+=(int j) { return *this = *this + j; } 7770: inline const_iterator &operator-=(int j) { return *this = *this - j; } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: }; 7770: friend class const_iterator; 7770: 7770: class key_iterator 7770: { 7770: const_iterator i; 7770: 7770: public: 7770: typedef typename const_iterator::iterator_category iterator_category; 7770: typedef typename const_iterator::difference_type difference_type; 7770: typedef Key value_type; 7770: typedef const Key *pointer; 7770: typedef const Key &reference; 7770: 7770: key_iterator() = default; 7770: explicit key_iterator(const_iterator o) : i(o) { } 7770: 7770: const Key &operator*() const { return i.key(); } 7770: const Key *operator->() const { return &i.key(); } 7770: bool operator==(key_iterator o) const { return i == o.i; } 7770: bool operator!=(key_iterator o) const { return i != o.i; } 7770: 7770: inline key_iterator &operator++() { ++i; return *this; } 7770: inline key_iterator operator++(int) { return key_iterator(i++);} 7770: inline key_iterator &operator--() { --i; return *this; } 7770: inline key_iterator operator--(int) { return key_iterator(i--); } 7770: const_iterator base() const { return i; } 7770: }; 7770: 7770: 7770: inline iterator begin() { detach(); return iterator(d->firstNode()); } 7770: inline const_iterator begin() const { return const_iterator(d->firstNode()); } 7770: inline const_iterator cbegin() const { return const_iterator(d->firstNode()); } 7770: inline const_iterator constBegin() const { return const_iterator(d->firstNode()); } 7770: inline iterator end() { detach(); return iterator(e); } 7770: inline const_iterator end() const { return const_iterator(e); } 7770: inline const_iterator cend() const { return const_iterator(e); } 7770: inline const_iterator constEnd() const { return const_iterator(e); } 7770: inline key_iterator keyBegin() const { return key_iterator(begin()); } 7770: inline key_iterator keyEnd() const { return key_iterator(end()); } 7770: 7770: QPair equal_range(const Key &key); 7770: QPair equal_range(const Key &key) const noexcept; 7770: iterator erase(iterator it) { return erase(const_iterator(it.i)); } 7770: iterator erase(const_iterator it); 7770: 7770: 7770: typedef iterator Iterator; 7770: typedef const_iterator ConstIterator; 7770: inline int count() const { return d->size; } 7770: iterator find(const Key &key); 7770: const_iterator find(const Key &key) const; 7770: const_iterator constFind(const Key &key) const; 7770: iterator insert(const Key &key, const T &value); 7770: iterator insertMulti(const Key &key, const T &value); 7770: QHash &unite(const QHash &other); 7770: 7770: 7770: typedef T mapped_type; 7770: typedef Key key_type; 7770: typedef qptrdiff difference_type; 7770: typedef int size_type; 7770: 7770: inline bool empty() const { return isEmpty(); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: private: 7770: void detach_helper(); 7770: void freeData(QHashData *d); 7770: Node **findNode(const Key &key, uint *hp = nullptr) const; 7770: Node **findNode(const Key &key, uint h) const; 7770: Node *createNode(uint h, const Key &key, const T &value, Node **nextNode); 7770: void deleteNode(Node *node); 7770: static void deleteNode2(QHashData::Node *node); 7770: 7770: static void duplicateNode(QHashData::Node *originalNode, void *newNode); 7770: 7770: bool isValidIterator(const iterator &it) const noexcept 7770: { return isValidNode(it.i); } 7770: bool isValidIterator(const const_iterator &it) const noexcept 7770: { return isValidNode(it.i); } 7770: bool isValidNode(QHashData::Node *node) const noexcept 7770: { 7770: 7770: 7770: 7770: 7770: 7770: (void)node;; 7770: return true; 7770: 7770: } 7770: friend class QSet; 7770: }; 7770: 7770: 7770: template 7770: inline void QHash::deleteNode(Node *node) 7770: { 7770: deleteNode2(reinterpret_cast(node)); 7770: d->freeNode(node); 7770: } 7770: 7770: template 7770: inline void QHash::deleteNode2(QHashData::Node *node) 7770: { 7770: 7770: 7770: 7770: concrete(node)->~Node(); 7770: 7770: } 7770: 7770: template 7770: inline void QHash::duplicateNode(QHashData::Node *node, void *newNode) 7770: { 7770: Node *concreteNode = concrete(node); 7770: new (newNode) Node(concreteNode->key, concreteNode->value, concreteNode->h, nullptr); 7770: } 7770: 7770: template 7770: inline typename QHash::Node * 7770: QHash::createNode(uint ah, const Key &akey, const T &avalue, Node **anextNode) 7770: { 7770: Node *node = new (d->allocateNode(alignOfNode())) Node(akey, avalue, ah, *anextNode); 7770: *anextNode = node; 7770: ++d->size; 7770: return node; 7770: } 7770: 7770: template 7770: inline QHash &QHash::unite(const QHash &other) 7770: { 7770: if (d == &QHashData::shared_null) { 7770: *this = other; 7770: } else { 7770: QHash copy(other); 7770: const_iterator it = copy.constEnd(); 7770: while (it != copy.constBegin()) { 7770: --it; 7770: insertMulti(it.key(), it.value()); 7770: } 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: void QHash::freeData(QHashData *x) 7770: { 7770: x->free_helper(deleteNode2); 7770: } 7770: 7770: template 7770: inline void QHash::clear() 7770: { 7770: *this = QHash(); 7770: } 7770: 7770: template 7770: void QHash::detach_helper() 7770: { 7770: QHashData *x = d->detach_helper(duplicateNode, deleteNode2, sizeof(Node), alignOfNode()); 7770: if (!d->ref.deref()) 7770: freeData(d); 7770: d = x; 7770: } 7770: 7770: template 7770: inline QHash &QHash::operator=(const QHash &other) 7770: { 7770: if (d != other.d) { 7770: QHashData *o = other.d; 7770: o->ref.ref(); 7770: if (!d->ref.deref()) 7770: freeData(d); 7770: d = o; 7770: if (!d->sharable) 7770: detach_helper(); 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: inline const T QHash::value(const Key &akey) const 7770: { 7770: Node *node; 7770: if (d->size == 0 || (node = *findNode(akey)) == e) { 7770: return T(); 7770: } else { 7770: return node->value; 7770: } 7770: } 7770: 7770: template 7770: inline const T QHash::value(const Key &akey, const T &adefaultValue) const 7770: { 7770: Node *node; 7770: if (d->size == 0 || (node = *findNode(akey)) == e) { 7770: return adefaultValue; 7770: } else { 7770: return node->value; 7770: } 7770: } 7770: 7770: template 7770: QList QHash::uniqueKeys() const 7770: { 7770: QList res; 7770: res.reserve(size()); 7770: const_iterator i = begin(); 7770: if (i != end()) { 7770: for (;;) { 7770: const Key &aKey = i.key(); 7770: res.append(aKey); 7770: do { 7770: if (++i == end()) 7770: goto break_out_of_outer_loop; 7770: } while (aKey == i.key()); 7770: } 7770: } 7770: break_out_of_outer_loop: 7770: return res; 7770: } 7770: 7770: template 7770: QList QHash::keys() const 7770: { 7770: QList res; 7770: res.reserve(size()); 7770: const_iterator i = begin(); 7770: while (i != end()) { 7770: res.append(i.key()); 7770: ++i; 7770: } 7770: return res; 7770: } 7770: 7770: template 7770: QList QHash::keys(const T &avalue) const 7770: { 7770: QList res; 7770: const_iterator i = begin(); 7770: while (i != end()) { 7770: if (i.value() == avalue) 7770: res.append(i.key()); 7770: ++i; 7770: } 7770: return res; 7770: } 7770: 7770: template 7770: const Key QHash::key(const T &avalue) const 7770: { 7770: return key(avalue, Key()); 7770: } 7770: 7770: template 7770: const Key QHash::key(const T &avalue, const Key &defaultValue) const 7770: { 7770: const_iterator i = begin(); 7770: while (i != end()) { 7770: if (i.value() == avalue) 7770: return i.key(); 7770: ++i; 7770: } 7770: 7770: return defaultValue; 7770: } 7770: 7770: template 7770: QList QHash::values() const 7770: { 7770: QList res; 7770: res.reserve(size()); 7770: const_iterator i = begin(); 7770: while (i != end()) { 7770: res.append(i.value()); 7770: ++i; 7770: } 7770: return res; 7770: } 7770: 7770: template 7770: QList QHash::values(const Key &akey) const 7770: { 7770: QList res; 7770: Node *node = *findNode(akey); 7770: if (node != e) { 7770: do { 7770: res.append(node->value); 7770: } while ((node = node->next) != e && node->key == akey); 7770: } 7770: return res; 7770: } 7770: 7770: template 7770: int QHash::count(const Key &akey) const 7770: { 7770: int cnt = 0; 7770: Node *node = *findNode(akey); 7770: if (node != e) { 7770: do { 7770: ++cnt; 7770: } while ((node = node->next) != e && node->key == akey); 7770: } 7770: return cnt; 7770: } 7770: 7770: template 7770: inline const T QHash::operator[](const Key &akey) const 7770: { 7770: return value(akey); 7770: } 7770: 7770: template 7770: inline T &QHash::operator[](const Key &akey) 7770: { 7770: detach(); 7770: 7770: uint h; 7770: Node **node = findNode(akey, &h); 7770: if (*node == e) { 7770: if (d->willGrow()) 7770: node = findNode(akey, h); 7770: return createNode(h, akey, T(), node)->value; 7770: } 7770: return (*node)->value; 7770: } 7770: 7770: template 7770: inline typename QHash::iterator QHash::insert(const Key &akey, 7770: const T &avalue) 7770: { 7770: detach(); 7770: 7770: uint h; 7770: Node **node = findNode(akey, &h); 7770: if (*node == e) { 7770: if (d->willGrow()) 7770: node = findNode(akey, h); 7770: return iterator(createNode(h, akey, avalue, node)); 7770: } 7770: 7770: if (!std::is_same::value) 7770: (*node)->value = avalue; 7770: return iterator(*node); 7770: } 7770: 7770: template 7770: inline typename QHash::iterator QHash::insertMulti(const Key &akey, 7770: const T &avalue) 7770: { 7770: detach(); 7770: d->willGrow(); 7770: 7770: uint h; 7770: Node **nextNode = findNode(akey, &h); 7770: return iterator(createNode(h, akey, avalue, nextNode)); 7770: } 7770: 7770: template 7770: int QHash::remove(const Key &akey) 7770: { 7770: if (isEmpty()) 7770: return 0; 7770: detach(); 7770: 7770: int oldSize = d->size; 7770: Node **node = findNode(akey); 7770: if (*node != e) { 7770: bool deleteNext = true; 7770: do { 7770: Node *next = (*node)->next; 7770: deleteNext = (next != e && next->key == (*node)->key); 7770: deleteNode(*node); 7770: *node = next; 7770: --d->size; 7770: } while (deleteNext); 7770: d->hasShrunk(); 7770: } 7770: return oldSize - d->size; 7770: } 7770: 7770: template 7770: T QHash::take(const Key &akey) 7770: { 7770: if (isEmpty()) 7770: return T(); 7770: detach(); 7770: 7770: Node **node = findNode(akey); 7770: if (*node != e) { 7770: T t = (*node)->value; 7770: Node *next = (*node)->next; 7770: deleteNode(*node); 7770: *node = next; 7770: --d->size; 7770: d->hasShrunk(); 7770: return t; 7770: } 7770: return T(); 7770: } 7770: 7770: template 7770: typename QHash::iterator QHash::erase(const_iterator it) 7770: { 7770: do { } while ((false) && (isValidIterator(it))); 7770: 7770: if (it == const_iterator(e)) 7770: return iterator(it.i); 7770: 7770: if (d->ref.isShared()) { 7770: 7770: int bucketNum = (it.i->h % d->numBuckets); 7770: const_iterator bucketIterator(*(d->buckets + bucketNum)); 7770: int stepsFromBucketStartToIte = 0; 7770: while (bucketIterator != it) { 7770: ++stepsFromBucketStartToIte; 7770: ++bucketIterator; 7770: } 7770: detach(); 7770: it = const_iterator(*(d->buckets + bucketNum)); 7770: while (stepsFromBucketStartToIte > 0) { 7770: --stepsFromBucketStartToIte; 7770: ++it; 7770: } 7770: } 7770: 7770: iterator ret(it.i); 7770: ++ret; 7770: 7770: Node *node = concrete(it.i); 7770: Node **node_ptr = reinterpret_cast(&d->buckets[node->h % d->numBuckets]); 7770: while (*node_ptr != node) 7770: node_ptr = &(*node_ptr)->next; 7770: *node_ptr = node->next; 7770: deleteNode(node); 7770: --d->size; 7770: return ret; 7770: } 7770: 7770: template 7770: inline void QHash::reserve(int asize) 7770: { 7770: detach(); 7770: d->rehash(-qMax(asize, 1)); 7770: } 7770: 7770: template 7770: inline typename QHash::const_iterator QHash::find(const Key &akey) const 7770: { 7770: return const_iterator(*findNode(akey)); 7770: } 7770: 7770: template 7770: inline typename QHash::const_iterator QHash::constFind(const Key &akey) const 7770: { 7770: return const_iterator(*findNode(akey)); 7770: } 7770: 7770: template 7770: inline typename QHash::iterator QHash::find(const Key &akey) 7770: { 7770: detach(); 7770: return iterator(*findNode(akey)); 7770: } 7770: 7770: template 7770: inline bool QHash::contains(const Key &akey) const 7770: { 7770: return *findNode(akey) != e; 7770: } 7770: 7770: template 7770: typename QHash::Node **QHash::findNode(const Key &akey, uint h) const 7770: { 7770: Node **node; 7770: 7770: if (d->numBuckets) { 7770: node = reinterpret_cast(&d->buckets[h % d->numBuckets]); 7770: do { } while ((false) && (*node == e || (*node)->next)); 7770: while (*node != e && !(*node)->same_key(h, akey)) 7770: node = &(*node)->next; 7770: } else { 7770: node = const_cast(reinterpret_cast(&e)); 7770: } 7770: return node; 7770: } 7770: 7770: template 7770: typename QHash::Node **QHash::findNode(const Key &akey, 7770: uint *ahp) const 7770: { 7770: uint h = 0; 7770: 7770: if (d->numBuckets || ahp) { 7770: h = qHash(akey, d->seed); 7770: if (ahp) 7770: *ahp = h; 7770: } 7770: return findNode(akey, h); 7770: } 7770: 7770: template 7770: bool QHash::operator==(const QHash &other) const 7770: { 7770: if (size() != other.size()) 7770: return false; 7770: if (d == other.d) 7770: return true; 7770: 7770: const_iterator it = begin(); 7770: 7770: while (it != end()) { 7770: 7770: 7770: auto thisEqualRangeEnd = it; 7770: while (thisEqualRangeEnd != end() && it.key() == thisEqualRangeEnd.key()) 7770: ++thisEqualRangeEnd; 7770: 7770: const auto otherEqualRange = other.equal_range(it.key()); 7770: 7770: if (std::distance(it, thisEqualRangeEnd) != std::distance(otherEqualRange.first, otherEqualRange.second)) 7770: return false; 7770: # 962 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qhash.h" 3 4 7770: if (!std::is_permutation(it, thisEqualRangeEnd, otherEqualRange.first 7770: 7770: 7770: 7770: )) { 7770: return false; 7770: } 7770: 7770: it = thisEqualRangeEnd; 7770: } 7770: 7770: return true; 7770: } 7770: 7770: template 7770: QPair::iterator, typename QHash::iterator> QHash::equal_range(const Key &akey) 7770: { 7770: detach(); 7770: auto pair = qAsConst(*this).equal_range(akey); 7770: return qMakePair(iterator(pair.first.i), iterator(pair.second.i)); 7770: } 7770: 7770: template 7770: QPair::const_iterator, typename QHash::const_iterator> QHash::equal_range(const Key &akey) const noexcept 7770: { 7770: Node *node = *findNode(akey); 7770: const_iterator firstIt = const_iterator(node); 7770: 7770: if (node != e) { 7770: 7770: 7770: 7770: 7770: while (node->next != e && node->next->key == akey) 7770: node = node->next; 7770: 7770: 7770: 7770: 7770: 7770: node = concrete(QHashData::nextNode(reinterpret_cast(node))); 7770: } 7770: 7770: return qMakePair(firstIt, const_iterator(node)); 7770: } 7770: 7770: template 7770: class QMultiHash : public QHash 7770: { 7770: public: 7770: QMultiHash() noexcept {} 7770: 7770: inline QMultiHash(std::initializer_list > list) 7770: { 7770: this->reserve(int(list.size())); 7770: for (typename std::initializer_list >::const_iterator it = list.begin(); it != list.end(); ++it) 7770: insert(it->first, it->second); 7770: } 7770: 7770: 7770: 7770: 7770: QMultiHash(const QHash &other) : QHash(other) {} 7770: 7770: QMultiHash(QHash &&other) noexcept : QHash(std::move(other)) {} 7770: 7770: void swap(QMultiHash &other) noexcept { QHash::swap(other); } 7770: 7770: inline typename QHash::iterator replace(const Key &key, const T &value) 7770: { return QHash::insert(key, value); } 7770: 7770: inline typename QHash::iterator insert(const Key &key, const T &value) 7770: { return QHash::insertMulti(key, value); } 7770: 7770: inline QMultiHash &operator+=(const QMultiHash &other) 7770: { this->unite(other); return *this; } 7770: inline QMultiHash operator+(const QMultiHash &other) const 7770: { QMultiHash result = *this; result += other; return result; } 7770: 7770: using QHash::contains; 7770: using QHash::remove; 7770: using QHash::count; 7770: using QHash::find; 7770: using QHash::constFind; 7770: 7770: bool contains(const Key &key, const T &value) const; 7770: 7770: int remove(const Key &key, const T &value); 7770: 7770: int count(const Key &key, const T &value) const; 7770: 7770: typename QHash::iterator find(const Key &key, const T &value) { 7770: typename QHash::iterator i(find(key)); 7770: typename QHash::iterator end(this->end()); 7770: while (i != end && i.key() == key) { 7770: if (i.value() == value) 7770: return i; 7770: ++i; 7770: } 7770: return end; 7770: } 7770: typename QHash::const_iterator find(const Key &key, const T &value) const { 7770: typename QHash::const_iterator i(constFind(key)); 7770: typename QHash::const_iterator end(QHash::constEnd()); 7770: while (i != end && i.key() == key) { 7770: if (i.value() == value) 7770: return i; 7770: ++i; 7770: } 7770: return end; 7770: } 7770: typename QHash::const_iterator constFind(const Key &key, const T &value) const 7770: { return find(key, value); } 7770: private: 7770: T &operator[](const Key &key); 7770: const T operator[](const Key &key) const; 7770: }; 7770: 7770: template 7770: inline bool QMultiHash::contains(const Key &key, const T &value) const 7770: { 7770: return constFind(key, value) != QHash::constEnd(); 7770: } 7770: 7770: template 7770: inline int QMultiHash::remove(const Key &key, const T &value) 7770: { 7770: int n = 0; 7770: typename QHash::iterator i(find(key)); 7770: typename QHash::iterator end(QHash::end()); 7770: while (i != end && i.key() == key) { 7770: if (i.value() == value) { 7770: i = this->erase(i); 7770: ++n; 7770: } else { 7770: ++i; 7770: } 7770: } 7770: return n; 7770: } 7770: 7770: template 7770: inline int QMultiHash::count(const Key &key, const T &value) const 7770: { 7770: int n = 0; 7770: typename QHash::const_iterator i(constFind(key)); 7770: typename QHash::const_iterator end(QHash::constEnd()); 7770: while (i != end && i.key() == key) { 7770: if (i.value() == value) 7770: ++n; 7770: ++i; 7770: } 7770: return n; 7770: } 7770: 7770: 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; } }; 7770: 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; } }; 7770: 7770: template 7770: uint qHash(const QHash &key, uint seed = 0) 7770: noexcept(noexcept(qHash(std::declval())) && noexcept(qHash(std::declval()))) 7770: { 7770: QtPrivate::QHashCombineCommutative hash; 7770: for (auto it = key.begin(), end = key.end(); it != end; ++it) { 7770: const Key &k = it.key(); 7770: const T &v = it.value(); 7770: seed = hash(seed, std::pair(k, v)); 7770: } 7770: return seed; 7770: } 7770: 7770: template 7770: inline uint qHash(const QMultiHash &key, uint seed = 0) 7770: noexcept(noexcept(qHash(std::declval())) && noexcept(qHash(std::declval()))) 7770: { 7770: const QHash &key2 = key; 7770: return qHash(key2, seed); 7770: } 7770: 7770: 7770: # 49 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvariant.h" 2 3 4 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstringlist.h" 1 3 4 7770: # 51 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvariant.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h" 1 3 4 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qscopedpointer.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qscopedpointer.h" 3 4 7770: # 1 "/usr/include/c++/8/stdlib.h" 1 3 4 7770: # 46 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qscopedpointer.h" 2 3 4 7770: 7770: 7770: 7770: template 7770: struct QScopedPointerDeleter 7770: { 7770: static inline void cleanup(T *pointer) 7770: { 7770: 7770: 7770: 7770: typedef char IsIncompleteType[ sizeof(T) ? 1 : -1 ]; 7770: (void) sizeof(IsIncompleteType); 7770: 7770: delete pointer; 7770: } 7770: }; 7770: 7770: template 7770: struct QScopedPointerArrayDeleter 7770: { 7770: static inline void cleanup(T *pointer) 7770: { 7770: 7770: 7770: 7770: typedef char IsIncompleteType[ sizeof(T) ? 1 : -1 ]; 7770: (void) sizeof(IsIncompleteType); 7770: 7770: delete [] pointer; 7770: } 7770: }; 7770: 7770: struct QScopedPointerPodDeleter 7770: { 7770: static inline void cleanup(void *pointer) { if (pointer) free(pointer); } 7770: }; 7770: 7770: 7770: template 7770: struct QScopedPointerObjectDeleteLater 7770: { 7770: static inline void cleanup(T *pointer) { if (pointer) pointer->deleteLater(); } 7770: }; 7770: 7770: class QObject; 7770: typedef QScopedPointerObjectDeleteLater QScopedPointerDeleteLater; 7770: 7770: 7770: template > 7770: class QScopedPointer 7770: { 7770: typedef T *QScopedPointer:: *RestrictedBool; 7770: public: 7770: explicit QScopedPointer(T *p = nullptr) noexcept : d(p) 7770: { 7770: } 7770: 7770: inline ~QScopedPointer() 7770: { 7770: T *oldD = this->d; 7770: Cleanup::cleanup(oldD); 7770: } 7770: 7770: inline T &operator*() const 7770: { 7770: do { } while ((false) && (d)); 7770: return *d; 7770: } 7770: 7770: T *operator->() const noexcept 7770: { 7770: return d; 7770: } 7770: 7770: bool operator!() const noexcept 7770: { 7770: return !d; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: operator RestrictedBool() const noexcept 7770: { 7770: return isNull() ? nullptr : &QScopedPointer::d; 7770: } 7770: 7770: 7770: T *data() const noexcept 7770: { 7770: return d; 7770: } 7770: 7770: bool isNull() const noexcept 7770: { 7770: return !d; 7770: } 7770: 7770: void reset(T *other = nullptr) noexcept(noexcept(Cleanup::cleanup(std::declval()))) 7770: { 7770: if (d == other) 7770: return; 7770: T *oldD = d; 7770: d = other; 7770: Cleanup::cleanup(oldD); 7770: } 7770: 7770: T *take() noexcept 7770: { 7770: T *oldD = d; 7770: d = nullptr; 7770: return oldD; 7770: } 7770: 7770: void swap(QScopedPointer &other) noexcept 7770: { 7770: qSwap(d, other.d); 7770: } 7770: 7770: typedef T *pointer; 7770: 7770: protected: 7770: T *d; 7770: 7770: private: 7770: QScopedPointer(const QScopedPointer &) = delete; QScopedPointer &operator=(const QScopedPointer &) = delete; 7770: }; 7770: 7770: template 7770: inline bool operator==(const QScopedPointer &lhs, const QScopedPointer &rhs) noexcept 7770: { 7770: return lhs.data() == rhs.data(); 7770: } 7770: 7770: template 7770: inline bool operator!=(const QScopedPointer &lhs, const QScopedPointer &rhs) noexcept 7770: { 7770: return lhs.data() != rhs.data(); 7770: } 7770: 7770: template 7770: inline bool operator==(const QScopedPointer &lhs, std::nullptr_t) noexcept 7770: { 7770: return lhs.isNull(); 7770: } 7770: 7770: template 7770: inline bool operator==(std::nullptr_t, const QScopedPointer &rhs) noexcept 7770: { 7770: return rhs.isNull(); 7770: } 7770: 7770: template 7770: inline bool operator!=(const QScopedPointer &lhs, std::nullptr_t) noexcept 7770: { 7770: return !lhs.isNull(); 7770: } 7770: 7770: template 7770: inline bool operator!=(std::nullptr_t, const QScopedPointer &rhs) noexcept 7770: { 7770: return !rhs.isNull(); 7770: } 7770: 7770: template 7770: inline void swap(QScopedPointer &p1, QScopedPointer &p2) noexcept 7770: { p1.swap(p2); } 7770: 7770: 7770: namespace QtPrivate { 7770: template struct QScopedArrayEnsureSameType; 7770: template struct QScopedArrayEnsureSameType { typedef X* Type; }; 7770: template struct QScopedArrayEnsureSameType { typedef X* Type; }; 7770: } 7770: 7770: template > 7770: class QScopedArrayPointer : public QScopedPointer 7770: { 7770: public: 7770: inline QScopedArrayPointer() : QScopedPointer(nullptr) {} 7770: 7770: template 7770: explicit inline QScopedArrayPointer(D *p, typename QtPrivate::QScopedArrayEnsureSameType::Type = nullptr) 7770: : QScopedPointer(p) 7770: { 7770: } 7770: 7770: inline T &operator[](int i) 7770: { 7770: return this->d[i]; 7770: } 7770: 7770: inline const T &operator[](int i) const 7770: { 7770: return this->d[i]; 7770: } 7770: 7770: void swap(QScopedArrayPointer &other) noexcept 7770: { QScopedPointer::swap(other); } 7770: 7770: private: 7770: explicit inline QScopedArrayPointer(void *) { 7770: # 260 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qscopedpointer.h" 3 4 7770: } 7770: 7770: QScopedArrayPointer(const QScopedArrayPointer &) = delete; QScopedArrayPointer &operator=(const QScopedArrayPointer &) = delete; 7770: }; 7770: 7770: template 7770: inline void swap(QScopedArrayPointer &lhs, QScopedArrayPointer &rhs) noexcept 7770: { lhs.swap(rhs); } 7770: 7770: 7770: # 54 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h" 2 3 4 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject_impl.h" 1 3 4 7770: # 51 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject_impl.h" 3 4 7770: 7770: 7770: 7770: namespace QtPrivate { 7770: # 65 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject_impl.h" 3 4 7770: template struct TypesAreDeclaredMetaType { enum { Value = false }; }; 7770: template <> struct TypesAreDeclaredMetaType> { enum { Value = true }; }; 7770: template struct TypesAreDeclaredMetaType > 7770: { enum { Value = QMetaTypeId2::Defined && TypesAreDeclaredMetaType>::Value }; }; 7770: 7770: template ::Value > struct ConnectionTypes 7770: { static const int *types() { return nullptr; } }; 7770: template <> struct ConnectionTypes, true> 7770: { static const int *types() { return nullptr; } }; 7770: template struct ConnectionTypes, true> 7770: { static const int *types() { static const int t[sizeof...(Args) + 1] = { (QtPrivate::QMetaTypeIdHelper::qt_metatype_id())..., 0 }; return t; } }; 7770: 7770: 7770: class QSlotObjectBase { 7770: QAtomicInt m_ref; 7770: 7770: 7770: 7770: typedef void (*ImplFn)(int which, QSlotObjectBase* this_, QObject *receiver, void **args, bool *ret); 7770: const ImplFn m_impl; 7770: protected: 7770: enum Operation { 7770: Destroy, 7770: Call, 7770: Compare, 7770: 7770: NumOperations 7770: }; 7770: public: 7770: explicit QSlotObjectBase(ImplFn fn) : m_ref(1), m_impl(fn) {} 7770: 7770: inline int ref() noexcept { return m_ref.ref(); } 7770: inline void destroyIfLastRef() noexcept 7770: { if (!m_ref.deref()) m_impl(Destroy, this, nullptr, nullptr, nullptr); } 7770: 7770: inline bool compare(void **a) { bool ret = false; m_impl(Compare, this, nullptr, a, &ret); return ret; } 7770: inline void call(QObject *r, void **a) { m_impl(Call, this, r, a, nullptr); } 7770: protected: 7770: ~QSlotObjectBase() {} 7770: private: 7770: QSlotObjectBase(const QSlotObjectBase &) = delete; QSlotObjectBase &operator=(const QSlotObjectBase &) = delete; 7770: }; 7770: 7770: 7770: template class QSlotObject : public QSlotObjectBase 7770: { 7770: typedef QtPrivate::FunctionPointer FuncType; 7770: Func function; 7770: static void impl(int which, QSlotObjectBase *this_, QObject *r, void **a, bool *ret) 7770: { 7770: switch (which) { 7770: case Destroy: 7770: delete static_cast(this_); 7770: break; 7770: case Call: 7770: FuncType::template call(static_cast(this_)->function, static_cast(r), a); 7770: break; 7770: case Compare: 7770: *ret = *reinterpret_cast(a) == static_cast(this_)->function; 7770: break; 7770: case NumOperations: ; 7770: } 7770: } 7770: public: 7770: explicit QSlotObject(Func f) : QSlotObjectBase(&impl), function(f) {} 7770: }; 7770: 7770: 7770: template class QStaticSlotObject : public QSlotObjectBase 7770: { 7770: typedef QtPrivate::FunctionPointer FuncType; 7770: Func function; 7770: static void impl(int which, QSlotObjectBase *this_, QObject *r, void **a, bool *ret) 7770: { 7770: switch (which) { 7770: case Destroy: 7770: delete static_cast(this_); 7770: break; 7770: case Call: 7770: FuncType::template call(static_cast(this_)->function, r, a); 7770: break; 7770: case Compare: 7770: case NumOperations: 7770: (void)ret;; 7770: } 7770: } 7770: public: 7770: explicit QStaticSlotObject(Func f) : QSlotObjectBase(&impl), function(f) {} 7770: }; 7770: 7770: 7770: 7770: template class QFunctorSlotObject : public QSlotObjectBase 7770: { 7770: typedef QtPrivate::Functor FuncType; 7770: Func function; 7770: static void impl(int which, QSlotObjectBase *this_, QObject *r, void **a, bool *ret) 7770: { 7770: switch (which) { 7770: case Destroy: 7770: delete static_cast(this_); 7770: break; 7770: case Call: 7770: FuncType::template call(static_cast(this_)->function, r, a); 7770: break; 7770: case Compare: 7770: case NumOperations: 7770: (void)ret;; 7770: } 7770: } 7770: public: 7770: explicit QFunctorSlotObject(const Func &f) : QSlotObjectBase(&impl), function(f) {} 7770: }; 7770: } 7770: 7770: 7770: 7770: # 57 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h" 2 3 4 7770: 7770: 7770: # 1 "/usr/include/c++/8/chrono" 1 3 4 7770: # 32 "/usr/include/c++/8/chrono" 3 4 7770: 7770: # 33 "/usr/include/c++/8/chrono" 3 7770: 7770: 7770: 7770: 7770: 7770: # 1 "/usr/include/c++/8/ratio" 1 3 7770: # 32 "/usr/include/c++/8/ratio" 3 7770: 7770: # 33 "/usr/include/c++/8/ratio" 3 7770: # 43 "/usr/include/c++/8/ratio" 3 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 55 "/usr/include/c++/8/ratio" 3 7770: template 7770: struct __static_sign 7770: : integral_constant 7770: { }; 7770: 7770: template 7770: struct __static_abs 7770: : integral_constant::value> 7770: { }; 7770: 7770: template 7770: struct __static_gcd 7770: : __static_gcd<_Qn, (_Pn % _Qn)> 7770: { }; 7770: 7770: template 7770: struct __static_gcd<_Pn, 0> 7770: : integral_constant::value> 7770: { }; 7770: 7770: template 7770: struct __static_gcd<0, _Qn> 7770: : integral_constant::value> 7770: { }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct __safe_multiply 7770: { 7770: private: 7770: static const uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4); 7770: 7770: static const uintmax_t __a0 = __static_abs<_Pn>::value % __c; 7770: static const uintmax_t __a1 = __static_abs<_Pn>::value / __c; 7770: static const uintmax_t __b0 = __static_abs<_Qn>::value % __c; 7770: static const uintmax_t __b1 = __static_abs<_Qn>::value / __c; 7770: 7770: static_assert(__a1 == 0 || __b1 == 0, 7770: "overflow in multiplication"); 7770: static_assert(__a0 * __b1 + __b0 * __a1 < (__c >> 1), 7770: "overflow in multiplication"); 7770: static_assert(__b0 * __a0 <= 0x7fffffffffffffffL, 7770: "overflow in multiplication"); 7770: static_assert((__a0 * __b1 + __b0 * __a1) * __c 7770: <= 0x7fffffffffffffffL - __b0 * __a0, 7770: "overflow in multiplication"); 7770: 7770: public: 7770: static const intmax_t value = _Pn * _Qn; 7770: }; 7770: 7770: 7770: 7770: template 7770: struct __big_less 7770: : integral_constant 7770: { }; 7770: 7770: template 7770: struct __big_add 7770: { 7770: static constexpr uintmax_t __lo = __lo1 + __lo2; 7770: static constexpr uintmax_t __hi = (__hi1 + __hi2 + 7770: (__lo1 + __lo2 < __lo1)); 7770: }; 7770: 7770: 7770: template 7770: struct __big_sub 7770: { 7770: static_assert(!__big_less<__hi1, __lo1, __hi2, __lo2>::value, 7770: "Internal library error"); 7770: static constexpr uintmax_t __lo = __lo1 - __lo2; 7770: static constexpr uintmax_t __hi = (__hi1 - __hi2 - 7770: (__lo1 < __lo2)); 7770: }; 7770: 7770: 7770: template 7770: struct __big_mul 7770: { 7770: private: 7770: static constexpr uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4); 7770: static constexpr uintmax_t __x0 = __x % __c; 7770: static constexpr uintmax_t __x1 = __x / __c; 7770: static constexpr uintmax_t __y0 = __y % __c; 7770: static constexpr uintmax_t __y1 = __y / __c; 7770: static constexpr uintmax_t __x0y0 = __x0 * __y0; 7770: static constexpr uintmax_t __x0y1 = __x0 * __y1; 7770: static constexpr uintmax_t __x1y0 = __x1 * __y0; 7770: static constexpr uintmax_t __x1y1 = __x1 * __y1; 7770: static constexpr uintmax_t __mix = __x0y1 + __x1y0; 7770: static constexpr uintmax_t __mix_lo = __mix * __c; 7770: static constexpr uintmax_t __mix_hi 7770: = __mix / __c + ((__mix < __x0y1) ? __c : 0); 7770: typedef __big_add<__mix_hi, __mix_lo, __x1y1, __x0y0> _Res; 7770: public: 7770: static constexpr uintmax_t __hi = _Res::__hi; 7770: static constexpr uintmax_t __lo = _Res::__lo; 7770: }; 7770: 7770: 7770: 7770: template 7770: struct __big_div_impl 7770: { 7770: private: 7770: static_assert(__d >= (uintmax_t(1) << (sizeof(intmax_t) * 8 - 1)), 7770: "Internal library error"); 7770: static_assert(__n1 < __d, "Internal library error"); 7770: static constexpr uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4); 7770: static constexpr uintmax_t __d1 = __d / __c; 7770: static constexpr uintmax_t __d0 = __d % __c; 7770: 7770: static constexpr uintmax_t __q1x = __n1 / __d1; 7770: static constexpr uintmax_t __r1x = __n1 % __d1; 7770: static constexpr uintmax_t __m = __q1x * __d0; 7770: static constexpr uintmax_t __r1y = __r1x * __c + __n0 / __c; 7770: static constexpr uintmax_t __r1z = __r1y + __d; 7770: static constexpr uintmax_t __r1 7770: = ((__r1y < __m) ? ((__r1z >= __d) && (__r1z < __m)) 7770: ? (__r1z + __d) : __r1z : __r1y) - __m; 7770: static constexpr uintmax_t __q1 7770: = __q1x - ((__r1y < __m) 7770: ? ((__r1z >= __d) && (__r1z < __m)) ? 2 : 1 : 0); 7770: static constexpr uintmax_t __q0x = __r1 / __d1; 7770: static constexpr uintmax_t __r0x = __r1 % __d1; 7770: static constexpr uintmax_t __n = __q0x * __d0; 7770: static constexpr uintmax_t __r0y = __r0x * __c + __n0 % __c; 7770: static constexpr uintmax_t __r0z = __r0y + __d; 7770: static constexpr uintmax_t __r0 7770: = ((__r0y < __n) ? ((__r0z >= __d) && (__r0z < __n)) 7770: ? (__r0z + __d) : __r0z : __r0y) - __n; 7770: static constexpr uintmax_t __q0 7770: = __q0x - ((__r0y < __n) ? ((__r0z >= __d) 7770: && (__r0z < __n)) ? 2 : 1 : 0); 7770: 7770: public: 7770: static constexpr uintmax_t __quot = __q1 * __c + __q0; 7770: static constexpr uintmax_t __rem = __r0; 7770: 7770: private: 7770: typedef __big_mul<__quot, __d> _Prod; 7770: typedef __big_add<_Prod::__hi, _Prod::__lo, 0, __rem> _Sum; 7770: static_assert(_Sum::__hi == __n1 && _Sum::__lo == __n0, 7770: "Internal library error"); 7770: }; 7770: 7770: template 7770: struct __big_div 7770: { 7770: private: 7770: static_assert(__d != 0, "Internal library error"); 7770: static_assert(sizeof (uintmax_t) == sizeof (unsigned long long), 7770: "This library calls __builtin_clzll on uintmax_t, which " 7770: "is unsafe on your platform. Please complain to " 7770: "http://gcc.gnu.org/bugzilla/"); 7770: static constexpr int __shift = __builtin_clzll(__d); 7770: static constexpr int __coshift_ = sizeof(uintmax_t) * 8 - __shift; 7770: static constexpr int __coshift = (__shift != 0) ? __coshift_ : 0; 7770: static constexpr uintmax_t __c1 = uintmax_t(1) << __shift; 7770: static constexpr uintmax_t __c2 = uintmax_t(1) << __coshift; 7770: static constexpr uintmax_t __new_d = __d * __c1; 7770: static constexpr uintmax_t __new_n0 = __n0 * __c1; 7770: static constexpr uintmax_t __n1_shifted = (__n1 % __d) * __c1; 7770: static constexpr uintmax_t __n0_top = (__shift != 0) ? (__n0 / __c2) : 0; 7770: static constexpr uintmax_t __new_n1 = __n1_shifted + __n0_top; 7770: typedef __big_div_impl<__new_n1, __new_n0, __new_d> _Res; 7770: 7770: public: 7770: static constexpr uintmax_t __quot_hi = __n1 / __d; 7770: static constexpr uintmax_t __quot_lo = _Res::__quot; 7770: static constexpr uintmax_t __rem = _Res::__rem / __c1; 7770: 7770: private: 7770: typedef __big_mul<__quot_lo, __d> _P0; 7770: typedef __big_mul<__quot_hi, __d> _P1; 7770: typedef __big_add<_P0::__hi, _P0::__lo, _P1::__lo, __rem> _Sum; 7770: 7770: static_assert(_P1::__hi == 0, "Internal library error"); 7770: static_assert(_Sum::__hi >= _P0::__hi, "Internal library error"); 7770: 7770: static_assert(_Sum::__hi == __n1 && _Sum::__lo == __n0, 7770: "Internal library error"); 7770: static_assert(__rem < __d, "Internal library error"); 7770: }; 7770: # 262 "/usr/include/c++/8/ratio" 3 7770: template 7770: struct ratio 7770: { 7770: static_assert(_Den != 0, "denominator cannot be zero"); 7770: static_assert(_Num >= -0x7fffffffffffffffL && _Den >= -0x7fffffffffffffffL, 7770: "out of range"); 7770: 7770: 7770: static constexpr intmax_t num = 7770: _Num * __static_sign<_Den>::value / __static_gcd<_Num, _Den>::value; 7770: 7770: static constexpr intmax_t den = 7770: __static_abs<_Den>::value / __static_gcd<_Num, _Den>::value; 7770: 7770: typedef ratio type; 7770: }; 7770: 7770: template 7770: constexpr intmax_t ratio<_Num, _Den>::num; 7770: 7770: template 7770: constexpr intmax_t ratio<_Num, _Den>::den; 7770: 7770: template 7770: struct __ratio_multiply 7770: { 7770: private: 7770: static const intmax_t __gcd1 = 7770: __static_gcd<_R1::num, _R2::den>::value; 7770: static const intmax_t __gcd2 = 7770: __static_gcd<_R2::num, _R1::den>::value; 7770: 7770: public: 7770: typedef ratio< 7770: __safe_multiply<(_R1::num / __gcd1), 7770: (_R2::num / __gcd2)>::value, 7770: __safe_multiply<(_R1::den / __gcd2), 7770: (_R2::den / __gcd1)>::value> type; 7770: 7770: static constexpr intmax_t num = type::num; 7770: static constexpr intmax_t den = type::den; 7770: }; 7770: 7770: template 7770: constexpr intmax_t __ratio_multiply<_R1, _R2>::num; 7770: 7770: template 7770: constexpr intmax_t __ratio_multiply<_R1, _R2>::den; 7770: 7770: 7770: template 7770: using ratio_multiply = typename __ratio_multiply<_R1, _R2>::type; 7770: 7770: template 7770: struct __ratio_divide 7770: { 7770: static_assert(_R2::num != 0, "division by 0"); 7770: 7770: typedef typename __ratio_multiply< 7770: _R1, 7770: ratio<_R2::den, _R2::num>>::type type; 7770: 7770: static constexpr intmax_t num = type::num; 7770: static constexpr intmax_t den = type::den; 7770: }; 7770: 7770: template 7770: constexpr intmax_t __ratio_divide<_R1, _R2>::num; 7770: 7770: template 7770: constexpr intmax_t __ratio_divide<_R1, _R2>::den; 7770: 7770: 7770: template 7770: using ratio_divide = typename __ratio_divide<_R1, _R2>::type; 7770: 7770: 7770: template 7770: struct ratio_equal 7770: : integral_constant 7770: { }; 7770: 7770: 7770: template 7770: struct ratio_not_equal 7770: : integral_constant::value> 7770: { }; 7770: 7770: 7770: template, 7770: typename _Right = __big_mul<_R2::num,_R1::den> > 7770: struct __ratio_less_impl_1 7770: : integral_constant::value> 7770: { }; 7770: 7770: template::value 7770: != __static_sign<_R2::num>::value)), 7770: bool = (__static_sign<_R1::num>::value == -1 7770: && __static_sign<_R2::num>::value == -1)> 7770: struct __ratio_less_impl 7770: : __ratio_less_impl_1<_R1, _R2>::type 7770: { }; 7770: 7770: template 7770: struct __ratio_less_impl<_R1, _R2, true, false> 7770: : integral_constant 7770: { }; 7770: 7770: template 7770: struct __ratio_less_impl<_R1, _R2, false, true> 7770: : __ratio_less_impl_1, 7770: ratio<-_R1::num, _R1::den> >::type 7770: { }; 7770: 7770: 7770: template 7770: struct ratio_less 7770: : __ratio_less_impl<_R1, _R2>::type 7770: { }; 7770: 7770: 7770: template 7770: struct ratio_less_equal 7770: : integral_constant::value> 7770: { }; 7770: 7770: 7770: template 7770: struct ratio_greater 7770: : integral_constant::value> 7770: { }; 7770: 7770: 7770: template 7770: struct ratio_greater_equal 7770: : integral_constant::value> 7770: { }; 7770: 7770: 7770: template 7770: inline constexpr bool ratio_equal_v = ratio_equal<_R1, _R2>::value; 7770: template 7770: inline constexpr bool ratio_not_equal_v = ratio_not_equal<_R1, _R2>::value; 7770: template 7770: inline constexpr bool ratio_less_v = ratio_less<_R1, _R2>::value; 7770: template 7770: inline constexpr bool ratio_less_equal_v = 7770: ratio_less_equal<_R1, _R2>::value; 7770: template 7770: inline constexpr bool ratio_greater_v = ratio_greater<_R1, _R2>::value; 7770: template 7770: inline constexpr bool ratio_greater_equal_v 7770: = ratio_greater_equal<_R1, _R2>::value; 7770: 7770: 7770: template= 0), 7770: bool = (_R2::num >= 0), 7770: bool = ratio_less::value, _R1::den>, 7770: ratio<__static_abs<_R2::num>::value, _R2::den> >::value> 7770: struct __ratio_add_impl 7770: { 7770: private: 7770: typedef typename __ratio_add_impl< 7770: ratio<-_R1::num, _R1::den>, 7770: ratio<-_R2::num, _R2::den> >::type __t; 7770: public: 7770: typedef ratio<-__t::num, __t::den> type; 7770: }; 7770: 7770: 7770: template 7770: struct __ratio_add_impl<_R1, _R2, true, true, __b> 7770: { 7770: private: 7770: static constexpr uintmax_t __g = __static_gcd<_R1::den, _R2::den>::value; 7770: static constexpr uintmax_t __d2 = _R2::den / __g; 7770: typedef __big_mul<_R1::den, __d2> __d; 7770: typedef __big_mul<_R1::num, _R2::den / __g> __x; 7770: typedef __big_mul<_R2::num, _R1::den / __g> __y; 7770: typedef __big_add<__x::__hi, __x::__lo, __y::__hi, __y::__lo> __n; 7770: static_assert(__n::__hi >= __x::__hi, "Internal library error"); 7770: typedef __big_div<__n::__hi, __n::__lo, __g> __ng; 7770: static constexpr uintmax_t __g2 = __static_gcd<__ng::__rem, __g>::value; 7770: typedef __big_div<__n::__hi, __n::__lo, __g2> __n_final; 7770: static_assert(__n_final::__rem == 0, "Internal library error"); 7770: static_assert(__n_final::__quot_hi == 0 && 7770: __n_final::__quot_lo <= 0x7fffffffffffffffL, "overflow in addition"); 7770: typedef __big_mul<_R1::den / __g2, __d2> __d_final; 7770: static_assert(__d_final::__hi == 0 && 7770: __d_final::__lo <= 0x7fffffffffffffffL, "overflow in addition"); 7770: public: 7770: typedef ratio<__n_final::__quot_lo, __d_final::__lo> type; 7770: }; 7770: 7770: template 7770: struct __ratio_add_impl<_R1, _R2, false, true, true> 7770: : __ratio_add_impl<_R2, _R1> 7770: { }; 7770: 7770: 7770: template 7770: struct __ratio_add_impl<_R1, _R2, true, false, false> 7770: { 7770: private: 7770: static constexpr uintmax_t __g = __static_gcd<_R1::den, _R2::den>::value; 7770: static constexpr uintmax_t __d2 = _R2::den / __g; 7770: typedef __big_mul<_R1::den, __d2> __d; 7770: typedef __big_mul<_R1::num, _R2::den / __g> __x; 7770: typedef __big_mul<-_R2::num, _R1::den / __g> __y; 7770: typedef __big_sub<__x::__hi, __x::__lo, __y::__hi, __y::__lo> __n; 7770: typedef __big_div<__n::__hi, __n::__lo, __g> __ng; 7770: static constexpr uintmax_t __g2 = __static_gcd<__ng::__rem, __g>::value; 7770: typedef __big_div<__n::__hi, __n::__lo, __g2> __n_final; 7770: static_assert(__n_final::__rem == 0, "Internal library error"); 7770: static_assert(__n_final::__quot_hi == 0 && 7770: __n_final::__quot_lo <= 0x7fffffffffffffffL, "overflow in addition"); 7770: typedef __big_mul<_R1::den / __g2, __d2> __d_final; 7770: static_assert(__d_final::__hi == 0 && 7770: __d_final::__lo <= 0x7fffffffffffffffL, "overflow in addition"); 7770: public: 7770: typedef ratio<__n_final::__quot_lo, __d_final::__lo> type; 7770: }; 7770: 7770: template 7770: struct __ratio_add 7770: { 7770: typedef typename __ratio_add_impl<_R1, _R2>::type type; 7770: static constexpr intmax_t num = type::num; 7770: static constexpr intmax_t den = type::den; 7770: }; 7770: 7770: template 7770: constexpr intmax_t __ratio_add<_R1, _R2>::num; 7770: 7770: template 7770: constexpr intmax_t __ratio_add<_R1, _R2>::den; 7770: 7770: 7770: template 7770: using ratio_add = typename __ratio_add<_R1, _R2>::type; 7770: 7770: template 7770: struct __ratio_subtract 7770: { 7770: typedef typename __ratio_add< 7770: _R1, 7770: ratio<-_R2::num, _R2::den>>::type type; 7770: 7770: static constexpr intmax_t num = type::num; 7770: static constexpr intmax_t den = type::den; 7770: }; 7770: 7770: template 7770: constexpr intmax_t __ratio_subtract<_R1, _R2>::num; 7770: 7770: template 7770: constexpr intmax_t __ratio_subtract<_R1, _R2>::den; 7770: 7770: 7770: template 7770: using ratio_subtract = typename __ratio_subtract<_R1, _R2>::type; 7770: 7770: 7770: typedef ratio<1, 1000000000000000000> atto; 7770: typedef ratio<1, 1000000000000000> femto; 7770: typedef ratio<1, 1000000000000> pico; 7770: typedef ratio<1, 1000000000> nano; 7770: typedef ratio<1, 1000000> micro; 7770: typedef ratio<1, 1000> milli; 7770: typedef ratio<1, 100> centi; 7770: typedef ratio<1, 10> deci; 7770: typedef ratio< 10, 1> deca; 7770: typedef ratio< 100, 1> hecto; 7770: typedef ratio< 1000, 1> kilo; 7770: typedef ratio< 1000000, 1> mega; 7770: typedef ratio< 1000000000, 1> giga; 7770: typedef ratio< 1000000000000, 1> tera; 7770: typedef ratio< 1000000000000000, 1> peta; 7770: typedef ratio< 1000000000000000000, 1> exa; 7770: 7770: 7770: 7770: } 7770: # 39 "/usr/include/c++/8/chrono" 2 3 7770: 7770: 7770: # 1 "/usr/include/c++/8/ctime" 1 3 7770: # 39 "/usr/include/c++/8/ctime" 3 7770: 7770: # 40 "/usr/include/c++/8/ctime" 3 7770: # 58 "/usr/include/c++/8/ctime" 3 7770: namespace std 7770: { 7770: using ::clock_t; 7770: using ::time_t; 7770: using ::tm; 7770: 7770: using ::clock; 7770: using ::difftime; 7770: using ::mktime; 7770: using ::time; 7770: using ::asctime; 7770: using ::ctime; 7770: using ::gmtime; 7770: using ::localtime; 7770: using ::strftime; 7770: } 7770: # 42 "/usr/include/c++/8/chrono" 2 3 7770: # 1 "/usr/include/c++/8/bits/parse_numbers.h" 1 3 7770: # 33 "/usr/include/c++/8/bits/parse_numbers.h" 3 7770: 7770: # 34 "/usr/include/c++/8/bits/parse_numbers.h" 3 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: 7770: namespace __parse_int 7770: { 7770: template 7770: struct _Digit; 7770: 7770: template 7770: struct _Digit<_Base, '0'> : integral_constant 7770: { 7770: using __valid = true_type; 7770: }; 7770: 7770: template 7770: struct _Digit<_Base, '1'> : integral_constant 7770: { 7770: using __valid = true_type; 7770: }; 7770: 7770: template 7770: struct _Digit_impl : integral_constant 7770: { 7770: static_assert(_Base > _Val, "invalid digit"); 7770: using __valid = true_type; 7770: }; 7770: 7770: template 7770: struct _Digit<_Base, '2'> : _Digit_impl<_Base, 2> 7770: { }; 7770: 7770: template 7770: struct _Digit<_Base, '3'> : _Digit_impl<_Base, 3> 7770: { }; 7770: 7770: template 7770: struct _Digit<_Base, '4'> : _Digit_impl<_Base, 4> 7770: { }; 7770: 7770: template 7770: struct _Digit<_Base, '5'> : _Digit_impl<_Base, 5> 7770: { }; 7770: 7770: template 7770: struct _Digit<_Base, '6'> : _Digit_impl<_Base, 6> 7770: { }; 7770: 7770: template 7770: struct _Digit<_Base, '7'> : _Digit_impl<_Base, 7> 7770: { }; 7770: 7770: template 7770: struct _Digit<_Base, '8'> : _Digit_impl<_Base, 8> 7770: { }; 7770: 7770: template 7770: struct _Digit<_Base, '9'> : _Digit_impl<_Base, 9> 7770: { }; 7770: 7770: template 7770: struct _Digit<_Base, 'a'> : _Digit_impl<_Base, 0xa> 7770: { }; 7770: 7770: template 7770: struct _Digit<_Base, 'A'> : _Digit_impl<_Base, 0xa> 7770: { }; 7770: 7770: template 7770: struct _Digit<_Base, 'b'> : _Digit_impl<_Base, 0xb> 7770: { }; 7770: 7770: template 7770: struct _Digit<_Base, 'B'> : _Digit_impl<_Base, 0xb> 7770: { }; 7770: 7770: template 7770: struct _Digit<_Base, 'c'> : _Digit_impl<_Base, 0xc> 7770: { }; 7770: 7770: template 7770: struct _Digit<_Base, 'C'> : _Digit_impl<_Base, 0xc> 7770: { }; 7770: 7770: template 7770: struct _Digit<_Base, 'd'> : _Digit_impl<_Base, 0xd> 7770: { }; 7770: 7770: template 7770: struct _Digit<_Base, 'D'> : _Digit_impl<_Base, 0xd> 7770: { }; 7770: 7770: template 7770: struct _Digit<_Base, 'e'> : _Digit_impl<_Base, 0xe> 7770: { }; 7770: 7770: template 7770: struct _Digit<_Base, 'E'> : _Digit_impl<_Base, 0xe> 7770: { }; 7770: 7770: template 7770: struct _Digit<_Base, 'f'> : _Digit_impl<_Base, 0xf> 7770: { }; 7770: 7770: template 7770: struct _Digit<_Base, 'F'> : _Digit_impl<_Base, 0xf> 7770: { }; 7770: 7770: 7770: template 7770: struct _Digit<_Base, '\''> : integral_constant 7770: { 7770: using __valid = false_type; 7770: }; 7770: 7770: 7770: 7770: template 7770: using __ull_constant = integral_constant; 7770: 7770: template 7770: struct _Power_help 7770: { 7770: using __next = typename _Power_help<_Base, _Digs...>::type; 7770: using __valid_digit = typename _Digit<_Base, _Dig>::__valid; 7770: using type 7770: = __ull_constant<__next::value * (__valid_digit{} ? _Base : 1ULL)>; 7770: }; 7770: 7770: template 7770: struct _Power_help<_Base, _Dig> 7770: { 7770: using __valid_digit = typename _Digit<_Base, _Dig>::__valid; 7770: using type = __ull_constant<__valid_digit::value>; 7770: }; 7770: 7770: template 7770: struct _Power : _Power_help<_Base, _Digs...>::type 7770: { }; 7770: 7770: template 7770: struct _Power<_Base> : __ull_constant<0> 7770: { }; 7770: 7770: 7770: 7770: template 7770: struct _Number_help 7770: { 7770: using __digit = _Digit<_Base, _Dig>; 7770: using __valid_digit = typename __digit::__valid; 7770: using __next = _Number_help<_Base, 7770: __valid_digit::value ? _Pow / _Base : _Pow, 7770: _Digs...>; 7770: using type = __ull_constant<_Pow * __digit::value + __next::type::value>; 7770: static_assert((type::value / _Pow) == __digit::value, 7770: "integer literal does not fit in unsigned long long"); 7770: }; 7770: 7770: template 7770: struct _Number_help<_Base, _Pow, _Dig> 7770: { 7770: 7770: using type = __ull_constant<_Digit<_Base, _Dig>::value>; 7770: }; 7770: 7770: template 7770: struct _Number 7770: : _Number_help<_Base, _Power<_Base, _Digs...>::value, _Digs...>::type 7770: { }; 7770: 7770: template 7770: struct _Number<_Base> 7770: : __ull_constant<0> 7770: { }; 7770: 7770: 7770: 7770: template 7770: struct _Parse_int; 7770: 7770: template 7770: struct _Parse_int<'0', 'b', _Digs...> 7770: : _Number<2U, _Digs...>::type 7770: { }; 7770: 7770: template 7770: struct _Parse_int<'0', 'B', _Digs...> 7770: : _Number<2U, _Digs...>::type 7770: { }; 7770: 7770: template 7770: struct _Parse_int<'0', 'x', _Digs...> 7770: : _Number<16U, _Digs...>::type 7770: { }; 7770: 7770: template 7770: struct _Parse_int<'0', 'X', _Digs...> 7770: : _Number<16U, _Digs...>::type 7770: { }; 7770: 7770: template 7770: struct _Parse_int<'0', _Digs...> 7770: : _Number<8U, _Digs...>::type 7770: { }; 7770: 7770: template 7770: struct _Parse_int 7770: : _Number<10U, _Digs...>::type 7770: { }; 7770: 7770: } 7770: 7770: 7770: namespace __select_int 7770: { 7770: template 7770: struct _Select_int_base; 7770: 7770: template 7770: struct _Select_int_base<_Val, _IntType, _Ints...> 7770: : conditional_t<(_Val <= std::numeric_limits<_IntType>::max()), 7770: integral_constant<_IntType, _Val>, 7770: _Select_int_base<_Val, _Ints...>> 7770: { }; 7770: 7770: template 7770: struct _Select_int_base<_Val> 7770: { }; 7770: 7770: template 7770: using _Select_int = typename _Select_int_base< 7770: __parse_int::_Parse_int<_Digs...>::value, 7770: unsigned char, 7770: unsigned short, 7770: unsigned int, 7770: unsigned long, 7770: unsigned long long 7770: >::type; 7770: 7770: } 7770: 7770: 7770: } 7770: # 43 "/usr/include/c++/8/chrono" 2 3 7770: 7770: 7770: 7770: namespace std __attribute__ ((__visibility__ ("default"))) 7770: { 7770: 7770: # 61 "/usr/include/c++/8/chrono" 3 7770: namespace chrono 7770: { 7770: template> 7770: struct duration; 7770: 7770: template 7770: struct time_point; 7770: } 7770: 7770: 7770: 7770: template 7770: struct __duration_common_type_wrapper 7770: { 7770: private: 7770: typedef __static_gcd<_Period1::num, _Period2::num> __gcd_num; 7770: typedef __static_gcd<_Period1::den, _Period2::den> __gcd_den; 7770: typedef typename _CT::type __cr; 7770: typedef ratio<__gcd_num::value, 7770: (_Period1::den / __gcd_den::value) * _Period2::den> __r; 7770: public: 7770: typedef __success_type> type; 7770: }; 7770: 7770: template 7770: struct __duration_common_type_wrapper<__failure_type, _Period1, _Period2> 7770: { typedef __failure_type type; }; 7770: 7770: template 7770: struct common_type, 7770: chrono::duration<_Rep2, _Period2>> 7770: : public __duration_common_type_wrapper>::type, _Period1, _Period2>::type 7770: { }; 7770: 7770: 7770: 7770: template 7770: struct __timepoint_common_type_wrapper 7770: { 7770: typedef __success_type> 7770: type; 7770: }; 7770: 7770: template 7770: struct __timepoint_common_type_wrapper<__failure_type, _Clock> 7770: { typedef __failure_type type; }; 7770: 7770: template 7770: struct common_type, 7770: chrono::time_point<_Clock, _Duration2>> 7770: : public __timepoint_common_type_wrapper>::type, _Clock>::type 7770: { }; 7770: 7770: namespace chrono 7770: { 7770: 7770: template 7770: struct __duration_cast_impl 7770: { 7770: template 7770: static constexpr _ToDur 7770: __cast(const duration<_Rep, _Period>& __d) 7770: { 7770: typedef typename _ToDur::rep __to_rep; 7770: return _ToDur(static_cast<__to_rep>(static_cast<_CR>(__d.count()) 7770: * static_cast<_CR>(_CF::num) 7770: / static_cast<_CR>(_CF::den))); 7770: } 7770: }; 7770: 7770: template 7770: struct __duration_cast_impl<_ToDur, _CF, _CR, true, true> 7770: { 7770: template 7770: static constexpr _ToDur 7770: __cast(const duration<_Rep, _Period>& __d) 7770: { 7770: typedef typename _ToDur::rep __to_rep; 7770: return _ToDur(static_cast<__to_rep>(__d.count())); 7770: } 7770: }; 7770: 7770: template 7770: struct __duration_cast_impl<_ToDur, _CF, _CR, true, false> 7770: { 7770: template 7770: static constexpr _ToDur 7770: __cast(const duration<_Rep, _Period>& __d) 7770: { 7770: typedef typename _ToDur::rep __to_rep; 7770: return _ToDur(static_cast<__to_rep>( 7770: static_cast<_CR>(__d.count()) / static_cast<_CR>(_CF::den))); 7770: } 7770: }; 7770: 7770: template 7770: struct __duration_cast_impl<_ToDur, _CF, _CR, false, true> 7770: { 7770: template 7770: static constexpr _ToDur 7770: __cast(const duration<_Rep, _Period>& __d) 7770: { 7770: typedef typename _ToDur::rep __to_rep; 7770: return _ToDur(static_cast<__to_rep>( 7770: static_cast<_CR>(__d.count()) * static_cast<_CR>(_CF::num))); 7770: } 7770: }; 7770: 7770: template 7770: struct __is_duration 7770: : std::false_type 7770: { }; 7770: 7770: template 7770: struct __is_duration> 7770: : std::true_type 7770: { }; 7770: 7770: template 7770: using __enable_if_is_duration 7770: = typename enable_if<__is_duration<_Tp>::value, _Tp>::type; 7770: 7770: template 7770: using __disable_if_is_duration 7770: = typename enable_if::value, _Tp>::type; 7770: 7770: 7770: template 7770: constexpr __enable_if_is_duration<_ToDur> 7770: duration_cast(const duration<_Rep, _Period>& __d) 7770: { 7770: typedef typename _ToDur::period __to_period; 7770: typedef typename _ToDur::rep __to_rep; 7770: typedef ratio_divide<_Period, __to_period> __cf; 7770: typedef typename common_type<__to_rep, _Rep, intmax_t>::type 7770: __cr; 7770: typedef __duration_cast_impl<_ToDur, __cf, __cr, 7770: __cf::num == 1, __cf::den == 1> __dc; 7770: return __dc::__cast(__d); 7770: } 7770: 7770: 7770: template 7770: struct treat_as_floating_point 7770: : is_floating_point<_Rep> 7770: { }; 7770: 7770: 7770: template 7770: inline constexpr bool treat_as_floating_point_v = 7770: treat_as_floating_point<_Rep>::value; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: constexpr __enable_if_is_duration<_ToDur> 7770: floor(const duration<_Rep, _Period>& __d) 7770: { 7770: auto __to = chrono::duration_cast<_ToDur>(__d); 7770: if (__to > __d) 7770: return __to - _ToDur{1}; 7770: return __to; 7770: } 7770: 7770: template 7770: constexpr __enable_if_is_duration<_ToDur> 7770: ceil(const duration<_Rep, _Period>& __d) 7770: { 7770: auto __to = chrono::duration_cast<_ToDur>(__d); 7770: if (__to < __d) 7770: return __to + _ToDur{1}; 7770: return __to; 7770: } 7770: 7770: template 7770: constexpr enable_if_t< 7770: __and_<__is_duration<_ToDur>, 7770: __not_>>::value, 7770: _ToDur> 7770: round(const duration<_Rep, _Period>& __d) 7770: { 7770: _ToDur __t0 = chrono::floor<_ToDur>(__d); 7770: _ToDur __t1 = __t0 + _ToDur{1}; 7770: auto __diff0 = __d - __t0; 7770: auto __diff1 = __t1 - __d; 7770: if (__diff0 == __diff1) 7770: { 7770: if (__t0.count() & 1) 7770: return __t1; 7770: return __t0; 7770: } 7770: else if (__diff0 < __diff1) 7770: return __t0; 7770: return __t1; 7770: } 7770: 7770: template 7770: constexpr 7770: enable_if_t::is_signed, duration<_Rep, _Period>> 7770: abs(duration<_Rep, _Period> __d) 7770: { 7770: if (__d >= __d.zero()) 7770: return __d; 7770: return -__d; 7770: } 7770: 7770: 7770: 7770: template 7770: struct duration_values 7770: { 7770: static constexpr _Rep 7770: zero() 7770: { return _Rep(0); } 7770: 7770: static constexpr _Rep 7770: max() 7770: { return numeric_limits<_Rep>::max(); } 7770: 7770: static constexpr _Rep 7770: min() 7770: { return numeric_limits<_Rep>::lowest(); } 7770: }; 7770: 7770: template 7770: struct __is_ratio 7770: : std::false_type 7770: { }; 7770: 7770: template 7770: struct __is_ratio> 7770: : std::true_type 7770: { }; 7770: 7770: 7770: template 7770: struct duration 7770: { 7770: private: 7770: template 7770: using __is_float = treat_as_floating_point<_Rep2>; 7770: 7770: 7770: template 7770: using __is_harmonic 7770: = __bool_constant::den == 1>; 7770: 7770: public: 7770: 7770: typedef _Rep rep; 7770: typedef _Period period; 7770: 7770: static_assert(!__is_duration<_Rep>::value, "rep cannot be a duration"); 7770: static_assert(__is_ratio<_Period>::value, 7770: "period must be a specialization of ratio"); 7770: static_assert(_Period::num > 0, "period must be positive"); 7770: 7770: 7770: constexpr duration() = default; 7770: 7770: duration(const duration&) = default; 7770: 7770: template, 7770: __or_<__is_float, __not_<__is_float<_Rep2>>>>> 7770: constexpr explicit duration(const _Rep2& __rep) 7770: : __r(static_cast(__rep)) { } 7770: 7770: template, 7770: __and_<__is_harmonic<_Period2>, 7770: __not_<__is_float<_Rep2>>>>>> 7770: constexpr duration(const duration<_Rep2, _Period2>& __d) 7770: : __r(duration_cast(__d).count()) { } 7770: 7770: ~duration() = default; 7770: duration& operator=(const duration&) = default; 7770: 7770: 7770: constexpr rep 7770: count() const 7770: { return __r; } 7770: 7770: 7770: constexpr duration 7770: operator+() const 7770: { return *this; } 7770: 7770: constexpr duration 7770: operator-() const 7770: { return duration(-__r); } 7770: 7770: constexpr duration& 7770: operator++() 7770: { 7770: ++__r; 7770: return *this; 7770: } 7770: 7770: constexpr duration 7770: operator++(int) 7770: { return duration(__r++); } 7770: 7770: constexpr duration& 7770: operator--() 7770: { 7770: --__r; 7770: return *this; 7770: } 7770: 7770: constexpr duration 7770: operator--(int) 7770: { return duration(__r--); } 7770: 7770: constexpr duration& 7770: operator+=(const duration& __d) 7770: { 7770: __r += __d.count(); 7770: return *this; 7770: } 7770: 7770: constexpr duration& 7770: operator-=(const duration& __d) 7770: { 7770: __r -= __d.count(); 7770: return *this; 7770: } 7770: 7770: constexpr duration& 7770: operator*=(const rep& __rhs) 7770: { 7770: __r *= __rhs; 7770: return *this; 7770: } 7770: 7770: constexpr duration& 7770: operator/=(const rep& __rhs) 7770: { 7770: __r /= __rhs; 7770: return *this; 7770: } 7770: 7770: 7770: template 7770: constexpr 7770: typename enable_if::value, 7770: duration&>::type 7770: operator%=(const rep& __rhs) 7770: { 7770: __r %= __rhs; 7770: return *this; 7770: } 7770: 7770: template 7770: constexpr 7770: typename enable_if::value, 7770: duration&>::type 7770: operator%=(const duration& __d) 7770: { 7770: __r %= __d.count(); 7770: return *this; 7770: } 7770: 7770: 7770: static constexpr duration 7770: zero() 7770: { return duration(duration_values::zero()); } 7770: 7770: static constexpr duration 7770: min() 7770: { return duration(duration_values::min()); } 7770: 7770: static constexpr duration 7770: max() 7770: { return duration(duration_values::max()); } 7770: 7770: private: 7770: rep __r; 7770: }; 7770: 7770: template 7770: constexpr typename common_type, 7770: duration<_Rep2, _Period2>>::type 7770: operator+(const duration<_Rep1, _Period1>& __lhs, 7770: const duration<_Rep2, _Period2>& __rhs) 7770: { 7770: typedef duration<_Rep1, _Period1> __dur1; 7770: typedef duration<_Rep2, _Period2> __dur2; 7770: typedef typename common_type<__dur1,__dur2>::type __cd; 7770: return __cd(__cd(__lhs).count() + __cd(__rhs).count()); 7770: } 7770: 7770: template 7770: constexpr typename common_type, 7770: duration<_Rep2, _Period2>>::type 7770: operator-(const duration<_Rep1, _Period1>& __lhs, 7770: const duration<_Rep2, _Period2>& __rhs) 7770: { 7770: typedef duration<_Rep1, _Period1> __dur1; 7770: typedef duration<_Rep2, _Period2> __dur2; 7770: typedef typename common_type<__dur1,__dur2>::type __cd; 7770: return __cd(__cd(__lhs).count() - __cd(__rhs).count()); 7770: } 7770: 7770: 7770: 7770: template::type> 7770: using __common_rep_t 7770: = typename enable_if::value, _CRep>::type; 7770: 7770: template 7770: constexpr duration<__common_rep_t<_Rep1, _Rep2>, _Period> 7770: operator*(const duration<_Rep1, _Period>& __d, const _Rep2& __s) 7770: { 7770: typedef duration::type, _Period> 7770: __cd; 7770: return __cd(__cd(__d).count() * __s); 7770: } 7770: 7770: template 7770: constexpr duration<__common_rep_t<_Rep2, _Rep1>, _Period> 7770: operator*(const _Rep1& __s, const duration<_Rep2, _Period>& __d) 7770: { return __d * __s; } 7770: 7770: template 7770: constexpr 7770: duration<__common_rep_t<_Rep1, __disable_if_is_duration<_Rep2>>, _Period> 7770: operator/(const duration<_Rep1, _Period>& __d, const _Rep2& __s) 7770: { 7770: typedef duration::type, _Period> 7770: __cd; 7770: return __cd(__cd(__d).count() / __s); 7770: } 7770: 7770: template 7770: constexpr typename common_type<_Rep1, _Rep2>::type 7770: operator/(const duration<_Rep1, _Period1>& __lhs, 7770: const duration<_Rep2, _Period2>& __rhs) 7770: { 7770: typedef duration<_Rep1, _Period1> __dur1; 7770: typedef duration<_Rep2, _Period2> __dur2; 7770: typedef typename common_type<__dur1,__dur2>::type __cd; 7770: return __cd(__lhs).count() / __cd(__rhs).count(); 7770: } 7770: 7770: 7770: template 7770: constexpr 7770: duration<__common_rep_t<_Rep1, __disable_if_is_duration<_Rep2>>, _Period> 7770: operator%(const duration<_Rep1, _Period>& __d, const _Rep2& __s) 7770: { 7770: typedef duration::type, _Period> 7770: __cd; 7770: return __cd(__cd(__d).count() % __s); 7770: } 7770: 7770: template 7770: constexpr typename common_type, 7770: duration<_Rep2, _Period2>>::type 7770: operator%(const duration<_Rep1, _Period1>& __lhs, 7770: const duration<_Rep2, _Period2>& __rhs) 7770: { 7770: typedef duration<_Rep1, _Period1> __dur1; 7770: typedef duration<_Rep2, _Period2> __dur2; 7770: typedef typename common_type<__dur1,__dur2>::type __cd; 7770: return __cd(__cd(__lhs).count() % __cd(__rhs).count()); 7770: } 7770: 7770: 7770: template 7770: constexpr bool 7770: operator==(const duration<_Rep1, _Period1>& __lhs, 7770: const duration<_Rep2, _Period2>& __rhs) 7770: { 7770: typedef duration<_Rep1, _Period1> __dur1; 7770: typedef duration<_Rep2, _Period2> __dur2; 7770: typedef typename common_type<__dur1,__dur2>::type __ct; 7770: return __ct(__lhs).count() == __ct(__rhs).count(); 7770: } 7770: 7770: template 7770: constexpr bool 7770: operator<(const duration<_Rep1, _Period1>& __lhs, 7770: const duration<_Rep2, _Period2>& __rhs) 7770: { 7770: typedef duration<_Rep1, _Period1> __dur1; 7770: typedef duration<_Rep2, _Period2> __dur2; 7770: typedef typename common_type<__dur1,__dur2>::type __ct; 7770: return __ct(__lhs).count() < __ct(__rhs).count(); 7770: } 7770: 7770: template 7770: constexpr bool 7770: operator!=(const duration<_Rep1, _Period1>& __lhs, 7770: const duration<_Rep2, _Period2>& __rhs) 7770: { return !(__lhs == __rhs); } 7770: 7770: template 7770: constexpr bool 7770: operator<=(const duration<_Rep1, _Period1>& __lhs, 7770: const duration<_Rep2, _Period2>& __rhs) 7770: { return !(__rhs < __lhs); } 7770: 7770: template 7770: constexpr bool 7770: operator>(const duration<_Rep1, _Period1>& __lhs, 7770: const duration<_Rep2, _Period2>& __rhs) 7770: { return __rhs < __lhs; } 7770: 7770: template 7770: constexpr bool 7770: operator>=(const duration<_Rep1, _Period1>& __lhs, 7770: const duration<_Rep2, _Period2>& __rhs) 7770: { return !(__lhs < __rhs); } 7770: 7770: 7770: typedef duration nanoseconds; 7770: 7770: 7770: typedef duration microseconds; 7770: 7770: 7770: typedef duration milliseconds; 7770: 7770: 7770: typedef duration seconds; 7770: 7770: 7770: typedef duration> minutes; 7770: 7770: 7770: typedef duration> hours; 7770: 7770: 7770: template 7770: struct time_point 7770: { 7770: typedef _Clock clock; 7770: typedef _Dur duration; 7770: typedef typename duration::rep rep; 7770: typedef typename duration::period period; 7770: 7770: constexpr time_point() : __d(duration::zero()) 7770: { } 7770: 7770: constexpr explicit time_point(const duration& __dur) 7770: : __d(__dur) 7770: { } 7770: 7770: 7770: template>> 7770: constexpr time_point(const time_point& __t) 7770: : __d(__t.time_since_epoch()) 7770: { } 7770: 7770: 7770: constexpr duration 7770: time_since_epoch() const 7770: { return __d; } 7770: 7770: 7770: constexpr time_point& 7770: operator+=(const duration& __dur) 7770: { 7770: __d += __dur; 7770: return *this; 7770: } 7770: 7770: constexpr time_point& 7770: operator-=(const duration& __dur) 7770: { 7770: __d -= __dur; 7770: return *this; 7770: } 7770: 7770: 7770: static constexpr time_point 7770: min() 7770: { return time_point(duration::min()); } 7770: 7770: static constexpr time_point 7770: max() 7770: { return time_point(duration::max()); } 7770: 7770: private: 7770: duration __d; 7770: }; 7770: 7770: 7770: template 7770: constexpr typename enable_if<__is_duration<_ToDur>::value, 7770: time_point<_Clock, _ToDur>>::type 7770: time_point_cast(const time_point<_Clock, _Dur>& __t) 7770: { 7770: typedef time_point<_Clock, _ToDur> __time_point; 7770: return __time_point(duration_cast<_ToDur>(__t.time_since_epoch())); 7770: } 7770: 7770: 7770: template 7770: constexpr 7770: enable_if_t<__is_duration<_ToDur>::value, time_point<_Clock, _ToDur>> 7770: floor(const time_point<_Clock, _Dur>& __tp) 7770: { 7770: return time_point<_Clock, _ToDur>{ 7770: chrono::floor<_ToDur>(__tp.time_since_epoch())}; 7770: } 7770: 7770: template 7770: constexpr 7770: enable_if_t<__is_duration<_ToDur>::value, time_point<_Clock, _ToDur>> 7770: ceil(const time_point<_Clock, _Dur>& __tp) 7770: { 7770: return time_point<_Clock, _ToDur>{ 7770: chrono::ceil<_ToDur>(__tp.time_since_epoch())}; 7770: } 7770: 7770: template 7770: constexpr enable_if_t< 7770: __and_<__is_duration<_ToDur>, 7770: __not_>>::value, 7770: time_point<_Clock, _ToDur>> 7770: round(const time_point<_Clock, _Dur>& __tp) 7770: { 7770: return time_point<_Clock, _ToDur>{ 7770: chrono::round<_ToDur>(__tp.time_since_epoch())}; 7770: } 7770: 7770: 7770: template 7770: constexpr time_point<_Clock, 7770: typename common_type<_Dur1, duration<_Rep2, _Period2>>::type> 7770: operator+(const time_point<_Clock, _Dur1>& __lhs, 7770: const duration<_Rep2, _Period2>& __rhs) 7770: { 7770: typedef duration<_Rep2, _Period2> __dur2; 7770: typedef typename common_type<_Dur1,__dur2>::type __ct; 7770: typedef time_point<_Clock, __ct> __time_point; 7770: return __time_point(__lhs.time_since_epoch() + __rhs); 7770: } 7770: 7770: template 7770: constexpr time_point<_Clock, 7770: typename common_type, _Dur2>::type> 7770: operator+(const duration<_Rep1, _Period1>& __lhs, 7770: const time_point<_Clock, _Dur2>& __rhs) 7770: { 7770: typedef duration<_Rep1, _Period1> __dur1; 7770: typedef typename common_type<__dur1,_Dur2>::type __ct; 7770: typedef time_point<_Clock, __ct> __time_point; 7770: return __time_point(__rhs.time_since_epoch() + __lhs); 7770: } 7770: 7770: template 7770: constexpr time_point<_Clock, 7770: typename common_type<_Dur1, duration<_Rep2, _Period2>>::type> 7770: operator-(const time_point<_Clock, _Dur1>& __lhs, 7770: const duration<_Rep2, _Period2>& __rhs) 7770: { 7770: typedef duration<_Rep2, _Period2> __dur2; 7770: typedef typename common_type<_Dur1,__dur2>::type __ct; 7770: typedef time_point<_Clock, __ct> __time_point; 7770: return __time_point(__lhs.time_since_epoch() -__rhs); 7770: } 7770: 7770: template 7770: constexpr typename common_type<_Dur1, _Dur2>::type 7770: operator-(const time_point<_Clock, _Dur1>& __lhs, 7770: const time_point<_Clock, _Dur2>& __rhs) 7770: { return __lhs.time_since_epoch() - __rhs.time_since_epoch(); } 7770: 7770: template 7770: constexpr bool 7770: operator==(const time_point<_Clock, _Dur1>& __lhs, 7770: const time_point<_Clock, _Dur2>& __rhs) 7770: { return __lhs.time_since_epoch() == __rhs.time_since_epoch(); } 7770: 7770: template 7770: constexpr bool 7770: operator!=(const time_point<_Clock, _Dur1>& __lhs, 7770: const time_point<_Clock, _Dur2>& __rhs) 7770: { return !(__lhs == __rhs); } 7770: 7770: template 7770: constexpr bool 7770: operator<(const time_point<_Clock, _Dur1>& __lhs, 7770: const time_point<_Clock, _Dur2>& __rhs) 7770: { return __lhs.time_since_epoch() < __rhs.time_since_epoch(); } 7770: 7770: template 7770: constexpr bool 7770: operator<=(const time_point<_Clock, _Dur1>& __lhs, 7770: const time_point<_Clock, _Dur2>& __rhs) 7770: { return !(__rhs < __lhs); } 7770: 7770: template 7770: constexpr bool 7770: operator>(const time_point<_Clock, _Dur1>& __lhs, 7770: const time_point<_Clock, _Dur2>& __rhs) 7770: { return __rhs < __lhs; } 7770: 7770: template 7770: constexpr bool 7770: operator>=(const time_point<_Clock, _Dur1>& __lhs, 7770: const time_point<_Clock, _Dur2>& __rhs) 7770: { return !(__lhs < __rhs); } 7770: # 807 "/usr/include/c++/8/chrono" 3 7770: inline namespace _V2 { 7770: 7770: 7770: 7770: 7770: 7770: 7770: struct system_clock 7770: { 7770: typedef chrono::nanoseconds duration; 7770: typedef duration::rep rep; 7770: typedef duration::period period; 7770: typedef chrono::time_point time_point; 7770: 7770: static_assert(system_clock::duration::min() 7770: < system_clock::duration::zero(), 7770: "a clock's minimum duration cannot be less than its epoch"); 7770: 7770: static constexpr bool is_steady = false; 7770: 7770: static time_point 7770: now() noexcept; 7770: 7770: 7770: static std::time_t 7770: to_time_t(const time_point& __t) noexcept 7770: { 7770: return std::time_t(duration_cast 7770: (__t.time_since_epoch()).count()); 7770: } 7770: 7770: static time_point 7770: from_time_t(std::time_t __t) noexcept 7770: { 7770: typedef chrono::time_point __from; 7770: return time_point_cast 7770: (__from(chrono::seconds(__t))); 7770: } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: struct steady_clock 7770: { 7770: typedef chrono::nanoseconds duration; 7770: typedef duration::rep rep; 7770: typedef duration::period period; 7770: typedef chrono::time_point time_point; 7770: 7770: static constexpr bool is_steady = true; 7770: 7770: static time_point 7770: now() noexcept; 7770: }; 7770: # 874 "/usr/include/c++/8/chrono" 3 7770: using high_resolution_clock = system_clock; 7770: 7770: } 7770: } 7770: 7770: 7770: 7770: 7770: 7770: inline namespace literals 7770: { 7770: inline namespace chrono_literals 7770: { 7770: #pragma GCC diagnostic push 7770: #pragma GCC diagnostic ignored "-Wliteral-suffix" 7770: template 7770: struct _Checked_integral_constant 7770: : integral_constant<_Rep, static_cast<_Rep>(_Val)> 7770: { 7770: static_assert(_Checked_integral_constant::value >= 0 7770: && _Checked_integral_constant::value == _Val, 7770: "literal value cannot be represented by duration type"); 7770: }; 7770: 7770: template 7770: constexpr _Dur __check_overflow() 7770: { 7770: using _Val = __parse_int::_Parse_int<_Digits...>; 7770: using _Rep = typename _Dur::rep; 7770: 7770: 7770: using _CheckedVal = _Checked_integral_constant<_Rep, _Val::value>; 7770: return _Dur{_CheckedVal::value}; 7770: } 7770: 7770: constexpr chrono::duration> 7770: operator""h(long double __hours) 7770: { return chrono::duration>{__hours}; } 7770: 7770: template 7770: constexpr chrono::hours 7770: operator""h() 7770: { return __check_overflow(); } 7770: 7770: constexpr chrono::duration> 7770: operator""min(long double __mins) 7770: { return chrono::duration>{__mins}; } 7770: 7770: template 7770: constexpr chrono::minutes 7770: operator""min() 7770: { return __check_overflow(); } 7770: 7770: constexpr chrono::duration 7770: operator""s(long double __secs) 7770: { return chrono::duration{__secs}; } 7770: 7770: template 7770: constexpr chrono::seconds 7770: operator""s() 7770: { return __check_overflow(); } 7770: 7770: constexpr chrono::duration 7770: operator""ms(long double __msecs) 7770: { return chrono::duration{__msecs}; } 7770: 7770: template 7770: constexpr chrono::milliseconds 7770: operator""ms() 7770: { return __check_overflow(); } 7770: 7770: constexpr chrono::duration 7770: operator""us(long double __usecs) 7770: { return chrono::duration{__usecs}; } 7770: 7770: template 7770: constexpr chrono::microseconds 7770: operator""us() 7770: { return __check_overflow(); } 7770: 7770: constexpr chrono::duration 7770: operator""ns(long double __nsecs) 7770: { return chrono::duration{__nsecs}; } 7770: 7770: template 7770: constexpr chrono::nanoseconds 7770: operator""ns() 7770: { return __check_overflow(); } 7770: 7770: #pragma GCC diagnostic pop 7770: } 7770: } 7770: 7770: namespace chrono 7770: { 7770: using namespace literals::chrono_literals; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: } 7770: # 60 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: class QEvent; 7770: class QTimerEvent; 7770: class QChildEvent; 7770: struct QMetaObject; 7770: class QVariant; 7770: class QObjectPrivate; 7770: class QObject; 7770: class QThread; 7770: class QWidget; 7770: 7770: class QRegExp; 7770: 7770: 7770: class QRegularExpression; 7770: 7770: 7770: class QObjectUserData; 7770: 7770: struct QDynamicMetaObjectData; 7770: 7770: typedef QList QObjectList; 7770: 7770: __attribute__((visibility("default"))) void qt_qFindChildren_helper(const QObject *parent, const QString &name, 7770: const QMetaObject &mo, QList *list, Qt::FindChildOptions options); 7770: __attribute__((visibility("default"))) void qt_qFindChildren_helper(const QObject *parent, const QRegExp &re, 7770: const QMetaObject &mo, QList *list, Qt::FindChildOptions options); 7770: __attribute__((visibility("default"))) void qt_qFindChildren_helper(const QObject *parent, const QRegularExpression &re, 7770: const QMetaObject &mo, QList *list, Qt::FindChildOptions options); 7770: __attribute__((visibility("default"))) QObject *qt_qFindChild_helper(const QObject *parent, const QString &name, const QMetaObject &mo, Qt::FindChildOptions options); 7770: 7770: class __attribute__((visibility("default"))) QObjectData { 7770: public: 7770: virtual ~QObjectData() = 0; 7770: QObject *q_ptr; 7770: QObject *parent; 7770: QObjectList children; 7770: 7770: uint isWidget : 1; 7770: uint blockSig : 1; 7770: uint wasDeleted : 1; 7770: uint isDeletingChildren : 1; 7770: uint sendChildEvents : 1; 7770: uint receiveChildEvents : 1; 7770: uint isWindow : 1; 7770: uint unused : 25; 7770: int postedEvents; 7770: QDynamicMetaObjectData *metaObject; 7770: QMetaObject *dynamicMetaObject() const; 7770: }; 7770: 7770: 7770: class __attribute__((visibility("default"))) QObject 7770: { 7770: public: 7770: # 118 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 118 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h" 3 4 7770: 7770: # 118 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 118 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h" 3 4 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 118 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 118 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h" 3 4 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 118 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 118 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h" 3 4 7770: struct QPrivateSignal {}; 7770: 7770: 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; 7770: 7770: public: 7770: explicit QObject(QObject *parent=nullptr); 7770: virtual ~QObject(); 7770: 7770: virtual bool event(QEvent *event); 7770: virtual bool eventFilter(QObject *watched, QEvent *event); 7770: # 144 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h" 3 4 7770: QString objectName() const; 7770: void setObjectName(const QString &name); 7770: 7770: inline bool isWidgetType() const { return d_ptr->isWidget; } 7770: inline bool isWindowType() const { return d_ptr->isWindow; } 7770: 7770: inline bool signalsBlocked() const noexcept { return d_ptr->blockSig; } 7770: bool blockSignals(bool b) noexcept; 7770: 7770: QThread *thread() const; 7770: void moveToThread(QThread *thread); 7770: 7770: int startTimer(int interval, Qt::TimerType timerType = Qt::CoarseTimer); 7770: 7770: inline __attribute__((always_inline)) 7770: int startTimer(std::chrono::milliseconds time, Qt::TimerType timerType = Qt::CoarseTimer) 7770: { 7770: return startTimer(int(time.count()), timerType); 7770: } 7770: 7770: void killTimer(int id); 7770: 7770: template 7770: inline T findChild(const QString &aName = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const 7770: { 7770: typedef typename std::remove_cv::type>::type ObjType; 7770: return static_cast(qt_qFindChild_helper(this, aName, ObjType::staticMetaObject, options)); 7770: } 7770: 7770: template 7770: inline QList findChildren(const QString &aName = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const 7770: { 7770: typedef typename std::remove_cv::type>::type ObjType; 7770: QList list; 7770: qt_qFindChildren_helper(this, aName, ObjType::staticMetaObject, 7770: reinterpret_cast *>(&list), options); 7770: return list; 7770: } 7770: 7770: 7770: template 7770: inline QList findChildren(const QRegExp &re, Qt::FindChildOptions options = Qt::FindChildrenRecursively) const 7770: { 7770: typedef typename std::remove_cv::type>::type ObjType; 7770: QList list; 7770: qt_qFindChildren_helper(this, re, ObjType::staticMetaObject, 7770: reinterpret_cast *>(&list), options); 7770: return list; 7770: } 7770: 7770: 7770: 7770: template 7770: inline QList findChildren(const QRegularExpression &re, Qt::FindChildOptions options = Qt::FindChildrenRecursively) const 7770: { 7770: typedef typename std::remove_cv::type>::type ObjType; 7770: QList list; 7770: qt_qFindChildren_helper(this, re, ObjType::staticMetaObject, 7770: reinterpret_cast *>(&list), options); 7770: return list; 7770: } 7770: 7770: 7770: inline const QObjectList &children() const { return d_ptr->children; } 7770: 7770: void setParent(QObject *parent); 7770: void installEventFilter(QObject *filterObj); 7770: void removeEventFilter(QObject *obj); 7770: 7770: static QMetaObject::Connection connect(const QObject *sender, const char *signal, 7770: const QObject *receiver, const char *member, Qt::ConnectionType = Qt::AutoConnection); 7770: 7770: static QMetaObject::Connection connect(const QObject *sender, const QMetaMethod &signal, 7770: const QObject *receiver, const QMetaMethod &method, 7770: Qt::ConnectionType type = Qt::AutoConnection); 7770: 7770: inline QMetaObject::Connection connect(const QObject *sender, const char *signal, 7770: const char *member, Qt::ConnectionType type = Qt::AutoConnection) const; 7770: # 232 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h" 3 4 7770: template 7770: static inline QMetaObject::Connection connect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, 7770: const typename QtPrivate::FunctionPointer::Object *receiver, Func2 slot, 7770: Qt::ConnectionType type = Qt::AutoConnection) 7770: { 7770: typedef QtPrivate::FunctionPointer SignalType; 7770: typedef QtPrivate::FunctionPointer SlotType; 7770: 7770: static_assert(bool(QtPrivate::HasQ_OBJECT_Macro::Value), "No Q_OBJECT in the class with the signal") 7770: ; 7770: 7770: 7770: static_assert(bool(int(SignalType::ArgumentCount) >= int(SlotType::ArgumentCount)), "The slot requires more arguments than the signal provides.") 7770: ; 7770: static_assert(bool((QtPrivate::CheckCompatibleArguments::value)), "Signal and slot arguments are not compatible.") 7770: ; 7770: static_assert(bool((QtPrivate::AreArgumentsCompatible::value)), "Return type of the slot is not compatible with the return type of the signal.") 7770: ; 7770: 7770: const int *types = nullptr; 7770: if (type == Qt::QueuedConnection || type == Qt::BlockingQueuedConnection) 7770: types = QtPrivate::ConnectionTypes::types(); 7770: 7770: return connectImpl(sender, reinterpret_cast(&signal), 7770: receiver, reinterpret_cast(&slot), 7770: new QtPrivate::QSlotObject::Value, 7770: typename SignalType::ReturnType>(slot), 7770: type, types, &SignalType::Object::staticMetaObject); 7770: } 7770: 7770: 7770: template 7770: static inline typename std::enable_if::ArgumentCount) >= 0, QMetaObject::Connection>::type 7770: connect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, Func2 slot) 7770: { 7770: return connect(sender, signal, sender, slot, Qt::DirectConnection); 7770: } 7770: 7770: 7770: template 7770: static inline typename std::enable_if::ArgumentCount) >= 0 && 7770: !QtPrivate::FunctionPointer::IsPointerToMemberFunction, QMetaObject::Connection>::type 7770: connect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, const QObject *context, Func2 slot, 7770: Qt::ConnectionType type = Qt::AutoConnection) 7770: { 7770: typedef QtPrivate::FunctionPointer SignalType; 7770: typedef QtPrivate::FunctionPointer SlotType; 7770: 7770: static_assert(bool(QtPrivate::HasQ_OBJECT_Macro::Value), "No Q_OBJECT in the class with the signal") 7770: ; 7770: 7770: 7770: static_assert(bool(int(SignalType::ArgumentCount) >= int(SlotType::ArgumentCount)), "The slot requires more arguments than the signal provides.") 7770: ; 7770: static_assert(bool((QtPrivate::CheckCompatibleArguments::value)), "Signal and slot arguments are not compatible.") 7770: ; 7770: static_assert(bool((QtPrivate::AreArgumentsCompatible::value)), "Return type of the slot is not compatible with the return type of the signal.") 7770: ; 7770: 7770: const int *types = nullptr; 7770: if (type == Qt::QueuedConnection || type == Qt::BlockingQueuedConnection) 7770: types = QtPrivate::ConnectionTypes::types(); 7770: 7770: return connectImpl(sender, reinterpret_cast(&signal), context, nullptr, 7770: new QtPrivate::QStaticSlotObject::Value, 7770: typename SignalType::ReturnType>(slot), 7770: type, types, &SignalType::Object::staticMetaObject); 7770: } 7770: 7770: 7770: template 7770: static inline typename std::enable_if::ArgumentCount == -1, QMetaObject::Connection>::type 7770: connect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, Func2 slot) 7770: { 7770: return connect(sender, signal, sender, slot, Qt::DirectConnection); 7770: } 7770: 7770: 7770: template 7770: static inline typename std::enable_if::ArgumentCount == -1, QMetaObject::Connection>::type 7770: connect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, const QObject *context, Func2 slot, 7770: Qt::ConnectionType type = Qt::AutoConnection) 7770: { 7770: typedef QtPrivate::FunctionPointer SignalType; 7770: const int FunctorArgumentCount = QtPrivate::ComputeFunctorArgumentCount::Value; 7770: 7770: static_assert(bool((FunctorArgumentCount >= 0)), "Signal and slot arguments are not compatible.") 7770: ; 7770: const int SlotArgumentCount = (FunctorArgumentCount >= 0) ? FunctorArgumentCount : 0; 7770: typedef typename QtPrivate::FunctorReturnType::Value>::Value SlotReturnType; 7770: 7770: static_assert(bool((QtPrivate::AreArgumentsCompatible::value)), "Return type of the slot is not compatible with the return type of the signal.") 7770: ; 7770: 7770: static_assert(bool(QtPrivate::HasQ_OBJECT_Macro::Value), "No Q_OBJECT in the class with the signal") 7770: ; 7770: 7770: const int *types = nullptr; 7770: if (type == Qt::QueuedConnection || type == Qt::BlockingQueuedConnection) 7770: types = QtPrivate::ConnectionTypes::types(); 7770: 7770: return connectImpl(sender, reinterpret_cast(&signal), context, nullptr, 7770: new QtPrivate::QFunctorSlotObject::Value, 7770: typename SignalType::ReturnType>(slot), 7770: type, types, &SignalType::Object::staticMetaObject); 7770: } 7770: 7770: 7770: static bool disconnect(const QObject *sender, const char *signal, 7770: const QObject *receiver, const char *member); 7770: static bool disconnect(const QObject *sender, const QMetaMethod &signal, 7770: const QObject *receiver, const QMetaMethod &member); 7770: inline bool disconnect(const char *signal = nullptr, 7770: const QObject *receiver = nullptr, const char *member = nullptr) const 7770: { return disconnect(this, signal, receiver, member); } 7770: inline bool disconnect(const QObject *receiver, const char *member = nullptr) const 7770: { return disconnect(this, nullptr, receiver, member); } 7770: static bool disconnect(const QMetaObject::Connection &); 7770: 7770: 7770: 7770: 7770: 7770: template 7770: static inline bool disconnect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, 7770: const typename QtPrivate::FunctionPointer::Object *receiver, Func2 slot) 7770: { 7770: typedef QtPrivate::FunctionPointer SignalType; 7770: typedef QtPrivate::FunctionPointer SlotType; 7770: 7770: static_assert(bool(QtPrivate::HasQ_OBJECT_Macro::Value), "No Q_OBJECT in the class with the signal") 7770: ; 7770: 7770: 7770: static_assert(bool((QtPrivate::CheckCompatibleArguments::value)), "Signal and slot arguments are not compatible.") 7770: ; 7770: 7770: return disconnectImpl(sender, reinterpret_cast(&signal), receiver, reinterpret_cast(&slot), 7770: &SignalType::Object::staticMetaObject); 7770: } 7770: template 7770: static inline bool disconnect(const typename QtPrivate::FunctionPointer::Object *sender, Func1 signal, 7770: const QObject *receiver, void **zero) 7770: { 7770: 7770: 7770: 7770: do { } while ((false) && (!zero)); 7770: typedef QtPrivate::FunctionPointer SignalType; 7770: return disconnectImpl(sender, reinterpret_cast(&signal), receiver, zero, 7770: &SignalType::Object::staticMetaObject); 7770: } 7770: 7770: 7770: 7770: 7770: void dumpObjectTree(); 7770: void dumpObjectInfo(); 7770: 7770: void dumpObjectTree() const; 7770: void dumpObjectInfo() const; 7770: 7770: 7770: bool setProperty(const char *name, const QVariant &value); 7770: QVariant property(const char *name) const; 7770: QList dynamicPropertyNames() const; 7770: 7770: 7770: 7770: static uint registerUserData(); 7770: void setUserData(uint id, QObjectUserData* data); 7770: QObjectUserData* userData(uint id) const; 7770: 7770: 7770: public : 7770: void destroyed(QObject * = nullptr); 7770: void objectNameChanged(const QString &objectName, QPrivateSignal); 7770: 7770: public: 7770: inline QObject *parent() const { return d_ptr->parent; } 7770: 7770: inline bool inherits(const char *classname) const 7770: { return const_cast(this)->qt_metacast(classname) != nullptr; } 7770: 7770: public : 7770: void deleteLater(); 7770: 7770: protected: 7770: QObject *sender() const; 7770: int senderSignalIndex() const; 7770: int receivers(const char* signal) const; 7770: bool isSignalConnected(const QMetaMethod &signal) const; 7770: 7770: virtual void timerEvent(QTimerEvent *event); 7770: virtual void childEvent(QChildEvent *event); 7770: virtual void customEvent(QEvent *event); 7770: 7770: virtual void connectNotify(const QMetaMethod &signal); 7770: virtual void disconnectNotify(const QMetaMethod &signal); 7770: 7770: protected: 7770: QObject(QObjectPrivate &dd, QObject *parent = nullptr); 7770: 7770: protected: 7770: QScopedPointer d_ptr; 7770: 7770: static const QMetaObject staticQtMetaObject; 7770: friend inline const QMetaObject *qt_getQtMetaObject() noexcept; 7770: 7770: friend struct QMetaObject; 7770: friend struct QMetaObjectPrivate; 7770: friend class QMetaCallEvent; 7770: friend class QApplication; 7770: friend class QApplicationPrivate; 7770: friend class QCoreApplication; 7770: friend class QCoreApplicationPrivate; 7770: friend class QWidget; 7770: friend class QThreadData; 7770: 7770: private: 7770: QObject(const QObject &) = delete; QObject &operator=(const QObject &) = delete; 7770: 7770: 7770: private: 7770: static QMetaObject::Connection connectImpl(const QObject *sender, void **signal, 7770: const QObject *receiver, void **slotPtr, 7770: QtPrivate::QSlotObjectBase *slot, Qt::ConnectionType type, 7770: const int *types, const QMetaObject *senderMetaObject); 7770: 7770: static bool disconnectImpl(const QObject *sender, void **signal, const QObject *receiver, void **slot, 7770: const QMetaObject *senderMetaObject); 7770: 7770: }; 7770: 7770: inline QMetaObject::Connection QObject::connect(const QObject *asender, const char *asignal, 7770: const char *amember, Qt::ConnectionType atype) const 7770: { return connect(asender, asignal, this, amember, atype); } 7770: 7770: inline const QMetaObject *qt_getQtMetaObject() noexcept 7770: { return &QObject::staticQtMetaObject; } 7770: 7770: 7770: class __attribute__((visibility("default"))) QObjectUserData { 7770: public: 7770: virtual ~QObjectUserData(); 7770: }; 7770: # 508 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h" 3 4 7770: template 7770: inline T qobject_cast(QObject *object) 7770: { 7770: typedef typename std::remove_cv::type>::type ObjType; 7770: static_assert(bool(QtPrivate::HasQ_OBJECT_Macro::Value), "qobject_cast requires the type to have a Q_OBJECT macro") 7770: ; 7770: return static_cast(ObjType::staticMetaObject.cast(object)); 7770: } 7770: 7770: template 7770: inline T qobject_cast(const QObject *object) 7770: { 7770: typedef typename std::remove_cv::type>::type ObjType; 7770: static_assert(bool(QtPrivate::HasQ_OBJECT_Macro::Value), "qobject_cast requires the type to have a Q_OBJECT macro") 7770: ; 7770: return static_cast(ObjType::staticMetaObject.cast(object)); 7770: } 7770: 7770: 7770: template inline const char * qobject_interface_iid() 7770: { return nullptr; } 7770: # 541 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h" 3 4 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QObject *); 7770: 7770: 7770: class QSignalBlocker 7770: { 7770: public: 7770: inline explicit QSignalBlocker(QObject *o) noexcept; 7770: inline explicit QSignalBlocker(QObject &o) noexcept; 7770: inline ~QSignalBlocker(); 7770: 7770: 7770: inline QSignalBlocker(QSignalBlocker &&other) noexcept; 7770: inline QSignalBlocker &operator=(QSignalBlocker &&other) noexcept; 7770: 7770: 7770: inline void reblock() noexcept; 7770: inline void unblock() noexcept; 7770: private: 7770: QSignalBlocker(const QSignalBlocker &) = delete; QSignalBlocker &operator=(const QSignalBlocker &) = delete; 7770: QObject * m_o; 7770: bool m_blocked; 7770: bool m_inhibited; 7770: }; 7770: 7770: QSignalBlocker::QSignalBlocker(QObject *o) noexcept 7770: : m_o(o), 7770: m_blocked(o && o->blockSignals(true)), 7770: m_inhibited(false) 7770: {} 7770: 7770: QSignalBlocker::QSignalBlocker(QObject &o) noexcept 7770: : m_o(&o), 7770: m_blocked(o.blockSignals(true)), 7770: m_inhibited(false) 7770: {} 7770: 7770: 7770: QSignalBlocker::QSignalBlocker(QSignalBlocker &&other) noexcept 7770: : m_o(other.m_o), 7770: m_blocked(other.m_blocked), 7770: m_inhibited(other.m_inhibited) 7770: { 7770: other.m_o = nullptr; 7770: } 7770: 7770: QSignalBlocker &QSignalBlocker::operator=(QSignalBlocker &&other) noexcept 7770: { 7770: if (this != &other) { 7770: 7770: 7770: if (m_o != other.m_o || (!m_inhibited && other.m_inhibited)) 7770: unblock(); 7770: m_o = other.m_o; 7770: m_blocked = other.m_blocked; 7770: m_inhibited = other.m_inhibited; 7770: 7770: other.m_o = nullptr; 7770: } 7770: return *this; 7770: } 7770: 7770: 7770: QSignalBlocker::~QSignalBlocker() 7770: { 7770: if (m_o && !m_inhibited) 7770: m_o->blockSignals(m_blocked); 7770: } 7770: 7770: void QSignalBlocker::reblock() noexcept 7770: { 7770: if (m_o) m_o->blockSignals(true); 7770: m_inhibited = false; 7770: } 7770: 7770: void QSignalBlocker::unblock() noexcept 7770: { 7770: if (m_o) m_o->blockSignals(m_blocked); 7770: m_inhibited = true; 7770: } 7770: 7770: namespace QtPrivate { 7770: inline QObject & deref_for_methodcall(QObject &o) { return o; } 7770: inline QObject & deref_for_methodcall(QObject *o) { return *o; } 7770: } 7770: 7770: 7770: 7770: # 52 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvariant.h" 2 3 4 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qbytearraylist.h" 1 3 4 7770: # 54 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvariant.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: class QBitArray; 7770: class QDataStream; 7770: class QDate; 7770: class QDateTime; 7770: class QEasingCurve; 7770: class QLine; 7770: class QLineF; 7770: class QLocale; 7770: class QMatrix; 7770: class QTransform; 7770: class QStringList; 7770: class QTime; 7770: class QPoint; 7770: class QPointF; 7770: class QSize; 7770: class QSizeF; 7770: class QRect; 7770: class QRectF; 7770: 7770: class QRegExp; 7770: 7770: 7770: class QRegularExpression; 7770: 7770: class QTextFormat; 7770: class QTextLength; 7770: class QUrl; 7770: class QVariant; 7770: class QVariantComparisonHelper; 7770: 7770: template 7770: inline QVariant qVariantFromValue(const T &); 7770: 7770: template 7770: inline T qvariant_cast(const QVariant &); 7770: 7770: namespace QtPrivate { 7770: 7770: template 7770: struct ObjectInvoker 7770: { 7770: static ReturnType invoke(Argument a) 7770: { 7770: return Derived::object(a); 7770: } 7770: }; 7770: 7770: template 7770: struct MetaTypeInvoker 7770: { 7770: static ReturnType invoke(Argument a) 7770: { 7770: return Derived::metaType(a); 7770: } 7770: }; 7770: 7770: template ::Value> 7770: struct TreatAsQObjectBeforeMetaType : ObjectInvoker 7770: { 7770: }; 7770: 7770: template 7770: struct TreatAsQObjectBeforeMetaType : MetaTypeInvoker 7770: { 7770: }; 7770: 7770: template struct QVariantValueHelper; 7770: } 7770: 7770: class __attribute__((visibility("default"))) QVariant 7770: { 7770: public: 7770: enum Type { 7770: Invalid = QMetaType::UnknownType, 7770: Bool = QMetaType::Bool, 7770: Int = QMetaType::Int, 7770: UInt = QMetaType::UInt, 7770: LongLong = QMetaType::LongLong, 7770: ULongLong = QMetaType::ULongLong, 7770: Double = QMetaType::Double, 7770: Char = QMetaType::QChar, 7770: Map = QMetaType::QVariantMap, 7770: List = QMetaType::QVariantList, 7770: String = QMetaType::QString, 7770: StringList = QMetaType::QStringList, 7770: ByteArray = QMetaType::QByteArray, 7770: BitArray = QMetaType::QBitArray, 7770: Date = QMetaType::QDate, 7770: Time = QMetaType::QTime, 7770: DateTime = QMetaType::QDateTime, 7770: Url = QMetaType::QUrl, 7770: Locale = QMetaType::QLocale, 7770: Rect = QMetaType::QRect, 7770: RectF = QMetaType::QRectF, 7770: Size = QMetaType::QSize, 7770: SizeF = QMetaType::QSizeF, 7770: Line = QMetaType::QLine, 7770: LineF = QMetaType::QLineF, 7770: Point = QMetaType::QPoint, 7770: PointF = QMetaType::QPointF, 7770: RegExp = QMetaType::QRegExp, 7770: RegularExpression = QMetaType::QRegularExpression, 7770: Hash = QMetaType::QVariantHash, 7770: EasingCurve = QMetaType::QEasingCurve, 7770: Uuid = QMetaType::QUuid, 7770: ModelIndex = QMetaType::QModelIndex, 7770: PersistentModelIndex = QMetaType::QPersistentModelIndex, 7770: LastCoreType = QMetaType::LastCoreType, 7770: 7770: Font = QMetaType::QFont, 7770: Pixmap = QMetaType::QPixmap, 7770: Brush = QMetaType::QBrush, 7770: Color = QMetaType::QColor, 7770: Palette = QMetaType::QPalette, 7770: Image = QMetaType::QImage, 7770: Polygon = QMetaType::QPolygon, 7770: Region = QMetaType::QRegion, 7770: Bitmap = QMetaType::QBitmap, 7770: Cursor = QMetaType::QCursor, 7770: KeySequence = QMetaType::QKeySequence, 7770: Pen = QMetaType::QPen, 7770: TextLength = QMetaType::QTextLength, 7770: TextFormat = QMetaType::QTextFormat, 7770: Matrix = QMetaType::QMatrix, 7770: Transform = QMetaType::QTransform, 7770: Matrix4x4 = QMetaType::QMatrix4x4, 7770: Vector2D = QMetaType::QVector2D, 7770: Vector3D = QMetaType::QVector3D, 7770: Vector4D = QMetaType::QVector4D, 7770: Quaternion = QMetaType::QQuaternion, 7770: PolygonF = QMetaType::QPolygonF, 7770: Icon = QMetaType::QIcon, 7770: LastGuiType = QMetaType::LastGuiType, 7770: 7770: SizePolicy = QMetaType::QSizePolicy, 7770: 7770: UserType = QMetaType::User, 7770: LastType = 0xffffffff 7770: }; 7770: 7770: QVariant() noexcept : d() {} 7770: ~QVariant(); 7770: QVariant(Type type); 7770: QVariant(int typeId, const void *copy); 7770: QVariant(int typeId, const void *copy, uint flags); 7770: QVariant(const QVariant &other); 7770: 7770: 7770: QVariant(QDataStream &s); 7770: 7770: 7770: QVariant(int i); 7770: QVariant(uint ui); 7770: QVariant(qlonglong ll); 7770: QVariant(qulonglong ull); 7770: QVariant(bool b); 7770: QVariant(double d); 7770: QVariant(float f); 7770: 7770: __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) QVariant(const char *str); 7770: 7770: 7770: QVariant(const QByteArray &bytearray); 7770: QVariant(const QBitArray &bitarray); 7770: QVariant(const QString &string); 7770: QVariant(QLatin1String string); 7770: QVariant(const QStringList &stringlist); 7770: QVariant(QChar qchar); 7770: QVariant(const QDate &date); 7770: QVariant(const QTime &time); 7770: QVariant(const QDateTime &datetime); 7770: QVariant(const QList &list); 7770: QVariant(const QMap &map); 7770: QVariant(const QHash &hash); 7770: 7770: QVariant(const QSize &size); 7770: QVariant(const QSizeF &size); 7770: QVariant(const QPoint &pt); 7770: QVariant(const QPointF &pt); 7770: QVariant(const QLine &line); 7770: QVariant(const QLineF &line); 7770: QVariant(const QRect &rect); 7770: QVariant(const QRectF &rect); 7770: 7770: QVariant(const QLocale &locale); 7770: 7770: QVariant(const QRegExp ®Exp); 7770: 7770: 7770: 7770: QVariant(const QRegularExpression &re); 7770: 7770: QVariant(const QUrl &url); 7770: QVariant(const QEasingCurve &easing); 7770: QVariant(const QUuid &uuid); 7770: QVariant(const QModelIndex &modelIndex); 7770: QVariant(const QPersistentModelIndex &modelIndex); 7770: QVariant(const QJsonValue &jsonValue); 7770: QVariant(const QJsonObject &jsonObject); 7770: QVariant(const QJsonArray &jsonArray); 7770: QVariant(const QJsonDocument &jsonDocument); 7770: 7770: 7770: QVariant& operator=(const QVariant &other); 7770: 7770: inline QVariant(QVariant &&other) noexcept : d(other.d) 7770: { other.d = Private(); } 7770: inline QVariant &operator=(QVariant &&other) noexcept 7770: { qSwap(d, other.d); return *this; } 7770: 7770: 7770: inline void swap(QVariant &other) noexcept { qSwap(d, other.d); } 7770: 7770: Type type() const; 7770: int userType() const; 7770: const char *typeName() const; 7770: 7770: bool canConvert(int targetTypeId) const; 7770: bool convert(int targetTypeId); 7770: 7770: inline bool isValid() const; 7770: bool isNull() const; 7770: 7770: void clear(); 7770: 7770: void detach(); 7770: inline bool isDetached() const; 7770: 7770: int toInt(bool *ok = nullptr) const; 7770: uint toUInt(bool *ok = nullptr) const; 7770: qlonglong toLongLong(bool *ok = nullptr) const; 7770: qulonglong toULongLong(bool *ok = nullptr) const; 7770: bool toBool() const; 7770: double toDouble(bool *ok = nullptr) const; 7770: float toFloat(bool *ok = nullptr) const; 7770: qreal toReal(bool *ok = nullptr) const; 7770: QByteArray toByteArray() const; 7770: QBitArray toBitArray() const; 7770: QString toString() const; 7770: QStringList toStringList() const; 7770: QChar toChar() const; 7770: QDate toDate() const; 7770: QTime toTime() const; 7770: QDateTime toDateTime() const; 7770: QList toList() const; 7770: QMap toMap() const; 7770: QHash toHash() const; 7770: 7770: 7770: QPoint toPoint() const; 7770: QPointF toPointF() const; 7770: QRect toRect() const; 7770: QSize toSize() const; 7770: QSizeF toSizeF() const; 7770: QLine toLine() const; 7770: QLineF toLineF() const; 7770: QRectF toRectF() const; 7770: 7770: QLocale toLocale() const; 7770: 7770: QRegExp toRegExp() const; 7770: 7770: 7770: 7770: QRegularExpression toRegularExpression() const; 7770: 7770: QUrl toUrl() const; 7770: QEasingCurve toEasingCurve() const; 7770: QUuid toUuid() const; 7770: QModelIndex toModelIndex() const; 7770: QPersistentModelIndex toPersistentModelIndex() const; 7770: QJsonValue toJsonValue() const; 7770: QJsonObject toJsonObject() const; 7770: QJsonArray toJsonArray() const; 7770: QJsonDocument toJsonDocument() const; 7770: 7770: 7770: 7770: void load(QDataStream &ds); 7770: void save(QDataStream &ds) const; 7770: 7770: static const char *typeToName(int typeId); 7770: static Type nameToType(const char *name); 7770: 7770: void *data(); 7770: const void *constData() const; 7770: inline const void *data() const { return constData(); } 7770: 7770: template 7770: inline void setValue(const T &value); 7770: 7770: template 7770: inline T value() const 7770: { return qvariant_cast(*this); } 7770: 7770: template 7770: static inline QVariant fromValue(const T &value) 7770: { return qVariantFromValue(value); } 7770: 7770: template 7770: bool canConvert() const 7770: { return canConvert(qMetaTypeId()); } 7770: 7770: public: 7770: 7770: struct PrivateShared 7770: { 7770: inline PrivateShared(void *v) : ptr(v), ref(1) { } 7770: void *ptr; 7770: QAtomicInt ref; 7770: }; 7770: struct Private 7770: { 7770: inline Private() noexcept : type(Invalid), is_shared(false), is_null(true) 7770: { data.ptr = nullptr; } 7770: 7770: 7770: explicit inline Private(uint variantType) noexcept 7770: : type(variantType), is_shared(false), is_null(false) 7770: {} 7770: 7770: inline Private(const Private &other) noexcept 7770: : data(other.data), type(other.type), 7770: is_shared(other.is_shared), is_null(other.is_null) 7770: {} 7770: union Data 7770: { 7770: char c; 7770: uchar uc; 7770: short s; 7770: signed char sc; 7770: ushort us; 7770: int i; 7770: uint u; 7770: long l; 7770: ulong ul; 7770: bool b; 7770: double d; 7770: float f; 7770: qreal real; 7770: qlonglong ll; 7770: qulonglong ull; 7770: QObject *o; 7770: void *ptr; 7770: PrivateShared *shared; 7770: } data; 7770: uint type : 30; 7770: uint is_shared : 1; 7770: uint is_null : 1; 7770: }; 7770: public: 7770: typedef void (*f_construct)(Private *, const void *); 7770: typedef void (*f_clear)(Private *); 7770: typedef bool (*f_null)(const Private *); 7770: 7770: typedef void (*f_load)(Private *, QDataStream &); 7770: typedef void (*f_save)(const Private *, QDataStream &); 7770: 7770: typedef bool (*f_compare)(const Private *, const Private *); 7770: typedef bool (*f_convert)(const QVariant::Private *d, int t, void *, bool *); 7770: typedef bool (*f_canConvert)(const QVariant::Private *d, int t); 7770: typedef void (*f_debugStream)(QDebug, const QVariant &); 7770: struct Handler { 7770: f_construct construct; 7770: f_clear clear; 7770: f_null isNull; 7770: 7770: f_load load; 7770: f_save save; 7770: 7770: f_compare compare; 7770: f_convert convert; 7770: f_canConvert canConvert; 7770: f_debugStream debugStream; 7770: }; 7770: 7770: 7770: inline bool operator==(const QVariant &v) const 7770: { return cmp(v); } 7770: inline bool operator!=(const QVariant &v) const 7770: { return !cmp(v); } 7770: inline bool operator<(const QVariant &v) const 7770: { return compare(v) < 0; } 7770: inline bool operator<=(const QVariant &v) const 7770: { return compare(v) <= 0; } 7770: inline bool operator>(const QVariant &v) const 7770: { return compare(v) > 0; } 7770: inline bool operator>=(const QVariant &v) const 7770: { return compare(v) >= 0; } 7770: 7770: protected: 7770: friend inline bool operator==(const QVariant &, const QVariantComparisonHelper &); 7770: 7770: friend __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QVariant &); 7770: 7770: 7770: 7770: template 7770: friend inline T qvariant_cast(const QVariant &); 7770: template friend struct QtPrivate::QVariantValueHelper; 7770: protected: 7770: 7770: 7770: 7770: Private d; 7770: void create(int type, const void *copy); 7770: bool cmp(const QVariant &other) const; 7770: int compare(const QVariant &other) const; 7770: bool convert(const int t, void *ptr) const; 7770: 7770: private: 7770: 7770: inline QVariant(void *) = delete; 7770: 7770: 7770: 7770: 7770: 7770: 7770: QVariant(QMetaType::Type) = delete; 7770: 7770: 7770: 7770: 7770: 7770: 7770: QVariant(Qt::GlobalColor) = delete; 7770: QVariant(Qt::BrushStyle) = delete; 7770: QVariant(Qt::PenStyle) = delete; 7770: QVariant(Qt::CursorShape) = delete; 7770: 7770: 7770: 7770: 7770: public: 7770: typedef Private DataPtr; 7770: inline DataPtr &data_ptr() { return d; } 7770: inline const DataPtr &data_ptr() const { return d; } 7770: }; 7770: 7770: template 7770: inline QVariant qVariantFromValue(const T &t) 7770: { 7770: return QVariant(qMetaTypeId(), &t, QTypeInfo::isPointer); 7770: } 7770: 7770: template <> 7770: inline QVariant qVariantFromValue(const QVariant &t) { return t; } 7770: 7770: template 7770: inline void qVariantSetValue(QVariant &v, const T &t) 7770: { 7770: 7770: const uint type = qMetaTypeId(); 7770: QVariant::Private &d = v.data_ptr(); 7770: if (v.isDetached() && (type == d.type || (type <= uint(QVariant::Char) && d.type <= uint(QVariant::Char)))) { 7770: d.type = type; 7770: d.is_null = false; 7770: T *old = reinterpret_cast(d.is_shared ? d.data.shared->ptr : &d.data.ptr); 7770: if (QTypeInfo::isComplex) 7770: old->~T(); 7770: new (old) T(t); 7770: } else { 7770: v = QVariant(type, &t, QTypeInfo::isPointer); 7770: } 7770: } 7770: 7770: template <> 7770: inline void qVariantSetValue(QVariant &v, const QVariant &t) 7770: { 7770: v = t; 7770: } 7770: 7770: inline bool QVariant::isValid() const { return d.type != Invalid; } 7770: 7770: template 7770: inline void QVariant::setValue(const T &avalue) 7770: { qVariantSetValue(*this, avalue); } 7770: 7770: 7770: __attribute__((visibility("default"))) QDataStream& operator>> (QDataStream& s, QVariant& p); 7770: __attribute__((visibility("default"))) QDataStream& operator<< (QDataStream& s, const QVariant& p); 7770: __attribute__((visibility("default"))) QDataStream& operator>> (QDataStream& s, QVariant::Type& p); 7770: __attribute__((visibility("default"))) QDataStream& operator<< (QDataStream& s, const QVariant::Type p); 7770: 7770: 7770: inline bool QVariant::isDetached() const 7770: { return !d.is_shared || d.data.shared->ref.load() == 1; } 7770: # 557 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvariant.h" 3 4 7770: class QVariantComparisonHelper 7770: { 7770: public: 7770: inline QVariantComparisonHelper(const QVariant &var) 7770: : v(&var) {} 7770: private: 7770: friend inline bool operator==(const QVariant &, const QVariantComparisonHelper &); 7770: const QVariant *v; 7770: }; 7770: 7770: inline bool operator==(const QVariant &v1, const QVariantComparisonHelper &v2) 7770: { 7770: return v1.cmp(*v2.v); 7770: } 7770: 7770: inline bool operator!=(const QVariant &v1, const QVariantComparisonHelper &v2) 7770: { 7770: return !operator==(v1, v2); 7770: } 7770: 7770: 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); } 7770: 7770: class __attribute__((visibility("default"))) QSequentialIterable 7770: { 7770: QtMetaTypePrivate::QSequentialIterableImpl m_impl; 7770: public: 7770: struct __attribute__((visibility("default"))) const_iterator 7770: { 7770: private: 7770: QtMetaTypePrivate::QSequentialIterableImpl m_impl; 7770: QAtomicInt *ref; 7770: friend class QSequentialIterable; 7770: explicit const_iterator(const QSequentialIterable &iter, QAtomicInt *ref_); 7770: 7770: explicit const_iterator(const QtMetaTypePrivate::QSequentialIterableImpl &impl, QAtomicInt *ref_); 7770: 7770: void begin(); 7770: void end(); 7770: public: 7770: ~const_iterator(); 7770: 7770: const_iterator(const const_iterator &other); 7770: 7770: const_iterator& operator=(const const_iterator &other); 7770: 7770: const QVariant operator*() const; 7770: bool operator==(const const_iterator &o) const; 7770: bool operator!=(const const_iterator &o) const; 7770: const_iterator &operator++(); 7770: const_iterator operator++(int); 7770: const_iterator &operator--(); 7770: const_iterator operator--(int); 7770: const_iterator &operator+=(int j); 7770: const_iterator &operator-=(int j); 7770: const_iterator operator+(int j) const; 7770: const_iterator operator-(int j) const; 7770: }; 7770: 7770: friend struct const_iterator; 7770: 7770: 7770: explicit QSequentialIterable(QtMetaTypePrivate::QSequentialIterableImpl impl); 7770: 7770: 7770: 7770: 7770: const_iterator begin() const; 7770: const_iterator end() const; 7770: 7770: QVariant at(int idx) const; 7770: int size() const; 7770: 7770: bool canReverseIterate() const; 7770: }; 7770: 7770: class __attribute__((visibility("default"))) QAssociativeIterable 7770: { 7770: QtMetaTypePrivate::QAssociativeIterableImpl m_impl; 7770: public: 7770: struct __attribute__((visibility("default"))) const_iterator 7770: { 7770: private: 7770: QtMetaTypePrivate::QAssociativeIterableImpl m_impl; 7770: QAtomicInt *ref; 7770: friend class QAssociativeIterable; 7770: explicit const_iterator(const QAssociativeIterable &iter, QAtomicInt *ref_); 7770: 7770: explicit const_iterator(const QtMetaTypePrivate::QAssociativeIterableImpl &impl, QAtomicInt *ref_); 7770: 7770: void begin(); 7770: void end(); 7770: void find(const QVariant &key); 7770: public: 7770: ~const_iterator(); 7770: const_iterator(const const_iterator &other); 7770: 7770: const_iterator& operator=(const const_iterator &other); 7770: 7770: const QVariant key() const; 7770: 7770: const QVariant value() const; 7770: 7770: const QVariant operator*() const; 7770: bool operator==(const const_iterator &o) const; 7770: bool operator!=(const const_iterator &o) const; 7770: const_iterator &operator++(); 7770: const_iterator operator++(int); 7770: const_iterator &operator--(); 7770: const_iterator operator--(int); 7770: const_iterator &operator+=(int j); 7770: const_iterator &operator-=(int j); 7770: const_iterator operator+(int j) const; 7770: const_iterator operator-(int j) const; 7770: }; 7770: 7770: friend struct const_iterator; 7770: 7770: 7770: explicit QAssociativeIterable(QtMetaTypePrivate::QAssociativeIterableImpl impl); 7770: 7770: 7770: 7770: 7770: const_iterator begin() const; 7770: const_iterator end() const; 7770: const_iterator find(const QVariant &key) const; 7770: 7770: QVariant value(const QVariant &key) const; 7770: 7770: int size() const; 7770: }; 7770: 7770: 7770: namespace QtPrivate { 7770: template 7770: struct QVariantValueHelper : TreatAsQObjectBeforeMetaType, T, const QVariant &, T> 7770: { 7770: static T metaType(const QVariant &v) 7770: { 7770: const int vid = qMetaTypeId(); 7770: if (vid == v.userType()) 7770: return *reinterpret_cast(v.constData()); 7770: T t; 7770: if (v.convert(vid, &t)) 7770: return t; 7770: return T(); 7770: } 7770: 7770: static T object(const QVariant &v) 7770: { 7770: return qobject_cast(QMetaType::typeFlags(v.userType()) & QMetaType::PointerToQObject 7770: ? v.d.data.o 7770: : QVariantValueHelper::metaType(v)); 7770: } 7770: 7770: }; 7770: 7770: template 7770: struct QVariantValueHelperInterface : QVariantValueHelper 7770: { 7770: }; 7770: 7770: template<> 7770: struct QVariantValueHelperInterface 7770: { 7770: static QSequentialIterable invoke(const QVariant &v) 7770: { 7770: const int typeId = v.userType(); 7770: if (typeId == qMetaTypeId()) { 7770: return QSequentialIterable(QtMetaTypePrivate::QSequentialIterableImpl(reinterpret_cast(v.constData()))); 7770: } 7770: if (typeId == qMetaTypeId()) { 7770: return QSequentialIterable(QtMetaTypePrivate::QSequentialIterableImpl(reinterpret_cast(v.constData()))); 7770: } 7770: 7770: if (typeId == qMetaTypeId()) { 7770: return QSequentialIterable(QtMetaTypePrivate::QSequentialIterableImpl(reinterpret_cast(v.constData()))); 7770: } 7770: 7770: return QSequentialIterable(v.value()); 7770: } 7770: }; 7770: template<> 7770: struct QVariantValueHelperInterface 7770: { 7770: static QAssociativeIterable invoke(const QVariant &v) 7770: { 7770: const int typeId = v.userType(); 7770: if (typeId == qMetaTypeId()) { 7770: return QAssociativeIterable(QtMetaTypePrivate::QAssociativeIterableImpl(reinterpret_cast(v.constData()))); 7770: } 7770: if (typeId == qMetaTypeId()) { 7770: return QAssociativeIterable(QtMetaTypePrivate::QAssociativeIterableImpl(reinterpret_cast(v.constData()))); 7770: } 7770: return QAssociativeIterable(v.value()); 7770: } 7770: }; 7770: template<> 7770: struct QVariantValueHelperInterface 7770: { 7770: static QVariantList invoke(const QVariant &v) 7770: { 7770: const int typeId = v.userType(); 7770: if (typeId == qMetaTypeId() || typeId == qMetaTypeId() || QMetaType::hasRegisteredConverterFunction(typeId, qMetaTypeId())) { 7770: QSequentialIterable iter = QVariantValueHelperInterface::invoke(v); 7770: QVariantList l; 7770: l.reserve(iter.size()); 7770: for (QSequentialIterable::const_iterator it = iter.begin(), end = iter.end(); it != end; ++it) 7770: l << *it; 7770: return l; 7770: } 7770: return QVariantValueHelper::invoke(v); 7770: } 7770: }; 7770: template<> 7770: struct QVariantValueHelperInterface 7770: { 7770: static QVariantHash invoke(const QVariant &v) 7770: { 7770: const int typeId = v.userType(); 7770: if (typeId == qMetaTypeId() || QMetaType::hasRegisteredConverterFunction(typeId, qMetaTypeId())) { 7770: QAssociativeIterable iter = QVariantValueHelperInterface::invoke(v); 7770: QVariantHash l; 7770: l.reserve(iter.size()); 7770: for (QAssociativeIterable::const_iterator it = iter.begin(), end = iter.end(); it != end; ++it) 7770: l.insertMulti(it.key().toString(), it.value()); 7770: return l; 7770: } 7770: return QVariantValueHelper::invoke(v); 7770: } 7770: }; 7770: template<> 7770: struct QVariantValueHelperInterface 7770: { 7770: static QVariantMap invoke(const QVariant &v) 7770: { 7770: const int typeId = v.userType(); 7770: if (typeId == qMetaTypeId() || QMetaType::hasRegisteredConverterFunction(typeId, qMetaTypeId())) { 7770: QAssociativeIterable iter = QVariantValueHelperInterface::invoke(v); 7770: QVariantMap l; 7770: for (QAssociativeIterable::const_iterator it = iter.begin(), end = iter.end(); it != end; ++it) 7770: l.insertMulti(it.key().toString(), it.value()); 7770: return l; 7770: } 7770: return QVariantValueHelper::invoke(v); 7770: } 7770: }; 7770: template<> 7770: struct QVariantValueHelperInterface > 7770: { 7770: static QPair invoke(const QVariant &v) 7770: { 7770: const int typeId = v.userType(); 7770: if (typeId == qMetaTypeId >()) 7770: return QVariantValueHelper >::invoke(v); 7770: 7770: if (QMetaType::hasRegisteredConverterFunction(typeId, qMetaTypeId())) { 7770: QtMetaTypePrivate::QPairVariantInterfaceImpl pi = v.value(); 7770: 7770: const QtMetaTypePrivate::VariantData d1 = pi.first(); 7770: QVariant v1(d1.metaTypeId, d1.data, d1.flags); 7770: if (d1.metaTypeId == qMetaTypeId()) 7770: v1 = *reinterpret_cast(d1.data); 7770: 7770: const QtMetaTypePrivate::VariantData d2 = pi.second(); 7770: QVariant v2(d2.metaTypeId, d2.data, d2.flags); 7770: if (d2.metaTypeId == qMetaTypeId()) 7770: v2 = *reinterpret_cast(d2.data); 7770: 7770: return QPair(v1, v2); 7770: } 7770: return QVariantValueHelper >::invoke(v); 7770: } 7770: }; 7770: } 7770: 7770: template inline T qvariant_cast(const QVariant &v) 7770: { 7770: return QtPrivate::QVariantValueHelperInterface::invoke(v); 7770: } 7770: 7770: template<> inline QVariant qvariant_cast(const QVariant &v) 7770: { 7770: if (v.userType() == QMetaType::QVariant) 7770: return *reinterpret_cast(v.constData()); 7770: return v; 7770: } 7770: # 858 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvariant.h" 3 4 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QVariant &); 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QVariant::Type); 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QVariant" 2 3 4 7770: # 41 "maps/qgeoserviceprovider.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QString" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstring.h" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QString" 2 3 4 7770: # 42 "maps/qgeoserviceprovider.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QObject" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QObject" 2 3 4 7770: # 43 "maps/qgeoserviceprovider.h" 2 7770: # 1 "../../include/QtLocation/qlocationglobal.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/qlocationglobal.h" 1 7770: # 41 "../../include/QtLocation/../../src/location/qlocationglobal.h" 7770: 7770: # 53 "../../include/QtLocation/../../src/location/qlocationglobal.h" 7770: 7770: # 1 "../../include/QtLocation/qlocationglobal.h" 2 7770: # 44 "maps/qgeoserviceprovider.h" 2 7770: 7770: 7770: 7770: 7770: # 47 "maps/qgeoserviceprovider.h" 7770: class QLocale; 7770: class QStringList; 7770: class QGeoCodingManager; 7770: class QGeoMappingManager; 7770: class QGeoRoutingManager; 7770: class QPlaceManager; 7770: class QGeoCodingManagerEngine; 7770: class QGeoMappingManagerEngine; 7770: class QGeoRoutingManagerEngine; 7770: class QPlaceManagerEngine; 7770: class QGeoServiceProviderPrivate; 7770: 7770: class 7770: # 59 "maps/qgeoserviceprovider.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 59 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider : public QObject 7770: { 7770: 7770: # 61 "maps/qgeoserviceprovider.h" 3 4 7770: public: 7770: # 61 "maps/qgeoserviceprovider.h" 7770: #pragma GCC diagnostic push 7770: # 61 "maps/qgeoserviceprovider.h" 7770: 7770: # 61 "maps/qgeoserviceprovider.h" 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 61 "maps/qgeoserviceprovider.h" 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 61 "maps/qgeoserviceprovider.h" 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 61 "maps/qgeoserviceprovider.h" 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 61 "maps/qgeoserviceprovider.h" 7770: #pragma GCC diagnostic pop 7770: # 61 "maps/qgeoserviceprovider.h" 7770: struct QPrivateSignal {}; 7770: 7770: 7770: # 63 "maps/qgeoserviceprovider.h" 7770: public: 7770: enum Error { 7770: NoError, 7770: NotSupportedError, 7770: UnknownParameterError, 7770: MissingRequiredParameterError, 7770: ConnectionError 7770: }; 7770: 7770: enum RoutingFeature { 7770: NoRoutingFeatures = 0, 7770: OnlineRoutingFeature = (1<<0), 7770: OfflineRoutingFeature = (1<<1), 7770: LocalizedRoutingFeature = (1<<2), 7770: RouteUpdatesFeature = (1<<3), 7770: AlternativeRoutesFeature = (1<<4), 7770: ExcludeAreasRoutingFeature = (1<<5), 7770: AnyRoutingFeatures = ~(0) 7770: }; 7770: 7770: enum GeocodingFeature { 7770: NoGeocodingFeatures = 0, 7770: OnlineGeocodingFeature = (1<<0), 7770: OfflineGeocodingFeature = (1<<1), 7770: ReverseGeocodingFeature = (1<<2), 7770: LocalizedGeocodingFeature = (1<<3), 7770: AnyGeocodingFeatures = ~(0) 7770: }; 7770: 7770: enum MappingFeature { 7770: NoMappingFeatures = 0, 7770: OnlineMappingFeature = (1<<0), 7770: OfflineMappingFeature = (1<<1), 7770: LocalizedMappingFeature = (1<<2), 7770: AnyMappingFeatures = ~(0) 7770: }; 7770: 7770: enum PlacesFeature { 7770: NoPlacesFeatures = 0, 7770: OnlinePlacesFeature = (1<<0), 7770: OfflinePlacesFeature = (1<<1), 7770: SavePlaceFeature = (1<<2), 7770: RemovePlaceFeature = (1<<3), 7770: SaveCategoryFeature = (1<<4), 7770: RemoveCategoryFeature = (1<<5), 7770: PlaceRecommendationsFeature = (1<<6), 7770: SearchSuggestionsFeature = (1<<7), 7770: LocalizedPlacesFeature = (1<<8), 7770: NotificationsFeature = (1<<9), 7770: PlaceMatchingFeature = (1<<10), 7770: AnyPlacesFeatures = ~(0) 7770: }; 7770: 7770: 7770: # 116 "maps/qgeoserviceprovider.h" 3 4 7770: typedef QFlags< 7770: # 116 "maps/qgeoserviceprovider.h" 7770: RoutingFeature 7770: # 116 "maps/qgeoserviceprovider.h" 3 4 7770: > 7770: # 116 "maps/qgeoserviceprovider.h" 7770: RoutingFeatures 7770: # 116 "maps/qgeoserviceprovider.h" 3 4 7770: ; 7770: 7770: 7770: typedef QFlags< 7770: # 119 "maps/qgeoserviceprovider.h" 7770: GeocodingFeature 7770: # 119 "maps/qgeoserviceprovider.h" 3 4 7770: > 7770: # 119 "maps/qgeoserviceprovider.h" 7770: GeocodingFeatures 7770: # 119 "maps/qgeoserviceprovider.h" 3 4 7770: ; 7770: 7770: 7770: typedef QFlags< 7770: # 122 "maps/qgeoserviceprovider.h" 7770: MappingFeature 7770: # 122 "maps/qgeoserviceprovider.h" 3 4 7770: > 7770: # 122 "maps/qgeoserviceprovider.h" 7770: MappingFeatures 7770: # 122 "maps/qgeoserviceprovider.h" 3 4 7770: ; 7770: 7770: 7770: typedef QFlags< 7770: # 125 "maps/qgeoserviceprovider.h" 7770: PlacesFeature 7770: # 125 "maps/qgeoserviceprovider.h" 3 4 7770: > 7770: # 125 "maps/qgeoserviceprovider.h" 7770: PlacesFeatures 7770: # 125 "maps/qgeoserviceprovider.h" 3 4 7770: ; 7770: 7770: 7770: 7770: # 128 "maps/qgeoserviceprovider.h" 7770: static QStringList availableServiceProviders(); 7770: QGeoServiceProvider(const QString &providerName, 7770: const QVariantMap ¶meters = QVariantMap(), 7770: bool allowExperimental = false); 7770: 7770: ~QGeoServiceProvider(); 7770: 7770: RoutingFeatures routingFeatures() const; 7770: GeocodingFeatures geocodingFeatures() const; 7770: MappingFeatures mappingFeatures() const; 7770: PlacesFeatures placesFeatures() const; 7770: 7770: QGeoCodingManager *geocodingManager() const; 7770: QGeoMappingManager *mappingManager() const; 7770: QGeoRoutingManager *routingManager() const; 7770: QPlaceManager *placeManager() const; 7770: 7770: Error error() const; 7770: QString errorString() const; 7770: 7770: void setParameters(const QVariantMap ¶meters); 7770: void setLocale(const QLocale &locale); 7770: void setAllowExperimental(bool allow); 7770: 7770: private: 7770: QGeoServiceProviderPrivate *d_ptr; 7770: }; 7770: 7770: 7770: # 156 "maps/qgeoserviceprovider.h" 3 4 7770: constexpr inline QFlags< 7770: # 156 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::RoutingFeatures 7770: # 156 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type> operator|( 7770: # 156 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::RoutingFeatures 7770: # 156 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type f1, 7770: # 156 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::RoutingFeatures 7770: # 156 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type f2) noexcept { return QFlags< 7770: # 156 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::RoutingFeatures 7770: # 156 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type>(f1) | f2; } constexpr inline QFlags< 7770: # 156 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::RoutingFeatures 7770: # 156 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type> operator|( 7770: # 156 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::RoutingFeatures 7770: # 156 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type f1, QFlags< 7770: # 156 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::RoutingFeatures 7770: # 156 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type> f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|( 7770: # 156 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::RoutingFeatures 7770: # 156 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 7770: constexpr inline QFlags< 7770: # 157 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::GeocodingFeatures 7770: # 157 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type> operator|( 7770: # 157 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::GeocodingFeatures 7770: # 157 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type f1, 7770: # 157 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::GeocodingFeatures 7770: # 157 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type f2) noexcept { return QFlags< 7770: # 157 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::GeocodingFeatures 7770: # 157 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type>(f1) | f2; } constexpr inline QFlags< 7770: # 157 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::GeocodingFeatures 7770: # 157 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type> operator|( 7770: # 157 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::GeocodingFeatures 7770: # 157 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type f1, QFlags< 7770: # 157 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::GeocodingFeatures 7770: # 157 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type> f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|( 7770: # 157 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::GeocodingFeatures 7770: # 157 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 7770: constexpr inline QFlags< 7770: # 158 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::MappingFeatures 7770: # 158 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type> operator|( 7770: # 158 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::MappingFeatures 7770: # 158 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type f1, 7770: # 158 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::MappingFeatures 7770: # 158 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type f2) noexcept { return QFlags< 7770: # 158 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::MappingFeatures 7770: # 158 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type>(f1) | f2; } constexpr inline QFlags< 7770: # 158 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::MappingFeatures 7770: # 158 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type> operator|( 7770: # 158 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::MappingFeatures 7770: # 158 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type f1, QFlags< 7770: # 158 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::MappingFeatures 7770: # 158 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type> f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|( 7770: # 158 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::MappingFeatures 7770: # 158 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 7770: constexpr inline QFlags< 7770: # 159 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::PlacesFeatures 7770: # 159 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type> operator|( 7770: # 159 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::PlacesFeatures 7770: # 159 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type f1, 7770: # 159 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::PlacesFeatures 7770: # 159 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type f2) noexcept { return QFlags< 7770: # 159 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::PlacesFeatures 7770: # 159 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type>(f1) | f2; } constexpr inline QFlags< 7770: # 159 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::PlacesFeatures 7770: # 159 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type> operator|( 7770: # 159 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::PlacesFeatures 7770: # 159 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type f1, QFlags< 7770: # 159 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::PlacesFeatures 7770: # 159 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type> f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|( 7770: # 159 "maps/qgeoserviceprovider.h" 7770: QGeoServiceProvider::PlacesFeatures 7770: # 159 "maps/qgeoserviceprovider.h" 3 4 7770: ::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 7770: 7770: 7770: # 38 "maps/qgeoserviceprovider.cpp" 2 7770: # 1 "maps/qgeoserviceprovider_p.h" 1 7770: # 53 "maps/qgeoserviceprovider_p.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QHash" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qhash.h" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QHash" 2 3 4 7770: # 54 "maps/qgeoserviceprovider_p.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QJsonObject" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qjsonobject.h" 1 3 4 7770: # 43 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qjsonobject.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qjsonvalue.h" 1 3 4 7770: # 46 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qjsonvalue.h" 3 4 7770: 7770: 7770: class QDebug; 7770: class QVariant; 7770: class QJsonArray; 7770: class QJsonObject; 7770: 7770: namespace QJsonPrivate { 7770: class Data; 7770: class Base; 7770: class Object; 7770: class Header; 7770: class Array; 7770: class Value; 7770: class Entry; 7770: } 7770: 7770: class __attribute__((visibility("default"))) QJsonValue 7770: { 7770: public: 7770: enum Type { 7770: Null = 0x0, 7770: Bool = 0x1, 7770: Double = 0x2, 7770: String = 0x3, 7770: Array = 0x4, 7770: Object = 0x5, 7770: Undefined = 0x80 7770: }; 7770: 7770: QJsonValue(Type = Null); 7770: QJsonValue(bool b); 7770: QJsonValue(double n); 7770: QJsonValue(int n); 7770: QJsonValue(qint64 n); 7770: QJsonValue(const QString &s); 7770: QJsonValue(QLatin1String s); 7770: 7770: inline __attribute__ ((__deprecated__("Use fromUtf8, QStringLiteral, or QLatin1String"))) QJsonValue(const char *s) 7770: : d(nullptr), t(String) { stringDataFromQStringHelper(QString::fromUtf8(s)); } 7770: 7770: QJsonValue(const QJsonArray &a); 7770: QJsonValue(const QJsonObject &o); 7770: 7770: ~QJsonValue(); 7770: 7770: QJsonValue(const QJsonValue &other); 7770: QJsonValue &operator =(const QJsonValue &other); 7770: 7770: static QJsonValue fromVariant(const QVariant &variant); 7770: QVariant toVariant() const; 7770: 7770: Type type() const; 7770: inline bool isNull() const { return type() == Null; } 7770: inline bool isBool() const { return type() == Bool; } 7770: inline bool isDouble() const { return type() == Double; } 7770: inline bool isString() const { return type() == String; } 7770: inline bool isArray() const { return type() == Array; } 7770: inline bool isObject() const { return type() == Object; } 7770: inline bool isUndefined() const { return type() == Undefined; } 7770: 7770: bool toBool(bool defaultValue = false) const; 7770: int toInt(int defaultValue = 0) const; 7770: double toDouble(double defaultValue = 0) const; 7770: QString toString() const; 7770: QString toString(const QString &defaultValue) const; 7770: QJsonArray toArray() const; 7770: QJsonArray toArray(const QJsonArray &defaultValue) const; 7770: QJsonObject toObject() const; 7770: QJsonObject toObject(const QJsonObject &defaultValue) const; 7770: 7770: bool operator==(const QJsonValue &other) const; 7770: bool operator!=(const QJsonValue &other) const; 7770: 7770: private: 7770: 7770: inline QJsonValue(const void *) {} 7770: friend class QJsonPrivate::Value; 7770: friend class QJsonArray; 7770: friend class QJsonObject; 7770: friend __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QJsonValue &); 7770: 7770: QJsonValue(QJsonPrivate::Data *d, QJsonPrivate::Base *b, const QJsonPrivate::Value& v); 7770: void stringDataFromQStringHelper(const QString &string); 7770: 7770: void detach(); 7770: 7770: union { 7770: quint64 ui; 7770: bool b; 7770: double dbl; 7770: QStringData *stringData; 7770: QJsonPrivate::Base *base; 7770: }; 7770: QJsonPrivate::Data *d; 7770: Type t; 7770: }; 7770: 7770: class __attribute__((visibility("default"))) QJsonValueRef 7770: { 7770: public: 7770: QJsonValueRef(QJsonArray *array, int idx) 7770: : a(array), is_object(false), index(idx) {} 7770: QJsonValueRef(QJsonObject *object, int idx) 7770: : o(object), is_object(true), index(idx) {} 7770: 7770: inline operator QJsonValue() const { return toValue(); } 7770: QJsonValueRef &operator = (const QJsonValue &val); 7770: QJsonValueRef &operator = (const QJsonValueRef &val); 7770: 7770: QVariant toVariant() const; 7770: inline QJsonValue::Type type() const { return toValue().type(); } 7770: inline bool isNull() const { return type() == QJsonValue::Null; } 7770: inline bool isBool() const { return type() == QJsonValue::Bool; } 7770: inline bool isDouble() const { return type() == QJsonValue::Double; } 7770: inline bool isString() const { return type() == QJsonValue::String; } 7770: inline bool isArray() const { return type() == QJsonValue::Array; } 7770: inline bool isObject() const { return type() == QJsonValue::Object; } 7770: inline bool isUndefined() const { return type() == QJsonValue::Undefined; } 7770: 7770: inline bool toBool() const { return toValue().toBool(); } 7770: inline int toInt() const { return toValue().toInt(); } 7770: inline double toDouble() const { return toValue().toDouble(); } 7770: inline QString toString() const { return toValue().toString(); } 7770: QJsonArray toArray() const; 7770: QJsonObject toObject() const; 7770: 7770: 7770: inline bool toBool(bool defaultValue) const { return toValue().toBool(defaultValue); } 7770: inline int toInt(int defaultValue) const { return toValue().toInt(defaultValue); } 7770: inline double toDouble(double defaultValue) const { return toValue().toDouble(defaultValue); } 7770: inline QString toString(const QString &defaultValue) const { return toValue().toString(defaultValue); } 7770: 7770: inline bool operator==(const QJsonValue &other) const { return toValue() == other; } 7770: inline bool operator!=(const QJsonValue &other) const { return toValue() != other; } 7770: 7770: private: 7770: QJsonValue toValue() const; 7770: 7770: union { 7770: QJsonArray *a; 7770: QJsonObject *o; 7770: }; 7770: uint is_object : 1; 7770: uint index : 31; 7770: }; 7770: 7770: 7770: 7770: class QJsonValuePtr 7770: { 7770: QJsonValue value; 7770: public: 7770: explicit QJsonValuePtr(const QJsonValue& val) 7770: : value(val) {} 7770: 7770: QJsonValue& operator*() { return value; } 7770: QJsonValue* operator->() { return &value; } 7770: }; 7770: 7770: class QJsonValueRefPtr 7770: { 7770: QJsonValueRef valueRef; 7770: public: 7770: QJsonValueRefPtr(QJsonArray *array, int idx) 7770: : valueRef(array, idx) {} 7770: QJsonValueRefPtr(QJsonObject *object, int idx) 7770: : valueRef(object, idx) {} 7770: 7770: QJsonValueRef& operator*() { return valueRef; } 7770: QJsonValueRef* operator->() { return &valueRef; } 7770: }; 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QJsonValue &); 7770: 7770: 7770: 7770: # 44 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qjsonobject.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: class QDebug; 7770: template class QMap; 7770: typedef QMap QVariantMap; 7770: template class QHash; 7770: typedef QHash QVariantHash; 7770: 7770: class __attribute__((visibility("default"))) QJsonObject 7770: { 7770: public: 7770: QJsonObject(); 7770: 7770: 7770: QJsonObject(std::initializer_list > args) 7770: { 7770: initialize(); 7770: for (std::initializer_list >::const_iterator i = args.begin(); i != args.end(); ++i) 7770: insert(i->first, i->second); 7770: } 7770: 7770: 7770: ~QJsonObject(); 7770: 7770: QJsonObject(const QJsonObject &other); 7770: QJsonObject &operator =(const QJsonObject &other); 7770: 7770: static QJsonObject fromVariantMap(const QVariantMap &map); 7770: QVariantMap toVariantMap() const; 7770: static QJsonObject fromVariantHash(const QVariantHash &map); 7770: QVariantHash toVariantHash() const; 7770: 7770: QStringList keys() const; 7770: int size() const; 7770: inline int count() const { return size(); } 7770: inline int length() const { return size(); } 7770: bool isEmpty() const; 7770: 7770: QJsonValue value(const QString &key) const; 7770: QJsonValue value(QLatin1String key) const; 7770: QJsonValue operator[] (const QString &key) const; 7770: QJsonValue operator[] (QLatin1String key) const { return value(key); } 7770: QJsonValueRef operator[] (const QString &key); 7770: QJsonValueRef operator[] (QLatin1String key); 7770: 7770: void remove(const QString &key); 7770: QJsonValue take(const QString &key); 7770: bool contains(const QString &key) const; 7770: bool contains(QLatin1String key) const; 7770: 7770: bool operator==(const QJsonObject &other) const; 7770: bool operator!=(const QJsonObject &other) const; 7770: 7770: class const_iterator; 7770: 7770: class iterator 7770: { 7770: friend class const_iterator; 7770: friend class QJsonObject; 7770: QJsonObject *o; 7770: int i; 7770: 7770: public: 7770: typedef std::random_access_iterator_tag iterator_category; 7770: typedef int difference_type; 7770: typedef QJsonValue value_type; 7770: typedef QJsonValueRef reference; 7770: typedef QJsonValuePtr pointer; 7770: 7770: constexpr inline iterator() : o(nullptr), i(0) {} 7770: constexpr inline iterator(QJsonObject *obj, int index) : o(obj), i(index) {} 7770: 7770: inline QString key() const { return o->keyAt(i); } 7770: inline QJsonValueRef value() const { return QJsonValueRef(o, i); } 7770: inline QJsonValueRef operator*() const { return QJsonValueRef(o, i); } 7770: 7770: 7770: 7770: inline QJsonValueRefPtr operator->() const { return QJsonValueRefPtr(o, i); } 7770: 7770: inline bool operator==(const iterator &other) const { return i == other.i; } 7770: inline bool operator!=(const iterator &other) const { return i != other.i; } 7770: 7770: inline iterator &operator++() { ++i; return *this; } 7770: inline iterator operator++(int) { iterator r = *this; ++i; return r; } 7770: inline iterator &operator--() { --i; return *this; } 7770: inline iterator operator--(int) { iterator r = *this; --i; return r; } 7770: inline iterator operator+(int j) const 7770: { iterator r = *this; r.i += j; return r; } 7770: inline iterator operator-(int j) const { return operator+(-j); } 7770: inline iterator &operator+=(int j) { i += j; return *this; } 7770: inline iterator &operator-=(int j) { i -= j; return *this; } 7770: 7770: public: 7770: inline bool operator==(const const_iterator &other) const { return i == other.i; } 7770: inline bool operator!=(const const_iterator &other) const { return i != other.i; } 7770: }; 7770: friend class iterator; 7770: 7770: class const_iterator 7770: { 7770: friend class iterator; 7770: const QJsonObject *o; 7770: int i; 7770: 7770: public: 7770: typedef std::random_access_iterator_tag iterator_category; 7770: typedef int difference_type; 7770: typedef QJsonValue value_type; 7770: typedef QJsonValue reference; 7770: typedef QJsonValuePtr pointer; 7770: 7770: constexpr inline const_iterator() : o(nullptr), i(0) {} 7770: constexpr inline const_iterator(const QJsonObject *obj, int index) 7770: : o(obj), i(index) {} 7770: inline const_iterator(const iterator &other) 7770: : o(other.o), i(other.i) {} 7770: 7770: inline QString key() const { return o->keyAt(i); } 7770: inline QJsonValue value() const { return o->valueAt(i); } 7770: inline QJsonValue operator*() const { return o->valueAt(i); } 7770: 7770: 7770: 7770: inline QJsonValuePtr operator->() const { return QJsonValuePtr(o->valueAt(i)); } 7770: 7770: inline bool operator==(const const_iterator &other) const { return i == other.i; } 7770: inline bool operator!=(const const_iterator &other) const { return i != other.i; } 7770: 7770: inline const_iterator &operator++() { ++i; return *this; } 7770: inline const_iterator operator++(int) { const_iterator r = *this; ++i; return r; } 7770: inline const_iterator &operator--() { --i; return *this; } 7770: inline const_iterator operator--(int) { const_iterator r = *this; --i; return r; } 7770: inline const_iterator operator+(int j) const 7770: { const_iterator r = *this; r.i += j; return r; } 7770: inline const_iterator operator-(int j) const { return operator+(-j); } 7770: inline const_iterator &operator+=(int j) { i += j; return *this; } 7770: inline const_iterator &operator-=(int j) { i -= j; return *this; } 7770: 7770: inline bool operator==(const iterator &other) const { return i == other.i; } 7770: inline bool operator!=(const iterator &other) const { return i != other.i; } 7770: }; 7770: friend class const_iterator; 7770: 7770: 7770: inline iterator begin() { detach2(); return iterator(this, 0); } 7770: inline const_iterator begin() const { return const_iterator(this, 0); } 7770: inline const_iterator constBegin() const { return const_iterator(this, 0); } 7770: inline iterator end() { detach2(); return iterator(this, size()); } 7770: inline const_iterator end() const { return const_iterator(this, size()); } 7770: inline const_iterator constEnd() const { return const_iterator(this, size()); } 7770: iterator erase(iterator it); 7770: 7770: 7770: typedef iterator Iterator; 7770: typedef const_iterator ConstIterator; 7770: iterator find(const QString &key); 7770: iterator find(QLatin1String key); 7770: const_iterator find(const QString &key) const { return constFind(key); } 7770: const_iterator find(QLatin1String key) const { return constFind(key); } 7770: const_iterator constFind(const QString &key) const; 7770: const_iterator constFind(QLatin1String key) const; 7770: iterator insert(const QString &key, const QJsonValue &value); 7770: 7770: 7770: typedef QJsonValue mapped_type; 7770: typedef QString key_type; 7770: typedef int size_type; 7770: 7770: inline bool empty() const { return isEmpty(); } 7770: 7770: private: 7770: friend class QJsonPrivate::Data; 7770: friend class QJsonValue; 7770: friend class QJsonDocument; 7770: friend class QJsonValueRef; 7770: 7770: friend __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QJsonObject &); 7770: 7770: QJsonObject(QJsonPrivate::Data *data, QJsonPrivate::Object *object); 7770: void initialize(); 7770: 7770: void detach(uint reserve = 0); 7770: bool detach2(uint reserve = 0); 7770: void compact(); 7770: 7770: QString keyAt(int i) const; 7770: QJsonValue valueAt(int i) const; 7770: void setValueAt(int i, const QJsonValue &val); 7770: 7770: QJsonPrivate::Data *d; 7770: QJsonPrivate::Object *o; 7770: }; 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QJsonObject &); 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QJsonObject" 2 3 4 7770: # 55 "maps/qgeoserviceprovider_p.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QJsonArray" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qjsonarray.h" 1 3 4 7770: # 49 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qjsonarray.h" 3 4 7770: 7770: 7770: class QDebug; 7770: class QStringList; 7770: template class QList; 7770: typedef QList QVariantList; 7770: 7770: class __attribute__((visibility("default"))) QJsonArray 7770: { 7770: public: 7770: QJsonArray(); 7770: 7770: 7770: QJsonArray(std::initializer_list args) 7770: { 7770: initialize(); 7770: for (std::initializer_list::const_iterator i = args.begin(); i != args.end(); ++i) 7770: append(*i); 7770: } 7770: 7770: 7770: ~QJsonArray(); 7770: 7770: QJsonArray(const QJsonArray &other); 7770: QJsonArray &operator =(const QJsonArray &other); 7770: 7770: static QJsonArray fromStringList(const QStringList &list); 7770: static QJsonArray fromVariantList(const QVariantList &list); 7770: QVariantList toVariantList() const; 7770: 7770: int size() const; 7770: inline int count() const { return size(); } 7770: 7770: bool isEmpty() const; 7770: QJsonValue at(int i) const; 7770: QJsonValue first() const; 7770: QJsonValue last() const; 7770: 7770: void prepend(const QJsonValue &value); 7770: void append(const QJsonValue &value); 7770: void removeAt(int i); 7770: QJsonValue takeAt(int i); 7770: inline void removeFirst() { removeAt(0); } 7770: inline void removeLast() { removeAt(size() - 1); } 7770: 7770: void insert(int i, const QJsonValue &value); 7770: void replace(int i, const QJsonValue &value); 7770: 7770: bool contains(const QJsonValue &element) const; 7770: QJsonValueRef operator[](int i); 7770: QJsonValue operator[](int i) const; 7770: 7770: bool operator==(const QJsonArray &other) const; 7770: bool operator!=(const QJsonArray &other) const; 7770: 7770: class const_iterator; 7770: 7770: class iterator { 7770: public: 7770: QJsonArray *a; 7770: int i; 7770: typedef std::random_access_iterator_tag iterator_category; 7770: typedef int difference_type; 7770: typedef QJsonValue value_type; 7770: typedef QJsonValueRef reference; 7770: typedef QJsonValueRefPtr pointer; 7770: 7770: inline iterator() : a(nullptr), i(0) { } 7770: explicit inline iterator(QJsonArray *array, int index) : a(array), i(index) { } 7770: 7770: inline QJsonValueRef operator*() const { return QJsonValueRef(a, i); } 7770: 7770: 7770: 7770: inline QJsonValueRefPtr operator->() const { return QJsonValueRefPtr(a, i); } 7770: 7770: inline QJsonValueRef operator[](int j) const { return QJsonValueRef(a, i + j); } 7770: 7770: inline bool operator==(const iterator &o) const { return i == o.i; } 7770: inline bool operator!=(const iterator &o) const { return i != o.i; } 7770: inline bool operator<(const iterator& other) const { return i < other.i; } 7770: inline bool operator<=(const iterator& other) const { return i <= other.i; } 7770: inline bool operator>(const iterator& other) const { return i > other.i; } 7770: inline bool operator>=(const iterator& other) const { return i >= other.i; } 7770: inline bool operator==(const const_iterator &o) const { return i == o.i; } 7770: inline bool operator!=(const const_iterator &o) const { return i != o.i; } 7770: inline bool operator<(const const_iterator& other) const { return i < other.i; } 7770: inline bool operator<=(const const_iterator& other) const { return i <= other.i; } 7770: inline bool operator>(const const_iterator& other) const { return i > other.i; } 7770: inline bool operator>=(const const_iterator& other) const { return i >= other.i; } 7770: inline iterator &operator++() { ++i; return *this; } 7770: inline iterator operator++(int) { iterator n = *this; ++i; return n; } 7770: inline iterator &operator--() { i--; return *this; } 7770: inline iterator operator--(int) { iterator n = *this; i--; return n; } 7770: inline iterator &operator+=(int j) { i+=j; return *this; } 7770: inline iterator &operator-=(int j) { i-=j; return *this; } 7770: inline iterator operator+(int j) const { return iterator(a, i+j); } 7770: inline iterator operator-(int j) const { return iterator(a, i-j); } 7770: inline int operator-(iterator j) const { return i - j.i; } 7770: }; 7770: friend class iterator; 7770: 7770: class const_iterator { 7770: public: 7770: const QJsonArray *a; 7770: int i; 7770: typedef std::random_access_iterator_tag iterator_category; 7770: typedef qptrdiff difference_type; 7770: typedef QJsonValue value_type; 7770: typedef QJsonValue reference; 7770: typedef QJsonValuePtr pointer; 7770: 7770: inline const_iterator() : a(nullptr), i(0) { } 7770: explicit inline const_iterator(const QJsonArray *array, int index) : a(array), i(index) { } 7770: 7770: inline const_iterator(const const_iterator &o) : a(o.a), i(o.i) {} 7770: 7770: inline const_iterator(const iterator &o) : a(o.a), i(o.i) {} 7770: 7770: inline QJsonValue operator*() const { return a->at(i); } 7770: 7770: 7770: 7770: inline QJsonValuePtr operator->() const { return QJsonValuePtr(a->at(i)); } 7770: 7770: inline QJsonValue operator[](int j) const { return a->at(i+j); } 7770: inline bool operator==(const const_iterator &o) const { return i == o.i; } 7770: inline bool operator!=(const const_iterator &o) const { return i != o.i; } 7770: inline bool operator<(const const_iterator& other) const { return i < other.i; } 7770: inline bool operator<=(const const_iterator& other) const { return i <= other.i; } 7770: inline bool operator>(const const_iterator& other) const { return i > other.i; } 7770: inline bool operator>=(const const_iterator& other) const { return i >= other.i; } 7770: inline const_iterator &operator++() { ++i; return *this; } 7770: inline const_iterator operator++(int) { const_iterator n = *this; ++i; return n; } 7770: inline const_iterator &operator--() { i--; return *this; } 7770: inline const_iterator operator--(int) { const_iterator n = *this; i--; return n; } 7770: inline const_iterator &operator+=(int j) { i+=j; return *this; } 7770: inline const_iterator &operator-=(int j) { i-=j; return *this; } 7770: inline const_iterator operator+(int j) const { return const_iterator(a, i+j); } 7770: inline const_iterator operator-(int j) const { return const_iterator(a, i-j); } 7770: inline int operator-(const_iterator j) const { return i - j.i; } 7770: }; 7770: friend class const_iterator; 7770: 7770: 7770: inline iterator begin() { detach2(); return iterator(this, 0); } 7770: inline const_iterator begin() const { return const_iterator(this, 0); } 7770: inline const_iterator constBegin() const { return const_iterator(this, 0); } 7770: inline iterator end() { detach2(); return iterator(this, size()); } 7770: inline const_iterator end() const { return const_iterator(this, size()); } 7770: inline const_iterator constEnd() const { return const_iterator(this, size()); } 7770: iterator insert(iterator before, const QJsonValue &value) { insert(before.i, value); return before; } 7770: iterator erase(iterator it) { removeAt(it.i); return it; } 7770: 7770: 7770: typedef iterator Iterator; 7770: typedef const_iterator ConstIterator; 7770: 7770: 7770: inline QJsonArray operator+(const QJsonValue &v) const 7770: { QJsonArray n = *this; n += v; return n; } 7770: inline QJsonArray &operator+=(const QJsonValue &v) 7770: { append(v); return *this; } 7770: inline QJsonArray &operator<< (const QJsonValue &v) 7770: { append(v); return *this; } 7770: 7770: 7770: inline void push_back(const QJsonValue &t) { append(t); } 7770: inline void push_front(const QJsonValue &t) { prepend(t); } 7770: inline void pop_front() { removeFirst(); } 7770: inline void pop_back() { removeLast(); } 7770: inline bool empty() const { return isEmpty(); } 7770: typedef int size_type; 7770: typedef QJsonValue value_type; 7770: typedef value_type *pointer; 7770: typedef const value_type *const_pointer; 7770: typedef QJsonValueRef reference; 7770: typedef QJsonValue const_reference; 7770: typedef int difference_type; 7770: 7770: private: 7770: friend class QJsonPrivate::Data; 7770: friend class QJsonValue; 7770: friend class QJsonDocument; 7770: friend __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QJsonArray &); 7770: 7770: QJsonArray(QJsonPrivate::Data *data, QJsonPrivate::Array *array); 7770: void initialize(); 7770: void compact(); 7770: 7770: void detach(uint reserve = 0); 7770: bool detach2(uint reserve = 0); 7770: 7770: QJsonPrivate::Data *d; 7770: QJsonPrivate::Array *a; 7770: }; 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QJsonArray &); 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QJsonArray" 2 3 4 7770: # 56 "maps/qgeoserviceprovider_p.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QLocale" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlocale.h" 1 3 4 7770: # 43 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlocale.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvariant.h" 1 3 4 7770: # 44 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlocale.h" 2 3 4 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qshareddata.h" 1 3 4 7770: # 44 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qshareddata.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qshareddata.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template class QSharedDataPointer; 7770: 7770: class __attribute__((visibility("default"))) QSharedData 7770: { 7770: public: 7770: mutable QAtomicInt ref; 7770: 7770: inline QSharedData() : ref(0) { } 7770: inline QSharedData(const QSharedData &) : ref(0) { } 7770: 7770: private: 7770: 7770: QSharedData &operator=(const QSharedData &); 7770: }; 7770: 7770: template class QSharedDataPointer 7770: { 7770: public: 7770: typedef T Type; 7770: typedef T *pointer; 7770: 7770: inline void detach() { if (d && d->ref.load() != 1) detach_helper(); } 7770: inline T &operator*() { detach(); return *d; } 7770: inline const T &operator*() const { return *d; } 7770: inline T *operator->() { detach(); return d; } 7770: inline const T *operator->() const { return d; } 7770: inline operator T *() { detach(); return d; } 7770: inline operator const T *() const { return d; } 7770: inline T *data() { detach(); return d; } 7770: inline const T *data() const { return d; } 7770: inline const T *constData() const { return d; } 7770: 7770: inline bool operator==(const QSharedDataPointer &other) const { return d == other.d; } 7770: inline bool operator!=(const QSharedDataPointer &other) const { return d != other.d; } 7770: 7770: inline QSharedDataPointer() { d = nullptr; } 7770: inline ~QSharedDataPointer() { if (d && !d->ref.deref()) delete d; } 7770: 7770: explicit QSharedDataPointer(T *data) noexcept; 7770: inline QSharedDataPointer(const QSharedDataPointer &o) : d(o.d) { if (d) d->ref.ref(); } 7770: inline QSharedDataPointer & operator=(const QSharedDataPointer &o) { 7770: if (o.d != d) { 7770: if (o.d) 7770: o.d->ref.ref(); 7770: T *old = d; 7770: d = o.d; 7770: if (old && !old->ref.deref()) 7770: delete old; 7770: } 7770: return *this; 7770: } 7770: inline QSharedDataPointer &operator=(T *o) { 7770: if (o != d) { 7770: if (o) 7770: o->ref.ref(); 7770: T *old = d; 7770: d = o; 7770: if (old && !old->ref.deref()) 7770: delete old; 7770: } 7770: return *this; 7770: } 7770: 7770: QSharedDataPointer(QSharedDataPointer &&o) noexcept : d(o.d) { o.d = nullptr; } 7770: inline QSharedDataPointer &operator=(QSharedDataPointer &&other) noexcept 7770: { qSwap(d, other.d); return *this; } 7770: 7770: 7770: inline bool operator!() const { return !d; } 7770: 7770: inline void swap(QSharedDataPointer &other) noexcept 7770: { qSwap(d, other.d); } 7770: 7770: protected: 7770: T *clone(); 7770: 7770: private: 7770: void detach_helper(); 7770: 7770: T *d; 7770: }; 7770: 7770: template class QExplicitlySharedDataPointer 7770: { 7770: public: 7770: typedef T Type; 7770: typedef T *pointer; 7770: 7770: inline T &operator*() const { return *d; } 7770: inline T *operator->() { return d; } 7770: inline T *operator->() const { return d; } 7770: inline T *data() const { return d; } 7770: inline const T *constData() const { return d; } 7770: 7770: inline void detach() { if (d && d->ref.load() != 1) detach_helper(); } 7770: 7770: inline void reset() 7770: { 7770: if(d && !d->ref.deref()) 7770: delete d; 7770: 7770: d = nullptr; 7770: } 7770: 7770: inline operator bool () const { return d != nullptr; } 7770: 7770: inline bool operator==(const QExplicitlySharedDataPointer &other) const { return d == other.d; } 7770: inline bool operator!=(const QExplicitlySharedDataPointer &other) const { return d != other.d; } 7770: inline bool operator==(const T *ptr) const { return d == ptr; } 7770: inline bool operator!=(const T *ptr) const { return d != ptr; } 7770: 7770: inline QExplicitlySharedDataPointer() { d = nullptr; } 7770: inline ~QExplicitlySharedDataPointer() { if (d && !d->ref.deref()) delete d; } 7770: 7770: explicit QExplicitlySharedDataPointer(T *data) noexcept; 7770: inline QExplicitlySharedDataPointer(const QExplicitlySharedDataPointer &o) : d(o.d) { if (d) d->ref.ref(); } 7770: 7770: template 7770: inline QExplicitlySharedDataPointer(const QExplicitlySharedDataPointer &o) 7770: 7770: 7770: 7770: : d(o.data()) 7770: 7770: { 7770: if(d) 7770: d->ref.ref(); 7770: } 7770: 7770: inline QExplicitlySharedDataPointer & operator=(const QExplicitlySharedDataPointer &o) { 7770: if (o.d != d) { 7770: if (o.d) 7770: o.d->ref.ref(); 7770: T *old = d; 7770: d = o.d; 7770: if (old && !old->ref.deref()) 7770: delete old; 7770: } 7770: return *this; 7770: } 7770: inline QExplicitlySharedDataPointer &operator=(T *o) { 7770: if (o != d) { 7770: if (o) 7770: o->ref.ref(); 7770: T *old = d; 7770: d = o; 7770: if (old && !old->ref.deref()) 7770: delete old; 7770: } 7770: return *this; 7770: } 7770: 7770: inline QExplicitlySharedDataPointer(QExplicitlySharedDataPointer &&o) noexcept : d(o.d) { o.d = nullptr; } 7770: inline QExplicitlySharedDataPointer &operator=(QExplicitlySharedDataPointer &&other) noexcept 7770: { qSwap(d, other.d); return *this; } 7770: 7770: 7770: inline bool operator!() const { return !d; } 7770: 7770: inline void swap(QExplicitlySharedDataPointer &other) noexcept 7770: { qSwap(d, other.d); } 7770: 7770: protected: 7770: T *clone(); 7770: 7770: private: 7770: void detach_helper(); 7770: 7770: T *d; 7770: }; 7770: 7770: template 7770: inline QSharedDataPointer::QSharedDataPointer(T *adata) noexcept 7770: : d(adata) 7770: { if (d) d->ref.ref(); } 7770: 7770: template 7770: inline T *QSharedDataPointer::clone() 7770: { 7770: return new T(*d); 7770: } 7770: 7770: template 7770: void QSharedDataPointer::detach_helper() 7770: { 7770: T *x = clone(); 7770: x->ref.ref(); 7770: if (!d->ref.deref()) 7770: delete d; 7770: d = x; 7770: } 7770: 7770: template 7770: inline T *QExplicitlySharedDataPointer::clone() 7770: { 7770: return new T(*d); 7770: } 7770: 7770: template 7770: void QExplicitlySharedDataPointer::detach_helper() 7770: { 7770: T *x = clone(); 7770: x->ref.ref(); 7770: if (!d->ref.deref()) 7770: delete d; 7770: d = x; 7770: } 7770: 7770: template 7770: inline QExplicitlySharedDataPointer::QExplicitlySharedDataPointer(T *adata) noexcept 7770: : d(adata) 7770: { if (d) d->ref.ref(); } 7770: 7770: template 7770: inline void qSwap(QSharedDataPointer &p1, QSharedDataPointer &p2) 7770: { p1.swap(p2); } 7770: 7770: template 7770: inline void qSwap(QExplicitlySharedDataPointer &p1, QExplicitlySharedDataPointer &p2) 7770: { p1.swap(p2); } 7770: 7770: 7770: namespace std { 7770: template 7770: inline void swap(::QSharedDataPointer &p1, ::QSharedDataPointer &p2) 7770: { p1.swap(p2); } 7770: 7770: template 7770: inline void swap(::QExplicitlySharedDataPointer &p1, ::QExplicitlySharedDataPointer &p2) 7770: { p1.swap(p2); } 7770: } 7770: 7770: 7770: template 7770: inline uint qHash(const QSharedDataPointer &ptr, uint seed = 0) noexcept 7770: { 7770: return qHash(ptr.data(), seed); 7770: } 7770: template 7770: inline uint qHash(const QExplicitlySharedDataPointer &ptr, uint seed = 0) noexcept 7770: { 7770: return qHash(ptr.data(), seed); 7770: } 7770: 7770: 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"; } }; 7770: 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"; } }; 7770: 7770: 7770: # 47 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlocale.h" 2 3 4 7770: 7770: 7770: 7770: 7770: class QDataStream; 7770: class QDate; 7770: class QDateTime; 7770: class QLocale; 7770: class QTime; 7770: class QVariant; 7770: class QTextStream; 7770: class QTextStreamPrivate; 7770: 7770: class QLocalePrivate; 7770: 7770: __attribute__((visibility("default"))) uint qHash(const QLocale &key, uint seed = 0) noexcept; 7770: 7770: class __attribute__((visibility("default"))) QLocale 7770: { 7770: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 7770: # 66 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlocale.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 66 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlocale.h" 3 4 7770: 7770: # 66 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlocale.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 66 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlocale.h" 3 4 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 66 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlocale.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 66 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlocale.h" 3 4 7770: 7770: friend class QString; 7770: friend class QStringRef; 7770: friend class QByteArray; 7770: friend class QIntValidator; 7770: friend class QDoubleValidatorPrivate; 7770: friend class QTextStream; 7770: friend class QTextStreamPrivate; 7770: 7770: public: 7770: 7770: 7770: enum Language { 7770: AnyLanguage = 0, 7770: C = 1, 7770: Abkhazian = 2, 7770: Oromo = 3, 7770: Afar = 4, 7770: Afrikaans = 5, 7770: Albanian = 6, 7770: Amharic = 7, 7770: Arabic = 8, 7770: Armenian = 9, 7770: Assamese = 10, 7770: Aymara = 11, 7770: Azerbaijani = 12, 7770: Bashkir = 13, 7770: Basque = 14, 7770: Bengali = 15, 7770: Dzongkha = 16, 7770: Bihari = 17, 7770: Bislama = 18, 7770: Breton = 19, 7770: Bulgarian = 20, 7770: Burmese = 21, 7770: Belarusian = 22, 7770: Khmer = 23, 7770: Catalan = 24, 7770: Chinese = 25, 7770: Corsican = 26, 7770: Croatian = 27, 7770: Czech = 28, 7770: Danish = 29, 7770: Dutch = 30, 7770: English = 31, 7770: Esperanto = 32, 7770: Estonian = 33, 7770: Faroese = 34, 7770: Fijian = 35, 7770: Finnish = 36, 7770: French = 37, 7770: WesternFrisian = 38, 7770: Gaelic = 39, 7770: Galician = 40, 7770: Georgian = 41, 7770: German = 42, 7770: Greek = 43, 7770: Greenlandic = 44, 7770: Guarani = 45, 7770: Gujarati = 46, 7770: Hausa = 47, 7770: Hebrew = 48, 7770: Hindi = 49, 7770: Hungarian = 50, 7770: Icelandic = 51, 7770: Indonesian = 52, 7770: Interlingua = 53, 7770: Interlingue = 54, 7770: Inuktitut = 55, 7770: Inupiak = 56, 7770: Irish = 57, 7770: Italian = 58, 7770: Japanese = 59, 7770: Javanese = 60, 7770: Kannada = 61, 7770: Kashmiri = 62, 7770: Kazakh = 63, 7770: Kinyarwanda = 64, 7770: Kirghiz = 65, 7770: Korean = 66, 7770: Kurdish = 67, 7770: Rundi = 68, 7770: Lao = 69, 7770: Latin = 70, 7770: Latvian = 71, 7770: Lingala = 72, 7770: Lithuanian = 73, 7770: Macedonian = 74, 7770: Malagasy = 75, 7770: Malay = 76, 7770: Malayalam = 77, 7770: Maltese = 78, 7770: Maori = 79, 7770: Marathi = 80, 7770: Marshallese = 81, 7770: Mongolian = 82, 7770: NauruLanguage = 83, 7770: Nepali = 84, 7770: NorwegianBokmal = 85, 7770: Occitan = 86, 7770: Oriya = 87, 7770: Pashto = 88, 7770: Persian = 89, 7770: Polish = 90, 7770: Portuguese = 91, 7770: Punjabi = 92, 7770: Quechua = 93, 7770: Romansh = 94, 7770: Romanian = 95, 7770: Russian = 96, 7770: Samoan = 97, 7770: Sango = 98, 7770: Sanskrit = 99, 7770: Serbian = 100, 7770: Ossetic = 101, 7770: SouthernSotho = 102, 7770: Tswana = 103, 7770: Shona = 104, 7770: Sindhi = 105, 7770: Sinhala = 106, 7770: Swati = 107, 7770: Slovak = 108, 7770: Slovenian = 109, 7770: Somali = 110, 7770: Spanish = 111, 7770: Sundanese = 112, 7770: Swahili = 113, 7770: Swedish = 114, 7770: Sardinian = 115, 7770: Tajik = 116, 7770: Tamil = 117, 7770: Tatar = 118, 7770: Telugu = 119, 7770: Thai = 120, 7770: Tibetan = 121, 7770: Tigrinya = 122, 7770: Tongan = 123, 7770: Tsonga = 124, 7770: Turkish = 125, 7770: Turkmen = 126, 7770: Tahitian = 127, 7770: Uighur = 128, 7770: Ukrainian = 129, 7770: Urdu = 130, 7770: Uzbek = 131, 7770: Vietnamese = 132, 7770: Volapuk = 133, 7770: Welsh = 134, 7770: Wolof = 135, 7770: Xhosa = 136, 7770: Yiddish = 137, 7770: Yoruba = 138, 7770: Zhuang = 139, 7770: Zulu = 140, 7770: NorwegianNynorsk = 141, 7770: Bosnian = 142, 7770: Divehi = 143, 7770: Manx = 144, 7770: Cornish = 145, 7770: Akan = 146, 7770: Konkani = 147, 7770: Ga = 148, 7770: Igbo = 149, 7770: Kamba = 150, 7770: Syriac = 151, 7770: Blin = 152, 7770: Geez = 153, 7770: Koro = 154, 7770: Sidamo = 155, 7770: Atsam = 156, 7770: Tigre = 157, 7770: Jju = 158, 7770: Friulian = 159, 7770: Venda = 160, 7770: Ewe = 161, 7770: Walamo = 162, 7770: Hawaiian = 163, 7770: Tyap = 164, 7770: Nyanja = 165, 7770: Filipino = 166, 7770: SwissGerman = 167, 7770: SichuanYi = 168, 7770: Kpelle = 169, 7770: LowGerman = 170, 7770: SouthNdebele = 171, 7770: NorthernSotho = 172, 7770: NorthernSami = 173, 7770: Taroko = 174, 7770: Gusii = 175, 7770: Taita = 176, 7770: Fulah = 177, 7770: Kikuyu = 178, 7770: Samburu = 179, 7770: Sena = 180, 7770: NorthNdebele = 181, 7770: Rombo = 182, 7770: Tachelhit = 183, 7770: Kabyle = 184, 7770: Nyankole = 185, 7770: Bena = 186, 7770: Vunjo = 187, 7770: Bambara = 188, 7770: Embu = 189, 7770: Cherokee = 190, 7770: Morisyen = 191, 7770: Makonde = 192, 7770: Langi = 193, 7770: Ganda = 194, 7770: Bemba = 195, 7770: Kabuverdianu = 196, 7770: Meru = 197, 7770: Kalenjin = 198, 7770: Nama = 199, 7770: Machame = 200, 7770: Colognian = 201, 7770: Masai = 202, 7770: Soga = 203, 7770: Luyia = 204, 7770: Asu = 205, 7770: Teso = 206, 7770: Saho = 207, 7770: KoyraChiini = 208, 7770: Rwa = 209, 7770: Luo = 210, 7770: Chiga = 211, 7770: CentralMoroccoTamazight = 212, 7770: KoyraboroSenni = 213, 7770: Shambala = 214, 7770: Bodo = 215, 7770: Avaric = 216, 7770: Chamorro = 217, 7770: Chechen = 218, 7770: Church = 219, 7770: Chuvash = 220, 7770: Cree = 221, 7770: Haitian = 222, 7770: Herero = 223, 7770: HiriMotu = 224, 7770: Kanuri = 225, 7770: Komi = 226, 7770: Kongo = 227, 7770: Kwanyama = 228, 7770: Limburgish = 229, 7770: LubaKatanga = 230, 7770: Luxembourgish = 231, 7770: Navaho = 232, 7770: Ndonga = 233, 7770: Ojibwa = 234, 7770: Pali = 235, 7770: Walloon = 236, 7770: Aghem = 237, 7770: Basaa = 238, 7770: Zarma = 239, 7770: Duala = 240, 7770: JolaFonyi = 241, 7770: Ewondo = 242, 7770: Bafia = 243, 7770: MakhuwaMeetto = 244, 7770: Mundang = 245, 7770: Kwasio = 246, 7770: Nuer = 247, 7770: Sakha = 248, 7770: Sangu = 249, 7770: CongoSwahili = 250, 7770: Tasawaq = 251, 7770: Vai = 252, 7770: Walser = 253, 7770: Yangben = 254, 7770: Avestan = 255, 7770: Asturian = 256, 7770: Ngomba = 257, 7770: Kako = 258, 7770: Meta = 259, 7770: Ngiemboon = 260, 7770: Aragonese = 261, 7770: Akkadian = 262, 7770: AncientEgyptian = 263, 7770: AncientGreek = 264, 7770: Aramaic = 265, 7770: Balinese = 266, 7770: Bamun = 267, 7770: BatakToba = 268, 7770: Buginese = 269, 7770: Buhid = 270, 7770: Carian = 271, 7770: Chakma = 272, 7770: ClassicalMandaic = 273, 7770: Coptic = 274, 7770: Dogri = 275, 7770: EasternCham = 276, 7770: EasternKayah = 277, 7770: Etruscan = 278, 7770: Gothic = 279, 7770: Hanunoo = 280, 7770: Ingush = 281, 7770: LargeFloweryMiao = 282, 7770: Lepcha = 283, 7770: Limbu = 284, 7770: Lisu = 285, 7770: Lu = 286, 7770: Lycian = 287, 7770: Lydian = 288, 7770: Mandingo = 289, 7770: Manipuri = 290, 7770: Meroitic = 291, 7770: NorthernThai = 292, 7770: OldIrish = 293, 7770: OldNorse = 294, 7770: OldPersian = 295, 7770: OldTurkish = 296, 7770: Pahlavi = 297, 7770: Parthian = 298, 7770: Phoenician = 299, 7770: PrakritLanguage = 300, 7770: Rejang = 301, 7770: Sabaean = 302, 7770: Samaritan = 303, 7770: Santali = 304, 7770: Saurashtra = 305, 7770: Sora = 306, 7770: Sylheti = 307, 7770: Tagbanwa = 308, 7770: TaiDam = 309, 7770: TaiNua = 310, 7770: Ugaritic = 311, 7770: Akoose = 312, 7770: Lakota = 313, 7770: StandardMoroccanTamazight = 314, 7770: Mapuche = 315, 7770: CentralKurdish = 316, 7770: LowerSorbian = 317, 7770: UpperSorbian = 318, 7770: Kenyang = 319, 7770: Mohawk = 320, 7770: Nko = 321, 7770: Prussian = 322, 7770: Kiche = 323, 7770: SouthernSami = 324, 7770: LuleSami = 325, 7770: InariSami = 326, 7770: SkoltSami = 327, 7770: Warlpiri = 328, 7770: ManichaeanMiddlePersian = 329, 7770: Mende = 330, 7770: AncientNorthArabian = 331, 7770: LinearA = 332, 7770: HmongNjua = 333, 7770: Ho = 334, 7770: Lezghian = 335, 7770: Bassa = 336, 7770: Mono = 337, 7770: TedimChin = 338, 7770: Maithili = 339, 7770: Ahom = 340, 7770: AmericanSignLanguage = 341, 7770: ArdhamagadhiPrakrit = 342, 7770: Bhojpuri = 343, 7770: HieroglyphicLuwian = 344, 7770: LiteraryChinese = 345, 7770: Mazanderani = 346, 7770: Mru = 347, 7770: Newari = 348, 7770: NorthernLuri = 349, 7770: Palauan = 350, 7770: Papiamento = 351, 7770: Saraiki = 352, 7770: TokelauLanguage = 353, 7770: TokPisin = 354, 7770: TuvaluLanguage = 355, 7770: UncodedLanguages = 356, 7770: Cantonese = 357, 7770: Osage = 358, 7770: Tangut = 359, 7770: 7770: Norwegian = NorwegianBokmal, 7770: Moldavian = Romanian, 7770: SerboCroatian = Serbian, 7770: Tagalog = Filipino, 7770: Twi = Akan, 7770: Afan = Oromo, 7770: Byelorussian = Belarusian, 7770: Bhutani = Dzongkha, 7770: Cambodian = Khmer, 7770: Kurundi = Rundi, 7770: RhaetoRomance = Romansh, 7770: Chewa = Nyanja, 7770: Frisian = WesternFrisian, 7770: Uigur = Uighur, 7770: 7770: LastLanguage = Tangut 7770: }; 7770: 7770: enum Script { 7770: AnyScript = 0, 7770: ArabicScript = 1, 7770: CyrillicScript = 2, 7770: DeseretScript = 3, 7770: GurmukhiScript = 4, 7770: SimplifiedHanScript = 5, 7770: TraditionalHanScript = 6, 7770: LatinScript = 7, 7770: MongolianScript = 8, 7770: TifinaghScript = 9, 7770: ArmenianScript = 10, 7770: BengaliScript = 11, 7770: CherokeeScript = 12, 7770: DevanagariScript = 13, 7770: EthiopicScript = 14, 7770: GeorgianScript = 15, 7770: GreekScript = 16, 7770: GujaratiScript = 17, 7770: HebrewScript = 18, 7770: JapaneseScript = 19, 7770: KhmerScript = 20, 7770: KannadaScript = 21, 7770: KoreanScript = 22, 7770: LaoScript = 23, 7770: MalayalamScript = 24, 7770: MyanmarScript = 25, 7770: OriyaScript = 26, 7770: TamilScript = 27, 7770: TeluguScript = 28, 7770: ThaanaScript = 29, 7770: ThaiScript = 30, 7770: TibetanScript = 31, 7770: SinhalaScript = 32, 7770: SyriacScript = 33, 7770: YiScript = 34, 7770: VaiScript = 35, 7770: AvestanScript = 36, 7770: BalineseScript = 37, 7770: BamumScript = 38, 7770: BatakScript = 39, 7770: BopomofoScript = 40, 7770: BrahmiScript = 41, 7770: BugineseScript = 42, 7770: BuhidScript = 43, 7770: CanadianAboriginalScript = 44, 7770: CarianScript = 45, 7770: ChakmaScript = 46, 7770: ChamScript = 47, 7770: CopticScript = 48, 7770: CypriotScript = 49, 7770: EgyptianHieroglyphsScript = 50, 7770: FraserScript = 51, 7770: GlagoliticScript = 52, 7770: GothicScript = 53, 7770: HanScript = 54, 7770: HangulScript = 55, 7770: HanunooScript = 56, 7770: ImperialAramaicScript = 57, 7770: InscriptionalPahlaviScript = 58, 7770: InscriptionalParthianScript = 59, 7770: JavaneseScript = 60, 7770: KaithiScript = 61, 7770: KatakanaScript = 62, 7770: KayahLiScript = 63, 7770: KharoshthiScript = 64, 7770: LannaScript = 65, 7770: LepchaScript = 66, 7770: LimbuScript = 67, 7770: LinearBScript = 68, 7770: LycianScript = 69, 7770: LydianScript = 70, 7770: MandaeanScript = 71, 7770: MeiteiMayekScript = 72, 7770: MeroiticScript = 73, 7770: MeroiticCursiveScript = 74, 7770: NkoScript = 75, 7770: NewTaiLueScript = 76, 7770: OghamScript = 77, 7770: OlChikiScript = 78, 7770: OldItalicScript = 79, 7770: OldPersianScript = 80, 7770: OldSouthArabianScript = 81, 7770: OrkhonScript = 82, 7770: OsmanyaScript = 83, 7770: PhagsPaScript = 84, 7770: PhoenicianScript = 85, 7770: PollardPhoneticScript = 86, 7770: RejangScript = 87, 7770: RunicScript = 88, 7770: SamaritanScript = 89, 7770: SaurashtraScript = 90, 7770: SharadaScript = 91, 7770: ShavianScript = 92, 7770: SoraSompengScript = 93, 7770: CuneiformScript = 94, 7770: SundaneseScript = 95, 7770: SylotiNagriScript = 96, 7770: TagalogScript = 97, 7770: TagbanwaScript = 98, 7770: TaiLeScript = 99, 7770: TaiVietScript = 100, 7770: TakriScript = 101, 7770: UgariticScript = 102, 7770: BrailleScript = 103, 7770: HiraganaScript = 104, 7770: CaucasianAlbanianScript = 105, 7770: BassaVahScript = 106, 7770: DuployanScript = 107, 7770: ElbasanScript = 108, 7770: GranthaScript = 109, 7770: PahawhHmongScript = 110, 7770: KhojkiScript = 111, 7770: LinearAScript = 112, 7770: MahajaniScript = 113, 7770: ManichaeanScript = 114, 7770: MendeKikakuiScript = 115, 7770: ModiScript = 116, 7770: MroScript = 117, 7770: OldNorthArabianScript = 118, 7770: NabataeanScript = 119, 7770: PalmyreneScript = 120, 7770: PauCinHauScript = 121, 7770: OldPermicScript = 122, 7770: PsalterPahlaviScript = 123, 7770: SiddhamScript = 124, 7770: KhudawadiScript = 125, 7770: TirhutaScript = 126, 7770: VarangKshitiScript = 127, 7770: AhomScript = 128, 7770: AnatolianHieroglyphsScript = 129, 7770: HatranScript = 130, 7770: MultaniScript = 131, 7770: OldHungarianScript = 132, 7770: SignWritingScript = 133, 7770: AdlamScript = 134, 7770: BhaiksukiScript = 135, 7770: MarchenScript = 136, 7770: NewaScript = 137, 7770: OsageScript = 138, 7770: TangutScript = 139, 7770: HanWithBopomofoScript = 140, 7770: JamoScript = 141, 7770: 7770: SimplifiedChineseScript = SimplifiedHanScript, 7770: TraditionalChineseScript = TraditionalHanScript, 7770: 7770: LastScript = JamoScript 7770: }; 7770: enum Country { 7770: AnyCountry = 0, 7770: Afghanistan = 1, 7770: Albania = 2, 7770: Algeria = 3, 7770: AmericanSamoa = 4, 7770: Andorra = 5, 7770: Angola = 6, 7770: Anguilla = 7, 7770: Antarctica = 8, 7770: AntiguaAndBarbuda = 9, 7770: Argentina = 10, 7770: Armenia = 11, 7770: Aruba = 12, 7770: Australia = 13, 7770: Austria = 14, 7770: Azerbaijan = 15, 7770: Bahamas = 16, 7770: Bahrain = 17, 7770: Bangladesh = 18, 7770: Barbados = 19, 7770: Belarus = 20, 7770: Belgium = 21, 7770: Belize = 22, 7770: Benin = 23, 7770: Bermuda = 24, 7770: Bhutan = 25, 7770: Bolivia = 26, 7770: BosniaAndHerzegowina = 27, 7770: Botswana = 28, 7770: BouvetIsland = 29, 7770: Brazil = 30, 7770: BritishIndianOceanTerritory = 31, 7770: Brunei = 32, 7770: Bulgaria = 33, 7770: BurkinaFaso = 34, 7770: Burundi = 35, 7770: Cambodia = 36, 7770: Cameroon = 37, 7770: Canada = 38, 7770: CapeVerde = 39, 7770: CaymanIslands = 40, 7770: CentralAfricanRepublic = 41, 7770: Chad = 42, 7770: Chile = 43, 7770: China = 44, 7770: ChristmasIsland = 45, 7770: CocosIslands = 46, 7770: Colombia = 47, 7770: Comoros = 48, 7770: CongoKinshasa = 49, 7770: CongoBrazzaville = 50, 7770: CookIslands = 51, 7770: CostaRica = 52, 7770: IvoryCoast = 53, 7770: Croatia = 54, 7770: Cuba = 55, 7770: Cyprus = 56, 7770: CzechRepublic = 57, 7770: Denmark = 58, 7770: Djibouti = 59, 7770: Dominica = 60, 7770: DominicanRepublic = 61, 7770: EastTimor = 62, 7770: Ecuador = 63, 7770: Egypt = 64, 7770: ElSalvador = 65, 7770: EquatorialGuinea = 66, 7770: Eritrea = 67, 7770: Estonia = 68, 7770: Ethiopia = 69, 7770: FalklandIslands = 70, 7770: FaroeIslands = 71, 7770: Fiji = 72, 7770: Finland = 73, 7770: France = 74, 7770: Guernsey = 75, 7770: FrenchGuiana = 76, 7770: FrenchPolynesia = 77, 7770: FrenchSouthernTerritories = 78, 7770: Gabon = 79, 7770: Gambia = 80, 7770: Georgia = 81, 7770: Germany = 82, 7770: Ghana = 83, 7770: Gibraltar = 84, 7770: Greece = 85, 7770: Greenland = 86, 7770: Grenada = 87, 7770: Guadeloupe = 88, 7770: Guam = 89, 7770: Guatemala = 90, 7770: Guinea = 91, 7770: GuineaBissau = 92, 7770: Guyana = 93, 7770: Haiti = 94, 7770: HeardAndMcDonaldIslands = 95, 7770: Honduras = 96, 7770: HongKong = 97, 7770: Hungary = 98, 7770: Iceland = 99, 7770: India = 100, 7770: Indonesia = 101, 7770: Iran = 102, 7770: Iraq = 103, 7770: Ireland = 104, 7770: Israel = 105, 7770: Italy = 106, 7770: Jamaica = 107, 7770: Japan = 108, 7770: Jordan = 109, 7770: Kazakhstan = 110, 7770: Kenya = 111, 7770: Kiribati = 112, 7770: NorthKorea = 113, 7770: SouthKorea = 114, 7770: Kuwait = 115, 7770: Kyrgyzstan = 116, 7770: Laos = 117, 7770: Latvia = 118, 7770: Lebanon = 119, 7770: Lesotho = 120, 7770: Liberia = 121, 7770: Libya = 122, 7770: Liechtenstein = 123, 7770: Lithuania = 124, 7770: Luxembourg = 125, 7770: Macau = 126, 7770: Macedonia = 127, 7770: Madagascar = 128, 7770: Malawi = 129, 7770: Malaysia = 130, 7770: Maldives = 131, 7770: Mali = 132, 7770: Malta = 133, 7770: MarshallIslands = 134, 7770: Martinique = 135, 7770: Mauritania = 136, 7770: Mauritius = 137, 7770: Mayotte = 138, 7770: Mexico = 139, 7770: Micronesia = 140, 7770: Moldova = 141, 7770: Monaco = 142, 7770: Mongolia = 143, 7770: Montserrat = 144, 7770: Morocco = 145, 7770: Mozambique = 146, 7770: Myanmar = 147, 7770: Namibia = 148, 7770: NauruCountry = 149, 7770: Nepal = 150, 7770: Netherlands = 151, 7770: CuraSao = 152, 7770: NewCaledonia = 153, 7770: NewZealand = 154, 7770: Nicaragua = 155, 7770: Niger = 156, 7770: Nigeria = 157, 7770: Niue = 158, 7770: NorfolkIsland = 159, 7770: NorthernMarianaIslands = 160, 7770: Norway = 161, 7770: Oman = 162, 7770: Pakistan = 163, 7770: Palau = 164, 7770: PalestinianTerritories = 165, 7770: Panama = 166, 7770: PapuaNewGuinea = 167, 7770: Paraguay = 168, 7770: Peru = 169, 7770: Philippines = 170, 7770: Pitcairn = 171, 7770: Poland = 172, 7770: Portugal = 173, 7770: PuertoRico = 174, 7770: Qatar = 175, 7770: Reunion = 176, 7770: Romania = 177, 7770: Russia = 178, 7770: Rwanda = 179, 7770: SaintKittsAndNevis = 180, 7770: SaintLucia = 181, 7770: SaintVincentAndTheGrenadines = 182, 7770: Samoa = 183, 7770: SanMarino = 184, 7770: SaoTomeAndPrincipe = 185, 7770: SaudiArabia = 186, 7770: Senegal = 187, 7770: Seychelles = 188, 7770: SierraLeone = 189, 7770: Singapore = 190, 7770: Slovakia = 191, 7770: Slovenia = 192, 7770: SolomonIslands = 193, 7770: Somalia = 194, 7770: SouthAfrica = 195, 7770: SouthGeorgiaAndTheSouthSandwichIslands = 196, 7770: Spain = 197, 7770: SriLanka = 198, 7770: SaintHelena = 199, 7770: SaintPierreAndMiquelon = 200, 7770: Sudan = 201, 7770: Suriname = 202, 7770: SvalbardAndJanMayenIslands = 203, 7770: Swaziland = 204, 7770: Sweden = 205, 7770: Switzerland = 206, 7770: Syria = 207, 7770: Taiwan = 208, 7770: Tajikistan = 209, 7770: Tanzania = 210, 7770: Thailand = 211, 7770: Togo = 212, 7770: TokelauCountry = 213, 7770: Tonga = 214, 7770: TrinidadAndTobago = 215, 7770: Tunisia = 216, 7770: Turkey = 217, 7770: Turkmenistan = 218, 7770: TurksAndCaicosIslands = 219, 7770: TuvaluCountry = 220, 7770: Uganda = 221, 7770: Ukraine = 222, 7770: UnitedArabEmirates = 223, 7770: UnitedKingdom = 224, 7770: UnitedStates = 225, 7770: UnitedStatesMinorOutlyingIslands = 226, 7770: Uruguay = 227, 7770: Uzbekistan = 228, 7770: Vanuatu = 229, 7770: VaticanCityState = 230, 7770: Venezuela = 231, 7770: Vietnam = 232, 7770: BritishVirginIslands = 233, 7770: UnitedStatesVirginIslands = 234, 7770: WallisAndFutunaIslands = 235, 7770: WesternSahara = 236, 7770: Yemen = 237, 7770: CanaryIslands = 238, 7770: Zambia = 239, 7770: Zimbabwe = 240, 7770: ClippertonIsland = 241, 7770: Montenegro = 242, 7770: Serbia = 243, 7770: SaintBarthelemy = 244, 7770: SaintMartin = 245, 7770: LatinAmericaAndTheCaribbean = 246, 7770: AscensionIsland = 247, 7770: AlandIslands = 248, 7770: DiegoGarcia = 249, 7770: CeutaAndMelilla = 250, 7770: IsleOfMan = 251, 7770: Jersey = 252, 7770: TristanDaCunha = 253, 7770: SouthSudan = 254, 7770: Bonaire = 255, 7770: SintMaarten = 256, 7770: Kosovo = 257, 7770: EuropeanUnion = 258, 7770: OutlyingOceania = 259, 7770: 7770: Tokelau = TokelauCountry, 7770: Tuvalu = TuvaluCountry, 7770: DemocraticRepublicOfCongo = CongoKinshasa, 7770: PeoplesRepublicOfCongo = CongoBrazzaville, 7770: DemocraticRepublicOfKorea = NorthKorea, 7770: RepublicOfKorea = SouthKorea, 7770: RussianFederation = Russia, 7770: SyrianArabRepublic = Syria, 7770: 7770: LastCountry = OutlyingOceania 7770: }; 7770: 7770: 7770: friend constexpr const QMetaObject *qt_getEnumMetaObject(Language) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(Language) noexcept { return "Language"; } 7770: friend constexpr const QMetaObject *qt_getEnumMetaObject(Country) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(Country) noexcept { return "Country"; } 7770: friend constexpr const QMetaObject *qt_getEnumMetaObject(Script) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(Script) noexcept { return "Script"; } 7770: 7770: enum MeasurementSystem { 7770: MetricSystem, 7770: ImperialUSSystem, 7770: ImperialUKSystem, 7770: ImperialSystem = ImperialUSSystem 7770: }; 7770: friend constexpr const QMetaObject *qt_getEnumMetaObject(MeasurementSystem) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(MeasurementSystem) noexcept { return "MeasurementSystem"; } 7770: 7770: enum FormatType { LongFormat, ShortFormat, NarrowFormat }; 7770: enum NumberOption { 7770: DefaultNumberOptions = 0x0, 7770: OmitGroupSeparator = 0x01, 7770: RejectGroupSeparator = 0x02, 7770: OmitLeadingZeroInExponent = 0x04, 7770: RejectLeadingZeroInExponent = 0x08, 7770: IncludeTrailingZeroesAfterDot = 0x10, 7770: RejectTrailingZeroesAfterDot = 0x20 7770: }; 7770: typedef QFlags NumberOptions; 7770: 7770: enum FloatingPointPrecisionOption { 7770: FloatingPointShortest = -128 7770: }; 7770: 7770: enum CurrencySymbolFormat { 7770: CurrencyIsoCode, 7770: CurrencySymbol, 7770: CurrencyDisplayName 7770: }; 7770: 7770: QLocale(); 7770: QLocale(const QString &name); 7770: QLocale(Language language, Country country = AnyCountry); 7770: QLocale(Language language, Script script, Country country); 7770: QLocale(const QLocale &other); 7770: 7770: QLocale &operator=(QLocale &&other) noexcept { swap(other); return *this; } 7770: 7770: QLocale &operator=(const QLocale &other); 7770: ~QLocale(); 7770: 7770: void swap(QLocale &other) noexcept { qSwap(d, other.d); } 7770: 7770: Language language() const; 7770: Script script() const; 7770: Country country() const; 7770: QString name() const; 7770: 7770: QString bcp47Name() const; 7770: QString nativeLanguageName() const; 7770: QString nativeCountryName() const; 7770: 7770: short toShort(const QString &s, bool *ok = nullptr) const; 7770: ushort toUShort(const QString &s, bool *ok = nullptr) const; 7770: int toInt(const QString &s, bool *ok = nullptr) const; 7770: uint toUInt(const QString &s, bool *ok = nullptr) const; 7770: qlonglong toLongLong(const QString &s, bool *ok = nullptr) const; 7770: qulonglong toULongLong(const QString &s, bool *ok = nullptr) const; 7770: float toFloat(const QString &s, bool *ok = nullptr) const; 7770: double toDouble(const QString &s, bool *ok = nullptr) const; 7770: 7770: short toShort(const QStringRef &s, bool *ok = nullptr) const; 7770: ushort toUShort(const QStringRef &s, bool *ok = nullptr) const; 7770: int toInt(const QStringRef &s, bool *ok = nullptr) const; 7770: uint toUInt(const QStringRef &s, bool *ok = nullptr) const; 7770: qlonglong toLongLong(const QStringRef &s, bool *ok = nullptr) const; 7770: qulonglong toULongLong(const QStringRef &s, bool *ok = nullptr) const; 7770: float toFloat(const QStringRef &s, bool *ok = nullptr) const; 7770: double toDouble(const QStringRef &s, bool *ok = nullptr) const; 7770: 7770: QString toString(qlonglong i) const; 7770: QString toString(qulonglong i) const; 7770: inline QString toString(short i) const; 7770: inline QString toString(ushort i) const; 7770: inline QString toString(int i) const; 7770: inline QString toString(uint i) const; 7770: QString toString(double i, char f = 'g', int prec = 6) const; 7770: inline QString toString(float i, char f = 'g', int prec = 6) const; 7770: QString toString(const QDate &date, const QString &formatStr) const; 7770: QString toString(const QDate &date, FormatType format = LongFormat) const; 7770: QString toString(const QTime &time, const QString &formatStr) const; 7770: QString toString(const QTime &time, FormatType format = LongFormat) const; 7770: QString toString(const QDateTime &dateTime, FormatType format = LongFormat) const; 7770: QString toString(const QDateTime &dateTime, const QString &format) const; 7770: 7770: QString dateFormat(FormatType format = LongFormat) const; 7770: QString timeFormat(FormatType format = LongFormat) const; 7770: QString dateTimeFormat(FormatType format = LongFormat) const; 7770: 7770: QDate toDate(const QString &string, FormatType = LongFormat) const; 7770: QTime toTime(const QString &string, FormatType = LongFormat) const; 7770: QDateTime toDateTime(const QString &string, FormatType format = LongFormat) const; 7770: QDate toDate(const QString &string, const QString &format) const; 7770: QTime toTime(const QString &string, const QString &format) const; 7770: QDateTime toDateTime(const QString &string, const QString &format) const; 7770: 7770: 7770: 7770: 7770: QChar decimalPoint() const; 7770: QChar groupSeparator() const; 7770: QChar percent() const; 7770: QChar zeroDigit() const; 7770: QChar negativeSign() const; 7770: QChar positiveSign() const; 7770: QChar exponential() const; 7770: 7770: QString monthName(int, FormatType format = LongFormat) const; 7770: QString standaloneMonthName(int, FormatType format = LongFormat) const; 7770: QString dayName(int, FormatType format = LongFormat) const; 7770: QString standaloneDayName(int, FormatType format = LongFormat) const; 7770: 7770: Qt::DayOfWeek firstDayOfWeek() const; 7770: QList weekdays() const; 7770: 7770: QString amText() const; 7770: QString pmText() const; 7770: 7770: MeasurementSystem measurementSystem() const; 7770: 7770: Qt::LayoutDirection textDirection() const; 7770: 7770: QString toUpper(const QString &str) const; 7770: QString toLower(const QString &str) const; 7770: 7770: QString currencySymbol(CurrencySymbolFormat = CurrencySymbol) const; 7770: QString toCurrencyString(qlonglong, const QString &symbol = QString()) const; 7770: QString toCurrencyString(qulonglong, const QString &symbol = QString()) const; 7770: inline QString toCurrencyString(short, const QString &symbol = QString()) const; 7770: inline QString toCurrencyString(ushort, const QString &symbol = QString()) const; 7770: inline QString toCurrencyString(int, const QString &symbol = QString()) const; 7770: inline QString toCurrencyString(uint, const QString &symbol = QString()) const; 7770: 7770: 7770: 7770: 7770: 7770: QString toCurrencyString(double, const QString &symbol = QString()) const; 7770: QString toCurrencyString(double, const QString &symbol, int precision) const; 7770: inline QString toCurrencyString(float i, const QString &symbol = QString()) const 7770: { return toCurrencyString(double(i), symbol); } 7770: inline QString toCurrencyString(float i, const QString &symbol, int precision) const 7770: { return toCurrencyString(double(i), symbol, precision); } 7770: 7770: 7770: QStringList uiLanguages() const; 7770: 7770: bool operator==(const QLocale &other) const; 7770: bool operator!=(const QLocale &other) const; 7770: 7770: static QString languageToString(Language language); 7770: static QString countryToString(Country country); 7770: static QString scriptToString(Script script); 7770: static void setDefault(const QLocale &locale); 7770: 7770: static QLocale c() { return QLocale(C); } 7770: static QLocale system(); 7770: 7770: static QList matchingLocales(QLocale::Language language, QLocale::Script script, QLocale::Country country); 7770: static QList countriesForLanguage(Language lang); 7770: 7770: void setNumberOptions(NumberOptions options); 7770: NumberOptions numberOptions() const; 7770: 7770: enum QuotationStyle { StandardQuotation, AlternateQuotation }; 7770: QString quoteString(const QString &str, QuotationStyle style = StandardQuotation) const; 7770: QString quoteString(const QStringRef &str, QuotationStyle style = StandardQuotation) const; 7770: 7770: QString createSeparatedList(const QStringList &strl) const; 7770: 7770: private: 7770: QLocale(QLocalePrivate &dd); 7770: friend class QLocalePrivate; 7770: friend __attribute__((visibility("default"))) uint qHash(const QLocale &key, uint seed) noexcept; 7770: 7770: QSharedDataPointer d; 7770: }; 7770: 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(QLocale)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QLocale >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QLocale) }; static inline const char *name() { return "QLocale"; } }; inline void swap(QLocale &value1, QLocale &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 7770: constexpr inline QFlags operator|(QLocale::NumberOptions::enum_type f1, QLocale::NumberOptions::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(QLocale::NumberOptions::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(QLocale::NumberOptions::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 7770: 7770: inline QString QLocale::toString(short i) const 7770: { return toString(qlonglong(i)); } 7770: inline QString QLocale::toString(ushort i) const 7770: { return toString(qulonglong(i)); } 7770: inline QString QLocale::toString(int i) const 7770: { return toString(qlonglong(i)); } 7770: inline QString QLocale::toString(uint i) const 7770: { return toString(qulonglong(i)); } 7770: inline QString QLocale::toString(float i, char f, int prec) const 7770: { return toString(double(i), f, prec); } 7770: 7770: inline QString QLocale::toCurrencyString(short i, const QString &symbol) const 7770: { return toCurrencyString(qlonglong(i), symbol); } 7770: inline QString QLocale::toCurrencyString(ushort i, const QString &symbol) const 7770: { return toCurrencyString(qulonglong(i), symbol); } 7770: inline QString QLocale::toCurrencyString(int i, const QString &symbol) const 7770: { return toCurrencyString(qlonglong(i), symbol); } 7770: inline QString QLocale::toCurrencyString(uint i, const QString &symbol) const 7770: { return toCurrencyString(qulonglong(i), symbol); } 7770: 7770: 7770: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QLocale &); 7770: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QLocale &); 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QLocale &); 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QLocale" 2 3 4 7770: # 57 "maps/qgeoserviceprovider_p.h" 2 7770: 7770: 7770: 7770: 7770: # 60 "maps/qgeoserviceprovider_p.h" 7770: class QGeoCodingManager; 7770: class QGeoRoutingManager; 7770: class QGeoMappingManager; 7770: 7770: class QGeoServiceProviderFactory; 7770: 7770: class QGeoServiceProviderPrivate 7770: { 7770: public: 7770: QGeoServiceProviderPrivate(); 7770: ~QGeoServiceProviderPrivate(); 7770: 7770: void loadMeta(); 7770: void loadPlugin(const QVariantMap ¶meters); 7770: void unload(); 7770: void filterParameterMap(); 7770: 7770: 7770: template 7770: Manager *manager(QGeoServiceProvider::Error *error, 7770: QString *errorString, Manager **manager); 7770: template 7770: Flags features(const char *enumName); 7770: 7770: QGeoServiceProviderFactory *factory; 7770: QJsonObject metaData; 7770: 7770: QVariantMap parameterMap; 7770: QVariantMap cleanedParameterMap; 7770: 7770: bool experimental; 7770: 7770: QGeoCodingManager *geocodingManager; 7770: QGeoRoutingManager *routingManager; 7770: QGeoMappingManager *mappingManager; 7770: QPlaceManager *placeManager; 7770: 7770: QGeoServiceProvider::Error geocodeError; 7770: QGeoServiceProvider::Error routingError; 7770: QGeoServiceProvider::Error mappingError; 7770: QGeoServiceProvider::Error placeError; 7770: 7770: QString geocodeErrorString; 7770: QString routingErrorString; 7770: QString mappingErrorString; 7770: QString placeErrorString; 7770: 7770: QGeoServiceProvider::Error error; 7770: QString errorString; 7770: 7770: QString providerName; 7770: 7770: QLocale locale; 7770: bool localeSet; 7770: 7770: static QHash plugins(bool reload = false); 7770: static void loadPluginMetadata(QHash &list); 7770: }; 7770: 7770: 7770: # 39 "maps/qgeoserviceprovider.cpp" 2 7770: # 1 "maps/qgeoserviceproviderfactory.h" 1 7770: # 40 "maps/qgeoserviceproviderfactory.h" 7770: # 1 "../../include/QtLocation/QGeoServiceProvider" 1 7770: # 1 "../../include/QtLocation/qgeoserviceprovider.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/maps/qgeoserviceprovider.h" 1 7770: # 1 "../../include/QtLocation/qgeoserviceprovider.h" 2 7770: # 1 "../../include/QtLocation/QGeoServiceProvider" 2 7770: # 41 "maps/qgeoserviceproviderfactory.h" 2 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QtPlugin" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qplugin.h" 1 3 4 7770: # 44 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qplugin.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qpointer.h" 1 3 4 7770: # 43 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qpointer.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsharedpointer.h" 1 3 4 7770: # 44 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsharedpointer.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsharedpointer.h" 2 3 4 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h" 1 3 4 7770: # 63 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 7770: # 64 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: # 90 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h" 3 4 7770: 7770: # 90 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h" 3 4 7770: template class QWeakPointer; 7770: template class QSharedPointer; 7770: template class QEnableSharedFromThis; 7770: 7770: class QVariant; 7770: 7770: template 7770: QSharedPointer qSharedPointerCast(const QSharedPointer &ptr); 7770: template 7770: QSharedPointer qSharedPointerDynamicCast(const QSharedPointer &ptr); 7770: template 7770: QSharedPointer qSharedPointerConstCast(const QSharedPointer &ptr); 7770: 7770: 7770: template 7770: QSharedPointer qSharedPointerObjectCast(const QSharedPointer &ptr); 7770: 7770: 7770: namespace QtSharedPointer { 7770: template class ExternalRefCount; 7770: 7770: template QSharedPointer copyAndSetPointer(X * ptr, const QSharedPointer &src); 7770: 7770: 7770: __attribute__((visibility("default"))) void internalSafetyCheckAdd(const void *, const volatile void *); 7770: __attribute__((visibility("default"))) void internalSafetyCheckRemove(const void *); 7770: 7770: template 7770: inline void executeDeleter(T *t, RetVal (Klass:: *memberDeleter)()) 7770: { (t->*memberDeleter)(); } 7770: template 7770: inline void executeDeleter(T *t, Deleter d) 7770: { d(t); } 7770: struct NormalDeleter {}; 7770: 7770: 7770: template struct RemovePointer; 7770: template struct RemovePointer { typedef T Type; }; 7770: template struct RemovePointer > { typedef T Type; }; 7770: template struct RemovePointer > { typedef T Type; }; 7770: # 141 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h" 3 4 7770: struct ExternalRefCountData 7770: { 7770: typedef void (*DestroyerFn)(ExternalRefCountData *); 7770: QBasicAtomicInt weakref; 7770: QBasicAtomicInt strongref; 7770: DestroyerFn destroyer; 7770: 7770: inline ExternalRefCountData(DestroyerFn d) 7770: : destroyer(d) 7770: { 7770: strongref.store(1); 7770: weakref.store(1); 7770: } 7770: inline ExternalRefCountData(Qt::Initialization) { } 7770: ~ExternalRefCountData() { do { } while ((false) && (!weakref.load())); do { } while ((false) && (strongref.load() <= 0)); } 7770: 7770: void destroy() { destroyer(this); } 7770: 7770: 7770: __attribute__((visibility("default"))) static ExternalRefCountData *getAndRef(const QObject *); 7770: __attribute__((visibility("default"))) void setQObjectShared(const QObject *, bool enable); 7770: __attribute__((visibility("default"))) void checkQObjectShared(const QObject *); 7770: 7770: inline void checkQObjectShared(...) { } 7770: inline void setQObjectShared(...) { } 7770: 7770: inline void operator delete(void *ptr) { ::operator delete(ptr); } 7770: inline void operator delete(void *, void *) { } 7770: }; 7770: 7770: 7770: template 7770: struct CustomDeleter 7770: { 7770: Deleter deleter; 7770: T *ptr; 7770: 7770: CustomDeleter(T *p, Deleter d) : deleter(d), ptr(p) {} 7770: void execute() { executeDeleter(ptr, deleter); } 7770: }; 7770: # 189 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h" 3 4 7770: template 7770: struct CustomDeleter 7770: { 7770: T *ptr; 7770: 7770: CustomDeleter(T *p, NormalDeleter) : ptr(p) {} 7770: void execute() { delete ptr; } 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct ExternalRefCountWithCustomDeleter: public ExternalRefCountData 7770: { 7770: typedef ExternalRefCountWithCustomDeleter Self; 7770: typedef ExternalRefCountData BaseClass; 7770: CustomDeleter extra; 7770: 7770: static inline void deleter(ExternalRefCountData *self) 7770: { 7770: Self *realself = static_cast(self); 7770: realself->extra.execute(); 7770: 7770: 7770: realself->extra.~CustomDeleter(); 7770: } 7770: static void safetyCheckDeleter(ExternalRefCountData *self) 7770: { 7770: internalSafetyCheckRemove(self); 7770: deleter(self); 7770: } 7770: 7770: static inline Self *create(T *ptr, Deleter userDeleter, DestroyerFn actualDeleter) 7770: { 7770: Self *d = static_cast(::operator new(sizeof(Self))); 7770: 7770: 7770: new (&d->extra) CustomDeleter(ptr, userDeleter); 7770: new (d) BaseClass(actualDeleter); 7770: 7770: return d; 7770: } 7770: private: 7770: 7770: ExternalRefCountWithCustomDeleter() = delete; 7770: ~ExternalRefCountWithCustomDeleter() = delete; 7770: ExternalRefCountWithCustomDeleter(const ExternalRefCountWithCustomDeleter &) = delete; ExternalRefCountWithCustomDeleter &operator=(const ExternalRefCountWithCustomDeleter &) = delete; 7770: }; 7770: 7770: 7770: 7770: 7770: 7770: template 7770: struct ExternalRefCountWithContiguousData: public ExternalRefCountData 7770: { 7770: typedef ExternalRefCountData Parent; 7770: T data; 7770: 7770: static void deleter(ExternalRefCountData *self) 7770: { 7770: ExternalRefCountWithContiguousData *that = 7770: static_cast(self); 7770: that->data.~T(); 7770: (void)that;; 7770: } 7770: static void safetyCheckDeleter(ExternalRefCountData *self) 7770: { 7770: internalSafetyCheckRemove(self); 7770: deleter(self); 7770: } 7770: static void noDeleter(ExternalRefCountData *) { } 7770: 7770: static inline ExternalRefCountData *create(T **ptr, DestroyerFn destroy) 7770: { 7770: ExternalRefCountWithContiguousData *d = 7770: static_cast(::operator new(sizeof(ExternalRefCountWithContiguousData))); 7770: 7770: 7770: 7770: new (d) Parent(destroy); 7770: 7770: *ptr = &d->data; 7770: return d; 7770: } 7770: 7770: private: 7770: 7770: ExternalRefCountWithContiguousData() = delete; 7770: ~ExternalRefCountWithContiguousData() = delete; 7770: ExternalRefCountWithContiguousData(const ExternalRefCountWithContiguousData &) = delete; ExternalRefCountWithContiguousData &operator=(const ExternalRefCountWithContiguousData &) = delete; 7770: }; 7770: 7770: 7770: __attribute__((visibility("default"))) QWeakPointer weakPointerFromVariant_internal(const QVariant &variant); 7770: __attribute__((visibility("default"))) QSharedPointer sharedPointerFromVariant_internal(const QVariant &variant); 7770: 7770: } 7770: 7770: template class QSharedPointer 7770: { 7770: typedef T *QSharedPointer:: *RestrictedBool; 7770: typedef QtSharedPointer::ExternalRefCountData Data; 7770: public: 7770: typedef T Type; 7770: typedef T element_type; 7770: typedef T value_type; 7770: typedef value_type *pointer; 7770: typedef const value_type *const_pointer; 7770: typedef value_type &reference; 7770: typedef const value_type &const_reference; 7770: typedef qptrdiff difference_type; 7770: 7770: T *data() const noexcept { return value; } 7770: bool isNull() const noexcept { return !data(); } 7770: operator RestrictedBool() const noexcept { return isNull() ? nullptr : &QSharedPointer::value; } 7770: bool operator !() const noexcept { return isNull(); } 7770: T &operator*() const { return *data(); } 7770: T *operator->() const noexcept { return data(); } 7770: 7770: constexpr QSharedPointer() noexcept : value(nullptr), d(nullptr) { } 7770: ~QSharedPointer() { deref(); } 7770: 7770: constexpr QSharedPointer(std::nullptr_t) noexcept : value(nullptr), d(nullptr) { } 7770: 7770: template 7770: inline explicit QSharedPointer(X *ptr) : value(ptr) 7770: { internalConstruct(ptr, QtSharedPointer::NormalDeleter()); } 7770: 7770: template 7770: inline QSharedPointer(X *ptr, Deleter deleter) : value(ptr) 7770: { internalConstruct(ptr, deleter); } 7770: 7770: template 7770: QSharedPointer(std::nullptr_t, Deleter) : value(nullptr), d(nullptr) { } 7770: 7770: QSharedPointer(const QSharedPointer &other) noexcept : value(other.value), d(other.d) 7770: { if (d) ref(); } 7770: QSharedPointer &operator=(const QSharedPointer &other) noexcept 7770: { 7770: QSharedPointer copy(other); 7770: swap(copy); 7770: return *this; 7770: } 7770: 7770: QSharedPointer(QSharedPointer &&other) noexcept 7770: : value(other.value), d(other.d) 7770: { 7770: other.d = nullptr; 7770: other.value = nullptr; 7770: } 7770: QSharedPointer &operator=(QSharedPointer &&other) noexcept 7770: { 7770: QSharedPointer moved(std::move(other)); 7770: swap(moved); 7770: return *this; 7770: } 7770: 7770: template 7770: QSharedPointer(QSharedPointer &&other) noexcept 7770: : value(other.value), d(other.d) 7770: { 7770: other.d = nullptr; 7770: other.value = nullptr; 7770: } 7770: 7770: template 7770: QSharedPointer &operator=(QSharedPointer &&other) noexcept 7770: { 7770: QSharedPointer moved(std::move(other)); 7770: swap(moved); 7770: return *this; 7770: } 7770: 7770: 7770: 7770: template 7770: QSharedPointer(const QSharedPointer &other) noexcept : value(other.value), d(other.d) 7770: { if (d) ref(); } 7770: 7770: template 7770: inline QSharedPointer &operator=(const QSharedPointer &other) 7770: { 7770: QSharedPointer copy(other); 7770: swap(copy); 7770: return *this; 7770: } 7770: 7770: template 7770: inline QSharedPointer(const QWeakPointer &other) : value(nullptr), d(nullptr) 7770: { *this = other; } 7770: 7770: template 7770: inline QSharedPointer &operator=(const QWeakPointer &other) 7770: { internalSet(other.d, other.value); return *this; } 7770: 7770: inline void swap(QSharedPointer &other) 7770: { this->internalSwap(other); } 7770: 7770: inline void reset() { clear(); } 7770: inline void reset(T *t) 7770: { QSharedPointer copy(t); swap(copy); } 7770: template 7770: inline void reset(T *t, Deleter deleter) 7770: { QSharedPointer copy(t, deleter); swap(copy); } 7770: 7770: template 7770: QSharedPointer staticCast() const 7770: { 7770: return qSharedPointerCast(*this); 7770: } 7770: 7770: template 7770: QSharedPointer dynamicCast() const 7770: { 7770: return qSharedPointerDynamicCast(*this); 7770: } 7770: 7770: template 7770: QSharedPointer constCast() const 7770: { 7770: return qSharedPointerConstCast(*this); 7770: } 7770: 7770: 7770: template 7770: QSharedPointer objectCast() const 7770: { 7770: return qSharedPointerObjectCast(*this); 7770: } 7770: 7770: 7770: inline void clear() { QSharedPointer copy; swap(copy); } 7770: 7770: QWeakPointer toWeakRef() const; 7770: 7770: template 7770: static QSharedPointer create(Args && ...arguments) 7770: { 7770: typedef QtSharedPointer::ExternalRefCountWithContiguousData Private; 7770: 7770: 7770: 7770: typename Private::DestroyerFn destroy = &Private::deleter; 7770: 7770: typename Private::DestroyerFn noDestroy = &Private::noDeleter; 7770: QSharedPointer result(Qt::Uninitialized); 7770: result.d = Private::create(&result.value, noDestroy); 7770: 7770: 7770: new (result.data()) T(std::forward(arguments)...); 7770: result.d->destroyer = destroy; 7770: result.d->setQObjectShared(result.value, true); 7770: 7770: 7770: 7770: result.enableSharedFromThis(result.data()); 7770: return result; 7770: } 7770: 7770: private: 7770: explicit QSharedPointer(Qt::Initialization) {} 7770: 7770: void deref() noexcept 7770: { deref(d); } 7770: static void deref(Data *dd) noexcept 7770: { 7770: if (!dd) return; 7770: if (!dd->strongref.deref()) { 7770: dd->destroy(); 7770: } 7770: if (!dd->weakref.deref()) 7770: delete dd; 7770: } 7770: 7770: template 7770: inline void enableSharedFromThis(const QEnableSharedFromThis *ptr) 7770: { 7770: ptr->initializeFromSharedPointer(constCast::type>()); 7770: } 7770: 7770: inline void enableSharedFromThis(...) {} 7770: 7770: template 7770: inline void internalConstruct(X *ptr, Deleter deleter) 7770: { 7770: if (!ptr) { 7770: d = nullptr; 7770: return; 7770: } 7770: 7770: typedef QtSharedPointer::ExternalRefCountWithCustomDeleter Private; 7770: 7770: 7770: 7770: typename Private::DestroyerFn actualDeleter = &Private::deleter; 7770: 7770: d = Private::create(ptr, deleter, actualDeleter); 7770: 7770: 7770: 7770: 7770: d->setQObjectShared(ptr, true); 7770: enableSharedFromThis(ptr); 7770: } 7770: 7770: void internalSwap(QSharedPointer &other) noexcept 7770: { 7770: qSwap(d, other.d); 7770: qSwap(this->value, other.value); 7770: } 7770: 7770: 7770: 7770: 7770: template friend class QSharedPointer; 7770: template friend class QWeakPointer; 7770: template friend QSharedPointer QtSharedPointer::copyAndSetPointer(X * ptr, const QSharedPointer &src); 7770: 7770: void ref() const noexcept { d->weakref.ref(); d->strongref.ref(); } 7770: 7770: inline void internalSet(Data *o, T *actual) 7770: { 7770: if (o) { 7770: 7770: 7770: int tmp = o->strongref.load(); 7770: while (tmp > 0) { 7770: 7770: if (o->strongref.testAndSetRelaxed(tmp, tmp + 1)) 7770: break; 7770: tmp = o->strongref.load(); 7770: } 7770: 7770: if (tmp > 0) { 7770: o->weakref.ref(); 7770: } else { 7770: o->checkQObjectShared(actual); 7770: o = nullptr; 7770: } 7770: } 7770: 7770: qSwap(d, o); 7770: qSwap(this->value, actual); 7770: if (!d || d->strongref.load() == 0) 7770: this->value = nullptr; 7770: 7770: 7770: deref(o); 7770: } 7770: 7770: Type *value; 7770: Data *d; 7770: }; 7770: 7770: template 7770: class QWeakPointer 7770: { 7770: typedef T *QWeakPointer:: *RestrictedBool; 7770: typedef QtSharedPointer::ExternalRefCountData Data; 7770: 7770: public: 7770: typedef T element_type; 7770: typedef T value_type; 7770: typedef value_type *pointer; 7770: typedef const value_type *const_pointer; 7770: typedef value_type &reference; 7770: typedef const value_type &const_reference; 7770: typedef qptrdiff difference_type; 7770: 7770: bool isNull() const noexcept { return d == nullptr || d->strongref.load() == 0 || value == nullptr; } 7770: operator RestrictedBool() const noexcept { return isNull() ? nullptr : &QWeakPointer::value; } 7770: bool operator !() const noexcept { return isNull(); } 7770: T *data() const noexcept { return d == nullptr || d->strongref.load() == 0 ? nullptr : value; } 7770: 7770: inline QWeakPointer() noexcept : d(nullptr), value(nullptr) { } 7770: inline ~QWeakPointer() { if (d && !d->weakref.deref()) delete d; } 7770: # 585 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h" 3 4 7770: QWeakPointer(const QWeakPointer &other) noexcept : d(other.d), value(other.value) 7770: { if (d) d->weakref.ref(); } 7770: 7770: QWeakPointer(QWeakPointer &&other) noexcept 7770: : d(other.d), value(other.value) 7770: { 7770: other.d = nullptr; 7770: other.value = nullptr; 7770: } 7770: QWeakPointer &operator=(QWeakPointer &&other) noexcept 7770: { QWeakPointer moved(std::move(other)); swap(moved); return *this; } 7770: 7770: QWeakPointer &operator=(const QWeakPointer &other) noexcept 7770: { 7770: QWeakPointer copy(other); 7770: swap(copy); 7770: return *this; 7770: } 7770: 7770: void swap(QWeakPointer &other) noexcept 7770: { 7770: qSwap(this->d, other.d); 7770: qSwap(this->value, other.value); 7770: } 7770: 7770: inline QWeakPointer(const QSharedPointer &o) : d(o.d), value(o.data()) 7770: { if (d) d->weakref.ref();} 7770: inline QWeakPointer &operator=(const QSharedPointer &o) 7770: { 7770: internalSet(o.d, o.value); 7770: return *this; 7770: } 7770: 7770: template 7770: inline QWeakPointer(const QWeakPointer &o) : d(nullptr), value(nullptr) 7770: { *this = o; } 7770: 7770: template 7770: inline QWeakPointer &operator=(const QWeakPointer &o) 7770: { 7770: 7770: 7770: *this = o.toStrongRef(); 7770: return *this; 7770: } 7770: 7770: template 7770: bool operator==(const QWeakPointer &o) const noexcept 7770: { return d == o.d && value == static_cast(o.value); } 7770: 7770: template 7770: bool operator!=(const QWeakPointer &o) const noexcept 7770: { return !(*this == o); } 7770: 7770: template 7770: inline QWeakPointer(const QSharedPointer &o) : d(nullptr), value(nullptr) 7770: { *this = o; } 7770: 7770: template 7770: inline QWeakPointer &operator=(const QSharedPointer &o) 7770: { 7770: qt_noop(); 7770: internalSet(o.d, o.data()); 7770: return *this; 7770: } 7770: 7770: template 7770: bool operator==(const QSharedPointer &o) const noexcept 7770: { return d == o.d; } 7770: 7770: template 7770: bool operator!=(const QSharedPointer &o) const noexcept 7770: { return !(*this == o); } 7770: 7770: inline void clear() { *this = QWeakPointer(); } 7770: 7770: inline QSharedPointer toStrongRef() const { return QSharedPointer(*this); } 7770: 7770: inline QSharedPointer lock() const { return toStrongRef(); } 7770: 7770: 7770: 7770: 7770: 7770: private: 7770: 7770: 7770: 7770: 7770: template friend class QSharedPointer; 7770: template friend class QPointer; 7770: 7770: 7770: template 7770: inline QWeakPointer &assign(X *ptr) 7770: { return *this = QWeakPointer(ptr, true); } 7770: 7770: 7770: template 7770: inline QWeakPointer(X *ptr, bool) : d(ptr ? Data::getAndRef(ptr) : nullptr), value(ptr) 7770: { } 7770: 7770: 7770: inline void internalSet(Data *o, T *actual) 7770: { 7770: if (d == o) return; 7770: if (o) 7770: o->weakref.ref(); 7770: if (d && !d->weakref.deref()) 7770: delete d; 7770: d = o; 7770: value = actual; 7770: } 7770: 7770: Data *d; 7770: T *value; 7770: }; 7770: 7770: template 7770: class QEnableSharedFromThis 7770: { 7770: protected: 7770: 7770: QEnableSharedFromThis() = default; 7770: 7770: 7770: 7770: QEnableSharedFromThis(const QEnableSharedFromThis &) {} 7770: QEnableSharedFromThis &operator=(const QEnableSharedFromThis &) { return *this; } 7770: 7770: public: 7770: inline QSharedPointer sharedFromThis() { return QSharedPointer(weakPointer); } 7770: inline QSharedPointer sharedFromThis() const { return QSharedPointer(weakPointer); } 7770: 7770: 7770: private: 7770: template friend class QSharedPointer; 7770: 7770: 7770: 7770: template 7770: inline void initializeFromSharedPointer(const QSharedPointer &ptr) const 7770: { 7770: weakPointer = ptr; 7770: } 7770: 7770: mutable QWeakPointer weakPointer; 7770: }; 7770: 7770: 7770: 7770: 7770: template 7770: bool operator==(const QSharedPointer &ptr1, const QSharedPointer &ptr2) noexcept 7770: { 7770: return ptr1.data() == ptr2.data(); 7770: } 7770: template 7770: bool operator!=(const QSharedPointer &ptr1, const QSharedPointer &ptr2) noexcept 7770: { 7770: return ptr1.data() != ptr2.data(); 7770: } 7770: 7770: template 7770: bool operator==(const QSharedPointer &ptr1, const X *ptr2) noexcept 7770: { 7770: return ptr1.data() == ptr2; 7770: } 7770: template 7770: bool operator==(const T *ptr1, const QSharedPointer &ptr2) noexcept 7770: { 7770: return ptr1 == ptr2.data(); 7770: } 7770: template 7770: bool operator!=(const QSharedPointer &ptr1, const X *ptr2) noexcept 7770: { 7770: return !(ptr1 == ptr2); 7770: } 7770: template 7770: bool operator!=(const T *ptr1, const QSharedPointer &ptr2) noexcept 7770: { 7770: return !(ptr2 == ptr1); 7770: } 7770: 7770: template 7770: bool operator==(const QSharedPointer &ptr1, const QWeakPointer &ptr2) noexcept 7770: { 7770: return ptr2 == ptr1; 7770: } 7770: template 7770: bool operator!=(const QSharedPointer &ptr1, const QWeakPointer &ptr2) noexcept 7770: { 7770: return ptr2 != ptr1; 7770: } 7770: 7770: template 7770: inline bool operator==(const QSharedPointer &lhs, std::nullptr_t) noexcept 7770: { 7770: return lhs.isNull(); 7770: } 7770: 7770: template 7770: inline bool operator!=(const QSharedPointer &lhs, std::nullptr_t) noexcept 7770: { 7770: return !lhs.isNull(); 7770: } 7770: 7770: template 7770: inline bool operator==(std::nullptr_t, const QSharedPointer &rhs) noexcept 7770: { 7770: return rhs.isNull(); 7770: } 7770: 7770: template 7770: inline bool operator!=(std::nullptr_t, const QSharedPointer &rhs) noexcept 7770: { 7770: return !rhs.isNull(); 7770: } 7770: 7770: template 7770: inline bool operator==(const QWeakPointer &lhs, std::nullptr_t) noexcept 7770: { 7770: return lhs.isNull(); 7770: } 7770: 7770: template 7770: inline bool operator!=(const QWeakPointer &lhs, std::nullptr_t) noexcept 7770: { 7770: return !lhs.isNull(); 7770: } 7770: 7770: template 7770: inline bool operator==(std::nullptr_t, const QWeakPointer &rhs) noexcept 7770: { 7770: return rhs.isNull(); 7770: } 7770: 7770: template 7770: inline bool operator!=(std::nullptr_t, const QWeakPointer &rhs) noexcept 7770: { 7770: return !rhs.isNull(); 7770: } 7770: 7770: 7770: 7770: 7770: template 7770: inline typename QSharedPointer::difference_type operator-(const QSharedPointer &ptr1, const QSharedPointer &ptr2) 7770: { 7770: return ptr1.data() - ptr2.data(); 7770: } 7770: template 7770: inline typename QSharedPointer::difference_type operator-(const QSharedPointer &ptr1, X *ptr2) 7770: { 7770: return ptr1.data() - ptr2; 7770: } 7770: template 7770: inline typename QSharedPointer::difference_type operator-(T *ptr1, const QSharedPointer &ptr2) 7770: { 7770: return ptr1 - ptr2.data(); 7770: } 7770: 7770: 7770: 7770: 7770: template 7770: inline bool operator<(const QSharedPointer &ptr1, const QSharedPointer &ptr2) 7770: { 7770: using CT = typename std::common_type::type; 7770: return std::less()(ptr1.data(), ptr2.data()); 7770: } 7770: template 7770: inline bool operator<(const QSharedPointer &ptr1, X *ptr2) 7770: { 7770: using CT = typename std::common_type::type; 7770: return std::less()(ptr1.data(), ptr2); 7770: } 7770: template 7770: inline bool operator<(T *ptr1, const QSharedPointer &ptr2) 7770: { 7770: using CT = typename std::common_type::type; 7770: return std::less()(ptr1, ptr2.data()); 7770: } 7770: 7770: 7770: 7770: 7770: template 7770: inline uint qHash(const QSharedPointer &ptr, uint seed = 0) 7770: { 7770: return ::qHash(ptr.data(), seed); 7770: } 7770: 7770: 7770: template 7770: inline QWeakPointer QSharedPointer::toWeakRef() const 7770: { 7770: return QWeakPointer(*this); 7770: } 7770: 7770: template 7770: inline void qSwap(QSharedPointer &p1, QSharedPointer &p2) 7770: { 7770: p1.swap(p2); 7770: } 7770: 7770: 7770: namespace std { 7770: template 7770: inline void swap(::QSharedPointer &p1, ::QSharedPointer &p2) 7770: { p1.swap(p2); } 7770: } 7770: 7770: 7770: namespace QtSharedPointer { 7770: 7770: template 7770: inline QSharedPointer copyAndSetPointer(X *ptr, const QSharedPointer &src) 7770: { 7770: QSharedPointer result; 7770: result.internalSet(src.d, ptr); 7770: return result; 7770: } 7770: } 7770: 7770: 7770: template 7770: inline QSharedPointer qSharedPointerCast(const QSharedPointer &src) 7770: { 7770: X *ptr = static_cast(src.data()); 7770: return QtSharedPointer::copyAndSetPointer(ptr, src); 7770: } 7770: template 7770: inline QSharedPointer qSharedPointerCast(const QWeakPointer &src) 7770: { 7770: return qSharedPointerCast(src.toStrongRef()); 7770: } 7770: 7770: template 7770: inline QSharedPointer qSharedPointerDynamicCast(const QSharedPointer &src) 7770: { 7770: X *ptr = dynamic_cast(src.data()); 7770: if (!ptr) 7770: return QSharedPointer(); 7770: return QtSharedPointer::copyAndSetPointer(ptr, src); 7770: } 7770: template 7770: inline QSharedPointer qSharedPointerDynamicCast(const QWeakPointer &src) 7770: { 7770: return qSharedPointerDynamicCast(src.toStrongRef()); 7770: } 7770: 7770: template 7770: inline QSharedPointer qSharedPointerConstCast(const QSharedPointer &src) 7770: { 7770: X *ptr = const_cast(src.data()); 7770: return QtSharedPointer::copyAndSetPointer(ptr, src); 7770: } 7770: template 7770: inline QSharedPointer qSharedPointerConstCast(const QWeakPointer &src) 7770: { 7770: return qSharedPointerConstCast(src.toStrongRef()); 7770: } 7770: 7770: template 7770: inline 7770: QWeakPointer qWeakPointerCast(const QSharedPointer &src) 7770: { 7770: return qSharedPointerCast(src).toWeakRef(); 7770: } 7770: 7770: 7770: template 7770: inline QSharedPointer qSharedPointerObjectCast(const QSharedPointer &src) 7770: { 7770: X *ptr = qobject_cast(src.data()); 7770: return QtSharedPointer::copyAndSetPointer(ptr, src); 7770: } 7770: template 7770: inline QSharedPointer qSharedPointerObjectCast(const QWeakPointer &src) 7770: { 7770: return qSharedPointerObjectCast(src.toStrongRef()); 7770: } 7770: 7770: template 7770: inline QSharedPointer::Type> 7770: qobject_cast(const QSharedPointer &src) 7770: { 7770: return qSharedPointerObjectCast::Type, T>(src); 7770: } 7770: template 7770: inline QSharedPointer::Type> 7770: qobject_cast(const QWeakPointer &src) 7770: { 7770: return qSharedPointerObjectCast::Type, T>(src); 7770: } 7770: 7770: template 7770: QWeakPointer::Value, T>::type> 7770: qWeakPointerFromVariant(const QVariant &variant) 7770: { 7770: return QWeakPointer(qobject_cast(QtSharedPointer::weakPointerFromVariant_internal(variant).data())); 7770: } 7770: template 7770: QSharedPointer::Value, T>::type> 7770: qSharedPointerFromVariant(const QVariant &variant) 7770: { 7770: return qSharedPointerObjectCast(QtSharedPointer::sharedPointerFromVariant_internal(variant)); 7770: } 7770: 7770: 7770: 7770: 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"; } }; 7770: 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"; } }; 7770: 7770: 7770: 7770: # 49 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsharedpointer.h" 2 3 4 7770: # 44 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qpointer.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qtypeinfo.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qpointer.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: class QVariant; 7770: 7770: template 7770: class QPointer 7770: { 7770: static_assert(bool(!std::is_pointer::value), "QPointer's template type must not be a pointer type"); 7770: 7770: template 7770: struct TypeSelector 7770: { 7770: typedef QObject Type; 7770: }; 7770: template 7770: struct TypeSelector 7770: { 7770: typedef const QObject Type; 7770: }; 7770: typedef typename TypeSelector::Type QObjectType; 7770: QWeakPointer wp; 7770: public: 7770: inline QPointer() { } 7770: inline QPointer(T *p) : wp(p, true) { } 7770: # 80 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qpointer.h" 3 4 7770: inline void swap(QPointer &other) { wp.swap(other.wp); } 7770: 7770: inline QPointer &operator=(T* p) 7770: { wp.assign(static_cast(p)); return *this; } 7770: 7770: inline T* data() const 7770: { return static_cast( wp.data()); } 7770: inline T* operator->() const 7770: { return data(); } 7770: inline T& operator*() const 7770: { return *data(); } 7770: inline operator T*() const 7770: { return data(); } 7770: 7770: inline bool isNull() const 7770: { return wp.isNull(); } 7770: 7770: inline void clear() 7770: { wp.clear(); } 7770: }; 7770: 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(QPointer)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QPointer >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QPointer) }; static inline const char *name() { return "QPointer"; } }; 7770: 7770: template 7770: inline bool operator==(const T *o, const QPointer &p) 7770: { return o == p.operator->(); } 7770: 7770: template 7770: inline bool operator==(const QPointer &p, const T *o) 7770: { return p.operator->() == o; } 7770: 7770: template 7770: inline bool operator==(T *o, const QPointer &p) 7770: { return o == p.operator->(); } 7770: 7770: template 7770: inline bool operator==(const QPointer &p, T *o) 7770: { return p.operator->() == o; } 7770: 7770: template 7770: inline bool operator==(const QPointer &p1, const QPointer &p2) 7770: { return p1.operator->() == p2.operator->(); } 7770: 7770: template 7770: inline bool operator!=(const T *o, const QPointer &p) 7770: { return o != p.operator->(); } 7770: 7770: template 7770: inline bool operator!= (const QPointer &p, const T *o) 7770: { return p.operator->() != o; } 7770: 7770: template 7770: inline bool operator!=(T *o, const QPointer &p) 7770: { return o != p.operator->(); } 7770: 7770: template 7770: inline bool operator!= (const QPointer &p, T *o) 7770: { return p.operator->() != o; } 7770: 7770: template 7770: inline bool operator!= (const QPointer &p1, const QPointer &p2) 7770: { return p1.operator->() != p2.operator->() ; } 7770: 7770: template 7770: QPointer 7770: qPointerFromVariant(const QVariant &variant) 7770: { 7770: return QPointer(qobject_cast(QtSharedPointer::weakPointerFromVariant_internal(variant).data())); 7770: } 7770: 7770: 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qplugin.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qjsonobject.h" 1 3 4 7770: # 46 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qplugin.h" 2 3 4 7770: 7770: 7770: # 58 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qplugin.h" 3 4 7770: typedef QObject *(*QtPluginInstanceFunction)(); 7770: typedef const char *(*QtPluginMetaDataFunction)(); 7770: 7770: struct __attribute__((visibility("default"))) QStaticPlugin 7770: { 7770: 7770: 7770: 7770: QtPluginInstanceFunction instance; 7770: QtPluginMetaDataFunction rawMetaData; 7770: 7770: 7770: 7770: 7770: 7770: 7770: QJsonObject metaData() const; 7770: }; 7770: 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(QStaticPlugin)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QStaticPlugin >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QStaticPlugin) }; static inline const char *name() { return "QStaticPlugin"; } }; 7770: 7770: void __attribute__((visibility("default"))) qRegisterStaticPluginFunction(QStaticPlugin staticPlugin); 7770: # 148 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qplugin.h" 3 4 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QtPlugin" 2 3 4 7770: # 43 "maps/qgeoserviceproviderfactory.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QMap" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmap.h" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QMap" 2 3 4 7770: # 44 "maps/qgeoserviceproviderfactory.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QString" 1 3 4 7770: # 45 "maps/qgeoserviceproviderfactory.h" 2 7770: 7770: 7770: 7770: 7770: # 48 "maps/qgeoserviceproviderfactory.h" 7770: class 7770: # 48 "maps/qgeoserviceproviderfactory.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 48 "maps/qgeoserviceproviderfactory.h" 7770: QGeoServiceProviderFactory 7770: { 7770: public: 7770: virtual ~QGeoServiceProviderFactory() {} 7770: 7770: virtual QGeoCodingManagerEngine *createGeocodingManagerEngine(const QVariantMap ¶meters, 7770: QGeoServiceProvider::Error *error, 7770: QString *errorString) const; 7770: virtual QGeoMappingManagerEngine *createMappingManagerEngine(const QVariantMap ¶meters, 7770: QGeoServiceProvider::Error *error, 7770: QString *errorString) const; 7770: virtual QGeoRoutingManagerEngine *createRoutingManagerEngine(const QVariantMap ¶meters, 7770: QGeoServiceProvider::Error *error, 7770: QString *errorString) const; 7770: virtual QPlaceManagerEngine *createPlaceManagerEngine(const QVariantMap ¶meters, 7770: QGeoServiceProvider::Error *error, 7770: QString *errorString) const; 7770: }; 7770: 7770: 7770: # 67 "maps/qgeoserviceproviderfactory.h" 3 4 7770: template <> inline const char *qobject_interface_iid< 7770: # 67 "maps/qgeoserviceproviderfactory.h" 7770: QGeoServiceProviderFactory 7770: # 67 "maps/qgeoserviceproviderfactory.h" 3 4 7770: *>() { return 7770: # 67 "maps/qgeoserviceproviderfactory.h" 7770: "org.qt-project.qt.geoservice.serviceproviderfactory/5.0" 7770: # 67 "maps/qgeoserviceproviderfactory.h" 3 4 7770: ; } template <> inline 7770: # 67 "maps/qgeoserviceproviderfactory.h" 7770: QGeoServiceProviderFactory 7770: # 67 "maps/qgeoserviceproviderfactory.h" 3 4 7770: *qobject_cast< 7770: # 67 "maps/qgeoserviceproviderfactory.h" 7770: QGeoServiceProviderFactory 7770: # 67 "maps/qgeoserviceproviderfactory.h" 3 4 7770: *>(QObject *object) { return reinterpret_cast< 7770: # 67 "maps/qgeoserviceproviderfactory.h" 7770: QGeoServiceProviderFactory 7770: # 67 "maps/qgeoserviceproviderfactory.h" 3 4 7770: *>((object ? object->qt_metacast( 7770: # 67 "maps/qgeoserviceproviderfactory.h" 7770: "org.qt-project.qt.geoservice.serviceproviderfactory/5.0" 7770: # 67 "maps/qgeoserviceproviderfactory.h" 3 4 7770: ) : nullptr)); } template <> inline 7770: # 67 "maps/qgeoserviceproviderfactory.h" 7770: QGeoServiceProviderFactory 7770: # 67 "maps/qgeoserviceproviderfactory.h" 3 4 7770: *qobject_cast< 7770: # 67 "maps/qgeoserviceproviderfactory.h" 7770: QGeoServiceProviderFactory 7770: # 67 "maps/qgeoserviceproviderfactory.h" 3 4 7770: *>(const QObject *object) { return reinterpret_cast< 7770: # 67 "maps/qgeoserviceproviderfactory.h" 7770: QGeoServiceProviderFactory 7770: # 67 "maps/qgeoserviceproviderfactory.h" 3 4 7770: *>((object ? const_cast(object)->qt_metacast( 7770: # 67 "maps/qgeoserviceproviderfactory.h" 7770: "org.qt-project.qt.geoservice.serviceproviderfactory/5.0" 7770: # 67 "maps/qgeoserviceproviderfactory.h" 3 4 7770: ) : nullptr)); } 7770: 7770: 7770: 7770: # 40 "maps/qgeoserviceprovider.cpp" 2 7770: 7770: # 1 "maps/qgeocodingmanager.h" 1 7770: # 40 "maps/qgeocodingmanager.h" 7770: # 1 "../../include/QtLocation/QGeoCodeReply" 1 7770: # 1 "../../include/QtLocation/qgeocodereply.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QObject" 1 3 4 7770: # 41 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QList" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlist.h" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QList" 2 3 4 7770: # 42 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 2 7770: # 1 "../../include/QtPositioning/QGeoLocation" 1 7770: # 1 "../../include/QtPositioning/qgeolocation.h" 1 7770: # 1 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 1 7770: # 43 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSharedDataPointer" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qshareddata.h" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSharedDataPointer" 2 3 4 7770: # 44 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QMetaType" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmetatype.h" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QMetaType" 2 3 4 7770: # 45 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 2 7770: # 1 "../../include/QtPositioning/qpositioningglobal.h" 1 7770: # 1 "../../include/QtPositioning/../../src/positioning/qpositioningglobal.h" 1 7770: # 44 "../../include/QtPositioning/../../src/positioning/qpositioningglobal.h" 7770: 7770: # 57 "../../include/QtPositioning/../../src/positioning/qpositioningglobal.h" 7770: 7770: # 1 "../../include/QtPositioning/qpositioningglobal.h" 2 7770: # 46 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 2 7770: 7770: 7770: 7770: 7770: # 49 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 7770: class QGeoAddress; 7770: class QGeoCoordinate; 7770: class QGeoRectangle; 7770: class QGeoLocationPrivate; 7770: 7770: class 7770: # 54 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 54 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 7770: QGeoLocation 7770: { 7770: public: 7770: QGeoLocation(); 7770: QGeoLocation(const QGeoLocation &other); 7770: 7770: ~QGeoLocation(); 7770: 7770: QGeoLocation &operator=(const QGeoLocation &other); 7770: 7770: bool operator==(const QGeoLocation &other) const; 7770: bool operator!=(const QGeoLocation &other) const { 7770: return !(other == *this); 7770: } 7770: 7770: QGeoAddress address() const; 7770: void setAddress(const QGeoAddress &address); 7770: QGeoCoordinate coordinate() const; 7770: void setCoordinate(const QGeoCoordinate &position); 7770: QGeoRectangle boundingBox() const; 7770: void setBoundingBox(const QGeoRectangle &box); 7770: 7770: bool isEmpty() const; 7770: 7770: private: 7770: QSharedDataPointer d; 7770: }; 7770: 7770: 7770: # 82 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 3 4 7770: template<> class QTypeInfo< 7770: # 82 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 7770: QGeoLocation 7770: # 82 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 3 4 7770: > { public: enum { isSpecialized = true, isComplex = ((( 7770: # 82 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 7770: Q_MOVABLE_TYPE 7770: # 82 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 3 4 7770: ) & Q_PRIMITIVE_TYPE) == 0), isStatic = ((( 7770: # 82 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 7770: Q_MOVABLE_TYPE 7770: # 82 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 3 4 7770: ) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || (( 7770: # 82 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 7770: Q_MOVABLE_TYPE 7770: # 82 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 3 4 7770: ) & Q_RELOCATABLE_TYPE), isLarge = (sizeof( 7770: # 82 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 7770: QGeoLocation 7770: # 82 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 3 4 7770: )>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< 7770: # 82 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 7770: QGeoLocation 7770: # 82 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 3 4 7770: >::value, isDummy = ((( 7770: # 82 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 7770: Q_MOVABLE_TYPE 7770: # 82 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 3 4 7770: ) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof( 7770: # 82 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 7770: QGeoLocation 7770: # 82 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 3 4 7770: ) }; static inline const char *name() { return 7770: # 82 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 7770: "QGeoLocation" 7770: # 82 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 3 4 7770: ; } } 7770: # 82 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 7770: ; 7770: 7770: 7770: 7770: 7770: # 86 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 3 4 7770: template <> struct QMetaTypeId< 7770: # 86 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 7770: QGeoLocation 7770: # 86 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 3 4 7770: > { 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< 7770: # 86 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 7770: QGeoLocation 7770: # 86 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 3 4 7770: >( 7770: # 86 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 7770: "QGeoLocation" 7770: # 86 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 3 4 7770: , reinterpret_cast< 7770: # 86 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 7770: QGeoLocation 7770: # 86 "../../include/QtPositioning/../../src/positioning/qgeolocation.h" 3 4 7770: *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 7770: # 1 "../../include/QtPositioning/qgeolocation.h" 2 7770: # 1 "../../include/QtPositioning/QGeoLocation" 2 7770: # 43 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 2 7770: 7770: # 1 "../../include/QtLocation/qlocationglobal.h" 1 7770: # 45 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 2 7770: 7770: 7770: 7770: 7770: # 48 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 7770: class QGeoShape; 7770: class QGeoCodeReplyPrivate; 7770: 7770: class 7770: # 51 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 51 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 7770: QGeoCodeReply : public QObject 7770: { 7770: 7770: # 53 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 3 4 7770: public: 7770: # 53 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 7770: #pragma GCC diagnostic push 7770: # 53 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 7770: 7770: # 53 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 53 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 53 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 53 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 53 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 7770: #pragma GCC diagnostic pop 7770: # 53 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 7770: struct QPrivateSignal {}; 7770: 7770: 7770: # 55 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 7770: public: 7770: enum Error { 7770: NoError, 7770: EngineNotSetError, 7770: CommunicationError, 7770: ParseError, 7770: UnsupportedOptionError, 7770: CombinationError, 7770: UnknownError 7770: }; 7770: 7770: explicit QGeoCodeReply(Error error, const QString &errorString, QObject *parent = 7770: # 66 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 3 4 7770: nullptr 7770: # 66 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 7770: ); 7770: virtual ~QGeoCodeReply(); 7770: 7770: bool isFinished() const; 7770: Error error() const; 7770: QString errorString() const; 7770: 7770: QGeoShape viewport() const; 7770: QList locations() const; 7770: 7770: int limit() const; 7770: int offset() const; 7770: 7770: virtual void abort(); 7770: 7770: 7770: # 81 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 3 4 7770: public 7770: # 81 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 7770: : 7770: void finished(); 7770: void aborted(); 7770: void error(QGeoCodeReply::Error error, const QString &errorString = QString()); 7770: 7770: protected: 7770: explicit QGeoCodeReply(QObject *parent = 7770: # 87 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 3 4 7770: nullptr 7770: # 87 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 7770: ); 7770: 7770: void setError(Error error, const QString &errorString); 7770: void setFinished(bool finished); 7770: 7770: void setViewport(const QGeoShape &viewport); 7770: void addLocation(const QGeoLocation &location); 7770: void setLocations(const QList &locations); 7770: 7770: void setLimit(int limit); 7770: void setOffset(int offset); 7770: 7770: private: 7770: QGeoCodeReplyPrivate *d_ptr; 7770: QGeoCodeReply 7770: # 101 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 3 4 7770: (const 7770: # 101 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 7770: QGeoCodeReply 7770: # 101 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 3 4 7770: &) = delete; 7770: # 101 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 7770: QGeoCodeReply 7770: # 101 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 3 4 7770: &operator=(const 7770: # 101 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 7770: QGeoCodeReply 7770: # 101 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 3 4 7770: &) = delete; 7770: 7770: # 102 "../../include/QtLocation/../../src/location/maps/qgeocodereply.h" 7770: }; 7770: 7770: 7770: # 1 "../../include/QtLocation/qgeocodereply.h" 2 7770: # 1 "../../include/QtLocation/QGeoCodeReply" 2 7770: # 41 "maps/qgeocodingmanager.h" 2 7770: # 1 "../../include/QtPositioning/QGeoRectangle" 1 7770: # 1 "../../include/QtPositioning/qgeorectangle.h" 1 7770: # 1 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 1 7770: # 43 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: # 1 "../../include/QtPositioning/QGeoShape" 1 7770: # 1 "../../include/QtPositioning/qgeoshape.h" 1 7770: # 1 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 1 7770: # 43 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSharedDataPointer" 1 3 4 7770: # 44 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 2 7770: # 1 "../../include/QtPositioning/QGeoCoordinate" 1 7770: # 1 "../../include/QtPositioning/qgeocoordinate.h" 1 7770: # 1 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 1 7770: # 43 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QMetaType" 1 3 4 7770: # 44 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QString" 1 3 4 7770: # 45 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSharedDataPointer" 1 3 4 7770: # 46 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 2 7770: # 1 "../../include/QtPositioning/qpositioningglobal.h" 1 7770: # 47 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 2 7770: 7770: 7770: 7770: class QDebug; 7770: class QDataStream; 7770: 7770: class QGeoCoordinatePrivate; 7770: class 7770: # 54 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 54 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: QGeoCoordinate 7770: { 7770: 7770: # 56 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 7770: # 56 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: #pragma GCC diagnostic push 7770: # 56 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: 7770: # 56 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 56 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 56 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: #pragma GCC diagnostic pop 7770: # 56 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: # 63 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: public: 7770: 7770: enum CoordinateType { 7770: InvalidCoordinate, 7770: Coordinate2D, 7770: Coordinate3D 7770: }; 7770: 7770: enum CoordinateFormat { 7770: Degrees, 7770: DegreesWithHemisphere, 7770: DegreesMinutes, 7770: DegreesMinutesWithHemisphere, 7770: DegreesMinutesSeconds, 7770: DegreesMinutesSecondsWithHemisphere 7770: }; 7770: 7770: QGeoCoordinate(); 7770: QGeoCoordinate(double latitude, double longitude); 7770: QGeoCoordinate(double latitude, double longitude, double altitude); 7770: QGeoCoordinate(const QGeoCoordinate &other); 7770: ~QGeoCoordinate(); 7770: 7770: QGeoCoordinate &operator=(const QGeoCoordinate &other); 7770: 7770: bool operator==(const QGeoCoordinate &other) const; 7770: inline bool operator!=(const QGeoCoordinate &other) const { 7770: return !operator==(other); 7770: } 7770: 7770: bool isValid() const; 7770: CoordinateType type() const; 7770: 7770: void setLatitude(double latitude); 7770: double latitude() const; 7770: 7770: void setLongitude(double longitude); 7770: double longitude() const; 7770: 7770: void setAltitude(double altitude); 7770: double altitude() const; 7770: 7770: qreal distanceTo(const QGeoCoordinate &other) const; 7770: qreal azimuthTo(const QGeoCoordinate &other) const; 7770: 7770: QGeoCoordinate atDistanceAndAzimuth(qreal distance, qreal azimuth, qreal distanceUp = 0.0) const; 7770: 7770: QString toString(CoordinateFormat format = DegreesMinutesSecondsWithHemisphere) const; 7770: 7770: private: 7770: QGeoCoordinate(QGeoCoordinatePrivate &dd); 7770: QSharedDataPointer d; 7770: friend class QGeoCoordinatePrivate; 7770: friend class QQuickGeoCoordinateAnimation; 7770: }; 7770: 7770: 7770: # 119 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: template<> class QTypeInfo< 7770: # 119 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: QGeoCoordinate 7770: # 119 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: > { public: enum { isSpecialized = true, isComplex = ((( 7770: # 119 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: Q_MOVABLE_TYPE 7770: # 119 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: ) & Q_PRIMITIVE_TYPE) == 0), isStatic = ((( 7770: # 119 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: Q_MOVABLE_TYPE 7770: # 119 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: ) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || (( 7770: # 119 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: Q_MOVABLE_TYPE 7770: # 119 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: ) & Q_RELOCATABLE_TYPE), isLarge = (sizeof( 7770: # 119 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: QGeoCoordinate 7770: # 119 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: )>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< 7770: # 119 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: QGeoCoordinate 7770: # 119 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: >::value, isDummy = ((( 7770: # 119 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: Q_MOVABLE_TYPE 7770: # 119 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: ) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof( 7770: # 119 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: QGeoCoordinate 7770: # 119 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: ) }; static inline const char *name() { return 7770: # 119 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: "QGeoCoordinate" 7770: # 119 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: ; } } 7770: # 119 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: ; 7770: 7770: 7770: 7770: # 122 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 122 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: QDebug operator<<(QDebug, const QGeoCoordinate &); 7770: 7770: 7770: 7770: # 125 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 125 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: uint qHash(const QGeoCoordinate &coordinate, uint seed = 0); 7770: 7770: 7770: 7770: # 128 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 128 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: QDataStream &operator<<(QDataStream &stream, const QGeoCoordinate &coordinate); 7770: 7770: # 129 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 129 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: QDataStream &operator>>(QDataStream &stream, QGeoCoordinate &coordinate); 7770: 7770: 7770: 7770: 7770: 7770: # 134 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: template <> struct QMetaTypeId< 7770: # 134 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: QGeoCoordinate 7770: # 134 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: > { 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< 7770: # 134 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: QGeoCoordinate 7770: # 134 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: >( 7770: # 134 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: "QGeoCoordinate" 7770: # 134 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: , reinterpret_cast< 7770: # 134 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 7770: QGeoCoordinate 7770: # 134 "../../include/QtPositioning/../../src/positioning/qgeocoordinate.h" 3 4 7770: *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 7770: # 1 "../../include/QtPositioning/qgeocoordinate.h" 2 7770: # 1 "../../include/QtPositioning/QGeoCoordinate" 2 7770: # 45 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 2 7770: 7770: 7770: 7770: 7770: # 48 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: class QDebug; 7770: class QGeoShapePrivate; 7770: class QGeoRectangle; 7770: 7770: class 7770: # 52 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 52 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: QGeoShape 7770: { 7770: 7770: # 54 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 3 4 7770: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 7770: # 54 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: #pragma GCC diagnostic push 7770: # 54 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: 7770: # 54 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 54 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 54 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: #pragma GCC diagnostic pop 7770: # 54 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: # 60 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: public: 7770: QGeoShape(); 7770: QGeoShape(const QGeoShape &other); 7770: ~QGeoShape(); 7770: 7770: enum ShapeType { 7770: UnknownType, 7770: RectangleType, 7770: CircleType, 7770: PathType 7770: }; 7770: 7770: ShapeType type() const; 7770: 7770: bool isValid() const; 7770: bool isEmpty() const; 7770: bool contains(const QGeoCoordinate &coordinate) const; 7770: QGeoRectangle boundingGeoRectangle() const; 7770: QGeoCoordinate center() const; 7770: 7770: void extendShape(const QGeoCoordinate &coordinate); 7770: 7770: bool operator==(const QGeoShape &other) const; 7770: bool operator!=(const QGeoShape &other) const; 7770: 7770: QGeoShape &operator=(const QGeoShape &other); 7770: 7770: QString toString() const; 7770: protected: 7770: QGeoShape(QGeoShapePrivate *d); 7770: 7770: QSharedDataPointer d_ptr; 7770: 7770: private: 7770: inline QGeoShapePrivate *d_func(); 7770: inline const QGeoShapePrivate *d_func() const; 7770: }; 7770: 7770: 7770: # 98 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 3 4 7770: template<> class QTypeInfo< 7770: # 98 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: QGeoShape 7770: # 98 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 3 4 7770: > { public: enum { isSpecialized = true, isComplex = ((( 7770: # 98 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: Q_MOVABLE_TYPE 7770: # 98 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 3 4 7770: ) & Q_PRIMITIVE_TYPE) == 0), isStatic = ((( 7770: # 98 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: Q_MOVABLE_TYPE 7770: # 98 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 3 4 7770: ) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || (( 7770: # 98 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: Q_MOVABLE_TYPE 7770: # 98 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 3 4 7770: ) & Q_RELOCATABLE_TYPE), isLarge = (sizeof( 7770: # 98 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: QGeoShape 7770: # 98 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 3 4 7770: )>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< 7770: # 98 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: QGeoShape 7770: # 98 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 3 4 7770: >::value, isDummy = ((( 7770: # 98 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: Q_MOVABLE_TYPE 7770: # 98 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 3 4 7770: ) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof( 7770: # 98 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: QGeoShape 7770: # 98 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 3 4 7770: ) }; static inline const char *name() { return 7770: # 98 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: "QGeoShape" 7770: # 98 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 3 4 7770: ; } } 7770: # 98 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: ; 7770: 7770: 7770: 7770: # 101 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 101 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: QDebug operator<<(QDebug, const QGeoShape &); 7770: 7770: 7770: 7770: 7770: # 105 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 105 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: QDataStream &operator<<(QDataStream &stream, const QGeoShape &shape); 7770: 7770: # 106 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 106 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: QDataStream &operator>>(QDataStream &stream, QGeoShape &shape); 7770: 7770: 7770: 7770: 7770: 7770: # 111 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 3 4 7770: template <> struct QMetaTypeId< 7770: # 111 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: QGeoShape 7770: # 111 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 3 4 7770: > { 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< 7770: # 111 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: QGeoShape 7770: # 111 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 3 4 7770: >( 7770: # 111 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: "QGeoShape" 7770: # 111 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 3 4 7770: , reinterpret_cast< 7770: # 111 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 7770: QGeoShape 7770: # 111 "../../include/QtPositioning/../../src/positioning/qgeoshape.h" 3 4 7770: *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 7770: # 1 "../../include/QtPositioning/qgeoshape.h" 2 7770: # 1 "../../include/QtPositioning/QGeoShape" 2 7770: # 44 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 2 7770: 7770: 7770: 7770: 7770: # 47 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: class QGeoRectanglePrivate; 7770: 7770: class 7770: # 49 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 49 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: QGeoRectangle : public QGeoShape 7770: { 7770: 7770: # 51 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 3 4 7770: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 7770: # 51 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: #pragma GCC diagnostic push 7770: # 51 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: 7770: # 51 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 51 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 51 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: #pragma GCC diagnostic pop 7770: # 51 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: # 60 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: public: 7770: QGeoRectangle(); 7770: QGeoRectangle(const QGeoCoordinate ¢er, double degreesWidth, double degreesHeight); 7770: QGeoRectangle(const QGeoCoordinate &topLeft, const QGeoCoordinate &bottomRight); 7770: QGeoRectangle(const QList &coordinates); 7770: QGeoRectangle(const QGeoRectangle &other); 7770: QGeoRectangle(const QGeoShape &other); 7770: 7770: ~QGeoRectangle(); 7770: 7770: QGeoRectangle &operator=(const QGeoRectangle &other); 7770: 7770: using QGeoShape::operator==; 7770: bool operator==(const QGeoRectangle &other) const; 7770: 7770: using QGeoShape::operator!=; 7770: bool operator!=(const QGeoRectangle &other) const; 7770: 7770: void setTopLeft(const QGeoCoordinate &topLeft); 7770: QGeoCoordinate topLeft() const; 7770: 7770: void setTopRight(const QGeoCoordinate &topRight); 7770: QGeoCoordinate topRight() const; 7770: 7770: void setBottomLeft(const QGeoCoordinate &bottomLeft); 7770: QGeoCoordinate bottomLeft() const; 7770: 7770: void setBottomRight(const QGeoCoordinate &bottomRight); 7770: QGeoCoordinate bottomRight() const; 7770: 7770: void setCenter(const QGeoCoordinate ¢er); 7770: QGeoCoordinate center() const; 7770: 7770: void setWidth(double degreesWidth); 7770: double width() const; 7770: 7770: void setHeight(double degreesHeight); 7770: double height() const; 7770: 7770: using QGeoShape::contains; 7770: bool contains(const QGeoRectangle &rectangle) const; 7770: bool intersects(const QGeoRectangle &rectangle) const; 7770: 7770: void translate(double degreesLatitude, double degreesLongitude); 7770: QGeoRectangle translated(double degreesLatitude, double degreesLongitude) const; 7770: void extendRectangle(const QGeoCoordinate &coordinate); 7770: 7770: QGeoRectangle united(const QGeoRectangle &rectangle) const; 7770: QGeoRectangle operator|(const QGeoRectangle &rectangle) const; 7770: QGeoRectangle &operator|=(const QGeoRectangle &rectangle); 7770: 7770: QString toString() const; 7770: 7770: private: 7770: inline QGeoRectanglePrivate *d_func(); 7770: inline const QGeoRectanglePrivate *d_func() const; 7770: }; 7770: 7770: 7770: # 118 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 3 4 7770: template<> class QTypeInfo< 7770: # 118 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: QGeoRectangle 7770: # 118 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 3 4 7770: > { public: enum { isSpecialized = true, isComplex = ((( 7770: # 118 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: Q_MOVABLE_TYPE 7770: # 118 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 3 4 7770: ) & Q_PRIMITIVE_TYPE) == 0), isStatic = ((( 7770: # 118 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: Q_MOVABLE_TYPE 7770: # 118 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 3 4 7770: ) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || (( 7770: # 118 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: Q_MOVABLE_TYPE 7770: # 118 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 3 4 7770: ) & Q_RELOCATABLE_TYPE), isLarge = (sizeof( 7770: # 118 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: QGeoRectangle 7770: # 118 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 3 4 7770: )>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< 7770: # 118 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: QGeoRectangle 7770: # 118 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 3 4 7770: >::value, isDummy = ((( 7770: # 118 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: Q_MOVABLE_TYPE 7770: # 118 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 3 4 7770: ) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof( 7770: # 118 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: QGeoRectangle 7770: # 118 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 3 4 7770: ) }; static inline const char *name() { return 7770: # 118 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: "QGeoRectangle" 7770: # 118 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 3 4 7770: ; } } 7770: # 118 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: ; 7770: 7770: inline QGeoRectangle QGeoRectangle::operator|(const QGeoRectangle &rectangle) const 7770: { 7770: return united(rectangle); 7770: } 7770: 7770: 7770: 7770: 7770: # 127 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 3 4 7770: template <> struct QMetaTypeId< 7770: # 127 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: QGeoRectangle 7770: # 127 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 3 4 7770: > { 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< 7770: # 127 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: QGeoRectangle 7770: # 127 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 3 4 7770: >( 7770: # 127 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: "QGeoRectangle" 7770: # 127 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 3 4 7770: , reinterpret_cast< 7770: # 127 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 7770: QGeoRectangle 7770: # 127 "../../include/QtPositioning/../../src/positioning/qgeorectangle.h" 3 4 7770: *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 7770: # 1 "../../include/QtPositioning/qgeorectangle.h" 2 7770: # 1 "../../include/QtPositioning/QGeoRectangle" 2 7770: # 42 "maps/qgeocodingmanager.h" 2 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QObject" 1 3 4 7770: # 44 "maps/qgeocodingmanager.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QList" 1 3 4 7770: # 45 "maps/qgeocodingmanager.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QMap" 1 3 4 7770: # 46 "maps/qgeocodingmanager.h" 2 7770: 7770: 7770: 7770: 7770: # 49 "maps/qgeocodingmanager.h" 7770: class QLocale; 7770: 7770: class QGeoCodingManagerEngine; 7770: class QGeoCodingManagerPrivate; 7770: 7770: class 7770: # 54 "maps/qgeocodingmanager.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 54 "maps/qgeocodingmanager.h" 7770: QGeoCodingManager : public QObject 7770: { 7770: 7770: # 56 "maps/qgeocodingmanager.h" 3 4 7770: public: 7770: # 56 "maps/qgeocodingmanager.h" 7770: #pragma GCC diagnostic push 7770: # 56 "maps/qgeocodingmanager.h" 7770: 7770: # 56 "maps/qgeocodingmanager.h" 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 56 "maps/qgeocodingmanager.h" 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 56 "maps/qgeocodingmanager.h" 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 56 "maps/qgeocodingmanager.h" 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 56 "maps/qgeocodingmanager.h" 7770: #pragma GCC diagnostic pop 7770: # 56 "maps/qgeocodingmanager.h" 7770: struct QPrivateSignal {}; 7770: 7770: # 57 "maps/qgeocodingmanager.h" 7770: public: 7770: ~QGeoCodingManager(); 7770: 7770: QString managerName() const; 7770: int managerVersion() const; 7770: 7770: QGeoCodeReply *geocode(const QGeoAddress &address, 7770: const QGeoShape &bounds = QGeoShape()); 7770: QGeoCodeReply *geocode(const QString &searchString, 7770: int limit = -1, 7770: int offset = 0, 7770: const QGeoShape &bounds = QGeoShape()); 7770: 7770: QGeoCodeReply *reverseGeocode(const QGeoCoordinate &coordinate, 7770: const QGeoShape &bounds = QGeoShape()); 7770: 7770: void setLocale(const QLocale &locale); 7770: QLocale locale() const; 7770: 7770: 7770: # 76 "maps/qgeocodingmanager.h" 3 4 7770: public 7770: # 76 "maps/qgeocodingmanager.h" 7770: : 7770: void finished(QGeoCodeReply *reply); 7770: void error(QGeoCodeReply *reply, QGeoCodeReply::Error error, QString errorString = QString()); 7770: 7770: private: 7770: explicit QGeoCodingManager(QGeoCodingManagerEngine *engine, QObject *parent = 7770: # 81 "maps/qgeocodingmanager.h" 3 4 7770: nullptr 7770: # 81 "maps/qgeocodingmanager.h" 7770: ); 7770: 7770: QGeoCodingManagerPrivate *d_ptr; 7770: QGeoCodingManager 7770: # 84 "maps/qgeocodingmanager.h" 3 4 7770: (const 7770: # 84 "maps/qgeocodingmanager.h" 7770: QGeoCodingManager 7770: # 84 "maps/qgeocodingmanager.h" 3 4 7770: &) = delete; 7770: # 84 "maps/qgeocodingmanager.h" 7770: QGeoCodingManager 7770: # 84 "maps/qgeocodingmanager.h" 3 4 7770: &operator=(const 7770: # 84 "maps/qgeocodingmanager.h" 7770: QGeoCodingManager 7770: # 84 "maps/qgeocodingmanager.h" 3 4 7770: &) = delete; 7770: 7770: 7770: # 86 "maps/qgeocodingmanager.h" 7770: friend class QGeoServiceProvider; 7770: friend class QGeoServiceProviderPrivate; 7770: }; 7770: 7770: 7770: # 42 "maps/qgeoserviceprovider.cpp" 2 7770: # 1 "maps/qgeomappingmanager_p.h" 1 7770: # 51 "maps/qgeomappingmanager_p.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QObject" 1 3 4 7770: # 52 "maps/qgeomappingmanager_p.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSize" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsize.h" 1 3 4 7770: # 49 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsize.h" 3 4 7770: 7770: 7770: 7770: 7770: # 52 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsize.h" 3 4 7770: class __attribute__((visibility("default"))) QSize 7770: { 7770: public: 7770: constexpr QSize() noexcept; 7770: constexpr QSize(int w, int h) noexcept; 7770: 7770: constexpr inline bool isNull() const noexcept; 7770: constexpr inline bool isEmpty() const noexcept; 7770: constexpr inline bool isValid() const noexcept; 7770: 7770: constexpr inline int width() const noexcept; 7770: constexpr inline int height() const noexcept; 7770: constexpr inline void setWidth(int w) noexcept; 7770: constexpr inline void setHeight(int h) noexcept; 7770: void transpose() noexcept; 7770: [[nodiscard]] constexpr inline QSize transposed() const noexcept; 7770: 7770: inline void scale(int w, int h, Qt::AspectRatioMode mode) noexcept; 7770: inline void scale(const QSize &s, Qt::AspectRatioMode mode) noexcept; 7770: [[nodiscard]] QSize scaled(int w, int h, Qt::AspectRatioMode mode) const noexcept; 7770: [[nodiscard]] QSize scaled(const QSize &s, Qt::AspectRatioMode mode) const noexcept; 7770: 7770: [[nodiscard]] constexpr inline QSize expandedTo(const QSize &) const noexcept; 7770: [[nodiscard]] constexpr inline QSize boundedTo(const QSize &) const noexcept; 7770: 7770: constexpr inline int &rwidth() noexcept; 7770: constexpr inline int &rheight() noexcept; 7770: 7770: constexpr inline QSize &operator+=(const QSize &) noexcept; 7770: constexpr inline QSize &operator-=(const QSize &) noexcept; 7770: constexpr inline QSize &operator*=(qreal c) noexcept; 7770: inline QSize &operator/=(qreal c); 7770: 7770: friend inline constexpr bool operator==(const QSize &, const QSize &) noexcept; 7770: friend inline constexpr bool operator!=(const QSize &, const QSize &) noexcept; 7770: friend inline constexpr const QSize operator+(const QSize &, const QSize &) noexcept; 7770: friend inline constexpr const QSize operator-(const QSize &, const QSize &) noexcept; 7770: friend inline constexpr const QSize operator*(const QSize &, qreal) noexcept; 7770: friend inline constexpr const QSize operator*(qreal, const QSize &) noexcept; 7770: friend inline const QSize operator/(const QSize &, qreal); 7770: 7770: 7770: 7770: 7770: 7770: private: 7770: int wd; 7770: int ht; 7770: }; 7770: 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"; } }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QSize &); 7770: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QSize &); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: constexpr inline QSize::QSize() noexcept : wd(-1), ht(-1) {} 7770: 7770: constexpr inline QSize::QSize(int w, int h) noexcept : wd(w), ht(h) {} 7770: 7770: constexpr inline bool QSize::isNull() const noexcept 7770: { return wd==0 && ht==0; } 7770: 7770: constexpr inline bool QSize::isEmpty() const noexcept 7770: { return wd<1 || ht<1; } 7770: 7770: constexpr inline bool QSize::isValid() const noexcept 7770: { return wd>=0 && ht>=0; } 7770: 7770: constexpr inline int QSize::width() const noexcept 7770: { return wd; } 7770: 7770: constexpr inline int QSize::height() const noexcept 7770: { return ht; } 7770: 7770: constexpr inline void QSize::setWidth(int w) noexcept 7770: { wd = w; } 7770: 7770: constexpr inline void QSize::setHeight(int h) noexcept 7770: { ht = h; } 7770: 7770: constexpr inline QSize QSize::transposed() const noexcept 7770: { return QSize(ht, wd); } 7770: 7770: inline void QSize::scale(int w, int h, Qt::AspectRatioMode mode) noexcept 7770: { scale(QSize(w, h), mode); } 7770: 7770: inline void QSize::scale(const QSize &s, Qt::AspectRatioMode mode) noexcept 7770: { *this = scaled(s, mode); } 7770: 7770: inline QSize QSize::scaled(int w, int h, Qt::AspectRatioMode mode) const noexcept 7770: { return scaled(QSize(w, h), mode); } 7770: 7770: constexpr inline int &QSize::rwidth() noexcept 7770: { return wd; } 7770: 7770: constexpr inline int &QSize::rheight() noexcept 7770: { return ht; } 7770: 7770: constexpr inline QSize &QSize::operator+=(const QSize &s) noexcept 7770: { wd+=s.wd; ht+=s.ht; return *this; } 7770: 7770: constexpr inline QSize &QSize::operator-=(const QSize &s) noexcept 7770: { wd-=s.wd; ht-=s.ht; return *this; } 7770: 7770: constexpr inline QSize &QSize::operator*=(qreal c) noexcept 7770: { wd = qRound(wd*c); ht = qRound(ht*c); return *this; } 7770: 7770: constexpr inline bool operator==(const QSize &s1, const QSize &s2) noexcept 7770: { return s1.wd == s2.wd && s1.ht == s2.ht; } 7770: 7770: constexpr inline bool operator!=(const QSize &s1, const QSize &s2) noexcept 7770: { return s1.wd != s2.wd || s1.ht != s2.ht; } 7770: 7770: constexpr inline const QSize operator+(const QSize & s1, const QSize & s2) noexcept 7770: { return QSize(s1.wd+s2.wd, s1.ht+s2.ht); } 7770: 7770: constexpr inline const QSize operator-(const QSize &s1, const QSize &s2) noexcept 7770: { return QSize(s1.wd-s2.wd, s1.ht-s2.ht); } 7770: 7770: constexpr inline const QSize operator*(const QSize &s, qreal c) noexcept 7770: { return QSize(qRound(s.wd*c), qRound(s.ht*c)); } 7770: 7770: constexpr inline const QSize operator*(qreal c, const QSize &s) noexcept 7770: { return QSize(qRound(s.wd*c), qRound(s.ht*c)); } 7770: 7770: inline QSize &QSize::operator/=(qreal c) 7770: { 7770: do { } while ((false) && (!qFuzzyIsNull(c))); 7770: wd = qRound(wd/c); ht = qRound(ht/c); 7770: return *this; 7770: } 7770: 7770: inline const QSize operator/(const QSize &s, qreal c) 7770: { 7770: do { } while ((false) && (!qFuzzyIsNull(c))); 7770: return QSize(qRound(s.wd/c), qRound(s.ht/c)); 7770: } 7770: 7770: constexpr inline QSize QSize::expandedTo(const QSize & otherSize) const noexcept 7770: { 7770: return QSize(qMax(wd,otherSize.wd), qMax(ht,otherSize.ht)); 7770: } 7770: 7770: constexpr inline QSize QSize::boundedTo(const QSize & otherSize) const noexcept 7770: { 7770: return QSize(qMin(wd,otherSize.wd), qMin(ht,otherSize.ht)); 7770: } 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QSize &); 7770: 7770: 7770: 7770: class __attribute__((visibility("default"))) QSizeF 7770: { 7770: public: 7770: constexpr QSizeF() noexcept; 7770: constexpr QSizeF(const QSize &sz) noexcept; 7770: constexpr QSizeF(qreal w, qreal h) noexcept; 7770: 7770: inline bool isNull() const noexcept; 7770: constexpr inline bool isEmpty() const noexcept; 7770: constexpr inline bool isValid() const noexcept; 7770: 7770: constexpr inline qreal width() const noexcept; 7770: constexpr inline qreal height() const noexcept; 7770: constexpr inline void setWidth(qreal w) noexcept; 7770: constexpr inline void setHeight(qreal h) noexcept; 7770: void transpose() noexcept; 7770: [[nodiscard]] constexpr inline QSizeF transposed() const noexcept; 7770: 7770: inline void scale(qreal w, qreal h, Qt::AspectRatioMode mode) noexcept; 7770: inline void scale(const QSizeF &s, Qt::AspectRatioMode mode) noexcept; 7770: [[nodiscard]] QSizeF scaled(qreal w, qreal h, Qt::AspectRatioMode mode) const noexcept; 7770: [[nodiscard]] QSizeF scaled(const QSizeF &s, Qt::AspectRatioMode mode) const noexcept; 7770: 7770: [[nodiscard]] constexpr inline QSizeF expandedTo(const QSizeF &) const noexcept; 7770: [[nodiscard]] constexpr inline QSizeF boundedTo(const QSizeF &) const noexcept; 7770: 7770: constexpr inline qreal &rwidth() noexcept; 7770: constexpr inline qreal &rheight() noexcept; 7770: 7770: constexpr inline QSizeF &operator+=(const QSizeF &) noexcept; 7770: constexpr inline QSizeF &operator-=(const QSizeF &) noexcept; 7770: constexpr inline QSizeF &operator*=(qreal c) noexcept; 7770: inline QSizeF &operator/=(qreal c); 7770: 7770: friend constexpr inline bool operator==(const QSizeF &, const QSizeF &) noexcept; 7770: friend constexpr inline bool operator!=(const QSizeF &, const QSizeF &) noexcept; 7770: friend constexpr inline const QSizeF operator+(const QSizeF &, const QSizeF &) noexcept; 7770: friend constexpr inline const QSizeF operator-(const QSizeF &, const QSizeF &) noexcept; 7770: friend constexpr inline const QSizeF operator*(const QSizeF &, qreal) noexcept; 7770: friend constexpr inline const QSizeF operator*(qreal, const QSizeF &) noexcept; 7770: friend inline const QSizeF operator/(const QSizeF &, qreal); 7770: 7770: constexpr inline QSize toSize() const noexcept; 7770: 7770: 7770: 7770: 7770: 7770: 7770: private: 7770: qreal wd; 7770: qreal ht; 7770: }; 7770: 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"; } }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QSizeF &); 7770: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QSizeF &); 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: constexpr inline QSizeF::QSizeF() noexcept : wd(-1.), ht(-1.) {} 7770: 7770: constexpr inline QSizeF::QSizeF(const QSize &sz) noexcept : wd(sz.width()), ht(sz.height()) {} 7770: 7770: constexpr inline QSizeF::QSizeF(qreal w, qreal h) noexcept : wd(w), ht(h) {} 7770: 7770: inline bool QSizeF::isNull() const noexcept 7770: { return qIsNull(wd) && qIsNull(ht); } 7770: 7770: constexpr inline bool QSizeF::isEmpty() const noexcept 7770: { return wd <= 0. || ht <= 0.; } 7770: 7770: constexpr inline bool QSizeF::isValid() const noexcept 7770: { return wd >= 0. && ht >= 0.; } 7770: 7770: constexpr inline qreal QSizeF::width() const noexcept 7770: { return wd; } 7770: 7770: constexpr inline qreal QSizeF::height() const noexcept 7770: { return ht; } 7770: 7770: constexpr inline void QSizeF::setWidth(qreal w) noexcept 7770: { wd = w; } 7770: 7770: constexpr inline void QSizeF::setHeight(qreal h) noexcept 7770: { ht = h; } 7770: 7770: constexpr inline QSizeF QSizeF::transposed() const noexcept 7770: { return QSizeF(ht, wd); } 7770: 7770: inline void QSizeF::scale(qreal w, qreal h, Qt::AspectRatioMode mode) noexcept 7770: { scale(QSizeF(w, h), mode); } 7770: 7770: inline void QSizeF::scale(const QSizeF &s, Qt::AspectRatioMode mode) noexcept 7770: { *this = scaled(s, mode); } 7770: 7770: inline QSizeF QSizeF::scaled(qreal w, qreal h, Qt::AspectRatioMode mode) const noexcept 7770: { return scaled(QSizeF(w, h), mode); } 7770: 7770: constexpr inline qreal &QSizeF::rwidth() noexcept 7770: { return wd; } 7770: 7770: constexpr inline qreal &QSizeF::rheight() noexcept 7770: { return ht; } 7770: 7770: constexpr inline QSizeF &QSizeF::operator+=(const QSizeF &s) noexcept 7770: { wd += s.wd; ht += s.ht; return *this; } 7770: 7770: constexpr inline QSizeF &QSizeF::operator-=(const QSizeF &s) noexcept 7770: { wd -= s.wd; ht -= s.ht; return *this; } 7770: 7770: constexpr inline QSizeF &QSizeF::operator*=(qreal c) noexcept 7770: { wd *= c; ht *= c; return *this; } 7770: 7770: constexpr inline bool operator==(const QSizeF &s1, const QSizeF &s2) noexcept 7770: { return qFuzzyCompare(s1.wd, s2.wd) && qFuzzyCompare(s1.ht, s2.ht); } 7770: 7770: constexpr inline bool operator!=(const QSizeF &s1, const QSizeF &s2) noexcept 7770: { return !qFuzzyCompare(s1.wd, s2.wd) || !qFuzzyCompare(s1.ht, s2.ht); } 7770: 7770: constexpr inline const QSizeF operator+(const QSizeF & s1, const QSizeF & s2) noexcept 7770: { return QSizeF(s1.wd+s2.wd, s1.ht+s2.ht); } 7770: 7770: constexpr inline const QSizeF operator-(const QSizeF &s1, const QSizeF &s2) noexcept 7770: { return QSizeF(s1.wd-s2.wd, s1.ht-s2.ht); } 7770: 7770: constexpr inline const QSizeF operator*(const QSizeF &s, qreal c) noexcept 7770: { return QSizeF(s.wd*c, s.ht*c); } 7770: 7770: constexpr inline const QSizeF operator*(qreal c, const QSizeF &s) noexcept 7770: { return QSizeF(s.wd*c, s.ht*c); } 7770: 7770: inline QSizeF &QSizeF::operator/=(qreal c) 7770: { 7770: do { } while ((false) && (!qFuzzyIsNull(c))); 7770: wd = wd/c; ht = ht/c; 7770: return *this; 7770: } 7770: 7770: inline const QSizeF operator/(const QSizeF &s, qreal c) 7770: { 7770: do { } while ((false) && (!qFuzzyIsNull(c))); 7770: return QSizeF(s.wd/c, s.ht/c); 7770: } 7770: 7770: constexpr inline QSizeF QSizeF::expandedTo(const QSizeF & otherSize) const noexcept 7770: { 7770: return QSizeF(qMax(wd,otherSize.wd), qMax(ht,otherSize.ht)); 7770: } 7770: 7770: constexpr inline QSizeF QSizeF::boundedTo(const QSizeF & otherSize) const noexcept 7770: { 7770: return QSizeF(qMin(wd,otherSize.wd), qMin(ht,otherSize.ht)); 7770: } 7770: 7770: constexpr inline QSize QSizeF::toSize() const noexcept 7770: { 7770: return QSize(qRound(wd), qRound(ht)); 7770: } 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QSizeF &); 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSize" 2 3 4 7770: # 53 "maps/qgeomappingmanager_p.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QPair" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qpair.h" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QPair" 2 3 4 7770: # 54 "maps/qgeomappingmanager_p.h" 2 7770: # 1 "../../include/QtLocation/5.9.3/QtLocation/private/qlocationglobal_p.h" 1 7770: # 1 "../../include/QtLocation/5.9.3/QtLocation/private/../../../../../src/location/qlocationglobal_p.h" 1 7770: # 54 "../../include/QtLocation/5.9.3/QtLocation/private/../../../../../src/location/qlocationglobal_p.h" 7770: # 1 "../../include/QtLocation/5.9.3/QtLocation/private/../../../../../src/location/qlocationglobal.h" 1 7770: # 55 "../../include/QtLocation/5.9.3/QtLocation/private/../../../../../src/location/qlocationglobal_p.h" 2 7770: 7770: 7770: 7770: 7770: 7770: 7770: # 1 "../../include/QtLocation/5.9.3/QtLocation/private/qlocationglobal_p.h" 2 7770: # 55 "maps/qgeomappingmanager_p.h" 2 7770: # 1 "../../include/QtLocation/5.9.3/QtLocation/private/qgeomaptype_p.h" 1 7770: # 1 "../../include/QtLocation/5.9.3/QtLocation/private/../../../../../src/location/maps/qgeomaptype_p.h" 1 7770: # 51 "../../include/QtLocation/5.9.3/QtLocation/private/../../../../../src/location/maps/qgeomaptype_p.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QString" 1 3 4 7770: # 52 "../../include/QtLocation/5.9.3/QtLocation/private/../../../../../src/location/maps/qgeomaptype_p.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSharedDataPointer" 1 3 4 7770: # 53 "../../include/QtLocation/5.9.3/QtLocation/private/../../../../../src/location/maps/qgeomaptype_p.h" 2 7770: # 1 "../../include/QtLocation/5.9.3/QtLocation/private/qlocationglobal_p.h" 1 7770: # 54 "../../include/QtLocation/5.9.3/QtLocation/private/../../../../../src/location/maps/qgeomaptype_p.h" 2 7770: 7770: 7770: 7770: 7770: # 57 "../../include/QtLocation/5.9.3/QtLocation/private/../../../../../src/location/maps/qgeomaptype_p.h" 7770: class QGeoMapTypePrivate; 7770: 7770: class 7770: # 59 "../../include/QtLocation/5.9.3/QtLocation/private/../../../../../src/location/maps/qgeomaptype_p.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 59 "../../include/QtLocation/5.9.3/QtLocation/private/../../../../../src/location/maps/qgeomaptype_p.h" 7770: QGeoMapType 7770: { 7770: public: 7770: enum MapStyle { 7770: NoMap = 0, 7770: StreetMap, 7770: SatelliteMapDay, 7770: SatelliteMapNight, 7770: TerrainMap, 7770: HybridMap, 7770: TransitMap, 7770: GrayStreetMap, 7770: PedestrianMap, 7770: CarNavigationMap, 7770: CycleMap, 7770: CustomMap = 100 7770: }; 7770: 7770: QGeoMapType(); 7770: QGeoMapType(const QGeoMapType &other); 7770: QGeoMapType(MapStyle style, const QString &name, const QString &description, bool mobile, 7770: bool night, int mapId, QByteArray pluginName); 7770: ~QGeoMapType(); 7770: 7770: QGeoMapType &operator = (const QGeoMapType &other); 7770: 7770: bool operator == (const QGeoMapType &other) const; 7770: bool operator != (const QGeoMapType &other) const; 7770: 7770: MapStyle style() const; 7770: QString name() const; 7770: QString description() const; 7770: bool mobile() const; 7770: bool night() const; 7770: int mapId() const; 7770: QByteArray pluginName() const; 7770: 7770: private: 7770: QSharedDataPointer d_ptr; 7770: }; 7770: 7770: 7770: # 1 "../../include/QtLocation/5.9.3/QtLocation/private/qgeomaptype_p.h" 2 7770: # 56 "maps/qgeomappingmanager_p.h" 2 7770: 7770: 7770: 7770: class QGeoMap; 7770: class QLocale; 7770: class QGeoRectangle; 7770: class QGeoCoordinate; 7770: class QGeoMappingManagerPrivate; 7770: class QGeoMapRequestOptions; 7770: class QGeoMappingManagerEngine; 7770: class QGeoCameraCapabilities; 7770: 7770: 7770: class 7770: # 69 "maps/qgeomappingmanager_p.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 69 "maps/qgeomappingmanager_p.h" 7770: QGeoMappingManager : public QObject 7770: { 7770: 7770: # 71 "maps/qgeomappingmanager_p.h" 3 4 7770: public: 7770: # 71 "maps/qgeomappingmanager_p.h" 7770: #pragma GCC diagnostic push 7770: # 71 "maps/qgeomappingmanager_p.h" 7770: 7770: # 71 "maps/qgeomappingmanager_p.h" 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 71 "maps/qgeomappingmanager_p.h" 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 71 "maps/qgeomappingmanager_p.h" 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 71 "maps/qgeomappingmanager_p.h" 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 71 "maps/qgeomappingmanager_p.h" 7770: #pragma GCC diagnostic pop 7770: # 71 "maps/qgeomappingmanager_p.h" 7770: struct QPrivateSignal {}; 7770: 7770: 7770: # 73 "maps/qgeomappingmanager_p.h" 7770: public: 7770: ~QGeoMappingManager(); 7770: 7770: QString managerName() const; 7770: int managerVersion() const; 7770: 7770: QGeoMap *createMap(QObject *parent); 7770: 7770: QList supportedMapTypes() const; 7770: 7770: bool isInitialized() const; 7770: 7770: void setLocale(const QLocale &locale); 7770: QLocale locale() const; 7770: 7770: 7770: # 88 "maps/qgeomappingmanager_p.h" 3 4 7770: public 7770: # 88 "maps/qgeomappingmanager_p.h" 7770: : 7770: void initialized(); 7770: void supportedMapTypesChanged(); 7770: 7770: protected: 7770: QGeoMappingManager(QGeoMappingManagerEngine *engine, QObject *parent = 0); 7770: 7770: private: 7770: QGeoMappingManagerPrivate *d_ptr; 7770: QGeoMappingManager 7770: # 97 "maps/qgeomappingmanager_p.h" 3 4 7770: (const 7770: # 97 "maps/qgeomappingmanager_p.h" 7770: QGeoMappingManager 7770: # 97 "maps/qgeomappingmanager_p.h" 3 4 7770: &) = delete; 7770: # 97 "maps/qgeomappingmanager_p.h" 7770: QGeoMappingManager 7770: # 97 "maps/qgeomappingmanager_p.h" 3 4 7770: &operator=(const 7770: # 97 "maps/qgeomappingmanager_p.h" 7770: QGeoMappingManager 7770: # 97 "maps/qgeomappingmanager_p.h" 3 4 7770: &) = delete; 7770: 7770: 7770: # 99 "maps/qgeomappingmanager_p.h" 7770: friend class QGeoServiceProvider; 7770: friend class QGeoServiceProviderPrivate; 7770: }; 7770: 7770: 7770: # 43 "maps/qgeoserviceprovider.cpp" 2 7770: # 1 "maps/qgeoroutingmanager.h" 1 7770: # 40 "maps/qgeoroutingmanager.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QObject" 1 3 4 7770: # 41 "maps/qgeoroutingmanager.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QLocale" 1 3 4 7770: # 42 "maps/qgeoroutingmanager.h" 2 7770: # 1 "../../include/QtLocation/QGeoRouteRequest" 1 7770: # 1 "../../include/QtLocation/qgeorouterequest.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QList" 1 3 4 7770: # 41 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QExplicitlySharedDataPointer" 1 3 4 7770: # 42 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QDateTime" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qdatetime.h" 1 3 4 7770: # 55 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qdatetime.h" 3 4 7770: 7770: 7770: 7770: # 57 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qdatetime.h" 3 4 7770: class QTimeZone; 7770: 7770: class __attribute__((visibility("default"))) QDate 7770: { 7770: public: 7770: enum MonthNameType { 7770: DateFormat = 0, 7770: StandaloneFormat 7770: }; 7770: private: 7770: explicit constexpr QDate(qint64 julianDay) : jd(julianDay) {} 7770: public: 7770: constexpr QDate() : jd(nullJd()) {} 7770: QDate(int y, int m, int d); 7770: 7770: constexpr bool isNull() const { return !isValid(); } 7770: constexpr bool isValid() const { return jd >= minJd() && jd <= maxJd(); } 7770: 7770: int year() const; 7770: int month() const; 7770: int day() const; 7770: int dayOfWeek() const; 7770: int dayOfYear() const; 7770: int daysInMonth() const; 7770: int daysInYear() const; 7770: int weekNumber(int *yearNum = nullptr) const; 7770: 7770: 7770: static QString shortMonthName(int month, MonthNameType type = DateFormat); 7770: static QString shortDayName(int weekday, MonthNameType type = DateFormat); 7770: static QString longMonthName(int month, MonthNameType type = DateFormat); 7770: static QString longDayName(int weekday, MonthNameType type = DateFormat); 7770: 7770: 7770: QString toString(Qt::DateFormat f = Qt::TextDate) const; 7770: QString toString(const QString &format) const; 7770: 7770: 7770: 7770: 7770: 7770: 7770: bool setDate(int year, int month, int day); 7770: 7770: 7770: void getDate(int *year, int *month, int *day); 7770: 7770: void getDate(int *year, int *month, int *day) const; 7770: 7770: [[nodiscard]] QDate addDays(qint64 days) const; 7770: [[nodiscard]] QDate addMonths(int months) const; 7770: [[nodiscard]] QDate addYears(int years) const; 7770: qint64 daysTo(const QDate &) const; 7770: 7770: constexpr bool operator==(const QDate &other) const { return jd == other.jd; } 7770: constexpr bool operator!=(const QDate &other) const { return jd != other.jd; } 7770: constexpr bool operator< (const QDate &other) const { return jd < other.jd; } 7770: constexpr bool operator<=(const QDate &other) const { return jd <= other.jd; } 7770: constexpr bool operator> (const QDate &other) const { return jd > other.jd; } 7770: constexpr bool operator>=(const QDate &other) const { return jd >= other.jd; } 7770: 7770: static QDate currentDate(); 7770: 7770: static QDate fromString(const QString &s, Qt::DateFormat f = Qt::TextDate); 7770: static QDate fromString(const QString &s, const QString &format); 7770: 7770: static bool isValid(int y, int m, int d); 7770: static bool isLeapYear(int year); 7770: 7770: static constexpr inline QDate fromJulianDay(qint64 jd_) 7770: { return jd_ >= minJd() && jd_ <= maxJd() ? QDate(jd_) : QDate() ; } 7770: constexpr inline qint64 toJulianDay() const { return jd; } 7770: 7770: private: 7770: 7770: static constexpr inline qint64 nullJd() { return (std::numeric_limits::min)(); } 7770: static constexpr inline qint64 minJd() { return static_cast(-784350574879LL); } 7770: static constexpr inline qint64 maxJd() { return static_cast(784354017364LL); } 7770: 7770: qint64 jd; 7770: 7770: friend class QDateTime; 7770: friend class QDateTimePrivate; 7770: 7770: friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QDate &); 7770: friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QDate &); 7770: 7770: }; 7770: 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(QDate)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QDate >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QDate) }; static inline const char *name() { return "QDate"; } }; 7770: 7770: class __attribute__((visibility("default"))) QTime 7770: { 7770: explicit constexpr QTime(int ms) : mds(ms) 7770: {} 7770: public: 7770: constexpr QTime(): mds(NullTime) 7770: {} 7770: QTime(int h, int m, int s = 0, int ms = 0); 7770: 7770: constexpr bool isNull() const { return mds == NullTime; } 7770: bool isValid() const; 7770: 7770: int hour() const; 7770: int minute() const; 7770: int second() const; 7770: int msec() const; 7770: 7770: QString toString(Qt::DateFormat f = Qt::TextDate) const; 7770: QString toString(const QString &format) const; 7770: 7770: bool setHMS(int h, int m, int s, int ms = 0); 7770: 7770: [[nodiscard]] QTime addSecs(int secs) const; 7770: int secsTo(const QTime &) const; 7770: [[nodiscard]] QTime addMSecs(int ms) const; 7770: int msecsTo(const QTime &) const; 7770: 7770: constexpr bool operator==(const QTime &other) const { return mds == other.mds; } 7770: constexpr bool operator!=(const QTime &other) const { return mds != other.mds; } 7770: constexpr bool operator< (const QTime &other) const { return mds < other.mds; } 7770: constexpr bool operator<=(const QTime &other) const { return mds <= other.mds; } 7770: constexpr bool operator> (const QTime &other) const { return mds > other.mds; } 7770: constexpr bool operator>=(const QTime &other) const { return mds >= other.mds; } 7770: 7770: static constexpr inline QTime fromMSecsSinceStartOfDay(int msecs) { return QTime(msecs); } 7770: constexpr inline int msecsSinceStartOfDay() const { return mds == NullTime ? 0 : mds; } 7770: 7770: static QTime currentTime(); 7770: 7770: static QTime fromString(const QString &s, Qt::DateFormat f = Qt::TextDate); 7770: static QTime fromString(const QString &s, const QString &format); 7770: 7770: static bool isValid(int h, int m, int s, int ms = 0); 7770: 7770: void start(); 7770: int restart(); 7770: int elapsed() const; 7770: private: 7770: enum TimeFlag { NullTime = -1 }; 7770: constexpr inline int ds() const { return mds == -1 ? 0 : mds; } 7770: int mds; 7770: 7770: friend class QDateTime; 7770: friend class QDateTimePrivate; 7770: 7770: friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QTime &); 7770: friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QTime &); 7770: 7770: }; 7770: 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(QTime)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QTime >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QTime) }; static inline const char *name() { return "QTime"; } }; 7770: 7770: class QDateTimePrivate; 7770: 7770: class __attribute__((visibility("default"))) QDateTime 7770: { 7770: 7770: struct ShortData { 7770: 7770: quintptr status : 8; 7770: 7770: 7770: qintptr msecs : sizeof(void *) * 8 - 8; 7770: 7770: 7770: 7770: 7770: }; 7770: 7770: union Data { 7770: enum { 7770: 7770: 7770: 7770: CanBeSmall = sizeof(ShortData) * 8 > 50 7770: }; 7770: 7770: Data(); 7770: Data(Qt::TimeSpec); 7770: Data(const Data &other); 7770: Data(Data &&other); 7770: Data &operator=(const Data &other); 7770: ~Data(); 7770: 7770: bool isShort() const; 7770: void detach(); 7770: 7770: const QDateTimePrivate *operator->() const; 7770: QDateTimePrivate *operator->(); 7770: 7770: QDateTimePrivate *d; 7770: ShortData data; 7770: }; 7770: 7770: public: 7770: QDateTime() noexcept(Data::CanBeSmall); 7770: explicit QDateTime(const QDate &); 7770: QDateTime(const QDate &, const QTime &, Qt::TimeSpec spec = Qt::LocalTime); 7770: 7770: QDateTime(const QDate &date, const QTime &time, Qt::TimeSpec spec, int offsetSeconds); 7770: 7770: QDateTime(const QDate &date, const QTime &time, const QTimeZone &timeZone); 7770: 7770: QDateTime(const QDateTime &other) noexcept; 7770: QDateTime(QDateTime &&other) noexcept; 7770: ~QDateTime(); 7770: 7770: 7770: QDateTime &operator=(QDateTime &&other) noexcept { swap(other); return *this; } 7770: 7770: QDateTime &operator=(const QDateTime &other) noexcept; 7770: 7770: void swap(QDateTime &other) noexcept { qSwap(d.d, other.d.d); } 7770: 7770: bool isNull() const; 7770: bool isValid() const; 7770: 7770: QDate date() const; 7770: QTime time() const; 7770: Qt::TimeSpec timeSpec() const; 7770: int offsetFromUtc() const; 7770: 7770: QTimeZone timeZone() const; 7770: 7770: QString timeZoneAbbreviation() const; 7770: bool isDaylightTime() const; 7770: 7770: qint64 toMSecsSinceEpoch() const; 7770: qint64 toSecsSinceEpoch() const; 7770: 7770: void setDate(const QDate &date); 7770: void setTime(const QTime &time); 7770: void setTimeSpec(Qt::TimeSpec spec); 7770: void setOffsetFromUtc(int offsetSeconds); 7770: 7770: void setTimeZone(const QTimeZone &toZone); 7770: 7770: void setMSecsSinceEpoch(qint64 msecs); 7770: void setSecsSinceEpoch(qint64 secs); 7770: 7770: 7770: QString toString(Qt::DateFormat f = Qt::TextDate) const; 7770: QString toString(const QString &format) const; 7770: 7770: [[nodiscard]] QDateTime addDays(qint64 days) const; 7770: [[nodiscard]] QDateTime addMonths(int months) const; 7770: [[nodiscard]] QDateTime addYears(int years) const; 7770: [[nodiscard]] QDateTime addSecs(qint64 secs) const; 7770: [[nodiscard]] QDateTime addMSecs(qint64 msecs) const; 7770: 7770: QDateTime toTimeSpec(Qt::TimeSpec spec) const; 7770: inline QDateTime toLocalTime() const { return toTimeSpec(Qt::LocalTime); } 7770: inline QDateTime toUTC() const { return toTimeSpec(Qt::UTC); } 7770: QDateTime toOffsetFromUtc(int offsetSeconds) const; 7770: 7770: QDateTime toTimeZone(const QTimeZone &toZone) const; 7770: 7770: 7770: qint64 daysTo(const QDateTime &) const; 7770: qint64 secsTo(const QDateTime &) const; 7770: qint64 msecsTo(const QDateTime &) const; 7770: 7770: bool operator==(const QDateTime &other) const; 7770: inline bool operator!=(const QDateTime &other) const { return !(*this == other); } 7770: bool operator<(const QDateTime &other) const; 7770: inline bool operator<=(const QDateTime &other) const { return !(other < *this); } 7770: inline bool operator>(const QDateTime &other) const { return other < *this; } 7770: inline bool operator>=(const QDateTime &other) const { return !(*this < other); } 7770: 7770: 7770: __attribute__ ((__deprecated__)) void setUtcOffset(int seconds); 7770: __attribute__ ((__deprecated__)) int utcOffset() const; 7770: 7770: 7770: static QDateTime currentDateTime(); 7770: static QDateTime currentDateTimeUtc(); 7770: 7770: static QDateTime fromString(const QString &s, Qt::DateFormat f = Qt::TextDate); 7770: static QDateTime fromString(const QString &s, const QString &format); 7770: 7770: 7770: 7770: uint toTime_t() const; 7770: void setTime_t(uint secsSince1Jan1970UTC); 7770: static QDateTime fromTime_t(uint secsSince1Jan1970UTC); 7770: static QDateTime fromTime_t(uint secsSince1Jan1970UTC, Qt::TimeSpec spec, 7770: int offsetFromUtc = 0); 7770: static QDateTime fromTime_t(uint secsSince1Jan1970UTC, const QTimeZone &timeZone); 7770: 7770: 7770: static QDateTime fromMSecsSinceEpoch(qint64 msecs); 7770: 7770: static QDateTime fromMSecsSinceEpoch(qint64 msecs, Qt::TimeSpec spec, int offsetFromUtc = 0); 7770: static QDateTime fromSecsSinceEpoch(qint64 secs, Qt::TimeSpec spe = Qt::LocalTime, int offsetFromUtc = 0); 7770: 7770: 7770: static QDateTime fromMSecsSinceEpoch(qint64 msecs, const QTimeZone &timeZone); 7770: static QDateTime fromSecsSinceEpoch(qint64 secs, const QTimeZone &timeZone); 7770: 7770: 7770: static qint64 currentMSecsSinceEpoch() noexcept; 7770: static qint64 currentSecsSinceEpoch() noexcept; 7770: # 366 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qdatetime.h" 3 4 7770: private: 7770: friend class QDateTimePrivate; 7770: 7770: Data d; 7770: 7770: 7770: friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QDateTime &); 7770: friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QDateTime &); 7770: 7770: 7770: 7770: friend __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QDateTime &); 7770: 7770: }; 7770: 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(QDateTime)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QDateTime >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QDateTime) }; static inline const char *name() { return "QDateTime"; } }; inline void swap(QDateTime &value1, QDateTime &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 7770: 7770: 7770: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QDate &); 7770: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QDate &); 7770: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QTime &); 7770: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QTime &); 7770: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QDateTime &); 7770: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QDateTime &); 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QDate &); 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QTime &); 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QDateTime &); 7770: 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) uint qHash(const QDateTime &key, uint seed = 0); 7770: __attribute__((visibility("default"))) uint qHash(const QDate &key, uint seed = 0) noexcept; 7770: __attribute__((visibility("default"))) uint qHash(const QTime &key, uint seed = 0) noexcept; 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QDateTime" 2 3 4 7770: # 43 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 2 7770: 7770: # 1 "../../include/QtLocation/qlocationglobal.h" 1 7770: # 45 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 2 7770: # 1 "../../include/QtPositioning/qgeocoordinate.h" 1 7770: # 46 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 2 7770: # 1 "../../include/QtPositioning/qgeorectangle.h" 1 7770: # 47 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 2 7770: 7770: 7770: 7770: 7770: # 50 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: class QGeoRouteRequestPrivate; 7770: 7770: class 7770: # 52 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 52 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest 7770: { 7770: public: 7770: enum TravelMode { 7770: CarTravel = 0x0001, 7770: PedestrianTravel = 0x0002, 7770: BicycleTravel = 0x0004, 7770: PublicTransitTravel = 0x0008, 7770: TruckTravel = 0x0010 7770: }; 7770: 7770: # 62 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: typedef QFlags< 7770: # 62 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: TravelMode 7770: # 62 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: > 7770: # 62 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: TravelModes 7770: # 62 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ; 7770: 7770: 7770: # 64 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: enum FeatureType { 7770: NoFeature = 0x00000000, 7770: TollFeature = 0x00000001, 7770: HighwayFeature = 0x00000002, 7770: PublicTransitFeature = 0x00000004, 7770: FerryFeature = 0x00000008, 7770: TunnelFeature = 0x00000010, 7770: DirtRoadFeature = 0x00000020, 7770: ParksFeature = 0x00000040, 7770: MotorPoolLaneFeature = 0x00000080 7770: }; 7770: 7770: # 75 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: typedef QFlags< 7770: # 75 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: FeatureType 7770: # 75 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: > 7770: # 75 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: FeatureTypes 7770: # 75 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ; 7770: 7770: 7770: # 77 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: enum FeatureWeight { 7770: NeutralFeatureWeight = 0x00000000, 7770: PreferFeatureWeight = 0x00000001, 7770: RequireFeatureWeight = 0x00000002, 7770: AvoidFeatureWeight = 0x00000004, 7770: DisallowFeatureWeight = 0x00000008 7770: }; 7770: 7770: # 84 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: typedef QFlags< 7770: # 84 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: FeatureWeight 7770: # 84 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: > 7770: # 84 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: FeatureWeights 7770: # 84 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ; 7770: 7770: 7770: # 86 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: enum RouteOptimization { 7770: ShortestRoute = 0x0001, 7770: FastestRoute = 0x0002, 7770: MostEconomicRoute = 0x0004, 7770: MostScenicRoute = 0x0008 7770: }; 7770: 7770: # 92 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: typedef QFlags< 7770: # 92 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: RouteOptimization 7770: # 92 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: > 7770: # 92 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: RouteOptimizations 7770: # 92 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ; 7770: 7770: 7770: # 94 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: enum SegmentDetail { 7770: NoSegmentData = 0x0000, 7770: BasicSegmentData = 0x0001 7770: }; 7770: 7770: # 98 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: typedef QFlags< 7770: # 98 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: SegmentDetail 7770: # 98 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: > 7770: # 98 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: SegmentDetails 7770: # 98 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ; 7770: 7770: 7770: # 100 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: enum ManeuverDetail { 7770: NoManeuvers = 0x0000, 7770: BasicManeuvers = 0x0001 7770: }; 7770: 7770: # 104 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: typedef QFlags< 7770: # 104 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: ManeuverDetail 7770: # 104 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: > 7770: # 104 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: ManeuverDetails 7770: # 104 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ; 7770: 7770: 7770: # 106 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: explicit QGeoRouteRequest(const QList &waypoints = QList()); 7770: QGeoRouteRequest(const QGeoCoordinate &origin, 7770: const QGeoCoordinate &destination); 7770: QGeoRouteRequest(const QGeoRouteRequest &other); 7770: 7770: ~QGeoRouteRequest(); 7770: 7770: QGeoRouteRequest &operator= (const QGeoRouteRequest &other); 7770: 7770: bool operator == (const QGeoRouteRequest &other) const; 7770: bool operator != (const QGeoRouteRequest &other) const; 7770: 7770: void setWaypoints(const QList &waypoints); 7770: QList waypoints() const; 7770: 7770: void setExcludeAreas(const QList &areas); 7770: QList excludeAreas() const; 7770: 7770: 7770: void setNumberAlternativeRoutes(int alternatives); 7770: int numberAlternativeRoutes() const; 7770: 7770: 7770: void setTravelModes(TravelModes travelModes); 7770: TravelModes travelModes() const; 7770: 7770: void setFeatureWeight(FeatureType featureType, FeatureWeight featureWeight); 7770: FeatureWeight featureWeight(FeatureType featureType) const; 7770: QList featureTypes() const; 7770: 7770: 7770: void setRouteOptimization(RouteOptimizations optimization); 7770: RouteOptimizations routeOptimization() const; 7770: 7770: 7770: void setSegmentDetail(SegmentDetail segmentDetail); 7770: SegmentDetail segmentDetail() const; 7770: 7770: 7770: void setManeuverDetail(ManeuverDetail maneuverDetail); 7770: ManeuverDetail maneuverDetail() const; 7770: 7770: private: 7770: QExplicitlySharedDataPointer d_ptr; 7770: }; 7770: 7770: 7770: # 152 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: constexpr inline QFlags< 7770: # 152 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::TravelModes 7770: # 152 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type> operator|( 7770: # 152 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::TravelModes 7770: # 152 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f1, 7770: # 152 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::TravelModes 7770: # 152 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f2) noexcept { return QFlags< 7770: # 152 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::TravelModes 7770: # 152 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type>(f1) | f2; } constexpr inline QFlags< 7770: # 152 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::TravelModes 7770: # 152 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type> operator|( 7770: # 152 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::TravelModes 7770: # 152 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f1, QFlags< 7770: # 152 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::TravelModes 7770: # 152 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type> f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|( 7770: # 152 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::TravelModes 7770: # 152 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 7770: constexpr inline QFlags< 7770: # 153 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::FeatureTypes 7770: # 153 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type> operator|( 7770: # 153 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::FeatureTypes 7770: # 153 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f1, 7770: # 153 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::FeatureTypes 7770: # 153 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f2) noexcept { return QFlags< 7770: # 153 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::FeatureTypes 7770: # 153 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type>(f1) | f2; } constexpr inline QFlags< 7770: # 153 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::FeatureTypes 7770: # 153 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type> operator|( 7770: # 153 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::FeatureTypes 7770: # 153 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f1, QFlags< 7770: # 153 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::FeatureTypes 7770: # 153 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type> f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|( 7770: # 153 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::FeatureTypes 7770: # 153 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 7770: constexpr inline QFlags< 7770: # 154 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::FeatureWeights 7770: # 154 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type> operator|( 7770: # 154 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::FeatureWeights 7770: # 154 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f1, 7770: # 154 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::FeatureWeights 7770: # 154 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f2) noexcept { return QFlags< 7770: # 154 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::FeatureWeights 7770: # 154 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type>(f1) | f2; } constexpr inline QFlags< 7770: # 154 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::FeatureWeights 7770: # 154 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type> operator|( 7770: # 154 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::FeatureWeights 7770: # 154 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f1, QFlags< 7770: # 154 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::FeatureWeights 7770: # 154 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type> f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|( 7770: # 154 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::FeatureWeights 7770: # 154 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 7770: constexpr inline QFlags< 7770: # 155 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::RouteOptimizations 7770: # 155 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type> operator|( 7770: # 155 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::RouteOptimizations 7770: # 155 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f1, 7770: # 155 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::RouteOptimizations 7770: # 155 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f2) noexcept { return QFlags< 7770: # 155 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::RouteOptimizations 7770: # 155 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type>(f1) | f2; } constexpr inline QFlags< 7770: # 155 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::RouteOptimizations 7770: # 155 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type> operator|( 7770: # 155 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::RouteOptimizations 7770: # 155 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f1, QFlags< 7770: # 155 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::RouteOptimizations 7770: # 155 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type> f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|( 7770: # 155 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::RouteOptimizations 7770: # 155 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 7770: constexpr inline QFlags< 7770: # 156 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::SegmentDetails 7770: # 156 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type> operator|( 7770: # 156 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::SegmentDetails 7770: # 156 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f1, 7770: # 156 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::SegmentDetails 7770: # 156 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f2) noexcept { return QFlags< 7770: # 156 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::SegmentDetails 7770: # 156 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type>(f1) | f2; } constexpr inline QFlags< 7770: # 156 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::SegmentDetails 7770: # 156 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type> operator|( 7770: # 156 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::SegmentDetails 7770: # 156 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f1, QFlags< 7770: # 156 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::SegmentDetails 7770: # 156 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type> f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|( 7770: # 156 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::SegmentDetails 7770: # 156 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 7770: constexpr inline QFlags< 7770: # 157 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::ManeuverDetails 7770: # 157 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type> operator|( 7770: # 157 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::ManeuverDetails 7770: # 157 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f1, 7770: # 157 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::ManeuverDetails 7770: # 157 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f2) noexcept { return QFlags< 7770: # 157 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::ManeuverDetails 7770: # 157 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type>(f1) | f2; } constexpr inline QFlags< 7770: # 157 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::ManeuverDetails 7770: # 157 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type> operator|( 7770: # 157 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::ManeuverDetails 7770: # 157 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f1, QFlags< 7770: # 157 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::ManeuverDetails 7770: # 157 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type> f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|( 7770: # 157 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 7770: QGeoRouteRequest::ManeuverDetails 7770: # 157 "../../include/QtLocation/../../src/location/maps/qgeorouterequest.h" 3 4 7770: ::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 7770: 7770: 7770: # 1 "../../include/QtLocation/qgeorouterequest.h" 2 7770: # 1 "../../include/QtLocation/QGeoRouteRequest" 2 7770: # 43 "maps/qgeoroutingmanager.h" 2 7770: # 1 "../../include/QtLocation/QGeoRouteReply" 1 7770: # 1 "../../include/QtLocation/qgeoroutereply.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 7770: # 1 "../../include/QtLocation/QGeoRoute" 1 7770: # 1 "../../include/QtLocation/qgeoroute.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/maps/qgeoroute.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/maps/qgeoroute.h" 7770: # 1 "../../include/QtPositioning/QGeoCoordinate" 1 7770: # 1 "../../include/QtPositioning/qgeocoordinate.h" 1 7770: # 1 "../../include/QtPositioning/QGeoCoordinate" 2 7770: # 41 "../../include/QtLocation/../../src/location/maps/qgeoroute.h" 2 7770: # 1 "../../include/QtLocation/QGeoRouteRequest" 1 7770: # 1 "../../include/QtLocation/qgeorouterequest.h" 1 7770: # 1 "../../include/QtLocation/QGeoRouteRequest" 2 7770: # 42 "../../include/QtLocation/../../src/location/maps/qgeoroute.h" 2 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QExplicitlySharedDataPointer" 1 3 4 7770: # 44 "../../include/QtLocation/../../src/location/maps/qgeoroute.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QList" 1 3 4 7770: # 45 "../../include/QtLocation/../../src/location/maps/qgeoroute.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QHash" 1 3 4 7770: # 46 "../../include/QtLocation/../../src/location/maps/qgeoroute.h" 2 7770: 7770: 7770: 7770: 7770: # 49 "../../include/QtLocation/../../src/location/maps/qgeoroute.h" 7770: class QGeoRectangle; 7770: class QGeoRouteSegment; 7770: 7770: class QGeoRoutePrivate; 7770: 7770: class 7770: # 54 "../../include/QtLocation/../../src/location/maps/qgeoroute.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 54 "../../include/QtLocation/../../src/location/maps/qgeoroute.h" 7770: QGeoRoute 7770: { 7770: public: 7770: QGeoRoute(); 7770: QGeoRoute(const QGeoRoute &other); 7770: ~QGeoRoute(); 7770: 7770: QGeoRoute &operator = (const QGeoRoute &other); 7770: 7770: bool operator == (const QGeoRoute &other) const; 7770: bool operator != (const QGeoRoute &other) const; 7770: 7770: void setRouteId(const QString &id); 7770: QString routeId() const; 7770: 7770: void setRequest(const QGeoRouteRequest &request); 7770: QGeoRouteRequest request() const; 7770: 7770: void setBounds(const QGeoRectangle &bounds); 7770: QGeoRectangle bounds() const; 7770: 7770: void setFirstRouteSegment(const QGeoRouteSegment &routeSegment); 7770: QGeoRouteSegment firstRouteSegment() const; 7770: 7770: void setTravelTime(int secs); 7770: int travelTime() const; 7770: 7770: void setDistance(qreal distance); 7770: qreal distance() const; 7770: 7770: void setTravelMode(QGeoRouteRequest::TravelMode mode); 7770: QGeoRouteRequest::TravelMode travelMode() const; 7770: 7770: void setPath(const QList &path); 7770: QList path() const; 7770: 7770: private: 7770: QExplicitlySharedDataPointer d_ptr; 7770: }; 7770: 7770: 7770: # 1 "../../include/QtLocation/qgeoroute.h" 2 7770: # 1 "../../include/QtLocation/QGeoRoute" 2 7770: # 41 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 2 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QList" 1 3 4 7770: # 43 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QObject" 1 3 4 7770: # 44 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 2 7770: 7770: 7770: 7770: class QGeoRouteRequest; 7770: class QGeoRouteReplyPrivate; 7770: 7770: class 7770: # 50 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 50 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 7770: QGeoRouteReply : public QObject 7770: { 7770: 7770: # 52 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 3 4 7770: public: 7770: # 52 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 7770: #pragma GCC diagnostic push 7770: # 52 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 7770: 7770: # 52 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 52 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 52 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 52 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 52 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 7770: #pragma GCC diagnostic pop 7770: # 52 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 7770: struct QPrivateSignal {}; 7770: 7770: # 53 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 7770: public: 7770: enum Error { 7770: NoError, 7770: EngineNotSetError, 7770: CommunicationError, 7770: ParseError, 7770: UnsupportedOptionError, 7770: UnknownError 7770: }; 7770: 7770: explicit QGeoRouteReply(Error error, const QString &errorString, QObject *parent = 7770: # 63 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 3 4 7770: nullptr 7770: # 63 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 7770: ); 7770: virtual ~QGeoRouteReply(); 7770: 7770: bool isFinished() const; 7770: Error error() const; 7770: QString errorString() const; 7770: 7770: QGeoRouteRequest request() const; 7770: QList routes() const; 7770: 7770: virtual void abort(); 7770: 7770: 7770: # 75 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 3 4 7770: public 7770: # 75 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 7770: : 7770: void finished(); 7770: void aborted(); 7770: void error(QGeoRouteReply::Error error, const QString &errorString = QString()); 7770: 7770: protected: 7770: explicit QGeoRouteReply(const QGeoRouteRequest &request, QObject *parent = 7770: # 81 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 3 4 7770: nullptr 7770: # 81 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 7770: ); 7770: 7770: void setError(Error error, const QString &errorString); 7770: void setFinished(bool finished); 7770: 7770: void setRoutes(const QList &routes); 7770: void addRoutes(const QList &routes); 7770: 7770: private: 7770: QGeoRouteReplyPrivate *d_ptr; 7770: QGeoRouteReply 7770: # 91 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 3 4 7770: (const 7770: # 91 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 7770: QGeoRouteReply 7770: # 91 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 3 4 7770: &) = delete; 7770: # 91 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 7770: QGeoRouteReply 7770: # 91 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 3 4 7770: &operator=(const 7770: # 91 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 7770: QGeoRouteReply 7770: # 91 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 3 4 7770: &) = delete; 7770: 7770: # 92 "../../include/QtLocation/../../src/location/maps/qgeoroutereply.h" 7770: }; 7770: 7770: 7770: # 1 "../../include/QtLocation/qgeoroutereply.h" 2 7770: # 1 "../../include/QtLocation/QGeoRouteReply" 2 7770: # 44 "maps/qgeoroutingmanager.h" 2 7770: 7770: 7770: 7770: class QGeoRoutingManagerEngine; 7770: class QGeoRoutingManagerPrivate; 7770: 7770: class 7770: # 50 "maps/qgeoroutingmanager.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 50 "maps/qgeoroutingmanager.h" 7770: QGeoRoutingManager : public QObject 7770: { 7770: 7770: # 52 "maps/qgeoroutingmanager.h" 3 4 7770: public: 7770: # 52 "maps/qgeoroutingmanager.h" 7770: #pragma GCC diagnostic push 7770: # 52 "maps/qgeoroutingmanager.h" 7770: 7770: # 52 "maps/qgeoroutingmanager.h" 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 52 "maps/qgeoroutingmanager.h" 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 52 "maps/qgeoroutingmanager.h" 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 52 "maps/qgeoroutingmanager.h" 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 52 "maps/qgeoroutingmanager.h" 7770: #pragma GCC diagnostic pop 7770: # 52 "maps/qgeoroutingmanager.h" 7770: struct QPrivateSignal {}; 7770: 7770: 7770: # 54 "maps/qgeoroutingmanager.h" 7770: public: 7770: ~QGeoRoutingManager(); 7770: 7770: QString managerName() const; 7770: int managerVersion() const; 7770: 7770: QGeoRouteReply *calculateRoute(const QGeoRouteRequest &request); 7770: QGeoRouteReply *updateRoute(const QGeoRoute &route, const QGeoCoordinate &position); 7770: 7770: QGeoRouteRequest::TravelModes supportedTravelModes() const; 7770: QGeoRouteRequest::FeatureTypes supportedFeatureTypes() const; 7770: QGeoRouteRequest::FeatureWeights supportedFeatureWeights() const; 7770: QGeoRouteRequest::RouteOptimizations supportedRouteOptimizations() const; 7770: QGeoRouteRequest::SegmentDetails supportedSegmentDetails() const; 7770: QGeoRouteRequest::ManeuverDetails supportedManeuverDetails() const; 7770: 7770: void setLocale(const QLocale &locale); 7770: QLocale locale() const; 7770: void setMeasurementSystem(QLocale::MeasurementSystem system); 7770: QLocale::MeasurementSystem measurementSystem() const; 7770: 7770: 7770: # 75 "maps/qgeoroutingmanager.h" 3 4 7770: public 7770: # 75 "maps/qgeoroutingmanager.h" 7770: : 7770: void finished(QGeoRouteReply *reply); 7770: void error(QGeoRouteReply *reply, QGeoRouteReply::Error error, QString errorString = QString()); 7770: 7770: private: 7770: explicit QGeoRoutingManager(QGeoRoutingManagerEngine *engine, QObject *parent = 7770: # 80 "maps/qgeoroutingmanager.h" 3 4 7770: nullptr 7770: # 80 "maps/qgeoroutingmanager.h" 7770: ); 7770: 7770: QGeoRoutingManagerPrivate *d_ptr; 7770: QGeoRoutingManager 7770: # 83 "maps/qgeoroutingmanager.h" 3 4 7770: (const 7770: # 83 "maps/qgeoroutingmanager.h" 7770: QGeoRoutingManager 7770: # 83 "maps/qgeoroutingmanager.h" 3 4 7770: &) = delete; 7770: # 83 "maps/qgeoroutingmanager.h" 7770: QGeoRoutingManager 7770: # 83 "maps/qgeoroutingmanager.h" 3 4 7770: &operator=(const 7770: # 83 "maps/qgeoroutingmanager.h" 7770: QGeoRoutingManager 7770: # 83 "maps/qgeoroutingmanager.h" 3 4 7770: &) = delete; 7770: 7770: 7770: # 85 "maps/qgeoroutingmanager.h" 7770: friend class QGeoServiceProvider; 7770: friend class QGeoServiceProviderPrivate; 7770: }; 7770: 7770: 7770: # 44 "maps/qgeoserviceprovider.cpp" 2 7770: # 1 "places/qplacemanager.h" 1 7770: # 40 "places/qplacemanager.h" 7770: # 1 "../../include/QtLocation/QPlaceContentReply" 1 7770: # 1 "../../include/QtLocation/qplacecontentreply.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 7770: # 1 "../../include/QtLocation/QPlaceReply" 1 7770: # 1 "../../include/QtLocation/qplacereply.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/places/qplacereply.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QMetaType" 1 3 4 7770: # 41 "../../include/QtLocation/../../src/location/places/qplacereply.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QObject" 1 3 4 7770: # 42 "../../include/QtLocation/../../src/location/places/qplacereply.h" 2 7770: # 1 "../../include/QtLocation/qlocationglobal.h" 1 7770: # 43 "../../include/QtLocation/../../src/location/places/qplacereply.h" 2 7770: 7770: 7770: 7770: class QPlaceReplyPrivate; 7770: class 7770: # 47 "../../include/QtLocation/../../src/location/places/qplacereply.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 47 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: QPlaceReply : public QObject 7770: { 7770: 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacereply.h" 3 4 7770: public: 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: #pragma GCC diagnostic push 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: #pragma GCC diagnostic pop 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: struct QPrivateSignal {}; 7770: 7770: # 50 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: public: 7770: enum Error { 7770: NoError, 7770: PlaceDoesNotExistError, 7770: CategoryDoesNotExistError, 7770: CommunicationError, 7770: ParseError, 7770: PermissionsError, 7770: UnsupportedError, 7770: BadArgumentError, 7770: CancelError, 7770: UnknownError 7770: }; 7770: 7770: enum Type { 7770: Reply, 7770: DetailsReply, 7770: SearchReply, 7770: SearchSuggestionReply, 7770: ContentReply, 7770: IdReply, 7770: MatchReply 7770: }; 7770: 7770: explicit QPlaceReply(QObject *parent = 7770: # 74 "../../include/QtLocation/../../src/location/places/qplacereply.h" 3 4 7770: nullptr 7770: # 74 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: ); 7770: ~QPlaceReply(); 7770: 7770: bool isFinished() const; 7770: 7770: virtual Type type() const; 7770: 7770: QString errorString() const; 7770: QPlaceReply::Error error() const; 7770: 7770: public : 7770: virtual void abort(); 7770: 7770: 7770: # 87 "../../include/QtLocation/../../src/location/places/qplacereply.h" 3 4 7770: public 7770: # 87 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: : 7770: void finished(); 7770: void aborted(); 7770: void error(QPlaceReply::Error error, const QString &errorString = QString()); 7770: 7770: protected: 7770: explicit QPlaceReply(QPlaceReplyPrivate *, QObject *parent = 7770: # 93 "../../include/QtLocation/../../src/location/places/qplacereply.h" 3 4 7770: nullptr 7770: # 93 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: ); 7770: void setFinished(bool finished); 7770: void setError(QPlaceReply::Error error, const QString &errorString); 7770: QPlaceReplyPrivate *d_ptr; 7770: 7770: private: 7770: QPlaceReply 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacereply.h" 3 4 7770: (const 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: QPlaceReply 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacereply.h" 3 4 7770: &) = delete; 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: QPlaceReply 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacereply.h" 3 4 7770: &operator=(const 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: QPlaceReply 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacereply.h" 3 4 7770: &) = delete; 7770: 7770: # 100 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: }; 7770: 7770: 7770: 7770: 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacereply.h" 3 4 7770: template <> struct QMetaTypeId< 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: QPlaceReply::Error 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacereply.h" 3 4 7770: > { 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< 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: QPlaceReply::Error 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacereply.h" 3 4 7770: >( 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: "QPlaceReply::Error" 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacereply.h" 3 4 7770: , reinterpret_cast< 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: QPlaceReply::Error 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacereply.h" 3 4 7770: *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 7770: template <> struct QMetaTypeId< 7770: # 105 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: QPlaceReply * 7770: # 105 "../../include/QtLocation/../../src/location/places/qplacereply.h" 3 4 7770: > { 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< 7770: # 105 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: QPlaceReply * 7770: # 105 "../../include/QtLocation/../../src/location/places/qplacereply.h" 3 4 7770: >( 7770: # 105 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: "QPlaceReply *" 7770: # 105 "../../include/QtLocation/../../src/location/places/qplacereply.h" 3 4 7770: , reinterpret_cast< 7770: # 105 "../../include/QtLocation/../../src/location/places/qplacereply.h" 7770: QPlaceReply * 7770: # 105 "../../include/QtLocation/../../src/location/places/qplacereply.h" 3 4 7770: *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 7770: # 1 "../../include/QtLocation/qplacereply.h" 2 7770: # 1 "../../include/QtLocation/QPlaceReply" 2 7770: # 41 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 2 7770: # 1 "../../include/QtLocation/QPlaceContent" 1 7770: # 1 "../../include/QtLocation/qplacecontent.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 1 7770: # 39 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 7770: # 1 "../../include/QtLocation/qlocationglobal.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 2 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QMap" 1 3 4 7770: # 42 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QMetaType" 1 3 4 7770: # 43 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSharedDataPointer" 1 3 4 7770: # 44 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 2 7770: 7770: 7770: # 55 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 7770: 7770: # 55 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 7770: class QPlaceUser; 7770: class QPlaceSupplier; 7770: class QPlaceContentPrivate; 7770: class 7770: # 58 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 58 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 7770: QPlaceContent 7770: { 7770: public: 7770: typedef QMap Collection; 7770: 7770: enum Type { 7770: NoType = 0, 7770: ImageType, 7770: ReviewType, 7770: EditorialType 7770: }; 7770: 7770: QPlaceContent(); 7770: QPlaceContent(const QPlaceContent &other); 7770: virtual ~QPlaceContent(); 7770: 7770: QPlaceContent &operator=(const QPlaceContent &other); 7770: 7770: bool operator==(const QPlaceContent &other) const; 7770: bool operator!=(const QPlaceContent &other) const; 7770: 7770: QPlaceContent::Type type() const; 7770: 7770: QPlaceSupplier supplier() const; 7770: void setSupplier(const QPlaceSupplier &supplier); 7770: 7770: QPlaceUser user() const; 7770: void setUser(const QPlaceUser &user); 7770: 7770: QString attribution() const; 7770: void setAttribution(const QString &attribution); 7770: 7770: protected: 7770: explicit QPlaceContent(QPlaceContentPrivate *d); 7770: QSharedDataPointer d_ptr; 7770: 7770: private: 7770: inline QPlaceContentPrivate *d_func(); 7770: inline const QPlaceContentPrivate *d_func() const; 7770: 7770: friend class QPlaceContentPrivate; 7770: }; 7770: 7770: 7770: 7770: 7770: # 103 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 3 4 7770: template <> struct QMetaTypeId< 7770: # 103 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 7770: QPlaceContent 7770: # 103 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 3 4 7770: > { 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< 7770: # 103 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 7770: QPlaceContent 7770: # 103 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 3 4 7770: >( 7770: # 103 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 7770: "QPlaceContent" 7770: # 103 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 3 4 7770: , reinterpret_cast< 7770: # 103 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 7770: QPlaceContent 7770: # 103 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 3 4 7770: *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 7770: template <> struct QMetaTypeId< 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 7770: QPlaceContent::Type 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 3 4 7770: > { 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< 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 7770: QPlaceContent::Type 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 3 4 7770: >( 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 7770: "QPlaceContent::Type" 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 3 4 7770: , reinterpret_cast< 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 7770: QPlaceContent::Type 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacecontent.h" 3 4 7770: *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 7770: # 1 "../../include/QtLocation/qplacecontent.h" 2 7770: # 1 "../../include/QtLocation/QPlaceContent" 2 7770: # 42 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 2 7770: # 1 "../../include/QtLocation/QPlaceContentRequest" 1 7770: # 1 "../../include/QtLocation/qplacecontentrequest.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/places/qplacecontentrequest.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/places/qplacecontentrequest.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSharedDataPointer" 1 3 4 7770: # 41 "../../include/QtLocation/../../src/location/places/qplacecontentrequest.h" 2 7770: 7770: # 1 "../../include/QtLocation/QPlaceContent" 1 7770: # 1 "../../include/QtLocation/qplacecontent.h" 1 7770: # 1 "../../include/QtLocation/QPlaceContent" 2 7770: # 43 "../../include/QtLocation/../../src/location/places/qplacecontentrequest.h" 2 7770: 7770: 7770: 7770: 7770: # 46 "../../include/QtLocation/../../src/location/places/qplacecontentrequest.h" 7770: class QPlaceContentRequestPrivate; 7770: 7770: class 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacecontentrequest.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacecontentrequest.h" 7770: QPlaceContentRequest 7770: { 7770: public: 7770: QPlaceContentRequest(); 7770: QPlaceContentRequest(const QPlaceContentRequest &other); 7770: ~QPlaceContentRequest(); 7770: 7770: QPlaceContentRequest &operator=(const QPlaceContentRequest &other); 7770: 7770: bool operator==(const QPlaceContentRequest &other) const; 7770: bool operator!=(const QPlaceContentRequest &other) const; 7770: 7770: QPlaceContent::Type contentType() const; 7770: void setContentType(QPlaceContent::Type type); 7770: 7770: QString placeId() const; 7770: void setPlaceId(const QString &identifier); 7770: 7770: QVariant contentContext() const; 7770: void setContentContext(const QVariant &context); 7770: 7770: int limit() const; 7770: void setLimit(int limit); 7770: 7770: void clear(); 7770: 7770: private: 7770: QSharedDataPointer d_ptr; 7770: inline QPlaceContentRequestPrivate *d_func(); 7770: inline const QPlaceContentRequestPrivate *d_func() const; 7770: }; 7770: 7770: 7770: # 1 "../../include/QtLocation/qplacecontentrequest.h" 2 7770: # 1 "../../include/QtLocation/QPlaceContentRequest" 2 7770: # 43 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 2 7770: 7770: 7770: 7770: class QPlaceContentReplyPrivate; 7770: class 7770: # 47 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 47 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 7770: QPlaceContentReply : public QPlaceReply 7770: { 7770: 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 3 4 7770: public: 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 7770: #pragma GCC diagnostic push 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 7770: 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 7770: #pragma GCC diagnostic pop 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 7770: struct QPrivateSignal {}; 7770: 7770: 7770: # 51 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 7770: public: 7770: explicit QPlaceContentReply(QObject *parent = 7770: # 52 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 3 4 7770: nullptr 7770: # 52 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 7770: ); 7770: virtual ~QPlaceContentReply(); 7770: 7770: QPlaceReply::Type type() const; 7770: 7770: QPlaceContent::Collection content() const; 7770: 7770: int totalCount() const; 7770: 7770: QPlaceContentRequest request() const; 7770: 7770: QPlaceContentRequest previousPageRequest() const; 7770: QPlaceContentRequest nextPageRequest() const; 7770: 7770: protected: 7770: void setContent(const QPlaceContent::Collection &content); 7770: void setTotalCount(int total); 7770: void setRequest(const QPlaceContentRequest &request); 7770: void setPreviousPageRequest(const QPlaceContentRequest &previous); 7770: void setNextPageRequest(const QPlaceContentRequest &next); 7770: 7770: private: 7770: QPlaceContentReply 7770: # 74 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 3 4 7770: (const 7770: # 74 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 7770: QPlaceContentReply 7770: # 74 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 3 4 7770: &) = delete; 7770: # 74 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 7770: QPlaceContentReply 7770: # 74 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 3 4 7770: &operator=(const 7770: # 74 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 7770: QPlaceContentReply 7770: # 74 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 3 4 7770: &) = delete; 7770: inline 7770: # 75 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 7770: QPlaceContentReplyPrivate 7770: # 75 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 3 4 7770: * d_func() { return reinterpret_cast< 7770: # 75 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 7770: QPlaceContentReplyPrivate 7770: # 75 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 3 4 7770: *>(qGetPtrHelper(d_ptr)); } inline const 7770: # 75 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 7770: QPlaceContentReplyPrivate 7770: # 75 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 3 4 7770: * d_func() const { return reinterpret_cast(qGetPtrHelper(d_ptr)); } friend class 7770: # 75 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 7770: QPlaceContentReplyPrivate 7770: # 75 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 3 4 7770: ; 7770: 7770: # 76 "../../include/QtLocation/../../src/location/places/qplacecontentreply.h" 7770: }; 7770: 7770: 7770: # 1 "../../include/QtLocation/qplacecontentreply.h" 2 7770: # 1 "../../include/QtLocation/QPlaceContentReply" 2 7770: # 41 "places/qplacemanager.h" 2 7770: # 1 "../../include/QtLocation/QPlaceContentRequest" 1 7770: # 1 "../../include/QtLocation/qplacecontentrequest.h" 1 7770: # 1 "../../include/QtLocation/QPlaceContentRequest" 2 7770: # 42 "places/qplacemanager.h" 2 7770: # 1 "../../include/QtLocation/QPlaceIdReply" 1 7770: # 1 "../../include/QtLocation/qplaceidreply.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: # 1 "../../include/QtLocation/QPlaceReply" 1 7770: # 1 "../../include/QtLocation/qplacereply.h" 1 7770: # 1 "../../include/QtLocation/QPlaceReply" 2 7770: # 41 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 2 7770: # 1 "../../include/QtLocation/QPlace" 1 7770: # 1 "../../include/QtLocation/qplace.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/places/qplace.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/places/qplace.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSharedDataPointer" 1 3 4 7770: # 41 "../../include/QtLocation/../../src/location/places/qplace.h" 2 7770: # 1 "../../include/QtPositioning/QGeoAddress" 1 7770: # 1 "../../include/QtPositioning/qgeoaddress.h" 1 7770: # 1 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 1 7770: # 43 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QMetaType" 1 3 4 7770: # 44 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSharedDataPointer" 1 3 4 7770: # 45 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 2 7770: # 1 "../../include/QtPositioning/qpositioningglobal.h" 1 7770: # 46 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 2 7770: 7770: 7770: 7770: class QString; 7770: class QGeoAddressPrivate; 7770: class 7770: # 51 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 51 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 7770: QGeoAddress 7770: { 7770: public: 7770: QGeoAddress(); 7770: QGeoAddress(const QGeoAddress &other); 7770: ~QGeoAddress(); 7770: 7770: QGeoAddress &operator=(const QGeoAddress &other); 7770: bool operator==(const QGeoAddress &other) const; 7770: bool operator!=(const QGeoAddress &other) const { 7770: return !(other == *this); 7770: } 7770: 7770: QString text() const; 7770: void setText(const QString &text); 7770: 7770: QString country() const; 7770: void setCountry(const QString &country); 7770: 7770: QString countryCode() const; 7770: void setCountryCode(const QString &countryCode); 7770: 7770: QString state() const; 7770: void setState(const QString &state); 7770: 7770: QString county() const; 7770: void setCounty(const QString &county); 7770: 7770: QString city() const; 7770: void setCity(const QString &city); 7770: 7770: QString district() const; 7770: void setDistrict(const QString &district); 7770: 7770: QString postalCode() const; 7770: void setPostalCode(const QString &postalCode); 7770: 7770: QString street() const; 7770: void setStreet(const QString &street); 7770: 7770: bool isEmpty() const; 7770: void clear(); 7770: 7770: bool isTextGenerated() const; 7770: 7770: private: 7770: QSharedDataPointer d; 7770: }; 7770: 7770: 7770: # 100 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 3 4 7770: template<> class QTypeInfo< 7770: # 100 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 7770: QGeoAddress 7770: # 100 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 3 4 7770: > { public: enum { isSpecialized = true, isComplex = ((( 7770: # 100 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 7770: Q_MOVABLE_TYPE 7770: # 100 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 3 4 7770: ) & Q_PRIMITIVE_TYPE) == 0), isStatic = ((( 7770: # 100 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 7770: Q_MOVABLE_TYPE 7770: # 100 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 3 4 7770: ) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || (( 7770: # 100 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 7770: Q_MOVABLE_TYPE 7770: # 100 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 3 4 7770: ) & Q_RELOCATABLE_TYPE), isLarge = (sizeof( 7770: # 100 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 7770: QGeoAddress 7770: # 100 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 3 4 7770: )>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< 7770: # 100 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 7770: QGeoAddress 7770: # 100 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 3 4 7770: >::value, isDummy = ((( 7770: # 100 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 7770: Q_MOVABLE_TYPE 7770: # 100 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 3 4 7770: ) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof( 7770: # 100 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 7770: QGeoAddress 7770: # 100 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 3 4 7770: ) }; static inline const char *name() { return 7770: # 100 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 7770: "QGeoAddress" 7770: # 100 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 3 4 7770: ; } } 7770: # 100 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 7770: ; 7770: 7770: 7770: 7770: 7770: # 104 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 3 4 7770: template <> struct QMetaTypeId< 7770: # 104 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 7770: QGeoAddress 7770: # 104 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 3 4 7770: > { 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< 7770: # 104 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 7770: QGeoAddress 7770: # 104 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 3 4 7770: >( 7770: # 104 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 7770: "QGeoAddress" 7770: # 104 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 3 4 7770: , reinterpret_cast< 7770: # 104 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 7770: QGeoAddress 7770: # 104 "../../include/QtPositioning/../../src/positioning/qgeoaddress.h" 3 4 7770: *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 7770: # 1 "../../include/QtPositioning/qgeoaddress.h" 2 7770: # 1 "../../include/QtPositioning/QGeoAddress" 2 7770: # 42 "../../include/QtLocation/../../src/location/places/qplace.h" 2 7770: # 1 "../../include/QtPositioning/QGeoRectangle" 1 7770: # 1 "../../include/QtPositioning/qgeorectangle.h" 1 7770: # 1 "../../include/QtPositioning/QGeoRectangle" 2 7770: # 43 "../../include/QtLocation/../../src/location/places/qplace.h" 2 7770: # 1 "../../include/QtPositioning/QGeoCoordinate" 1 7770: # 1 "../../include/QtPositioning/qgeocoordinate.h" 1 7770: # 1 "../../include/QtPositioning/QGeoCoordinate" 2 7770: # 44 "../../include/QtLocation/../../src/location/places/qplace.h" 2 7770: # 1 "../../include/QtPositioning/QGeoLocation" 1 7770: # 1 "../../include/QtPositioning/qgeolocation.h" 1 7770: # 1 "../../include/QtPositioning/QGeoLocation" 2 7770: # 45 "../../include/QtLocation/../../src/location/places/qplace.h" 2 7770: # 1 "../../include/QtLocation/QPlaceCategory" 1 7770: # 1 "../../include/QtLocation/qplacecategory.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 7770: # 1 "../../include/QtLocation/qlocationglobal.h" 1 7770: # 41 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 2 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSharedDataPointer" 1 3 4 7770: # 43 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QString" 1 3 4 7770: # 44 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QMetaType" 1 3 4 7770: # 45 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 2 7770: # 1 "../../include/QtLocation/QLocation" 1 7770: # 1 "../../include/QtLocation/qlocation.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/qlocation.h" 1 7770: # 44 "../../include/QtLocation/../../src/location/qlocation.h" 7770: # 1 "../../include/QtLocation/qlocationglobal.h" 1 7770: # 45 "../../include/QtLocation/../../src/location/qlocation.h" 2 7770: 7770: 7770: 7770: 7770: # 48 "../../include/QtLocation/../../src/location/qlocation.h" 7770: namespace QLocation { 7770: 7770: enum Visibility { 7770: UnspecifiedVisibility = 0x00, 7770: DeviceVisibility = 0x01, 7770: PrivateVisibility = 0x02, 7770: PublicVisibility = 0x04 7770: }; 7770: 7770: 7770: # 57 "../../include/QtLocation/../../src/location/qlocation.h" 3 4 7770: typedef QFlags< 7770: # 57 "../../include/QtLocation/../../src/location/qlocation.h" 7770: Visibility 7770: # 57 "../../include/QtLocation/../../src/location/qlocation.h" 3 4 7770: > 7770: # 57 "../../include/QtLocation/../../src/location/qlocation.h" 7770: VisibilityScope 7770: # 57 "../../include/QtLocation/../../src/location/qlocation.h" 3 4 7770: ; 7770: 7770: 7770: # 59 "../../include/QtLocation/../../src/location/qlocation.h" 7770: } 7770: 7770: 7770: # 61 "../../include/QtLocation/../../src/location/qlocation.h" 3 4 7770: constexpr inline QFlags< 7770: # 61 "../../include/QtLocation/../../src/location/qlocation.h" 7770: QLocation::VisibilityScope 7770: # 61 "../../include/QtLocation/../../src/location/qlocation.h" 3 4 7770: ::enum_type> operator|( 7770: # 61 "../../include/QtLocation/../../src/location/qlocation.h" 7770: QLocation::VisibilityScope 7770: # 61 "../../include/QtLocation/../../src/location/qlocation.h" 3 4 7770: ::enum_type f1, 7770: # 61 "../../include/QtLocation/../../src/location/qlocation.h" 7770: QLocation::VisibilityScope 7770: # 61 "../../include/QtLocation/../../src/location/qlocation.h" 3 4 7770: ::enum_type f2) noexcept { return QFlags< 7770: # 61 "../../include/QtLocation/../../src/location/qlocation.h" 7770: QLocation::VisibilityScope 7770: # 61 "../../include/QtLocation/../../src/location/qlocation.h" 3 4 7770: ::enum_type>(f1) | f2; } constexpr inline QFlags< 7770: # 61 "../../include/QtLocation/../../src/location/qlocation.h" 7770: QLocation::VisibilityScope 7770: # 61 "../../include/QtLocation/../../src/location/qlocation.h" 3 4 7770: ::enum_type> operator|( 7770: # 61 "../../include/QtLocation/../../src/location/qlocation.h" 7770: QLocation::VisibilityScope 7770: # 61 "../../include/QtLocation/../../src/location/qlocation.h" 3 4 7770: ::enum_type f1, QFlags< 7770: # 61 "../../include/QtLocation/../../src/location/qlocation.h" 7770: QLocation::VisibilityScope 7770: # 61 "../../include/QtLocation/../../src/location/qlocation.h" 3 4 7770: ::enum_type> f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|( 7770: # 61 "../../include/QtLocation/../../src/location/qlocation.h" 7770: QLocation::VisibilityScope 7770: # 61 "../../include/QtLocation/../../src/location/qlocation.h" 3 4 7770: ::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 7770: 7770: 7770: # 1 "../../include/QtLocation/qlocation.h" 2 7770: # 1 "../../include/QtLocation/QLocation" 2 7770: # 46 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 2 7770: 7770: 7770: 7770: 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 7770: class QPlaceIcon; 7770: 7770: class QPlaceCategoryPrivate; 7770: class 7770: # 52 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 52 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 7770: QPlaceCategory 7770: { 7770: public: 7770: QPlaceCategory(); 7770: QPlaceCategory(const QPlaceCategory &other); 7770: 7770: virtual ~QPlaceCategory(); 7770: 7770: QPlaceCategory &operator=(const QPlaceCategory &other); 7770: 7770: bool operator==(const QPlaceCategory &other) const; 7770: bool operator!=(const QPlaceCategory &other) const { 7770: return !(other == *this); 7770: } 7770: 7770: QString categoryId() const; 7770: void setCategoryId(const QString &identifier); 7770: 7770: QString name() const; 7770: void setName(const QString &name); 7770: 7770: QLocation::Visibility visibility() const; 7770: void setVisibility(QLocation::Visibility visibility); 7770: 7770: QPlaceIcon icon() const; 7770: void setIcon(const QPlaceIcon &icon); 7770: 7770: bool isEmpty() const; 7770: 7770: private: 7770: QSharedDataPointer d; 7770: }; 7770: 7770: 7770: # 85 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 3 4 7770: template<> class QTypeInfo< 7770: # 85 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 7770: QPlaceCategory 7770: # 85 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 3 4 7770: > { public: enum { isSpecialized = true, isComplex = ((( 7770: # 85 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 7770: Q_MOVABLE_TYPE 7770: # 85 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 3 4 7770: ) & Q_PRIMITIVE_TYPE) == 0), isStatic = ((( 7770: # 85 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 7770: Q_MOVABLE_TYPE 7770: # 85 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 3 4 7770: ) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || (( 7770: # 85 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 7770: Q_MOVABLE_TYPE 7770: # 85 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 3 4 7770: ) & Q_RELOCATABLE_TYPE), isLarge = (sizeof( 7770: # 85 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 7770: QPlaceCategory 7770: # 85 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 3 4 7770: )>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< 7770: # 85 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 7770: QPlaceCategory 7770: # 85 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 3 4 7770: >::value, isDummy = ((( 7770: # 85 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 7770: Q_MOVABLE_TYPE 7770: # 85 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 3 4 7770: ) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof( 7770: # 85 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 7770: QPlaceCategory 7770: # 85 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 3 4 7770: ) }; static inline const char *name() { return 7770: # 85 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 7770: "QPlaceCategory" 7770: # 85 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 3 4 7770: ; } } 7770: # 85 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 7770: ; 7770: 7770: 7770: 7770: 7770: # 89 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 3 4 7770: template <> struct QMetaTypeId< 7770: # 89 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 7770: QPlaceCategory 7770: # 89 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 3 4 7770: > { 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< 7770: # 89 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 7770: QPlaceCategory 7770: # 89 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 3 4 7770: >( 7770: # 89 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 7770: "QPlaceCategory" 7770: # 89 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 3 4 7770: , reinterpret_cast< 7770: # 89 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 7770: QPlaceCategory 7770: # 89 "../../include/QtLocation/../../src/location/places/qplacecategory.h" 3 4 7770: *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 7770: # 1 "../../include/QtLocation/qplacecategory.h" 2 7770: # 1 "../../include/QtLocation/QPlaceCategory" 2 7770: # 46 "../../include/QtLocation/../../src/location/places/qplace.h" 2 7770: # 1 "../../include/QtLocation/QPlaceContent" 1 7770: # 1 "../../include/QtLocation/qplacecontent.h" 1 7770: # 1 "../../include/QtLocation/QPlaceContent" 2 7770: # 47 "../../include/QtLocation/../../src/location/places/qplace.h" 2 7770: # 1 "../../include/QtLocation/QPlaceRatings" 1 7770: # 1 "../../include/QtLocation/qplaceratings.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/places/qplaceratings.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/places/qplaceratings.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QMetaType" 1 3 4 7770: # 41 "../../include/QtLocation/../../src/location/places/qplaceratings.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSharedDataPointer" 1 3 4 7770: # 42 "../../include/QtLocation/../../src/location/places/qplaceratings.h" 2 7770: # 1 "../../include/QtLocation/qlocationglobal.h" 1 7770: # 43 "../../include/QtLocation/../../src/location/places/qplaceratings.h" 2 7770: 7770: 7770: 7770: 7770: # 46 "../../include/QtLocation/../../src/location/places/qplaceratings.h" 7770: class QPlaceRatingsPrivate; 7770: 7770: class 7770: # 48 "../../include/QtLocation/../../src/location/places/qplaceratings.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 48 "../../include/QtLocation/../../src/location/places/qplaceratings.h" 7770: QPlaceRatings 7770: { 7770: public: 7770: QPlaceRatings(); 7770: QPlaceRatings(const QPlaceRatings &other); 7770: 7770: ~QPlaceRatings(); 7770: 7770: QPlaceRatings &operator=(const QPlaceRatings &other); 7770: 7770: bool operator==(const QPlaceRatings &other) const; 7770: bool operator!=(const QPlaceRatings &other) const { 7770: return !(other == *this); 7770: } 7770: 7770: qreal average() const; 7770: void setAverage(qreal average); 7770: 7770: int count() const; 7770: void setCount(int count); 7770: 7770: qreal maximum() const; 7770: void setMaximum(qreal max); 7770: 7770: bool isEmpty() const; 7770: 7770: private: 7770: QSharedDataPointer d; 7770: }; 7770: 7770: 7770: 7770: 7770: # 80 "../../include/QtLocation/../../src/location/places/qplaceratings.h" 3 4 7770: template <> struct QMetaTypeId< 7770: # 80 "../../include/QtLocation/../../src/location/places/qplaceratings.h" 7770: QPlaceRatings 7770: # 80 "../../include/QtLocation/../../src/location/places/qplaceratings.h" 3 4 7770: > { 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< 7770: # 80 "../../include/QtLocation/../../src/location/places/qplaceratings.h" 7770: QPlaceRatings 7770: # 80 "../../include/QtLocation/../../src/location/places/qplaceratings.h" 3 4 7770: >( 7770: # 80 "../../include/QtLocation/../../src/location/places/qplaceratings.h" 7770: "QPlaceRatings" 7770: # 80 "../../include/QtLocation/../../src/location/places/qplaceratings.h" 3 4 7770: , reinterpret_cast< 7770: # 80 "../../include/QtLocation/../../src/location/places/qplaceratings.h" 7770: QPlaceRatings 7770: # 80 "../../include/QtLocation/../../src/location/places/qplaceratings.h" 3 4 7770: *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 7770: # 1 "../../include/QtLocation/qplaceratings.h" 2 7770: # 1 "../../include/QtLocation/QPlaceRatings" 2 7770: # 48 "../../include/QtLocation/../../src/location/places/qplace.h" 2 7770: # 1 "../../include/QtLocation/QPlaceReview" 1 7770: # 1 "../../include/QtLocation/qplacereview.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/places/qplacereview.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/places/qplacereview.h" 7770: # 1 "../../include/QtLocation/QPlaceContent" 1 7770: # 1 "../../include/QtLocation/qplacecontent.h" 1 7770: # 1 "../../include/QtLocation/QPlaceContent" 2 7770: # 41 "../../include/QtLocation/../../src/location/places/qplacereview.h" 2 7770: 7770: 7770: 7770: 7770: # 44 "../../include/QtLocation/../../src/location/places/qplacereview.h" 7770: class QDateTime; 7770: class QPlaceReviewPrivate; 7770: 7770: class 7770: # 47 "../../include/QtLocation/../../src/location/places/qplacereview.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 47 "../../include/QtLocation/../../src/location/places/qplacereview.h" 7770: QPlaceReview : public QPlaceContent 7770: { 7770: public: 7770: QPlaceReview(); 7770: 7770: 7770: 7770: QPlaceReview(const QPlaceContent &other); 7770: 7770: virtual ~QPlaceReview(); 7770: 7770: QDateTime dateTime() const; 7770: void setDateTime(const QDateTime &dt); 7770: QString text() const; 7770: void setText(const QString &text); 7770: QString language() const; 7770: void setLanguage(const QString &data); 7770: 7770: qreal rating() const; 7770: void setRating(qreal data); 7770: QString reviewId() const; 7770: void setReviewId(const QString &identifier); 7770: QString title() const; 7770: void setTitle(const QString &data); 7770: 7770: private: 7770: inline QPlaceReviewPrivate *d_func(); inline const QPlaceReviewPrivate *d_func() const; friend class QPlaceReviewPrivate; 7770: }; 7770: 7770: 7770: # 1 "../../include/QtLocation/qplacereview.h" 2 7770: # 1 "../../include/QtLocation/QPlaceReview" 2 7770: # 49 "../../include/QtLocation/../../src/location/places/qplace.h" 2 7770: # 1 "../../include/QtLocation/QPlaceAttribute" 1 7770: # 1 "../../include/QtLocation/qplaceattribute.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/places/qplaceattribute.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/places/qplaceattribute.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QString" 1 3 4 7770: # 41 "../../include/QtLocation/../../src/location/places/qplaceattribute.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QVariant" 1 3 4 7770: # 42 "../../include/QtLocation/../../src/location/places/qplaceattribute.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSharedDataPointer" 1 3 4 7770: # 43 "../../include/QtLocation/../../src/location/places/qplaceattribute.h" 2 7770: 7770: # 1 "../../include/QtLocation/qlocationglobal.h" 1 7770: # 45 "../../include/QtLocation/../../src/location/places/qplaceattribute.h" 2 7770: 7770: 7770: 7770: class QPlaceAttributePrivate; 7770: class 7770: # 49 "../../include/QtLocation/../../src/location/places/qplaceattribute.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 49 "../../include/QtLocation/../../src/location/places/qplaceattribute.h" 7770: QPlaceAttribute 7770: { 7770: public: 7770: static const QString OpeningHours; 7770: static const QString Payment; 7770: static const QString Provider; 7770: 7770: QPlaceAttribute(); 7770: QPlaceAttribute(const QPlaceAttribute &other); 7770: virtual ~QPlaceAttribute(); 7770: 7770: QPlaceAttribute &operator=(const QPlaceAttribute &other); 7770: 7770: bool operator==(const QPlaceAttribute &other) const; 7770: bool operator!=(const QPlaceAttribute &other) const; 7770: 7770: QString label() const; 7770: void setLabel(const QString &label); 7770: 7770: QString text() const; 7770: void setText(const QString &text); 7770: 7770: bool isEmpty() const; 7770: 7770: protected: 7770: QSharedDataPointer d_ptr; 7770: }; 7770: 7770: 7770: 7770: 7770: # 79 "../../include/QtLocation/../../src/location/places/qplaceattribute.h" 3 4 7770: template <> struct QMetaTypeId< 7770: # 79 "../../include/QtLocation/../../src/location/places/qplaceattribute.h" 7770: QPlaceAttribute 7770: # 79 "../../include/QtLocation/../../src/location/places/qplaceattribute.h" 3 4 7770: > { 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< 7770: # 79 "../../include/QtLocation/../../src/location/places/qplaceattribute.h" 7770: QPlaceAttribute 7770: # 79 "../../include/QtLocation/../../src/location/places/qplaceattribute.h" 3 4 7770: >( 7770: # 79 "../../include/QtLocation/../../src/location/places/qplaceattribute.h" 7770: "QPlaceAttribute" 7770: # 79 "../../include/QtLocation/../../src/location/places/qplaceattribute.h" 3 4 7770: , reinterpret_cast< 7770: # 79 "../../include/QtLocation/../../src/location/places/qplaceattribute.h" 7770: QPlaceAttribute 7770: # 79 "../../include/QtLocation/../../src/location/places/qplaceattribute.h" 3 4 7770: *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 7770: # 1 "../../include/QtLocation/qplaceattribute.h" 2 7770: # 1 "../../include/QtLocation/QPlaceAttribute" 2 7770: # 50 "../../include/QtLocation/../../src/location/places/qplace.h" 2 7770: # 1 "../../include/QtLocation/QPlaceContactDetail" 1 7770: # 1 "../../include/QtLocation/qplacecontactdetail.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/places/qplacecontactdetail.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/places/qplacecontactdetail.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QString" 1 3 4 7770: # 41 "../../include/QtLocation/../../src/location/places/qplacecontactdetail.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QVariant" 1 3 4 7770: # 42 "../../include/QtLocation/../../src/location/places/qplacecontactdetail.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSharedDataPointer" 1 3 4 7770: # 43 "../../include/QtLocation/../../src/location/places/qplacecontactdetail.h" 2 7770: 7770: # 1 "../../include/QtLocation/qlocationglobal.h" 1 7770: # 45 "../../include/QtLocation/../../src/location/places/qplacecontactdetail.h" 2 7770: 7770: 7770: 7770: 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacecontactdetail.h" 7770: class QPlaceContactDetailPrivate; 7770: class 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacecontactdetail.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacecontactdetail.h" 7770: QPlaceContactDetail 7770: { 7770: public: 7770: static const QString Phone; 7770: static const QString Email; 7770: static const QString Website; 7770: static const QString Fax; 7770: 7770: QPlaceContactDetail(); 7770: QPlaceContactDetail(const QPlaceContactDetail &other); 7770: virtual ~QPlaceContactDetail(); 7770: 7770: QPlaceContactDetail &operator=(const QPlaceContactDetail &other); 7770: 7770: bool operator==(const QPlaceContactDetail &other) const; 7770: bool operator!=(const QPlaceContactDetail &other) const; 7770: 7770: QString label() const; 7770: void setLabel(const QString &label); 7770: 7770: QString value() const; 7770: void setValue(const QString &value); 7770: 7770: void clear(); 7770: 7770: private: 7770: QSharedDataPointer d_ptr; 7770: 7770: }; 7770: 7770: 7770: 7770: 7770: # 81 "../../include/QtLocation/../../src/location/places/qplacecontactdetail.h" 3 4 7770: template <> struct QMetaTypeId< 7770: # 81 "../../include/QtLocation/../../src/location/places/qplacecontactdetail.h" 7770: QPlaceContactDetail 7770: # 81 "../../include/QtLocation/../../src/location/places/qplacecontactdetail.h" 3 4 7770: > { 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< 7770: # 81 "../../include/QtLocation/../../src/location/places/qplacecontactdetail.h" 7770: QPlaceContactDetail 7770: # 81 "../../include/QtLocation/../../src/location/places/qplacecontactdetail.h" 3 4 7770: >( 7770: # 81 "../../include/QtLocation/../../src/location/places/qplacecontactdetail.h" 7770: "QPlaceContactDetail" 7770: # 81 "../../include/QtLocation/../../src/location/places/qplacecontactdetail.h" 3 4 7770: , reinterpret_cast< 7770: # 81 "../../include/QtLocation/../../src/location/places/qplacecontactdetail.h" 7770: QPlaceContactDetail 7770: # 81 "../../include/QtLocation/../../src/location/places/qplacecontactdetail.h" 3 4 7770: *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 7770: # 1 "../../include/QtLocation/qplacecontactdetail.h" 2 7770: # 1 "../../include/QtLocation/QPlaceContactDetail" 2 7770: # 51 "../../include/QtLocation/../../src/location/places/qplace.h" 2 7770: 7770: 7770: 7770: 7770: # 54 "../../include/QtLocation/../../src/location/places/qplace.h" 7770: class QString; 7770: class QPlaceIcon; 7770: class QPlacePrivate; 7770: 7770: class 7770: # 58 "../../include/QtLocation/../../src/location/places/qplace.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 58 "../../include/QtLocation/../../src/location/places/qplace.h" 7770: QPlace 7770: { 7770: public: 7770: QPlace(); 7770: QPlace(const QPlace &other); 7770: ~QPlace(); 7770: 7770: QPlace &operator=(const QPlace &other); 7770: 7770: bool operator==(const QPlace &other) const; 7770: bool operator!=(const QPlace &other) const; 7770: 7770: QList categories() const; 7770: void setCategory(const QPlaceCategory &category); 7770: void setCategories(const QList &categories); 7770: QGeoLocation location() const; 7770: void setLocation(const QGeoLocation &location); 7770: QPlaceRatings ratings() const; 7770: void setRatings(const QPlaceRatings &ratings); 7770: QPlaceSupplier supplier() const; 7770: void setSupplier(const QPlaceSupplier &supplier); 7770: 7770: QString attribution() const; 7770: void setAttribution(const QString &attribution); 7770: 7770: QPlaceIcon icon() const; 7770: void setIcon(const QPlaceIcon &icon); 7770: 7770: QPlaceContent::Collection content(QPlaceContent::Type type) const; 7770: void setContent(QPlaceContent::Type type, const QPlaceContent::Collection &content); 7770: void insertContent(QPlaceContent::Type type, const QPlaceContent::Collection &content); 7770: 7770: int totalContentCount(QPlaceContent::Type type) const; 7770: void setTotalContentCount(QPlaceContent::Type type, int total); 7770: 7770: QString name() const; 7770: void setName(const QString &name); 7770: QString placeId() const; 7770: void setPlaceId(const QString &identifier); 7770: 7770: QString primaryPhone() const; 7770: QString primaryFax() const; 7770: QString primaryEmail() const; 7770: QUrl primaryWebsite() const; 7770: 7770: bool detailsFetched() const; 7770: void setDetailsFetched(bool fetched); 7770: 7770: QStringList extendedAttributeTypes() const; 7770: QPlaceAttribute extendedAttribute(const QString &attributeType) const; 7770: void setExtendedAttribute(const QString &attributeType, const QPlaceAttribute &attribute); 7770: void removeExtendedAttribute(const QString &attributeType); 7770: 7770: QStringList contactTypes() const; 7770: QList contactDetails(const QString &contactType) const; 7770: void setContactDetails(const QString &contactType, QList details); 7770: void appendContactDetail(const QString &contactType, const QPlaceContactDetail &detail); 7770: void removeContactDetails(const QString &contactType); 7770: 7770: QLocation::Visibility visibility() const; 7770: void setVisibility(QLocation::Visibility visibility); 7770: 7770: bool isEmpty() const; 7770: 7770: private: 7770: QSharedDataPointer d_ptr; 7770: 7770: inline QPlacePrivate *d_func(); 7770: inline const QPlacePrivate *d_func() const; 7770: }; 7770: 7770: 7770: # 129 "../../include/QtLocation/../../src/location/places/qplace.h" 3 4 7770: template<> class QTypeInfo< 7770: # 129 "../../include/QtLocation/../../src/location/places/qplace.h" 7770: QPlace 7770: # 129 "../../include/QtLocation/../../src/location/places/qplace.h" 3 4 7770: > { public: enum { isSpecialized = true, isComplex = ((( 7770: # 129 "../../include/QtLocation/../../src/location/places/qplace.h" 7770: Q_MOVABLE_TYPE 7770: # 129 "../../include/QtLocation/../../src/location/places/qplace.h" 3 4 7770: ) & Q_PRIMITIVE_TYPE) == 0), isStatic = ((( 7770: # 129 "../../include/QtLocation/../../src/location/places/qplace.h" 7770: Q_MOVABLE_TYPE 7770: # 129 "../../include/QtLocation/../../src/location/places/qplace.h" 3 4 7770: ) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || (( 7770: # 129 "../../include/QtLocation/../../src/location/places/qplace.h" 7770: Q_MOVABLE_TYPE 7770: # 129 "../../include/QtLocation/../../src/location/places/qplace.h" 3 4 7770: ) & Q_RELOCATABLE_TYPE), isLarge = (sizeof( 7770: # 129 "../../include/QtLocation/../../src/location/places/qplace.h" 7770: QPlace 7770: # 129 "../../include/QtLocation/../../src/location/places/qplace.h" 3 4 7770: )>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< 7770: # 129 "../../include/QtLocation/../../src/location/places/qplace.h" 7770: QPlace 7770: # 129 "../../include/QtLocation/../../src/location/places/qplace.h" 3 4 7770: >::value, isDummy = ((( 7770: # 129 "../../include/QtLocation/../../src/location/places/qplace.h" 7770: Q_MOVABLE_TYPE 7770: # 129 "../../include/QtLocation/../../src/location/places/qplace.h" 3 4 7770: ) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof( 7770: # 129 "../../include/QtLocation/../../src/location/places/qplace.h" 7770: QPlace 7770: # 129 "../../include/QtLocation/../../src/location/places/qplace.h" 3 4 7770: ) }; static inline const char *name() { return 7770: # 129 "../../include/QtLocation/../../src/location/places/qplace.h" 7770: "QPlace" 7770: # 129 "../../include/QtLocation/../../src/location/places/qplace.h" 3 4 7770: ; } } 7770: # 129 "../../include/QtLocation/../../src/location/places/qplace.h" 7770: ; 7770: 7770: 7770: 7770: 7770: # 133 "../../include/QtLocation/../../src/location/places/qplace.h" 3 4 7770: template <> struct QMetaTypeId< 7770: # 133 "../../include/QtLocation/../../src/location/places/qplace.h" 7770: QPlace 7770: # 133 "../../include/QtLocation/../../src/location/places/qplace.h" 3 4 7770: > { 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< 7770: # 133 "../../include/QtLocation/../../src/location/places/qplace.h" 7770: QPlace 7770: # 133 "../../include/QtLocation/../../src/location/places/qplace.h" 3 4 7770: >( 7770: # 133 "../../include/QtLocation/../../src/location/places/qplace.h" 7770: "QPlace" 7770: # 133 "../../include/QtLocation/../../src/location/places/qplace.h" 3 4 7770: , reinterpret_cast< 7770: # 133 "../../include/QtLocation/../../src/location/places/qplace.h" 7770: QPlace 7770: # 133 "../../include/QtLocation/../../src/location/places/qplace.h" 3 4 7770: *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 7770: # 1 "../../include/QtLocation/qplace.h" 2 7770: # 1 "../../include/QtLocation/QPlace" 2 7770: # 42 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 2 7770: 7770: 7770: 7770: 7770: # 45 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: class QPlaceIdReplyPrivate; 7770: class 7770: # 46 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 46 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: QPlaceIdReply : public QPlaceReply 7770: { 7770: 7770: # 48 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 3 4 7770: public: 7770: # 48 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: #pragma GCC diagnostic push 7770: # 48 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: 7770: # 48 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 48 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 48 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 48 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 48 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: #pragma GCC diagnostic pop 7770: # 48 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: struct QPrivateSignal {}; 7770: 7770: # 49 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: public: 7770: enum OperationType 7770: { 7770: SavePlace, 7770: SaveCategory, 7770: RemovePlace, 7770: RemoveCategory 7770: }; 7770: 7770: explicit QPlaceIdReply(OperationType operationType, QObject *parent = 7770: # 58 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 3 4 7770: nullptr 7770: # 58 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: ); 7770: virtual ~QPlaceIdReply(); 7770: 7770: QPlaceReply::Type type() const; 7770: OperationType operationType() const; 7770: 7770: QString id() const; 7770: 7770: protected: 7770: void setId(const QString &identifier); 7770: private: 7770: QPlaceIdReply 7770: # 69 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 3 4 7770: (const 7770: # 69 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: QPlaceIdReply 7770: # 69 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 3 4 7770: &) = delete; 7770: # 69 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: QPlaceIdReply 7770: # 69 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 3 4 7770: &operator=(const 7770: # 69 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: QPlaceIdReply 7770: # 69 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 3 4 7770: &) = delete; 7770: inline 7770: # 70 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: QPlaceIdReplyPrivate 7770: # 70 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 3 4 7770: * d_func() { return reinterpret_cast< 7770: # 70 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: QPlaceIdReplyPrivate 7770: # 70 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 3 4 7770: *>(qGetPtrHelper(d_ptr)); } inline const 7770: # 70 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: QPlaceIdReplyPrivate 7770: # 70 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 3 4 7770: * d_func() const { return reinterpret_cast(qGetPtrHelper(d_ptr)); } friend class 7770: # 70 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: QPlaceIdReplyPrivate 7770: # 70 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 3 4 7770: ; 7770: 7770: # 71 "../../include/QtLocation/../../src/location/places/qplaceidreply.h" 7770: }; 7770: 7770: 7770: # 1 "../../include/QtLocation/qplaceidreply.h" 2 7770: # 1 "../../include/QtLocation/QPlaceIdReply" 2 7770: # 43 "places/qplacemanager.h" 2 7770: # 1 "../../include/QtLocation/QPlaceReply" 1 7770: # 1 "../../include/QtLocation/qplacereply.h" 1 7770: # 1 "../../include/QtLocation/QPlaceReply" 2 7770: # 44 "places/qplacemanager.h" 2 7770: # 1 "../../include/QtLocation/QPlaceDetailsReply" 1 7770: # 1 "../../include/QtLocation/qplacedetailsreply.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 7770: # 1 "../../include/QtLocation/QPlaceReply" 1 7770: # 1 "../../include/QtLocation/qplacereply.h" 1 7770: # 1 "../../include/QtLocation/QPlaceReply" 2 7770: # 41 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 2 7770: # 1 "../../include/QtLocation/QPlace" 1 7770: # 1 "../../include/QtLocation/qplace.h" 1 7770: # 1 "../../include/QtLocation/QPlace" 2 7770: # 42 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 2 7770: 7770: 7770: 7770: class QPlaceDetailsReplyPrivate; 7770: class 7770: # 46 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 46 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 7770: QPlaceDetailsReply : public QPlaceReply 7770: { 7770: 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 3 4 7770: public: 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 7770: #pragma GCC diagnostic push 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 7770: 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 7770: #pragma GCC diagnostic pop 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 7770: struct QPrivateSignal {}; 7770: 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 7770: public: 7770: explicit QPlaceDetailsReply(QObject *parent = 7770: # 50 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 3 4 7770: nullptr 7770: # 50 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 7770: ); 7770: virtual ~QPlaceDetailsReply(); 7770: 7770: QPlaceReply::Type type() const; 7770: 7770: QPlace place() const; 7770: 7770: protected: 7770: void setPlace(const QPlace &place); 7770: 7770: private: 7770: QPlaceDetailsReply 7770: # 61 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 3 4 7770: (const 7770: # 61 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 7770: QPlaceDetailsReply 7770: # 61 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 3 4 7770: &) = delete; 7770: # 61 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 7770: QPlaceDetailsReply 7770: # 61 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 3 4 7770: &operator=(const 7770: # 61 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 7770: QPlaceDetailsReply 7770: # 61 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 3 4 7770: &) = delete; 7770: inline 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 7770: QPlaceDetailsReplyPrivate 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 3 4 7770: * d_func() { return reinterpret_cast< 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 7770: QPlaceDetailsReplyPrivate 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 3 4 7770: *>(qGetPtrHelper(d_ptr)); } inline const 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 7770: QPlaceDetailsReplyPrivate 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 3 4 7770: * d_func() const { return reinterpret_cast(qGetPtrHelper(d_ptr)); } friend class 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 7770: QPlaceDetailsReplyPrivate 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 3 4 7770: ; 7770: 7770: # 63 "../../include/QtLocation/../../src/location/places/qplacedetailsreply.h" 7770: }; 7770: 7770: 7770: # 1 "../../include/QtLocation/qplacedetailsreply.h" 2 7770: # 1 "../../include/QtLocation/QPlaceDetailsReply" 2 7770: # 45 "places/qplacemanager.h" 2 7770: # 1 "../../include/QtLocation/QPlaceMatchReply" 1 7770: # 1 "../../include/QtLocation/qplacematchreply.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 7770: # 1 "../../include/QtLocation/QPlaceReply" 1 7770: # 1 "../../include/QtLocation/qplacereply.h" 1 7770: # 1 "../../include/QtLocation/QPlaceReply" 2 7770: # 41 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 2 7770: # 1 "../../include/QtLocation/QPlaceMatchRequest" 1 7770: # 1 "../../include/QtLocation/qplacematchrequest.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/places/qplacematchrequest.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/places/qplacematchrequest.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSharedDataPointer" 1 3 4 7770: # 41 "../../include/QtLocation/../../src/location/places/qplacematchrequest.h" 2 7770: # 1 "../../include/QtLocation/QPlaceSearchResult" 1 7770: # 1 "../../include/QtLocation/qplacesearchresult.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSharedDataPointer" 1 3 4 7770: # 41 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QVariant" 1 3 4 7770: # 42 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QString" 1 3 4 7770: # 43 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 2 7770: # 1 "../../include/QtLocation/QPlace" 1 7770: # 1 "../../include/QtLocation/qplace.h" 1 7770: # 1 "../../include/QtLocation/QPlace" 2 7770: # 44 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 2 7770: 7770: 7770: # 55 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: class QPlaceSearchRequest; 7770: class QPlaceSearchResultPrivate; 7770: class QPlaceIcon; 7770: 7770: class 7770: # 59 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 59 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: QPlaceSearchResult 7770: { 7770: public: 7770: QPlaceSearchResult(); 7770: QPlaceSearchResult(const QPlaceSearchResult &other); 7770: 7770: virtual ~QPlaceSearchResult(); 7770: 7770: QPlaceSearchResult &operator=(const QPlaceSearchResult &other); 7770: 7770: bool operator==(const QPlaceSearchResult &other) const; 7770: bool operator!=(const QPlaceSearchResult &other) const { 7770: return !(other == *this); 7770: } 7770: 7770: enum SearchResultType { 7770: UnknownSearchResult = 0, 7770: PlaceResult, 7770: ProposedSearchResult 7770: }; 7770: 7770: SearchResultType type() const; 7770: 7770: QString title() const; 7770: void setTitle(const QString &title); 7770: 7770: QPlaceIcon icon() const; 7770: void setIcon(const QPlaceIcon &icon); 7770: 7770: protected: 7770: explicit QPlaceSearchResult(QPlaceSearchResultPrivate *d); 7770: QSharedDataPointer d_ptr; 7770: 7770: private: 7770: inline QPlaceSearchResultPrivate *d_func(); 7770: inline const QPlaceSearchResultPrivate *d_func() const; 7770: 7770: friend class QPlaceSearchResultPrivate; 7770: }; 7770: 7770: 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 3 4 7770: template<> class QTypeInfo< 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: QPlaceSearchResult 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 3 4 7770: > { public: enum { isSpecialized = true, isComplex = ((( 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: Q_MOVABLE_TYPE 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 3 4 7770: ) & Q_PRIMITIVE_TYPE) == 0), isStatic = ((( 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: Q_MOVABLE_TYPE 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 3 4 7770: ) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isRelocatable = !isStatic || (( 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: Q_MOVABLE_TYPE 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 3 4 7770: ) & Q_RELOCATABLE_TYPE), isLarge = (sizeof( 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: QPlaceSearchResult 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 3 4 7770: )>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: QPlaceSearchResult 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 3 4 7770: >::value, isDummy = ((( 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: Q_MOVABLE_TYPE 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 3 4 7770: ) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof( 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: QPlaceSearchResult 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 3 4 7770: ) }; static inline const char *name() { return 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: "QPlaceSearchResult" 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 3 4 7770: ; } } 7770: # 99 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: ; 7770: 7770: 7770: 7770: 7770: # 103 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 3 4 7770: template <> struct QMetaTypeId< 7770: # 103 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: QPlaceSearchResult 7770: # 103 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 3 4 7770: > { 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< 7770: # 103 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: QPlaceSearchResult 7770: # 103 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 3 4 7770: >( 7770: # 103 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: "QPlaceSearchResult" 7770: # 103 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 3 4 7770: , reinterpret_cast< 7770: # 103 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: QPlaceSearchResult 7770: # 103 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 3 4 7770: *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 7770: template <> struct QMetaTypeId< 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: QPlaceSearchResult::SearchResultType 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 3 4 7770: > { 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< 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: QPlaceSearchResult::SearchResultType 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 3 4 7770: >( 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: "QPlaceSearchResult::SearchResultType" 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 3 4 7770: , reinterpret_cast< 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 7770: QPlaceSearchResult::SearchResultType 7770: # 104 "../../include/QtLocation/../../src/location/places/qplacesearchresult.h" 3 4 7770: *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 7770: # 1 "../../include/QtLocation/qplacesearchresult.h" 2 7770: # 1 "../../include/QtLocation/QPlaceSearchResult" 2 7770: # 42 "../../include/QtLocation/../../src/location/places/qplacematchrequest.h" 2 7770: 7770: 7770: 7770: 7770: # 45 "../../include/QtLocation/../../src/location/places/qplacematchrequest.h" 7770: class QPlaceMatchRequestPrivate; 7770: 7770: class 7770: # 47 "../../include/QtLocation/../../src/location/places/qplacematchrequest.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 47 "../../include/QtLocation/../../src/location/places/qplacematchrequest.h" 7770: QPlaceMatchRequest 7770: { 7770: public: 7770: static const QString AlternativeId; 7770: 7770: QPlaceMatchRequest(); 7770: QPlaceMatchRequest(const QPlaceMatchRequest &other); 7770: 7770: 7770: QPlaceMatchRequest &operator=(const QPlaceMatchRequest &other); 7770: 7770: bool operator==(const QPlaceMatchRequest &other) const; 7770: bool operator!=(const QPlaceMatchRequest &other) const; 7770: 7770: ~QPlaceMatchRequest(); 7770: 7770: QList places() const; 7770: void setPlaces(const QList places); 7770: 7770: void setResults(const QList &results); 7770: 7770: QVariantMap parameters() const; 7770: void setParameters(const QVariantMap ¶meters); 7770: 7770: void clear(); 7770: 7770: private: 7770: QSharedDataPointer d_ptr; 7770: inline QPlaceMatchRequestPrivate *d_func(); 7770: inline const QPlaceMatchRequestPrivate *d_func() const; 7770: }; 7770: 7770: 7770: # 1 "../../include/QtLocation/qplacematchrequest.h" 2 7770: # 1 "../../include/QtLocation/QPlaceMatchRequest" 2 7770: # 42 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 2 7770: 7770: 7770: 7770: class QPlaceMatchReplyPrivate; 7770: class 7770: # 46 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 46 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 7770: QPlaceMatchReply : public QPlaceReply 7770: { 7770: 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 3 4 7770: public: 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 7770: #pragma GCC diagnostic push 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 7770: 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 7770: #pragma GCC diagnostic pop 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 7770: struct QPrivateSignal {}; 7770: 7770: # 49 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 7770: public: 7770: explicit QPlaceMatchReply(QObject *parent = 7770: # 50 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 3 4 7770: nullptr 7770: # 50 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 7770: ); 7770: ~QPlaceMatchReply(); 7770: 7770: QPlaceReply::Type type() const; 7770: 7770: QList places() const; 7770: QPlaceMatchRequest request() const; 7770: 7770: protected: 7770: void setPlaces(const QList &results); 7770: void setRequest(const QPlaceMatchRequest &request); 7770: private: 7770: QPlaceMatchReply 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 3 4 7770: (const 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 7770: QPlaceMatchReply 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 3 4 7770: &) = delete; 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 7770: QPlaceMatchReply 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 3 4 7770: &operator=(const 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 7770: QPlaceMatchReply 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 3 4 7770: &) = delete; 7770: inline 7770: # 63 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 7770: QPlaceMatchReplyPrivate 7770: # 63 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 3 4 7770: * d_func() { return reinterpret_cast< 7770: # 63 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 7770: QPlaceMatchReplyPrivate 7770: # 63 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 3 4 7770: *>(qGetPtrHelper(d_ptr)); } inline const 7770: # 63 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 7770: QPlaceMatchReplyPrivate 7770: # 63 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 3 4 7770: * d_func() const { return reinterpret_cast(qGetPtrHelper(d_ptr)); } friend class 7770: # 63 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 7770: QPlaceMatchReplyPrivate 7770: # 63 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 3 4 7770: ; 7770: 7770: # 64 "../../include/QtLocation/../../src/location/places/qplacematchreply.h" 7770: }; 7770: 7770: 7770: # 1 "../../include/QtLocation/qplacematchreply.h" 2 7770: # 1 "../../include/QtLocation/QPlaceMatchReply" 2 7770: # 46 "places/qplacemanager.h" 2 7770: # 1 "../../include/QtLocation/QPlaceMatchRequest" 1 7770: # 1 "../../include/QtLocation/qplacematchrequest.h" 1 7770: # 1 "../../include/QtLocation/QPlaceMatchRequest" 2 7770: # 47 "places/qplacemanager.h" 2 7770: # 1 "../../include/QtLocation/QPlaceSearchSuggestionReply" 1 7770: # 1 "../../include/QtLocation/qplacesearchsuggestionreply.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 7770: # 1 "../../include/QtLocation/QPlaceReply" 1 7770: # 1 "../../include/QtLocation/qplacereply.h" 1 7770: # 1 "../../include/QtLocation/QPlaceReply" 2 7770: # 41 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 2 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QStringList" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstringlist.h" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QStringList" 2 3 4 7770: # 43 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 2 7770: 7770: 7770: 7770: class QPlaceSearchSuggestionReplyPrivate; 7770: 7770: class 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 48 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 7770: QPlaceSearchSuggestionReply : public QPlaceReply 7770: { 7770: 7770: # 50 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 3 4 7770: public: 7770: # 50 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 7770: #pragma GCC diagnostic push 7770: # 50 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 7770: 7770: # 50 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 50 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 50 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 50 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 50 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 7770: #pragma GCC diagnostic pop 7770: # 50 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 7770: struct QPrivateSignal {}; 7770: 7770: # 51 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 7770: public: 7770: explicit QPlaceSearchSuggestionReply(QObject *parent = 7770: # 52 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 3 4 7770: nullptr 7770: # 52 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 7770: ); 7770: ~QPlaceSearchSuggestionReply(); 7770: 7770: QStringList suggestions() const; 7770: Type type() const; 7770: 7770: protected: 7770: void setSuggestions(const QStringList &suggestions); 7770: 7770: private: 7770: QPlaceSearchSuggestionReply 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 3 4 7770: (const 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 7770: QPlaceSearchSuggestionReply 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 3 4 7770: &) = delete; 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 7770: QPlaceSearchSuggestionReply 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 3 4 7770: &operator=(const 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 7770: QPlaceSearchSuggestionReply 7770: # 62 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 3 4 7770: &) = delete; 7770: inline 7770: # 63 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 7770: QPlaceSearchSuggestionReplyPrivate 7770: # 63 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 3 4 7770: * d_func() { return reinterpret_cast< 7770: # 63 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 7770: QPlaceSearchSuggestionReplyPrivate 7770: # 63 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 3 4 7770: *>(qGetPtrHelper(d_ptr)); } inline const 7770: # 63 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 7770: QPlaceSearchSuggestionReplyPrivate 7770: # 63 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 3 4 7770: * d_func() const { return reinterpret_cast(qGetPtrHelper(d_ptr)); } friend class 7770: # 63 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 7770: QPlaceSearchSuggestionReplyPrivate 7770: # 63 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 3 4 7770: ; 7770: 7770: # 64 "../../include/QtLocation/../../src/location/places/qplacesearchsuggestionreply.h" 7770: }; 7770: 7770: 7770: # 1 "../../include/QtLocation/qplacesearchsuggestionreply.h" 2 7770: # 1 "../../include/QtLocation/QPlaceSearchSuggestionReply" 2 7770: # 48 "places/qplacemanager.h" 2 7770: # 1 "../../include/QtLocation/QPlaceSearchRequest" 1 7770: # 1 "../../include/QtLocation/qplacesearchrequest.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/places/qplacesearchrequest.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/places/qplacesearchrequest.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSharedDataPointer" 1 3 4 7770: # 41 "../../include/QtLocation/../../src/location/places/qplacesearchrequest.h" 2 7770: # 1 "../../include/QtLocation/placemacro.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/places/placemacro.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/places/placemacro.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QtGlobal" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QtGlobal" 2 3 4 7770: # 41 "../../include/QtLocation/../../src/location/places/placemacro.h" 2 7770: 7770: 7770: # 69 "../../include/QtLocation/../../src/location/places/placemacro.h" 7770: 7770: # 1 "../../include/QtLocation/placemacro.h" 2 7770: # 42 "../../include/QtLocation/../../src/location/places/qplacesearchrequest.h" 2 7770: # 1 "../../include/QtLocation/QPlaceCategory" 1 7770: # 1 "../../include/QtLocation/qplacecategory.h" 1 7770: # 1 "../../include/QtLocation/QPlaceCategory" 2 7770: # 43 "../../include/QtLocation/../../src/location/places/qplacesearchrequest.h" 2 7770: # 1 "../../include/QtLocation/QLocation" 1 7770: # 1 "../../include/QtLocation/qlocation.h" 1 7770: # 1 "../../include/QtLocation/QLocation" 2 7770: # 44 "../../include/QtLocation/../../src/location/places/qplacesearchrequest.h" 2 7770: 7770: 7770: 7770: class QGeoShape; 7770: class QPlaceSearchRequestPrivate; 7770: 7770: class 7770: # 50 "../../include/QtLocation/../../src/location/places/qplacesearchrequest.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 50 "../../include/QtLocation/../../src/location/places/qplacesearchrequest.h" 7770: QPlaceSearchRequest 7770: { 7770: public: 7770: enum RelevanceHint { 7770: UnspecifiedHint, 7770: DistanceHint, 7770: LexicalPlaceNameHint 7770: }; 7770: 7770: QPlaceSearchRequest(); 7770: QPlaceSearchRequest(const QPlaceSearchRequest &other); 7770: 7770: 7770: QPlaceSearchRequest &operator=(const QPlaceSearchRequest &other); 7770: 7770: bool operator==(const QPlaceSearchRequest &other) const; 7770: bool operator!=(const QPlaceSearchRequest &other) const; 7770: 7770: ~QPlaceSearchRequest(); 7770: 7770: QString searchTerm() const; 7770: void setSearchTerm(const QString &term); 7770: 7770: QList categories() const; 7770: void setCategory(const QPlaceCategory &category); 7770: void setCategories(const QList &categories); 7770: 7770: QGeoShape searchArea() const; 7770: void setSearchArea(const QGeoShape &area); 7770: 7770: QString recommendationId() const; 7770: void setRecommendationId(const QString &recommendationId); 7770: 7770: QVariant searchContext() const; 7770: void setSearchContext(const QVariant &context); 7770: 7770: QLocation::VisibilityScope visibilityScope() const; 7770: void setVisibilityScope(QLocation::VisibilityScope visibilityScopes); 7770: 7770: RelevanceHint relevanceHint() const; 7770: void setRelevanceHint(RelevanceHint hint); 7770: 7770: int limit() const; 7770: void setLimit(int limit); 7770: 7770: void clear(); 7770: 7770: private: 7770: QSharedDataPointer d_ptr; 7770: inline QPlaceSearchRequestPrivate *d_func(); 7770: inline const QPlaceSearchRequestPrivate *d_func() const; 7770: }; 7770: 7770: 7770: 7770: 7770: # 105 "../../include/QtLocation/../../src/location/places/qplacesearchrequest.h" 3 4 7770: template <> struct QMetaTypeId< 7770: # 105 "../../include/QtLocation/../../src/location/places/qplacesearchrequest.h" 7770: QPlaceSearchRequest::RelevanceHint 7770: # 105 "../../include/QtLocation/../../src/location/places/qplacesearchrequest.h" 3 4 7770: > { 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< 7770: # 105 "../../include/QtLocation/../../src/location/places/qplacesearchrequest.h" 7770: QPlaceSearchRequest::RelevanceHint 7770: # 105 "../../include/QtLocation/../../src/location/places/qplacesearchrequest.h" 3 4 7770: >( 7770: # 105 "../../include/QtLocation/../../src/location/places/qplacesearchrequest.h" 7770: "QPlaceSearchRequest::RelevanceHint" 7770: # 105 "../../include/QtLocation/../../src/location/places/qplacesearchrequest.h" 3 4 7770: , reinterpret_cast< 7770: # 105 "../../include/QtLocation/../../src/location/places/qplacesearchrequest.h" 7770: QPlaceSearchRequest::RelevanceHint 7770: # 105 "../../include/QtLocation/../../src/location/places/qplacesearchrequest.h" 3 4 7770: *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 7770: # 1 "../../include/QtLocation/qplacesearchrequest.h" 2 7770: # 1 "../../include/QtLocation/QPlaceSearchRequest" 2 7770: # 49 "places/qplacemanager.h" 2 7770: # 1 "../../include/QtLocation/QPlaceSearchResult" 1 7770: # 1 "../../include/QtLocation/qplacesearchresult.h" 1 7770: # 1 "../../include/QtLocation/QPlaceSearchResult" 2 7770: # 50 "places/qplacemanager.h" 2 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QLocale" 1 3 4 7770: # 52 "places/qplacemanager.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QVector" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvector.h" 1 3 4 7770: # 52 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvector.h" 3 4 7770: # 1 "/usr/include/c++/8/stdlib.h" 1 3 4 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvector.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: class QRegion; 7770: 7770: template 7770: class QVector 7770: { 7770: typedef QTypedArrayData Data; 7770: Data *d; 7770: 7770: public: 7770: inline QVector() noexcept : d(Data::sharedNull()) { } 7770: explicit QVector(int size); 7770: QVector(int size, const T &t); 7770: inline QVector(const QVector &v); 7770: inline ~QVector() { if (!d->ref.deref()) freeData(d); } 7770: QVector &operator=(const QVector &v); 7770: 7770: QVector(QVector &&other) noexcept : d(other.d) { other.d = Data::sharedNull(); } 7770: QVector &operator=(QVector &&other) noexcept 7770: { QVector moved(std::move(other)); swap(moved); return *this; } 7770: 7770: void swap(QVector &other) noexcept { qSwap(d, other.d); } 7770: 7770: inline QVector(std::initializer_list args); 7770: 7770: bool operator==(const QVector &v) const; 7770: inline bool operator!=(const QVector &v) const { return !(*this == v); } 7770: 7770: inline int size() const { return d->size; } 7770: 7770: inline bool isEmpty() const { return d->size == 0; } 7770: 7770: void resize(int size); 7770: 7770: inline int capacity() const { return int(d->alloc); } 7770: void reserve(int size); 7770: inline void squeeze() 7770: { 7770: reallocData(d->size, d->size); 7770: if (d->capacityReserved) { 7770: 7770: 7770: d->capacityReserved = 0; 7770: } 7770: } 7770: 7770: inline void detach(); 7770: inline bool isDetached() const { return !d->ref.isShared(); } 7770: 7770: inline void setSharable(bool sharable) 7770: { 7770: if (sharable == d->ref.isSharable()) 7770: return; 7770: if (!sharable) 7770: detach(); 7770: 7770: if (d == Data::unsharableEmpty()) { 7770: if (sharable) 7770: d = Data::sharedNull(); 7770: } else { 7770: d->ref.setSharable(sharable); 7770: } 7770: do { } while ((false) && (d->ref.isSharable() == sharable)); 7770: } 7770: 7770: 7770: inline bool isSharedWith(const QVector &other) const { return d == other.d; } 7770: 7770: inline T *data() { detach(); return d->begin(); } 7770: inline const T *data() const { return d->begin(); } 7770: inline const T *constData() const { return d->begin(); } 7770: void clear(); 7770: 7770: const T &at(int i) const; 7770: T &operator[](int i); 7770: const T &operator[](int i) const; 7770: void append(const T &t); 7770: 7770: void append(T &&t); 7770: 7770: inline void append(const QVector &l) { *this += l; } 7770: void prepend(const T &t); 7770: void insert(int i, const T &t); 7770: void insert(int i, int n, const T &t); 7770: void replace(int i, const T &t); 7770: void remove(int i); 7770: void remove(int i, int n); 7770: inline void removeFirst() { do { } while ((false) && (!isEmpty())); erase(d->begin()); } 7770: inline void removeLast(); 7770: inline T takeFirst() { do { } while ((false) && (!isEmpty())); T r = first(); removeFirst(); return r; } 7770: inline T takeLast() { do { } while ((false) && (!isEmpty())); T r = last(); removeLast(); return r; } 7770: 7770: QVector &fill(const T &t, int size = -1); 7770: 7770: int indexOf(const T &t, int from = 0) const; 7770: int lastIndexOf(const T &t, int from = -1) const; 7770: bool contains(const T &t) const; 7770: int count(const T &t) const; 7770: 7770: 7770: void removeAt(int i) { remove(i); } 7770: int removeAll(const T &t) 7770: { 7770: const const_iterator ce = this->cend(), cit = std::find(this->cbegin(), ce, t); 7770: if (cit == ce) 7770: return 0; 7770: 7770: const int firstFoundIdx = std::distance(this->cbegin(), cit); 7770: const iterator e = end(), it = std::remove(begin() + firstFoundIdx, e, t); 7770: const int result = std::distance(it, e); 7770: erase(it, e); 7770: return result; 7770: } 7770: bool removeOne(const T &t) 7770: { 7770: const int i = indexOf(t); 7770: if (i < 0) 7770: return false; 7770: remove(i); 7770: return true; 7770: } 7770: int length() const { return size(); } 7770: T takeAt(int i) { T t = at(i); remove(i); return t; } 7770: void move(int from, int to) 7770: { 7770: do { } while ((false) && (from >= 0 && from < size())); 7770: do { } while ((false) && (to >= 0 && to < size())); 7770: if (from == to) 7770: return; 7770: detach(); 7770: T * const b = d->begin(); 7770: if (from < to) 7770: std::rotate(b + from, b + from + 1, b + to + 1); 7770: else 7770: std::rotate(b + to, b + from, b + from + 1); 7770: } 7770: 7770: 7770: typedef typename Data::iterator iterator; 7770: typedef typename Data::const_iterator const_iterator; 7770: typedef std::reverse_iterator reverse_iterator; 7770: typedef std::reverse_iterator const_reverse_iterator; 7770: 7770: inline iterator begin() { detach(); return d->begin(); } 7770: inline const_iterator begin() const noexcept { return d->constBegin(); } 7770: inline const_iterator cbegin() const noexcept { return d->constBegin(); } 7770: inline const_iterator constBegin() const noexcept { return d->constBegin(); } 7770: inline iterator end() { detach(); return d->end(); } 7770: inline const_iterator end() const noexcept { return d->constEnd(); } 7770: inline const_iterator cend() const noexcept { return d->constEnd(); } 7770: inline const_iterator constEnd() const noexcept { return d->constEnd(); } 7770: # 222 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvector.h" 3 4 7770: reverse_iterator rbegin() { return reverse_iterator(end()); } 7770: reverse_iterator rend() { return reverse_iterator(begin()); } 7770: const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(end()); } 7770: const_reverse_iterator rend() const noexcept { return const_reverse_iterator(begin()); } 7770: const_reverse_iterator crbegin() const noexcept { return const_reverse_iterator(end()); } 7770: const_reverse_iterator crend() const noexcept { return const_reverse_iterator(begin()); } 7770: iterator insert(iterator before, int n, const T &x); 7770: inline iterator insert(iterator before, const T &x) { return insert(before, 1, x); } 7770: iterator erase(iterator begin, iterator end); 7770: inline iterator erase(iterator pos) { return erase(pos, pos+1); } 7770: 7770: 7770: inline int count() const { return d->size; } 7770: inline T& first() { do { } while ((false) && (!isEmpty())); return *begin(); } 7770: inline const T &first() const { do { } while ((false) && (!isEmpty())); return *begin(); } 7770: inline const T &constFirst() const { do { } while ((false) && (!isEmpty())); return *begin(); } 7770: inline T& last() { do { } while ((false) && (!isEmpty())); return *(end()-1); } 7770: inline const T &last() const { do { } while ((false) && (!isEmpty())); return *(end()-1); } 7770: inline const T &constLast() const { do { } while ((false) && (!isEmpty())); return *(end()-1); } 7770: inline bool startsWith(const T &t) const { return !isEmpty() && first() == t; } 7770: inline bool endsWith(const T &t) const { return !isEmpty() && last() == t; } 7770: QVector mid(int pos, int len = -1) const; 7770: 7770: T value(int i) const; 7770: T value(int i, const T &defaultValue) const; 7770: 7770: 7770: typedef T value_type; 7770: typedef value_type* pointer; 7770: typedef const value_type* const_pointer; 7770: typedef value_type& reference; 7770: typedef const value_type& const_reference; 7770: typedef qptrdiff difference_type; 7770: typedef iterator Iterator; 7770: typedef const_iterator ConstIterator; 7770: typedef int size_type; 7770: inline void push_back(const T &t) { append(t); } 7770: 7770: void push_back(T &&t) { append(std::move(t)); } 7770: 7770: inline void push_front(const T &t) { prepend(t); } 7770: void pop_back() { removeLast(); } 7770: void pop_front() { removeFirst(); } 7770: inline bool empty() const 7770: { return d->size == 0; } 7770: inline T& front() { return first(); } 7770: inline const_reference front() const { return first(); } 7770: inline reference back() { return last(); } 7770: inline const_reference back() const { return last(); } 7770: 7770: 7770: QVector &operator+=(const QVector &l); 7770: inline QVector operator+(const QVector &l) const 7770: { QVector n = *this; n += l; return n; } 7770: inline QVector &operator+=(const T &t) 7770: { append(t); return *this; } 7770: inline QVector &operator<< (const T &t) 7770: { append(t); return *this; } 7770: inline QVector &operator<<(const QVector &l) 7770: { *this += l; return *this; } 7770: 7770: QList toList() const; 7770: 7770: static QVector fromList(const QList &list); 7770: 7770: static inline QVector fromStdVector(const std::vector &vector) 7770: { QVector tmp; tmp.reserve(int(vector.size())); std::copy(vector.begin(), vector.end(), std::back_inserter(tmp)); return tmp; } 7770: inline std::vector toStdVector() const 7770: { return std::vector(d->begin(), d->end()); } 7770: private: 7770: friend class QRegion; 7770: 7770: 7770: void reallocData(const int size, const int alloc, QArrayData::AllocationOptions options = QArrayData::Default); 7770: void reallocData(const int sz) { reallocData(sz, d->alloc); } 7770: void freeData(Data *d); 7770: void defaultConstruct(T *from, T *to); 7770: void copyConstruct(const T *srcFrom, const T *srcTo, T *dstFrom); 7770: void destruct(T *from, T *to); 7770: bool isValidIterator(const iterator &i) const 7770: { 7770: return (i <= d->end()) && (d->begin() <= i); 7770: } 7770: class AlignmentDummy { Data header; T array[1]; }; 7770: }; 7770: # 316 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvector.h" 3 4 7770: template 7770: void QVector::defaultConstruct(T *from, T *to) 7770: { 7770: if (QTypeInfo::isComplex) { 7770: while (from != to) { 7770: new (from++) T(); 7770: } 7770: } else { 7770: ::memset(static_cast(from), 0, (to - from) * sizeof(T)); 7770: } 7770: } 7770: 7770: template 7770: void QVector::copyConstruct(const T *srcFrom, const T *srcTo, T *dstFrom) 7770: { 7770: if (QTypeInfo::isComplex) { 7770: while (srcFrom != srcTo) 7770: new (dstFrom++) T(*srcFrom++); 7770: } else { 7770: ::memcpy(static_cast(dstFrom), static_cast(srcFrom), (srcTo - srcFrom) * sizeof(T)); 7770: } 7770: } 7770: 7770: template 7770: void QVector::destruct(T *from, T *to) 7770: { 7770: if (QTypeInfo::isComplex) { 7770: while (from != to) { 7770: from++->~T(); 7770: } 7770: } 7770: } 7770: 7770: template 7770: inline QVector::QVector(const QVector &v) 7770: { 7770: if (v.d->ref.ref()) { 7770: d = v.d; 7770: } else { 7770: if (v.d->capacityReserved) { 7770: d = Data::allocate(v.d->alloc); 7770: qt_noop(); 7770: d->capacityReserved = true; 7770: } else { 7770: d = Data::allocate(v.d->size); 7770: qt_noop(); 7770: } 7770: if (d->alloc) { 7770: copyConstruct(v.d->begin(), v.d->end(), d->begin()); 7770: d->size = v.d->size; 7770: } 7770: } 7770: } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: void QVector::detach() 7770: { 7770: if (!isDetached()) { 7770: 7770: if (!d->alloc) 7770: d = Data::unsharableEmpty(); 7770: else 7770: 7770: reallocData(d->size, int(d->alloc)); 7770: } 7770: do { } while ((false) && (isDetached())); 7770: } 7770: 7770: template 7770: void QVector::reserve(int asize) 7770: { 7770: if (asize > int(d->alloc)) 7770: reallocData(d->size, asize); 7770: if (isDetached() 7770: 7770: && d != Data::unsharableEmpty() 7770: 7770: ) 7770: d->capacityReserved = 1; 7770: do { } while ((false) && (capacity() >= asize)); 7770: } 7770: 7770: template 7770: void QVector::resize(int asize) 7770: { 7770: int newAlloc; 7770: const int oldAlloc = int(d->alloc); 7770: QArrayData::AllocationOptions opt; 7770: 7770: if (asize > oldAlloc) { 7770: newAlloc = asize; 7770: opt = QArrayData::Grow; 7770: } else { 7770: newAlloc = oldAlloc; 7770: } 7770: reallocData(asize, newAlloc, opt); 7770: } 7770: template 7770: inline void QVector::clear() 7770: { resize(0); } 7770: template 7770: inline const T &QVector::at(int i) const 7770: { do { } while ((false) && (i >= 0 && i < d->size)); 7770: return d->begin()[i]; } 7770: template 7770: inline const T &QVector::operator[](int i) const 7770: { do { } while ((false) && (i >= 0 && i < d->size)); 7770: return d->begin()[i]; } 7770: template 7770: inline T &QVector::operator[](int i) 7770: { do { } while ((false) && (i >= 0 && i < d->size)); 7770: return data()[i]; } 7770: template 7770: inline void QVector::insert(int i, const T &t) 7770: { do { } while ((false) && (i >= 0 && i <= d->size)); 7770: insert(begin() + i, 1, t); } 7770: template 7770: inline void QVector::insert(int i, int n, const T &t) 7770: { do { } while ((false) && (i >= 0 && i <= d->size)); 7770: insert(begin() + i, n, t); } 7770: template 7770: inline void QVector::remove(int i, int n) 7770: { do { } while ((false) && (i >= 0 && n >= 0 && i + n <= d->size)); 7770: erase(d->begin() + i, d->begin() + i + n); } 7770: template 7770: inline void QVector::remove(int i) 7770: { do { } while ((false) && (i >= 0 && i < d->size)); 7770: erase(d->begin() + i, d->begin() + i + 1); } 7770: template 7770: inline void QVector::prepend(const T &t) 7770: { insert(begin(), 1, t); } 7770: 7770: template 7770: inline void QVector::replace(int i, const T &t) 7770: { 7770: do { } while ((false) && (i >= 0 && i < d->size)); 7770: const T copy(t); 7770: data()[i] = copy; 7770: } 7770: 7770: template 7770: QVector &QVector::operator=(const QVector &v) 7770: { 7770: if (v.d != d) { 7770: QVector tmp(v); 7770: tmp.swap(*this); 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: QVector::QVector(int asize) 7770: { 7770: do { } while ((false) && (asize >= 0)); 7770: if (__builtin_expect(!!(asize > 0), true)) { 7770: d = Data::allocate(asize); 7770: qt_noop(); 7770: d->size = asize; 7770: defaultConstruct(d->begin(), d->end()); 7770: } else { 7770: d = Data::sharedNull(); 7770: } 7770: } 7770: 7770: template 7770: QVector::QVector(int asize, const T &t) 7770: { 7770: do { } while ((false) && (asize >= 0)); 7770: if (asize > 0) { 7770: d = Data::allocate(asize); 7770: qt_noop(); 7770: d->size = asize; 7770: T* i = d->end(); 7770: while (i != d->begin()) 7770: new (--i) T(t); 7770: } else { 7770: d = Data::sharedNull(); 7770: } 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: QVector::QVector(std::initializer_list args) 7770: { 7770: if (args.size() > 0) { 7770: d = Data::allocate(args.size()); 7770: qt_noop(); 7770: 7770: 7770: copyConstruct(args.begin(), args.end(), d->begin()); 7770: d->size = int(args.size()); 7770: } else { 7770: d = Data::sharedNull(); 7770: } 7770: } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: void QVector::freeData(Data *x) 7770: { 7770: destruct(x->begin(), x->end()); 7770: Data::deallocate(x); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template 7770: void QVector::reallocData(const int asize, const int aalloc, QArrayData::AllocationOptions options) 7770: { 7770: do { } while ((false) && (asize >= 0 && asize <= aalloc)); 7770: Data *x = d; 7770: 7770: const bool isShared = d->ref.isShared(); 7770: 7770: if (aalloc != 0) { 7770: if (aalloc != int(d->alloc) || isShared) { 7770: if (true) { 7770: 7770: x = Data::allocate(aalloc, options); 7770: qt_noop(); 7770: 7770: 7770: do { } while ((false) && (x->ref.isSharable() || options.testFlag(QArrayData::Unsharable))); 7770: 7770: do { } while ((false) && (!x->ref.isStatic())); 7770: x->size = asize; 7770: 7770: T *srcBegin = d->begin(); 7770: T *srcEnd = asize > d->size ? d->end() : d->begin() + asize; 7770: T *dst = x->begin(); 7770: 7770: if (!QTypeInfoQuery::isRelocatable || (isShared && QTypeInfo::isComplex)) { 7770: 7770: while (srcBegin != srcEnd) { 7770: new (dst++) T(*srcBegin++); 7770: } 7770: } else { 7770: ::memcpy(static_cast(dst), static_cast(srcBegin), (srcEnd - srcBegin) * sizeof(T)); 7770: dst += srcEnd - srcBegin; 7770: 7770: 7770: if (asize < d->size) 7770: destruct(d->begin() + asize, d->end()); 7770: } 7770: 7770: if (asize > d->size) { 7770: 7770: if (true) { 7770: defaultConstruct(dst, x->end()); 7770: } else { 7770: 7770: destruct(x->begin(), dst); 7770: qt_noop(); 7770: } 7770: } 7770: } else { 7770: Data::deallocate(x); 7770: qt_noop(); 7770: } 7770: x->capacityReserved = d->capacityReserved; 7770: } else { 7770: do { } while ((false) && (int(d->alloc) == aalloc)); 7770: do { } while ((false) && (isDetached())); 7770: do { } while ((false) && (x == d)); 7770: if (asize <= d->size) { 7770: destruct(x->begin() + asize, x->end()); 7770: } else { 7770: defaultConstruct(x->end(), x->begin() + asize); 7770: } 7770: x->size = asize; 7770: } 7770: } else { 7770: x = Data::sharedNull(); 7770: } 7770: if (d != x) { 7770: if (!d->ref.deref()) { 7770: if (!QTypeInfoQuery::isRelocatable || !aalloc || (isShared && QTypeInfo::isComplex)) { 7770: 7770: 7770: freeData(d); 7770: } else { 7770: Data::deallocate(d); 7770: } 7770: } 7770: d = x; 7770: } 7770: 7770: do { } while ((false) && (d->data())); 7770: do { } while ((false) && (uint(d->size) <= d->alloc)); 7770: 7770: do { } while ((false) && (d != Data::unsharableEmpty())); 7770: 7770: do { } while ((false) && (aalloc ? d != Data::sharedNull() : d == Data::sharedNull())); 7770: do { } while ((false) && (d->alloc >= uint(aalloc))); 7770: do { } while ((false) && (d->size == asize)); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: template 7770: T QVector::value(int i) const 7770: { 7770: if (uint(i) >= uint(d->size)) { 7770: return T(); 7770: } 7770: return d->begin()[i]; 7770: } 7770: template 7770: T QVector::value(int i, const T &defaultValue) const 7770: { 7770: return uint(i) >= uint(d->size) ? defaultValue : d->begin()[i]; 7770: } 7770: 7770: template 7770: void QVector::append(const T &t) 7770: { 7770: const bool isTooSmall = uint(d->size + 1) > d->alloc; 7770: if (!isDetached() || isTooSmall) { 7770: T copy(t); 7770: QArrayData::AllocationOptions opt(isTooSmall ? QArrayData::Grow : QArrayData::Default); 7770: reallocData(d->size, isTooSmall ? d->size + 1 : d->alloc, opt); 7770: 7770: if (QTypeInfo::isComplex) 7770: new (d->end()) T(std::move(copy)); 7770: else 7770: *d->end() = std::move(copy); 7770: 7770: } else { 7770: if (QTypeInfo::isComplex) 7770: new (d->end()) T(t); 7770: else 7770: *d->end() = t; 7770: } 7770: ++d->size; 7770: } 7770: 7770: 7770: template 7770: void QVector::append(T &&t) 7770: { 7770: const bool isTooSmall = uint(d->size + 1) > d->alloc; 7770: if (!isDetached() || isTooSmall) { 7770: QArrayData::AllocationOptions opt(isTooSmall ? QArrayData::Grow : QArrayData::Default); 7770: reallocData(d->size, isTooSmall ? d->size + 1 : d->alloc, opt); 7770: } 7770: 7770: new (d->end()) T(std::move(t)); 7770: 7770: ++d->size; 7770: } 7770: 7770: 7770: template 7770: void QVector::removeLast() 7770: { 7770: do { } while ((false) && (!isEmpty())); 7770: do { } while ((false) && (d->alloc)); 7770: 7770: if (!d->ref.isShared()) { 7770: --d->size; 7770: if (QTypeInfo::isComplex) 7770: (d->data() + d->size)->~T(); 7770: } else { 7770: reallocData(d->size - 1); 7770: } 7770: } 7770: 7770: template 7770: typename QVector::iterator QVector::insert(iterator before, size_type n, const T &t) 7770: { 7770: do { } while ((false) && (isValidIterator(before))); 7770: 7770: const auto offset = std::distance(d->begin(), before); 7770: if (n != 0) { 7770: const T copy(t); 7770: if (!isDetached() || d->size + n > int(d->alloc)) 7770: reallocData(d->size, d->size + n, QArrayData::Grow); 7770: if (!QTypeInfoQuery::isRelocatable) { 7770: T *b = d->end(); 7770: T *i = d->end() + n; 7770: while (i != b) 7770: new (--i) T; 7770: i = d->end(); 7770: T *j = i + n; 7770: b = d->begin() + offset; 7770: while (i != b) 7770: *--j = *--i; 7770: i = b+n; 7770: while (i != b) 7770: *--i = copy; 7770: } else { 7770: T *b = d->begin() + offset; 7770: T *i = b + n; 7770: memmove(i, b, (d->size - offset) * sizeof(T)); 7770: while (i != b) 7770: new (--i) T(copy); 7770: } 7770: d->size += n; 7770: } 7770: return d->begin() + offset; 7770: } 7770: 7770: template 7770: typename QVector::iterator QVector::erase(iterator abegin, iterator aend) 7770: { 7770: do { } while ((false) && (isValidIterator(abegin))); 7770: do { } while ((false) && (isValidIterator(aend))); 7770: 7770: const auto itemsToErase = aend - abegin; 7770: 7770: if (!itemsToErase) 7770: return abegin; 7770: 7770: do { } while ((false) && (abegin >= d->begin())); 7770: do { } while ((false) && (aend <= d->end())); 7770: do { } while ((false) && (abegin <= aend)); 7770: 7770: const auto itemsUntouched = abegin - d->begin(); 7770: 7770: 7770: 7770: 7770: if (d->alloc) { 7770: detach(); 7770: abegin = d->begin() + itemsUntouched; 7770: aend = abegin + itemsToErase; 7770: if (!QTypeInfoQuery::isRelocatable) { 7770: iterator moveBegin = abegin + itemsToErase; 7770: iterator moveEnd = d->end(); 7770: while (moveBegin != moveEnd) { 7770: if (QTypeInfo::isComplex) 7770: static_cast(abegin)->~T(); 7770: new (abegin++) T(*moveBegin++); 7770: } 7770: if (abegin < d->end()) { 7770: 7770: destruct(abegin, d->end()); 7770: } 7770: } else { 7770: destruct(abegin, aend); 7770: 7770: 7770: 7770: memmove(static_cast(abegin), static_cast(aend), 7770: (d->size - itemsToErase - itemsUntouched) * sizeof(T)); 7770: } 7770: d->size -= int(itemsToErase); 7770: } 7770: return d->begin() + itemsUntouched; 7770: } 7770: 7770: template 7770: bool QVector::operator==(const QVector &v) const 7770: { 7770: if (d == v.d) 7770: return true; 7770: if (d->size != v.d->size) 7770: return false; 7770: const T *vb = v.d->begin(); 7770: const T *b = d->begin(); 7770: const T *e = d->end(); 7770: return std::equal(b, e, (vb)); 7770: } 7770: 7770: template 7770: QVector &QVector::fill(const T &from, int asize) 7770: { 7770: const T copy(from); 7770: resize(asize < 0 ? d->size : asize); 7770: if (d->size) { 7770: T *i = d->end(); 7770: T *b = d->begin(); 7770: while (i != b) 7770: *--i = copy; 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: QVector &QVector::operator+=(const QVector &l) 7770: { 7770: if (d == Data::sharedNull()) { 7770: *this = l; 7770: } else { 7770: uint newSize = d->size + l.d->size; 7770: const bool isTooSmall = newSize > d->alloc; 7770: if (!isDetached() || isTooSmall) { 7770: QArrayData::AllocationOptions opt(isTooSmall ? QArrayData::Grow : QArrayData::Default); 7770: reallocData(d->size, isTooSmall ? newSize : d->alloc, opt); 7770: } 7770: 7770: if (d->alloc) { 7770: T *w = d->begin() + newSize; 7770: T *i = l.d->end(); 7770: T *b = l.d->begin(); 7770: while (i != b) { 7770: if (QTypeInfo::isComplex) 7770: new (--w) T(*--i); 7770: else 7770: *--w = *--i; 7770: } 7770: d->size = newSize; 7770: } 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: int QVector::indexOf(const T &t, int from) const 7770: { 7770: if (from < 0) 7770: from = qMax(from + d->size, 0); 7770: if (from < d->size) { 7770: T* n = d->begin() + from - 1; 7770: T* e = d->end(); 7770: while (++n != e) 7770: if (*n == t) 7770: return n - d->begin(); 7770: } 7770: return -1; 7770: } 7770: 7770: template 7770: int QVector::lastIndexOf(const T &t, int from) const 7770: { 7770: if (from < 0) 7770: from += d->size; 7770: else if (from >= d->size) 7770: from = d->size-1; 7770: if (from >= 0) { 7770: T* b = d->begin(); 7770: T* n = d->begin() + from + 1; 7770: while (n != b) { 7770: if (*--n == t) 7770: return n - b; 7770: } 7770: } 7770: return -1; 7770: } 7770: 7770: template 7770: bool QVector::contains(const T &t) const 7770: { 7770: const T *b = d->begin(); 7770: const T *e = d->end(); 7770: return std::find(b, e, t) != e; 7770: } 7770: 7770: template 7770: int QVector::count(const T &t) const 7770: { 7770: const T *b = d->begin(); 7770: const T *e = d->end(); 7770: return int(std::count(b, e, t)); 7770: } 7770: 7770: template 7770: QVector QVector::mid(int pos, int len) const 7770: { 7770: using namespace QtPrivate; 7770: switch (QContainerImplHelper::mid(d->size, &pos, &len)) { 7770: case QContainerImplHelper::Null: 7770: case QContainerImplHelper::Empty: 7770: return QVector(); 7770: case QContainerImplHelper::Full: 7770: return *this; 7770: case QContainerImplHelper::Subset: 7770: break; 7770: } 7770: 7770: QVector midResult; 7770: midResult.reallocData(0, len); 7770: T *srcFrom = d->begin() + pos; 7770: T *srcTo = d->begin() + pos + len; 7770: midResult.copyConstruct(srcFrom, srcTo, midResult.data()); 7770: midResult.d->size = len; 7770: return midResult; 7770: } 7770: 7770: template 7770: QList QVector::toList() const 7770: { 7770: QList result; 7770: result.reserve(size()); 7770: for (int i = 0; i < size(); ++i) 7770: result.append(at(i)); 7770: return result; 7770: } 7770: 7770: template 7770: QVector QList::toVector() const 7770: { 7770: QVector result(size()); 7770: for (int i = 0; i < size(); ++i) 7770: result[i] = at(i); 7770: return result; 7770: } 7770: 7770: template 7770: QVector QVector::fromList(const QList &list) 7770: { 7770: return list.toVector(); 7770: } 7770: 7770: template 7770: QList QList::fromVector(const QVector &vector) 7770: { 7770: return vector.toList(); 7770: } 7770: 7770: 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; } }; 7770: 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; } }; 7770: 7770: template 7770: uint qHash(const QVector &key, uint seed = 0) 7770: noexcept(noexcept(qHashRange(key.cbegin(), key.cend(), seed))) 7770: { 7770: return qHashRange(key.cbegin(), key.cend(), seed); 7770: } 7770: 7770: template 7770: bool operator<(const QVector &lhs, const QVector &rhs) 7770: noexcept(noexcept(std::lexicographical_compare(lhs.begin(), lhs.end(), rhs.begin(), rhs.end()))) 7770: 7770: { 7770: return std::lexicographical_compare(lhs.begin(), lhs.end(), 7770: rhs.begin(), rhs.end()); 7770: } 7770: 7770: template 7770: inline bool operator>(const QVector &lhs, const QVector &rhs) 7770: noexcept(noexcept(lhs < rhs)) 7770: { 7770: return rhs < lhs; 7770: } 7770: 7770: template 7770: inline bool operator<=(const QVector &lhs, const QVector &rhs) 7770: noexcept(noexcept(lhs < rhs)) 7770: { 7770: return !(lhs > rhs); 7770: } 7770: 7770: template 7770: inline bool operator>=(const QVector &lhs, const QVector &rhs) 7770: noexcept(noexcept(lhs < rhs)) 7770: { 7770: return !(lhs < rhs); 7770: } 7770: # 1006 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvector.h" 3 4 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QVector" 2 3 4 7770: # 53 "places/qplacemanager.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QString" 1 3 4 7770: # 54 "places/qplacemanager.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QObject" 1 3 4 7770: # 55 "places/qplacemanager.h" 2 7770: # 1 "../../include/QtLocation/QPlaceIcon" 1 7770: # 1 "../../include/QtLocation/qplaceicon.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/places/qplaceicon.h" 1 7770: # 40 "../../include/QtLocation/../../src/location/places/qplaceicon.h" 7770: # 1 "../../include/QtLocation/qlocationglobal.h" 1 7770: # 41 "../../include/QtLocation/../../src/location/places/qplaceicon.h" 2 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QUrl" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qurl.h" 1 3 4 7770: # 56 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qurl.h" 3 4 7770: 7770: 7770: 7770: class QUrlQuery; 7770: class QUrlPrivate; 7770: class QDataStream; 7770: 7770: template 7770: class QUrlTwoFlags 7770: { 7770: int i; 7770: typedef int QUrlTwoFlags:: *Zero; 7770: public: 7770: constexpr inline QUrlTwoFlags(E1 f) : i(f) {} 7770: constexpr inline QUrlTwoFlags(E2 f) : i(f) {} 7770: constexpr inline QUrlTwoFlags(QFlag f) : i(f) {} 7770: constexpr inline QUrlTwoFlags(QFlags f) : i(f.operator typename QFlags::Int()) {} 7770: constexpr inline QUrlTwoFlags(QFlags f) : i(f.operator typename QFlags::Int()) {} 7770: constexpr inline QUrlTwoFlags(Zero = 0) : i(0) {} 7770: 7770: inline QUrlTwoFlags &operator&=(int mask) { i &= mask; return *this; } 7770: inline QUrlTwoFlags &operator&=(uint mask) { i &= mask; return *this; } 7770: inline QUrlTwoFlags &operator|=(QUrlTwoFlags f) { i |= f.i; return *this; } 7770: inline QUrlTwoFlags &operator|=(E1 f) { i |= f; return *this; } 7770: inline QUrlTwoFlags &operator|=(E2 f) { i |= f; return *this; } 7770: inline QUrlTwoFlags &operator^=(QUrlTwoFlags f) { i ^= f.i; return *this; } 7770: inline QUrlTwoFlags &operator^=(E1 f) { i ^= f; return *this; } 7770: inline QUrlTwoFlags &operator^=(E2 f) { i ^= f; return *this; } 7770: 7770: constexpr inline operator QFlags() const { return QFlag(i); } 7770: constexpr inline operator QFlags() const { return QFlag(i); } 7770: constexpr inline operator int() const { return i; } 7770: constexpr inline bool operator!() const { return !i; } 7770: 7770: constexpr inline QUrlTwoFlags operator|(QUrlTwoFlags f) const 7770: { return QUrlTwoFlags(QFlag(i | f.i)); } 7770: constexpr inline QUrlTwoFlags operator|(E1 f) const 7770: { return QUrlTwoFlags(QFlag(i | f)); } 7770: constexpr inline QUrlTwoFlags operator|(E2 f) const 7770: { return QUrlTwoFlags(QFlag(i | f)); } 7770: constexpr inline QUrlTwoFlags operator^(QUrlTwoFlags f) const 7770: { return QUrlTwoFlags(QFlag(i ^ f.i)); } 7770: constexpr inline QUrlTwoFlags operator^(E1 f) const 7770: { return QUrlTwoFlags(QFlag(i ^ f)); } 7770: constexpr inline QUrlTwoFlags operator^(E2 f) const 7770: { return QUrlTwoFlags(QFlag(i ^ f)); } 7770: constexpr inline QUrlTwoFlags operator&(int mask) const 7770: { return QUrlTwoFlags(QFlag(i & mask)); } 7770: constexpr inline QUrlTwoFlags operator&(uint mask) const 7770: { return QUrlTwoFlags(QFlag(i & mask)); } 7770: constexpr inline QUrlTwoFlags operator&(E1 f) const 7770: { return QUrlTwoFlags(QFlag(i & f)); } 7770: constexpr inline QUrlTwoFlags operator&(E2 f) const 7770: { return QUrlTwoFlags(QFlag(i & f)); } 7770: constexpr inline QUrlTwoFlags operator~() const 7770: { return QUrlTwoFlags(QFlag(~i)); } 7770: 7770: constexpr inline bool testFlag(E1 f) const { return (i & f) == f && (f != 0 || i == int(f)); } 7770: constexpr inline bool testFlag(E2 f) const { return (i & f) == f && (f != 0 || i == int(f)); } 7770: }; 7770: 7770: template 7770: class QTypeInfo > : public QTypeInfoMerger, E1, E2> {}; 7770: 7770: class QUrl; 7770: 7770: __attribute__((visibility("default"))) uint qHash(const QUrl &url, uint seed = 0) noexcept; 7770: 7770: class __attribute__((visibility("default"))) QUrl 7770: { 7770: public: 7770: enum ParsingMode { 7770: TolerantMode, 7770: StrictMode, 7770: DecodedMode 7770: }; 7770: 7770: 7770: enum UrlFormattingOption { 7770: None = 0x0, 7770: RemoveScheme = 0x1, 7770: RemovePassword = 0x2, 7770: RemoveUserInfo = RemovePassword | 0x4, 7770: RemovePort = 0x8, 7770: RemoveAuthority = RemoveUserInfo | RemovePort | 0x10, 7770: RemovePath = 0x20, 7770: RemoveQuery = 0x40, 7770: RemoveFragment = 0x80, 7770: 7770: PreferLocalFile = 0x200, 7770: StripTrailingSlash = 0x400, 7770: RemoveFilename = 0x800, 7770: NormalizePathSegments = 0x1000 7770: }; 7770: 7770: enum ComponentFormattingOption { 7770: PrettyDecoded = 0x000000, 7770: EncodeSpaces = 0x100000, 7770: EncodeUnicode = 0x200000, 7770: EncodeDelimiters = 0x400000 | 0x800000, 7770: EncodeReserved = 0x1000000, 7770: DecodeReserved = 0x2000000, 7770: 7770: 7770: FullyEncoded = EncodeSpaces | EncodeUnicode | EncodeDelimiters | EncodeReserved, 7770: FullyDecoded = FullyEncoded | DecodeReserved | 0x4000000 7770: }; 7770: typedef QFlags ComponentFormattingOptions; 7770: # 173 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qurl.h" 3 4 7770: typedef QUrlTwoFlags FormattingOptions; 7770: 7770: 7770: QUrl(); 7770: QUrl(const QUrl ©); 7770: QUrl &operator =(const QUrl ©); 7770: 7770: 7770: 7770: QUrl(const QString &url, ParsingMode mode = TolerantMode); 7770: QUrl &operator=(const QString &url); 7770: 7770: 7770: QUrl(QUrl &&other) noexcept : d(other.d) 7770: { other.d = nullptr; } 7770: inline QUrl &operator=(QUrl &&other) noexcept 7770: { qSwap(d, other.d); return *this; } 7770: 7770: ~QUrl(); 7770: 7770: inline void swap(QUrl &other) noexcept { qSwap(d, other.d); } 7770: 7770: void setUrl(const QString &url, ParsingMode mode = TolerantMode); 7770: QString url(FormattingOptions options = FormattingOptions(PrettyDecoded)) const; 7770: QString toString(FormattingOptions options = FormattingOptions(PrettyDecoded)) const; 7770: QString toDisplayString(FormattingOptions options = FormattingOptions(PrettyDecoded)) const; 7770: [[nodiscard]] QUrl adjusted(FormattingOptions options) const; 7770: 7770: QByteArray toEncoded(FormattingOptions options = FullyEncoded) const; 7770: static QUrl fromEncoded(const QByteArray &url, ParsingMode mode = TolerantMode); 7770: 7770: enum UserInputResolutionOption { 7770: DefaultResolution, 7770: AssumeLocalFile 7770: }; 7770: typedef QFlags UserInputResolutionOptions; 7770: 7770: static QUrl fromUserInput(const QString &userInput); 7770: 7770: static QUrl fromUserInput(const QString &userInput, const QString &workingDirectory, 7770: UserInputResolutionOptions options = DefaultResolution); 7770: 7770: bool isValid() const; 7770: QString errorString() const; 7770: 7770: bool isEmpty() const; 7770: void clear(); 7770: 7770: void setScheme(const QString &scheme); 7770: QString scheme() const; 7770: 7770: void setAuthority(const QString &authority, ParsingMode mode = TolerantMode); 7770: QString authority(ComponentFormattingOptions options = PrettyDecoded) const; 7770: 7770: void setUserInfo(const QString &userInfo, ParsingMode mode = TolerantMode); 7770: QString userInfo(ComponentFormattingOptions options = PrettyDecoded) const; 7770: 7770: void setUserName(const QString &userName, ParsingMode mode = DecodedMode); 7770: QString userName(ComponentFormattingOptions options = FullyDecoded) const; 7770: 7770: void setPassword(const QString &password, ParsingMode mode = DecodedMode); 7770: QString password(ComponentFormattingOptions = FullyDecoded) const; 7770: 7770: void setHost(const QString &host, ParsingMode mode = DecodedMode); 7770: QString host(ComponentFormattingOptions = FullyDecoded) const; 7770: 7770: QString topLevelDomain(ComponentFormattingOptions options = FullyDecoded) const; 7770: 7770: 7770: void setPort(int port); 7770: int port(int defaultPort = -1) const; 7770: 7770: void setPath(const QString &path, ParsingMode mode = DecodedMode); 7770: QString path(ComponentFormattingOptions options = FullyDecoded) const; 7770: QString fileName(ComponentFormattingOptions options = FullyDecoded) const; 7770: 7770: bool hasQuery() const; 7770: void setQuery(const QString &query, ParsingMode mode = TolerantMode); 7770: void setQuery(const QUrlQuery &query); 7770: QString query(ComponentFormattingOptions = PrettyDecoded) const; 7770: 7770: bool hasFragment() const; 7770: QString fragment(ComponentFormattingOptions options = PrettyDecoded) const; 7770: void setFragment(const QString &fragment, ParsingMode mode = TolerantMode); 7770: 7770: [[nodiscard]] QUrl resolved(const QUrl &relative) const; 7770: 7770: bool isRelative() const; 7770: bool isParentOf(const QUrl &url) const; 7770: 7770: bool isLocalFile() const; 7770: static QUrl fromLocalFile(const QString &localfile); 7770: QString toLocalFile() const; 7770: 7770: void detach(); 7770: bool isDetached() const; 7770: 7770: bool operator <(const QUrl &url) const; 7770: bool operator ==(const QUrl &url) const; 7770: bool operator !=(const QUrl &url) const; 7770: 7770: bool matches(const QUrl &url, FormattingOptions options) const; 7770: 7770: static QString fromPercentEncoding(const QByteArray &); 7770: static QByteArray toPercentEncoding(const QString &, 7770: const QByteArray &exclude = QByteArray(), 7770: const QByteArray &include = QByteArray()); 7770: # 353 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qurl.h" 3 4 7770: private: 7770: static QString fromEncodedComponent_helper(const QByteArray &ba); 7770: 7770: public: 7770: static QString fromAce(const QByteArray &); 7770: static QByteArray toAce(const QString &); 7770: static QStringList idnWhitelist(); 7770: static QStringList toStringList(const QList &uris, FormattingOptions options = FormattingOptions(PrettyDecoded)); 7770: static QList fromStringList(const QStringList &uris, ParsingMode mode = TolerantMode); 7770: 7770: static void setIdnWhitelist(const QStringList &); 7770: friend __attribute__((visibility("default"))) uint qHash(const QUrl &url, uint seed) noexcept; 7770: 7770: private: 7770: QUrlPrivate *d; 7770: friend class QUrlQuery; 7770: 7770: public: 7770: typedef QUrlPrivate * DataPtr; 7770: inline DataPtr &data_ptr() { return d; } 7770: }; 7770: 7770: 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(QUrl)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QUrl >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QUrl) }; static inline const char *name() { return "QUrl"; } }; inline void swap(QUrl &value1, QUrl &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 7770: constexpr inline QFlags operator|(QUrl::ComponentFormattingOptions::enum_type f1, QUrl::ComponentFormattingOptions::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(QUrl::ComponentFormattingOptions::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(QUrl::ComponentFormattingOptions::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 7770: 7770: 7770: 7770: constexpr inline QUrl::FormattingOptions operator|(QUrl::UrlFormattingOption f1, QUrl::UrlFormattingOption f2) 7770: { return QUrl::FormattingOptions(f1) | f2; } 7770: constexpr inline QUrl::FormattingOptions operator|(QUrl::UrlFormattingOption f1, QUrl::FormattingOptions f2) 7770: { return f2 | f1; } 7770: constexpr inline QIncompatibleFlag operator|(QUrl::UrlFormattingOption f1, int f2) 7770: { return QIncompatibleFlag(int(f1) | f2); } 7770: 7770: 7770: inline QUrl::FormattingOptions &operator|=(QUrl::FormattingOptions &i, QUrl::ComponentFormattingOptions f) 7770: { i |= QUrl::UrlFormattingOption(int(f)); return i; } 7770: constexpr inline QUrl::FormattingOptions operator|(QUrl::UrlFormattingOption i, QUrl::ComponentFormattingOption f) 7770: { return i | QUrl::UrlFormattingOption(int(f)); } 7770: constexpr inline QUrl::FormattingOptions operator|(QUrl::UrlFormattingOption i, QUrl::ComponentFormattingOptions f) 7770: { return i | QUrl::UrlFormattingOption(int(f)); } 7770: constexpr inline QUrl::FormattingOptions operator|(QUrl::ComponentFormattingOption f, QUrl::UrlFormattingOption i) 7770: { return i | QUrl::UrlFormattingOption(int(f)); } 7770: constexpr inline QUrl::FormattingOptions operator|(QUrl::ComponentFormattingOptions f, QUrl::UrlFormattingOption i) 7770: { return i | QUrl::UrlFormattingOption(int(f)); } 7770: constexpr inline QUrl::FormattingOptions operator|(QUrl::FormattingOptions i, QUrl::ComponentFormattingOptions f) 7770: { return i | QUrl::UrlFormattingOption(int(f)); } 7770: constexpr inline QUrl::FormattingOptions operator|(QUrl::ComponentFormattingOption f, QUrl::FormattingOptions i) 7770: { return i | QUrl::UrlFormattingOption(int(f)); } 7770: constexpr inline QUrl::FormattingOptions operator|(QUrl::ComponentFormattingOptions f, QUrl::FormattingOptions i) 7770: { return i | QUrl::UrlFormattingOption(int(f)); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QUrl &); 7770: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QUrl &); 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QUrl &); 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QUrl" 2 3 4 7770: # 43 "../../include/QtLocation/../../src/location/places/qplaceicon.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QFlags" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qflags.h" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QFlags" 2 3 4 7770: # 44 "../../include/QtLocation/../../src/location/places/qplaceicon.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QMetaType" 1 3 4 7770: # 45 "../../include/QtLocation/../../src/location/places/qplaceicon.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSize" 1 3 4 7770: # 46 "../../include/QtLocation/../../src/location/places/qplaceicon.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSharedDataPointer" 1 3 4 7770: # 47 "../../include/QtLocation/../../src/location/places/qplaceicon.h" 2 7770: 7770: 7770: 7770: 7770: # 50 "../../include/QtLocation/../../src/location/places/qplaceicon.h" 7770: class QPlaceManager; 7770: 7770: class QPlaceIconPrivate; 7770: class 7770: # 53 "../../include/QtLocation/../../src/location/places/qplaceicon.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 53 "../../include/QtLocation/../../src/location/places/qplaceicon.h" 7770: QPlaceIcon 7770: { 7770: public: 7770: static const QString SingleUrl; 7770: 7770: QPlaceIcon(); 7770: QPlaceIcon(const QPlaceIcon &other); 7770: 7770: ~QPlaceIcon(); 7770: 7770: QPlaceIcon &operator=(const QPlaceIcon &other); 7770: bool operator == (const QPlaceIcon &other) const; 7770: bool operator != (const QPlaceIcon &other) const { 7770: return !(*this == other); 7770: } 7770: 7770: QUrl url(const QSize &size = QSize()) const; 7770: 7770: QPlaceManager *manager() const; 7770: void setManager(QPlaceManager *manager); 7770: 7770: QVariantMap parameters() const; 7770: void setParameters(const QVariantMap ¶meters); 7770: 7770: bool isEmpty() const; 7770: 7770: private: 7770: QSharedDataPointer d; 7770: }; 7770: 7770: 7770: 7770: 7770: # 85 "../../include/QtLocation/../../src/location/places/qplaceicon.h" 3 4 7770: template <> struct QMetaTypeId< 7770: # 85 "../../include/QtLocation/../../src/location/places/qplaceicon.h" 7770: QPlaceIcon 7770: # 85 "../../include/QtLocation/../../src/location/places/qplaceicon.h" 3 4 7770: > { 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< 7770: # 85 "../../include/QtLocation/../../src/location/places/qplaceicon.h" 7770: QPlaceIcon 7770: # 85 "../../include/QtLocation/../../src/location/places/qplaceicon.h" 3 4 7770: >( 7770: # 85 "../../include/QtLocation/../../src/location/places/qplaceicon.h" 7770: "QPlaceIcon" 7770: # 85 "../../include/QtLocation/../../src/location/places/qplaceicon.h" 3 4 7770: , reinterpret_cast< 7770: # 85 "../../include/QtLocation/../../src/location/places/qplaceicon.h" 7770: QPlaceIcon 7770: # 85 "../../include/QtLocation/../../src/location/places/qplaceicon.h" 3 4 7770: *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; 7770: # 1 "../../include/QtLocation/qplaceicon.h" 2 7770: # 1 "../../include/QtLocation/QPlaceIcon" 2 7770: # 56 "places/qplacemanager.h" 2 7770: 7770: 7770: 7770: 7770: # 59 "places/qplacemanager.h" 7770: class QPlaceManagerEngine; 7770: class QPlaceSearchRequest; 7770: class QPlaceSearchReply; 7770: 7770: class 7770: # 63 "places/qplacemanager.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 63 "places/qplacemanager.h" 7770: QPlaceManager : public QObject 7770: { 7770: 7770: # 65 "places/qplacemanager.h" 3 4 7770: public: 7770: # 65 "places/qplacemanager.h" 7770: #pragma GCC diagnostic push 7770: # 65 "places/qplacemanager.h" 7770: 7770: # 65 "places/qplacemanager.h" 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 65 "places/qplacemanager.h" 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 65 "places/qplacemanager.h" 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 65 "places/qplacemanager.h" 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 65 "places/qplacemanager.h" 7770: #pragma GCC diagnostic pop 7770: # 65 "places/qplacemanager.h" 7770: struct QPrivateSignal {}; 7770: 7770: # 66 "places/qplacemanager.h" 7770: public: 7770: ~QPlaceManager(); 7770: 7770: QString managerName() const; 7770: int managerVersion() const; 7770: 7770: QPlaceDetailsReply *getPlaceDetails(const QString &placeId) const; 7770: 7770: QPlaceContentReply *getPlaceContent(const QPlaceContentRequest &request) const; 7770: 7770: QPlaceSearchReply *search(const QPlaceSearchRequest &query) const; 7770: 7770: QPlaceSearchSuggestionReply *searchSuggestions(const QPlaceSearchRequest &request) const; 7770: 7770: QPlaceIdReply *savePlace(const QPlace &place); 7770: QPlaceIdReply *removePlace(const QString &placeId); 7770: 7770: QPlaceIdReply *saveCategory(const QPlaceCategory &category, const QString &parentId = QString()); 7770: QPlaceIdReply *removeCategory(const QString &categoryId); 7770: 7770: QPlaceReply *initializeCategories(); 7770: QString parentCategoryId(const QString &categoryId) const; 7770: QStringList childCategoryIds(const QString &parentId = QString()) const; 7770: 7770: QPlaceCategory category(const QString &categoryId) const; 7770: QList childCategories(const QString &parentId = QString()) const; 7770: 7770: QList locales() const; 7770: void setLocale(const QLocale &locale); 7770: void setLocales(const QList &locale); 7770: 7770: QPlace compatiblePlace(const QPlace &place); 7770: 7770: QPlaceMatchReply *matchingPlaces(const QPlaceMatchRequest &request) const; 7770: 7770: 7770: # 101 "places/qplacemanager.h" 3 4 7770: public 7770: # 101 "places/qplacemanager.h" 7770: : 7770: void finished(QPlaceReply *reply); 7770: void error(QPlaceReply *, QPlaceReply::Error error, const QString &errorString = QString()); 7770: 7770: void placeAdded(const QString &placeId); 7770: void placeUpdated(const QString &placeId); 7770: void placeRemoved(const QString &placeId); 7770: 7770: void categoryAdded(const QPlaceCategory &category, const QString &parentId); 7770: void categoryUpdated(const QPlaceCategory &category, const QString &parentId); 7770: void categoryRemoved(const QString &categoryId, const QString &parentId); 7770: void dataChanged(); 7770: 7770: private: 7770: explicit QPlaceManager(QPlaceManagerEngine *engine, QObject *parent = 7770: # 115 "places/qplacemanager.h" 3 4 7770: nullptr 7770: # 115 "places/qplacemanager.h" 7770: ); 7770: QPlaceManager 7770: # 116 "places/qplacemanager.h" 3 4 7770: (const 7770: # 116 "places/qplacemanager.h" 7770: QPlaceManager 7770: # 116 "places/qplacemanager.h" 3 4 7770: &) = delete; 7770: # 116 "places/qplacemanager.h" 7770: QPlaceManager 7770: # 116 "places/qplacemanager.h" 3 4 7770: &operator=(const 7770: # 116 "places/qplacemanager.h" 7770: QPlaceManager 7770: # 116 "places/qplacemanager.h" 3 4 7770: &) = delete; 7770: 7770: 7770: # 118 "places/qplacemanager.h" 7770: QPlaceManagerEngine *d; 7770: 7770: friend class QGeoServiceProvider; 7770: friend class QGeoServiceProviderPrivate; 7770: friend class QPlaceIcon; 7770: }; 7770: 7770: 7770: # 45 "maps/qgeoserviceprovider.cpp" 2 7770: # 1 "maps/qgeocodingmanagerengine.h" 1 7770: # 40 "maps/qgeocodingmanagerengine.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QObject" 1 3 4 7770: # 41 "maps/qgeocodingmanagerengine.h" 2 7770: # 1 "../../include/QtLocation/qlocationglobal.h" 1 7770: # 42 "maps/qgeocodingmanagerengine.h" 2 7770: # 1 "../../include/QtLocation/QGeoCodeReply" 1 7770: # 1 "../../include/QtLocation/qgeocodereply.h" 1 7770: # 1 "../../include/QtLocation/QGeoCodeReply" 2 7770: # 43 "maps/qgeocodingmanagerengine.h" 2 7770: 7770: 7770: 7770: class QGeoAddress; 7770: class QGeoShape; 7770: class QGeoCodingManagerEnginePrivate; 7770: 7770: class 7770: # 50 "maps/qgeocodingmanagerengine.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 50 "maps/qgeocodingmanagerengine.h" 7770: QGeoCodingManagerEngine : public QObject 7770: { 7770: 7770: # 52 "maps/qgeocodingmanagerengine.h" 3 4 7770: public: 7770: # 52 "maps/qgeocodingmanagerengine.h" 7770: #pragma GCC diagnostic push 7770: # 52 "maps/qgeocodingmanagerengine.h" 7770: 7770: # 52 "maps/qgeocodingmanagerengine.h" 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 52 "maps/qgeocodingmanagerengine.h" 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 52 "maps/qgeocodingmanagerengine.h" 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 52 "maps/qgeocodingmanagerengine.h" 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 52 "maps/qgeocodingmanagerengine.h" 7770: #pragma GCC diagnostic pop 7770: # 52 "maps/qgeocodingmanagerengine.h" 7770: struct QPrivateSignal {}; 7770: 7770: # 53 "maps/qgeocodingmanagerengine.h" 7770: public: 7770: explicit QGeoCodingManagerEngine(const QVariantMap ¶meters, QObject *parent = 7770: # 54 "maps/qgeocodingmanagerengine.h" 3 4 7770: nullptr 7770: # 54 "maps/qgeocodingmanagerengine.h" 7770: ); 7770: virtual ~QGeoCodingManagerEngine(); 7770: 7770: QString managerName() const; 7770: int managerVersion() const; 7770: 7770: virtual QGeoCodeReply *geocode(const QGeoAddress &address, const QGeoShape &bounds); 7770: virtual QGeoCodeReply *geocode(const QString &address, 7770: int limit, 7770: int offset, 7770: const QGeoShape &bounds); 7770: virtual QGeoCodeReply *reverseGeocode(const QGeoCoordinate &coordinate, 7770: const QGeoShape &bounds); 7770: 7770: 7770: void setLocale(const QLocale &locale); 7770: QLocale locale() const; 7770: 7770: 7770: # 72 "maps/qgeocodingmanagerengine.h" 3 4 7770: public 7770: # 72 "maps/qgeocodingmanagerengine.h" 7770: : 7770: void finished(QGeoCodeReply *reply); 7770: void error(QGeoCodeReply *reply, QGeoCodeReply::Error error, QString errorString = QString()); 7770: 7770: private: 7770: void setManagerName(const QString &managerName); 7770: void setManagerVersion(int managerVersion); 7770: 7770: QGeoCodingManagerEnginePrivate *d_ptr; 7770: QGeoCodingManagerEngine 7770: # 81 "maps/qgeocodingmanagerengine.h" 3 4 7770: (const 7770: # 81 "maps/qgeocodingmanagerengine.h" 7770: QGeoCodingManagerEngine 7770: # 81 "maps/qgeocodingmanagerengine.h" 3 4 7770: &) = delete; 7770: # 81 "maps/qgeocodingmanagerengine.h" 7770: QGeoCodingManagerEngine 7770: # 81 "maps/qgeocodingmanagerengine.h" 3 4 7770: &operator=(const 7770: # 81 "maps/qgeocodingmanagerengine.h" 7770: QGeoCodingManagerEngine 7770: # 81 "maps/qgeocodingmanagerengine.h" 3 4 7770: &) = delete; 7770: 7770: 7770: # 83 "maps/qgeocodingmanagerengine.h" 7770: friend class QGeoServiceProvider; 7770: friend class QGeoServiceProviderPrivate; 7770: }; 7770: 7770: 7770: # 46 "maps/qgeoserviceprovider.cpp" 2 7770: # 1 "maps/qgeomappingmanagerengine_p.h" 1 7770: # 51 "maps/qgeomappingmanagerengine_p.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QObject" 1 3 4 7770: # 52 "maps/qgeomappingmanagerengine_p.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSize" 1 3 4 7770: # 53 "maps/qgeomappingmanagerengine_p.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QPair" 1 3 4 7770: # 54 "maps/qgeomappingmanagerengine_p.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSet" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qset.h" 1 3 4 7770: # 50 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qset.h" 3 4 7770: 7770: 7770: 7770: 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qset.h" 3 4 7770: template 7770: class QSet 7770: { 7770: typedef QHash Hash; 7770: 7770: public: 7770: inline QSet() noexcept {} 7770: 7770: inline QSet(std::initializer_list list) 7770: { 7770: reserve(int(list.size())); 7770: for (typename std::initializer_list::const_iterator it = list.begin(); it != list.end(); ++it) 7770: insert(*it); 7770: } 7770: 7770: 7770: 7770: 7770: inline void swap(QSet &other) noexcept { q_hash.swap(other.q_hash); } 7770: 7770: inline bool operator==(const QSet &other) const 7770: { return q_hash == other.q_hash; } 7770: inline bool operator!=(const QSet &other) const 7770: { return q_hash != other.q_hash; } 7770: 7770: inline int size() const { return q_hash.size(); } 7770: 7770: inline bool isEmpty() const { return q_hash.isEmpty(); } 7770: 7770: inline int capacity() const { return q_hash.capacity(); } 7770: inline void reserve(int size); 7770: inline void squeeze() { q_hash.squeeze(); } 7770: 7770: inline void detach() { q_hash.detach(); } 7770: inline bool isDetached() const { return q_hash.isDetached(); } 7770: 7770: inline void setSharable(bool sharable) { q_hash.setSharable(sharable); } 7770: 7770: 7770: inline void clear() { q_hash.clear(); } 7770: 7770: inline bool remove(const T &value) { return q_hash.remove(value) != 0; } 7770: 7770: inline bool contains(const T &value) const { return q_hash.contains(value); } 7770: 7770: bool contains(const QSet &set) const; 7770: 7770: class const_iterator; 7770: 7770: class iterator 7770: { 7770: typedef QHash Hash; 7770: typename Hash::iterator i; 7770: friend class const_iterator; 7770: friend class QSet; 7770: 7770: public: 7770: typedef std::bidirectional_iterator_tag iterator_category; 7770: typedef qptrdiff difference_type; 7770: typedef T value_type; 7770: typedef const T *pointer; 7770: typedef const T &reference; 7770: 7770: inline iterator() {} 7770: inline iterator(typename Hash::iterator o) : i(o) {} 7770: inline iterator(const iterator &o) : i(o.i) {} 7770: inline iterator &operator=(const iterator &o) { i = o.i; return *this; } 7770: inline const T &operator*() const { return i.key(); } 7770: inline const T *operator->() const { return &i.key(); } 7770: inline bool operator==(const iterator &o) const { return i == o.i; } 7770: inline bool operator!=(const iterator &o) const { return i != o.i; } 7770: inline bool operator==(const const_iterator &o) const 7770: { return i == o.i; } 7770: inline bool operator!=(const const_iterator &o) const 7770: { return i != o.i; } 7770: inline iterator &operator++() { ++i; return *this; } 7770: inline iterator operator++(int) { iterator r = *this; ++i; return r; } 7770: inline iterator &operator--() { --i; return *this; } 7770: inline iterator operator--(int) { iterator r = *this; --i; return r; } 7770: inline iterator operator+(int j) const { return i + j; } 7770: inline iterator operator-(int j) const { return i - j; } 7770: inline iterator &operator+=(int j) { i += j; return *this; } 7770: inline iterator &operator-=(int j) { i -= j; return *this; } 7770: }; 7770: 7770: class const_iterator 7770: { 7770: typedef QHash Hash; 7770: typename Hash::const_iterator i; 7770: friend class iterator; 7770: friend class QSet; 7770: 7770: public: 7770: typedef std::bidirectional_iterator_tag iterator_category; 7770: typedef qptrdiff difference_type; 7770: typedef T value_type; 7770: typedef const T *pointer; 7770: typedef const T &reference; 7770: 7770: inline const_iterator() {} 7770: inline const_iterator(typename Hash::const_iterator o) : i(o) {} 7770: inline const_iterator(const const_iterator &o) : i(o.i) {} 7770: inline const_iterator(const iterator &o) 7770: : i(o.i) {} 7770: inline const_iterator &operator=(const const_iterator &o) { i = o.i; return *this; } 7770: inline const T &operator*() const { return i.key(); } 7770: inline const T *operator->() const { return &i.key(); } 7770: inline bool operator==(const const_iterator &o) const { return i == o.i; } 7770: inline bool operator!=(const const_iterator &o) const { return i != o.i; } 7770: inline const_iterator &operator++() { ++i; return *this; } 7770: inline const_iterator operator++(int) { const_iterator r = *this; ++i; return r; } 7770: inline const_iterator &operator--() { --i; return *this; } 7770: inline const_iterator operator--(int) { const_iterator r = *this; --i; return r; } 7770: inline const_iterator operator+(int j) const { return i + j; } 7770: inline const_iterator operator-(int j) const { return i - j; } 7770: inline const_iterator &operator+=(int j) { i += j; return *this; } 7770: inline const_iterator &operator-=(int j) { i -= j; return *this; } 7770: }; 7770: 7770: 7770: typedef std::reverse_iterator reverse_iterator; 7770: typedef std::reverse_iterator const_reverse_iterator; 7770: 7770: inline iterator begin() { return q_hash.begin(); } 7770: inline const_iterator begin() const noexcept { return q_hash.begin(); } 7770: inline const_iterator cbegin() const noexcept { return q_hash.begin(); } 7770: inline const_iterator constBegin() const noexcept { return q_hash.constBegin(); } 7770: inline iterator end() { return q_hash.end(); } 7770: inline const_iterator end() const noexcept { return q_hash.end(); } 7770: inline const_iterator cend() const noexcept { return q_hash.end(); } 7770: inline const_iterator constEnd() const noexcept { return q_hash.constEnd(); } 7770: 7770: reverse_iterator rbegin() { return reverse_iterator(end()); } 7770: reverse_iterator rend() { return reverse_iterator(begin()); } 7770: const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(end()); } 7770: const_reverse_iterator rend() const noexcept { return const_reverse_iterator(begin()); } 7770: const_reverse_iterator crbegin() const noexcept { return const_reverse_iterator(end()); } 7770: const_reverse_iterator crend() const noexcept { return const_reverse_iterator(begin()); } 7770: 7770: iterator erase(iterator i) 7770: { return erase(m2c(i)); } 7770: iterator erase(const_iterator i) 7770: { 7770: do { } while ((false) && (isValidIterator(i))); 7770: return q_hash.erase(reinterpret_cast(i)); 7770: } 7770: 7770: 7770: typedef iterator Iterator; 7770: typedef const_iterator ConstIterator; 7770: inline int count() const { return q_hash.count(); } 7770: inline iterator insert(const T &value) 7770: { return static_cast(q_hash.insert(value, QHashDummyValue())); } 7770: iterator find(const T &value) { return q_hash.find(value); } 7770: const_iterator find(const T &value) const { return q_hash.find(value); } 7770: inline const_iterator constFind(const T &value) const { return find(value); } 7770: QSet &unite(const QSet &other); 7770: QSet &intersect(const QSet &other); 7770: bool intersects(const QSet &other) const; 7770: QSet &subtract(const QSet &other); 7770: 7770: 7770: typedef T key_type; 7770: typedef T value_type; 7770: typedef value_type *pointer; 7770: typedef const value_type *const_pointer; 7770: typedef value_type &reference; 7770: typedef const value_type &const_reference; 7770: typedef qptrdiff difference_type; 7770: typedef int size_type; 7770: 7770: inline bool empty() const { return isEmpty(); } 7770: 7770: inline QSet &operator<<(const T &value) { insert(value); return *this; } 7770: inline QSet &operator|=(const QSet &other) { unite(other); return *this; } 7770: inline QSet &operator|=(const T &value) { insert(value); return *this; } 7770: inline QSet &operator&=(const QSet &other) { intersect(other); return *this; } 7770: inline QSet &operator&=(const T &value) 7770: { QSet result; if (contains(value)) result.insert(value); return (*this = result); } 7770: inline QSet &operator+=(const QSet &other) { unite(other); return *this; } 7770: inline QSet &operator+=(const T &value) { insert(value); return *this; } 7770: inline QSet &operator-=(const QSet &other) { subtract(other); return *this; } 7770: inline QSet &operator-=(const T &value) { remove(value); return *this; } 7770: inline QSet operator|(const QSet &other) const 7770: { QSet result = *this; result |= other; return result; } 7770: inline QSet operator&(const QSet &other) const 7770: { QSet result = *this; result &= other; return result; } 7770: inline QSet operator+(const QSet &other) const 7770: { QSet result = *this; result += other; return result; } 7770: inline QSet operator-(const QSet &other) const 7770: { QSet result = *this; result -= other; return result; } 7770: 7770: QList toList() const; 7770: inline QList values() const { return toList(); } 7770: 7770: static QSet fromList(const QList &list); 7770: 7770: private: 7770: Hash q_hash; 7770: 7770: static const_iterator m2c(iterator it) noexcept 7770: { return const_iterator(typename Hash::const_iterator(it.i.i)); } 7770: 7770: bool isValidIterator(const iterator &i) const 7770: { 7770: return q_hash.isValidIterator(reinterpret_cast(i)); 7770: } 7770: bool isValidIterator(const const_iterator &i) const noexcept 7770: { 7770: return q_hash.isValidIterator(reinterpret_cast(i)); 7770: } 7770: }; 7770: 7770: template 7770: uint qHash(const QSet &key, uint seed = 0) 7770: noexcept(noexcept(qHashRangeCommutative(key.begin(), key.end(), seed))) 7770: { 7770: return qHashRangeCommutative(key.begin(), key.end(), seed); 7770: } 7770: 7770: 7770: 7770: template 7770: inline void QSet::reserve(int asize) { q_hash.reserve(asize); } 7770: 7770: template 7770: inline QSet &QSet::unite(const QSet &other) 7770: { 7770: QSet copy(other); 7770: typename QSet::const_iterator i = copy.constEnd(); 7770: while (i != copy.constBegin()) { 7770: --i; 7770: insert(*i); 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: inline QSet &QSet::intersect(const QSet &other) 7770: { 7770: QSet copy1; 7770: QSet copy2; 7770: if (size() <= other.size()) { 7770: copy1 = *this; 7770: copy2 = other; 7770: } else { 7770: copy1 = other; 7770: copy2 = *this; 7770: *this = copy1; 7770: } 7770: typename QSet::const_iterator i = copy1.constEnd(); 7770: while (i != copy1.constBegin()) { 7770: --i; 7770: if (!copy2.contains(*i)) 7770: remove(*i); 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: inline bool QSet::intersects(const QSet &other) const 7770: { 7770: const bool otherIsBigger = other.size() > size(); 7770: const QSet &smallestSet = otherIsBigger ? *this : other; 7770: const QSet &biggestSet = otherIsBigger ? other : *this; 7770: const bool equalSeeds = q_hash.d->seed == other.q_hash.d->seed; 7770: typename QSet::const_iterator i = smallestSet.cbegin(); 7770: typename QSet::const_iterator e = smallestSet.cend(); 7770: 7770: if (__builtin_expect(!!(equalSeeds), true)) { 7770: 7770: while (i != e) { 7770: if (*biggestSet.q_hash.findNode(*i, i.i.i->h) != biggestSet.q_hash.e) 7770: return true; 7770: ++i; 7770: } 7770: } else { 7770: while (i != e) { 7770: if (biggestSet.contains(*i)) 7770: return true; 7770: ++i; 7770: } 7770: } 7770: 7770: return false; 7770: } 7770: 7770: template 7770: inline QSet &QSet::subtract(const QSet &other) 7770: { 7770: if (&other == this) { 7770: clear(); 7770: } else { 7770: auto i = other.constEnd(); 7770: while (i != other.constBegin()) { 7770: --i; 7770: remove(*i); 7770: } 7770: } 7770: return *this; 7770: } 7770: 7770: template 7770: inline bool QSet::contains(const QSet &other) const 7770: { 7770: typename QSet::const_iterator i = other.constBegin(); 7770: while (i != other.constEnd()) { 7770: if (!contains(*i)) 7770: return false; 7770: ++i; 7770: } 7770: return true; 7770: } 7770: 7770: template 7770: QList QSet::toList() const 7770: { 7770: QList result; 7770: result.reserve(size()); 7770: typename QSet::const_iterator i = constBegin(); 7770: while (i != constEnd()) { 7770: result.append(*i); 7770: ++i; 7770: } 7770: return result; 7770: } 7770: 7770: template 7770: QSet QList::toSet() const 7770: { 7770: QSet result; 7770: result.reserve(size()); 7770: for (int i = 0; i < size(); ++i) 7770: result.insert(at(i)); 7770: return result; 7770: } 7770: 7770: template 7770: QSet QSet::fromList(const QList &list) 7770: { 7770: return list.toSet(); 7770: } 7770: 7770: template 7770: QList QList::fromSet(const QSet &set) 7770: { 7770: return set.toList(); 7770: } 7770: 7770: 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; } }; 7770: 7770: template 7770: class QMutableSetIterator 7770: { 7770: typedef typename QSet::iterator iterator; 7770: QSet *c; 7770: iterator i, n; 7770: inline bool item_exists() const { return c->constEnd() != n; } 7770: 7770: public: 7770: inline QMutableSetIterator(QSet &container) 7770: : c(&container) 7770: { i = c->begin(); n = c->end(); } 7770: inline QMutableSetIterator &operator=(QSet &container) 7770: { c = &container; i = c->begin(); n = c->end(); return *this; } 7770: inline void toFront() { i = c->begin(); n = c->end(); } 7770: inline void toBack() { i = c->end(); n = i; } 7770: inline bool hasNext() const { return c->constEnd() != i; } 7770: inline const T &next() { n = i++; return *n; } 7770: inline const T &peekNext() const { return *i; } 7770: inline bool hasPrevious() const { return c->constBegin() != i; } 7770: inline const T &previous() { n = --i; return *n; } 7770: inline const T &peekPrevious() const { iterator p = i; return *--p; } 7770: inline void remove() 7770: { if (c->constEnd() != n) { i = c->erase(n); n = c->end(); } } 7770: inline const T &value() const { do { } while ((false) && (item_exists())); return *n; } 7770: inline bool findNext(const T &t) 7770: { while (c->constEnd() != (n = i)) if (*i++ == t) return true; return false; } 7770: inline bool findPrevious(const T &t) 7770: { while (c->constBegin() != i) if (*(n = --i) == t) return true; 7770: n = c->end(); return false; } 7770: }; 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QSet" 2 3 4 7770: # 55 "maps/qgeomappingmanagerengine_p.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtGui/QList" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 1 3 4 7770: # 43 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qtguiglobal.h" 1 3 4 7770: # 44 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qtguiglobal.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qtgui-config.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qtguiglobal.h" 2 3 4 7770: 7770: 7770: # 58 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qtguiglobal.h" 3 4 7770: 7770: # 44 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qwindowdefs.h" 1 3 4 7770: # 47 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qwindowdefs.h" 3 4 7770: 7770: 7770: 7770: 7770: 7770: class QPaintDevice; 7770: class QWidget; 7770: class QWindow; 7770: class QDialog; 7770: class QColor; 7770: class QPalette; 7770: class QCursor; 7770: class QPoint; 7770: class QSize; 7770: class QRect; 7770: class QPolygon; 7770: class QPainter; 7770: class QRegion; 7770: class QFont; 7770: class QFontMetrics; 7770: class QFontInfo; 7770: class QPen; 7770: class QBrush; 7770: class QMatrix; 7770: class QPixmap; 7770: class QBitmap; 7770: class QMovie; 7770: class QImage; 7770: class QPicture; 7770: class QTimer; 7770: class QTime; 7770: class QClipboard; 7770: class QString; 7770: class QByteArray; 7770: class QApplication; 7770: 7770: template class QList; 7770: typedef QList QWidgetList; 7770: typedef QList QWindowList; 7770: 7770: 7770: # 99 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qwindowdefs.h" 3 4 7770: typedef ::quintptr WId; 7770: 7770: 7770: 7770: 7770: 7770: template class QHash; 7770: typedef QHash QWidgetMapper; 7770: 7770: template class QSet; 7770: typedef QSet QWidgetSet; 7770: 7770: 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qregion.h" 1 3 4 7770: # 44 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qregion.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qregion.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qrect.h" 1 3 4 7770: # 43 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qrect.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmargins.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmargins.h" 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: class QMargins 7770: { 7770: public: 7770: constexpr QMargins() noexcept; 7770: constexpr QMargins(int left, int top, int right, int bottom) noexcept; 7770: 7770: constexpr bool isNull() const noexcept; 7770: 7770: constexpr int left() const noexcept; 7770: constexpr int top() const noexcept; 7770: constexpr int right() const noexcept; 7770: constexpr int bottom() const noexcept; 7770: 7770: constexpr void setLeft(int left) noexcept; 7770: constexpr void setTop(int top) noexcept; 7770: constexpr void setRight(int right) noexcept; 7770: constexpr void setBottom(int bottom) noexcept; 7770: 7770: constexpr QMargins &operator+=(const QMargins &margins) noexcept; 7770: constexpr QMargins &operator-=(const QMargins &margins) noexcept; 7770: constexpr QMargins &operator+=(int) noexcept; 7770: constexpr QMargins &operator-=(int) noexcept; 7770: constexpr QMargins &operator*=(int) noexcept; 7770: constexpr QMargins &operator/=(int); 7770: constexpr QMargins &operator*=(qreal) noexcept; 7770: constexpr QMargins &operator/=(qreal); 7770: 7770: private: 7770: int m_left; 7770: int m_top; 7770: int m_right; 7770: int m_bottom; 7770: 7770: friend constexpr inline bool operator==(const QMargins &, const QMargins &) noexcept; 7770: friend constexpr inline bool operator!=(const QMargins &, const QMargins &) noexcept; 7770: }; 7770: 7770: 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"; } }; 7770: 7770: 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QMargins &); 7770: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QMargins &); 7770: 7770: 7770: 7770: 7770: 7770: 7770: constexpr inline QMargins::QMargins() noexcept : m_left(0), m_top(0), m_right(0), m_bottom(0) {} 7770: 7770: constexpr inline QMargins::QMargins(int aleft, int atop, int aright, int abottom) noexcept 7770: : m_left(aleft), m_top(atop), m_right(aright), m_bottom(abottom) {} 7770: 7770: constexpr inline bool QMargins::isNull() const noexcept 7770: { return m_left==0 && m_top==0 && m_right==0 && m_bottom==0; } 7770: 7770: constexpr inline int QMargins::left() const noexcept 7770: { return m_left; } 7770: 7770: constexpr inline int QMargins::top() const noexcept 7770: { return m_top; } 7770: 7770: constexpr inline int QMargins::right() const noexcept 7770: { return m_right; } 7770: 7770: constexpr inline int QMargins::bottom() const noexcept 7770: { return m_bottom; } 7770: 7770: 7770: constexpr inline void QMargins::setLeft(int aleft) noexcept 7770: { m_left = aleft; } 7770: 7770: constexpr inline void QMargins::setTop(int atop) noexcept 7770: { m_top = atop; } 7770: 7770: constexpr inline void QMargins::setRight(int aright) noexcept 7770: { m_right = aright; } 7770: 7770: constexpr inline void QMargins::setBottom(int abottom) noexcept 7770: { m_bottom = abottom; } 7770: 7770: constexpr inline bool operator==(const QMargins &m1, const QMargins &m2) noexcept 7770: { 7770: return 7770: m1.m_left == m2.m_left && 7770: m1.m_top == m2.m_top && 7770: m1.m_right == m2.m_right && 7770: m1.m_bottom == m2.m_bottom; 7770: } 7770: 7770: constexpr inline bool operator!=(const QMargins &m1, const QMargins &m2) noexcept 7770: { 7770: return 7770: m1.m_left != m2.m_left || 7770: m1.m_top != m2.m_top || 7770: m1.m_right != m2.m_right || 7770: m1.m_bottom != m2.m_bottom; 7770: } 7770: 7770: constexpr inline QMargins operator+(const QMargins &m1, const QMargins &m2) noexcept 7770: { 7770: return QMargins(m1.left() + m2.left(), m1.top() + m2.top(), 7770: m1.right() + m2.right(), m1.bottom() + m2.bottom()); 7770: } 7770: 7770: constexpr inline QMargins operator-(const QMargins &m1, const QMargins &m2) noexcept 7770: { 7770: return QMargins(m1.left() - m2.left(), m1.top() - m2.top(), 7770: m1.right() - m2.right(), m1.bottom() - m2.bottom()); 7770: } 7770: 7770: constexpr inline QMargins operator+(const QMargins &lhs, int rhs) noexcept 7770: { 7770: return QMargins(lhs.left() + rhs, lhs.top() + rhs, 7770: lhs.right() + rhs, lhs.bottom() + rhs); 7770: } 7770: 7770: constexpr inline QMargins operator+(int lhs, const QMargins &rhs) noexcept 7770: { 7770: return QMargins(rhs.left() + lhs, rhs.top() + lhs, 7770: rhs.right() + lhs, rhs.bottom() + lhs); 7770: } 7770: 7770: constexpr inline QMargins operator-(const QMargins &lhs, int rhs) noexcept 7770: { 7770: return QMargins(lhs.left() - rhs, lhs.top() - rhs, 7770: lhs.right() - rhs, lhs.bottom() - rhs); 7770: } 7770: 7770: constexpr inline QMargins operator*(const QMargins &margins, int factor) noexcept 7770: { 7770: return QMargins(margins.left() * factor, margins.top() * factor, 7770: margins.right() * factor, margins.bottom() * factor); 7770: } 7770: 7770: constexpr inline QMargins operator*(int factor, const QMargins &margins) noexcept 7770: { 7770: return QMargins(margins.left() * factor, margins.top() * factor, 7770: margins.right() * factor, margins.bottom() * factor); 7770: } 7770: 7770: constexpr inline QMargins operator*(const QMargins &margins, qreal factor) noexcept 7770: { 7770: return QMargins(qRound(margins.left() * factor), qRound(margins.top() * factor), 7770: qRound(margins.right() * factor), qRound(margins.bottom() * factor)); 7770: } 7770: 7770: constexpr inline QMargins operator*(qreal factor, const QMargins &margins) noexcept 7770: { 7770: return QMargins(qRound(margins.left() * factor), qRound(margins.top() * factor), 7770: qRound(margins.right() * factor), qRound(margins.bottom() * factor)); 7770: } 7770: 7770: constexpr inline QMargins operator/(const QMargins &margins, int divisor) 7770: { 7770: return QMargins(margins.left() / divisor, margins.top() / divisor, 7770: margins.right() / divisor, margins.bottom() / divisor); 7770: } 7770: 7770: constexpr inline QMargins operator/(const QMargins &margins, qreal divisor) 7770: { 7770: return QMargins(qRound(margins.left() / divisor), qRound(margins.top() / divisor), 7770: qRound(margins.right() / divisor), qRound(margins.bottom() / divisor)); 7770: } 7770: 7770: constexpr inline QMargins &QMargins::operator+=(const QMargins &margins) noexcept 7770: { 7770: return *this = *this + margins; 7770: } 7770: 7770: constexpr inline QMargins &QMargins::operator-=(const QMargins &margins) noexcept 7770: { 7770: return *this = *this - margins; 7770: } 7770: 7770: constexpr inline QMargins &QMargins::operator+=(int margin) noexcept 7770: { 7770: m_left += margin; 7770: m_top += margin; 7770: m_right += margin; 7770: m_bottom += margin; 7770: return *this; 7770: } 7770: 7770: constexpr inline QMargins &QMargins::operator-=(int margin) noexcept 7770: { 7770: m_left -= margin; 7770: m_top -= margin; 7770: m_right -= margin; 7770: m_bottom -= margin; 7770: return *this; 7770: } 7770: 7770: constexpr inline QMargins &QMargins::operator*=(int factor) noexcept 7770: { 7770: return *this = *this * factor; 7770: } 7770: 7770: constexpr inline QMargins &QMargins::operator/=(int divisor) 7770: { 7770: return *this = *this / divisor; 7770: } 7770: 7770: constexpr inline QMargins &QMargins::operator*=(qreal factor) noexcept 7770: { 7770: return *this = *this * factor; 7770: } 7770: 7770: constexpr inline QMargins &QMargins::operator/=(qreal divisor) 7770: { 7770: return *this = *this / divisor; 7770: } 7770: 7770: constexpr inline QMargins operator+(const QMargins &margins) noexcept 7770: { 7770: return margins; 7770: } 7770: 7770: constexpr inline QMargins operator-(const QMargins &margins) noexcept 7770: { 7770: return QMargins(-margins.left(), -margins.top(), -margins.right(), -margins.bottom()); 7770: } 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QMargins &); 7770: 7770: 7770: 7770: 7770: 7770: 7770: class QMarginsF 7770: { 7770: public: 7770: constexpr QMarginsF() noexcept; 7770: constexpr QMarginsF(qreal left, qreal top, qreal right, qreal bottom) noexcept; 7770: constexpr QMarginsF(const QMargins &margins) noexcept; 7770: 7770: constexpr bool isNull() const noexcept; 7770: 7770: constexpr qreal left() const noexcept; 7770: constexpr qreal top() const noexcept; 7770: constexpr qreal right() const noexcept; 7770: constexpr qreal bottom() const noexcept; 7770: 7770: constexpr void setLeft(qreal left) noexcept; 7770: constexpr void setTop(qreal top) noexcept; 7770: constexpr void setRight(qreal right) noexcept; 7770: constexpr void setBottom(qreal bottom) noexcept; 7770: 7770: constexpr QMarginsF &operator+=(const QMarginsF &margins) noexcept; 7770: constexpr QMarginsF &operator-=(const QMarginsF &margins) noexcept; 7770: constexpr QMarginsF &operator+=(qreal addend) noexcept; 7770: constexpr QMarginsF &operator-=(qreal subtrahend) noexcept; 7770: constexpr QMarginsF &operator*=(qreal factor) noexcept; 7770: constexpr QMarginsF &operator/=(qreal divisor); 7770: 7770: constexpr inline QMargins toMargins() const noexcept; 7770: 7770: private: 7770: qreal m_left; 7770: qreal m_top; 7770: qreal m_right; 7770: qreal m_bottom; 7770: }; 7770: 7770: 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"; } }; 7770: 7770: 7770: 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QMarginsF &); 7770: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QMarginsF &); 7770: 7770: 7770: 7770: 7770: 7770: 7770: constexpr inline QMarginsF::QMarginsF() noexcept 7770: : m_left(0), m_top(0), m_right(0), m_bottom(0) {} 7770: 7770: constexpr inline QMarginsF::QMarginsF(qreal aleft, qreal atop, qreal aright, qreal abottom) noexcept 7770: : m_left(aleft), m_top(atop), m_right(aright), m_bottom(abottom) {} 7770: 7770: constexpr inline QMarginsF::QMarginsF(const QMargins &margins) noexcept 7770: : m_left(margins.left()), m_top(margins.top()), m_right(margins.right()), m_bottom(margins.bottom()) {} 7770: 7770: constexpr inline bool QMarginsF::isNull() const noexcept 7770: { return qFuzzyIsNull(m_left) && qFuzzyIsNull(m_top) && qFuzzyIsNull(m_right) && qFuzzyIsNull(m_bottom); } 7770: 7770: constexpr inline qreal QMarginsF::left() const noexcept 7770: { return m_left; } 7770: 7770: constexpr inline qreal QMarginsF::top() const noexcept 7770: { return m_top; } 7770: 7770: constexpr inline qreal QMarginsF::right() const noexcept 7770: { return m_right; } 7770: 7770: constexpr inline qreal QMarginsF::bottom() const noexcept 7770: { return m_bottom; } 7770: 7770: 7770: constexpr inline void QMarginsF::setLeft(qreal aleft) noexcept 7770: { m_left = aleft; } 7770: 7770: constexpr inline void QMarginsF::setTop(qreal atop) noexcept 7770: { m_top = atop; } 7770: 7770: constexpr inline void QMarginsF::setRight(qreal aright) noexcept 7770: { m_right = aright; } 7770: 7770: constexpr inline void QMarginsF::setBottom(qreal abottom) noexcept 7770: { m_bottom = abottom; } 7770: 7770: constexpr inline bool operator==(const QMarginsF &lhs, const QMarginsF &rhs) noexcept 7770: { 7770: return qFuzzyCompare(lhs.left(), rhs.left()) 7770: && qFuzzyCompare(lhs.top(), rhs.top()) 7770: && qFuzzyCompare(lhs.right(), rhs.right()) 7770: && qFuzzyCompare(lhs.bottom(), rhs.bottom()); 7770: } 7770: 7770: constexpr inline bool operator!=(const QMarginsF &lhs, const QMarginsF &rhs) noexcept 7770: { 7770: return !operator==(lhs, rhs); 7770: } 7770: 7770: constexpr inline QMarginsF operator+(const QMarginsF &lhs, const QMarginsF &rhs) noexcept 7770: { 7770: return QMarginsF(lhs.left() + rhs.left(), lhs.top() + rhs.top(), 7770: lhs.right() + rhs.right(), lhs.bottom() + rhs.bottom()); 7770: } 7770: 7770: constexpr inline QMarginsF operator-(const QMarginsF &lhs, const QMarginsF &rhs) noexcept 7770: { 7770: return QMarginsF(lhs.left() - rhs.left(), lhs.top() - rhs.top(), 7770: lhs.right() - rhs.right(), lhs.bottom() - rhs.bottom()); 7770: } 7770: 7770: constexpr inline QMarginsF operator+(const QMarginsF &lhs, qreal rhs) noexcept 7770: { 7770: return QMarginsF(lhs.left() + rhs, lhs.top() + rhs, 7770: lhs.right() + rhs, lhs.bottom() + rhs); 7770: } 7770: 7770: constexpr inline QMarginsF operator+(qreal lhs, const QMarginsF &rhs) noexcept 7770: { 7770: return QMarginsF(rhs.left() + lhs, rhs.top() + lhs, 7770: rhs.right() + lhs, rhs.bottom() + lhs); 7770: } 7770: 7770: constexpr inline QMarginsF operator-(const QMarginsF &lhs, qreal rhs) noexcept 7770: { 7770: return QMarginsF(lhs.left() - rhs, lhs.top() - rhs, 7770: lhs.right() - rhs, lhs.bottom() - rhs); 7770: } 7770: 7770: constexpr inline QMarginsF operator*(const QMarginsF &lhs, qreal rhs) noexcept 7770: { 7770: return QMarginsF(lhs.left() * rhs, lhs.top() * rhs, 7770: lhs.right() * rhs, lhs.bottom() * rhs); 7770: } 7770: 7770: constexpr inline QMarginsF operator*(qreal lhs, const QMarginsF &rhs) noexcept 7770: { 7770: return QMarginsF(rhs.left() * lhs, rhs.top() * lhs, 7770: rhs.right() * lhs, rhs.bottom() * lhs); 7770: } 7770: 7770: constexpr inline QMarginsF operator/(const QMarginsF &lhs, qreal divisor) 7770: { 7770: return QMarginsF(lhs.left() / divisor, lhs.top() / divisor, 7770: lhs.right() / divisor, lhs.bottom() / divisor); 7770: } 7770: 7770: constexpr inline QMarginsF &QMarginsF::operator+=(const QMarginsF &margins) noexcept 7770: { 7770: return *this = *this + margins; 7770: } 7770: 7770: constexpr inline QMarginsF &QMarginsF::operator-=(const QMarginsF &margins) noexcept 7770: { 7770: return *this = *this - margins; 7770: } 7770: 7770: constexpr inline QMarginsF &QMarginsF::operator+=(qreal addend) noexcept 7770: { 7770: m_left += addend; 7770: m_top += addend; 7770: m_right += addend; 7770: m_bottom += addend; 7770: return *this; 7770: } 7770: 7770: constexpr inline QMarginsF &QMarginsF::operator-=(qreal subtrahend) noexcept 7770: { 7770: m_left -= subtrahend; 7770: m_top -= subtrahend; 7770: m_right -= subtrahend; 7770: m_bottom -= subtrahend; 7770: return *this; 7770: } 7770: 7770: constexpr inline QMarginsF &QMarginsF::operator*=(qreal factor) noexcept 7770: { 7770: return *this = *this * factor; 7770: } 7770: 7770: constexpr inline QMarginsF &QMarginsF::operator/=(qreal divisor) 7770: { 7770: return *this = *this / divisor; 7770: } 7770: 7770: constexpr inline QMarginsF operator+(const QMarginsF &margins) noexcept 7770: { 7770: return margins; 7770: } 7770: 7770: constexpr inline QMarginsF operator-(const QMarginsF &margins) noexcept 7770: { 7770: return QMarginsF(-margins.left(), -margins.top(), -margins.right(), -margins.bottom()); 7770: } 7770: 7770: constexpr inline QMargins QMarginsF::toMargins() const noexcept 7770: { 7770: return QMargins(qRound(m_left), qRound(m_top), qRound(m_right), qRound(m_bottom)); 7770: } 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QMarginsF &); 7770: 7770: 7770: 7770: # 44 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qrect.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qsize.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qrect.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qpoint.h" 1 3 4 7770: # 49 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qpoint.h" 3 4 7770: 7770: 7770: 7770: class __attribute__((visibility("default"))) QPoint 7770: { 7770: public: 7770: constexpr QPoint(); 7770: constexpr QPoint(int xpos, int ypos); 7770: 7770: constexpr inline bool isNull() const; 7770: 7770: constexpr inline int x() const; 7770: constexpr inline int y() const; 7770: constexpr inline void setX(int x); 7770: constexpr inline void setY(int y); 7770: 7770: constexpr inline int manhattanLength() const; 7770: 7770: constexpr inline int &rx(); 7770: constexpr inline int &ry(); 7770: 7770: constexpr inline QPoint &operator+=(const QPoint &p); 7770: constexpr inline QPoint &operator-=(const QPoint &p); 7770: 7770: constexpr inline QPoint &operator*=(float factor); 7770: constexpr inline QPoint &operator*=(double factor); 7770: constexpr inline QPoint &operator*=(int factor); 7770: 7770: constexpr inline QPoint &operator/=(qreal divisor); 7770: 7770: constexpr static inline int dotProduct(const QPoint &p1, const QPoint &p2) 7770: { return p1.xp * p2.xp + p1.yp * p2.yp; } 7770: 7770: friend constexpr inline bool operator==(const QPoint &, const QPoint &); 7770: friend constexpr inline bool operator!=(const QPoint &, const QPoint &); 7770: friend constexpr inline const QPoint operator+(const QPoint &, const QPoint &); 7770: friend constexpr inline const QPoint operator-(const QPoint &, const QPoint &); 7770: friend constexpr inline const QPoint operator*(const QPoint &, float); 7770: friend constexpr inline const QPoint operator*(float, const QPoint &); 7770: friend constexpr inline const QPoint operator*(const QPoint &, double); 7770: friend constexpr inline const QPoint operator*(double, const QPoint &); 7770: friend constexpr inline const QPoint operator*(const QPoint &, int); 7770: friend constexpr inline const QPoint operator*(int, const QPoint &); 7770: friend constexpr inline const QPoint operator+(const QPoint &); 7770: friend constexpr inline const QPoint operator-(const QPoint &); 7770: friend constexpr inline const QPoint operator/(const QPoint &, qreal); 7770: 7770: 7770: 7770: 7770: 7770: private: 7770: friend class QTransform; 7770: int xp; 7770: int yp; 7770: }; 7770: 7770: 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"; } }; 7770: 7770: 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPoint &); 7770: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPoint &); 7770: 7770: 7770: 7770: 7770: 7770: 7770: constexpr inline QPoint::QPoint() : xp(0), yp(0) {} 7770: 7770: constexpr inline QPoint::QPoint(int xpos, int ypos) : xp(xpos), yp(ypos) {} 7770: 7770: constexpr inline bool QPoint::isNull() const 7770: { return xp == 0 && yp == 0; } 7770: 7770: constexpr inline int QPoint::x() const 7770: { return xp; } 7770: 7770: constexpr inline int QPoint::y() const 7770: { return yp; } 7770: 7770: constexpr inline void QPoint::setX(int xpos) 7770: { xp = xpos; } 7770: 7770: constexpr inline void QPoint::setY(int ypos) 7770: { yp = ypos; } 7770: 7770: inline int constexpr QPoint::manhattanLength() const 7770: { return qAbs(x())+qAbs(y()); } 7770: 7770: constexpr inline int &QPoint::rx() 7770: { return xp; } 7770: 7770: constexpr inline int &QPoint::ry() 7770: { return yp; } 7770: 7770: constexpr inline QPoint &QPoint::operator+=(const QPoint &p) 7770: { xp+=p.xp; yp+=p.yp; return *this; } 7770: 7770: constexpr inline QPoint &QPoint::operator-=(const QPoint &p) 7770: { xp-=p.xp; yp-=p.yp; return *this; } 7770: 7770: constexpr inline QPoint &QPoint::operator*=(float factor) 7770: { xp = qRound(xp*factor); yp = qRound(yp*factor); return *this; } 7770: 7770: constexpr inline QPoint &QPoint::operator*=(double factor) 7770: { xp = qRound(xp*factor); yp = qRound(yp*factor); return *this; } 7770: 7770: constexpr inline QPoint &QPoint::operator*=(int factor) 7770: { xp = xp*factor; yp = yp*factor; return *this; } 7770: 7770: constexpr inline bool operator==(const QPoint &p1, const QPoint &p2) 7770: { return p1.xp == p2.xp && p1.yp == p2.yp; } 7770: 7770: constexpr inline bool operator!=(const QPoint &p1, const QPoint &p2) 7770: { return p1.xp != p2.xp || p1.yp != p2.yp; } 7770: 7770: constexpr inline const QPoint operator+(const QPoint &p1, const QPoint &p2) 7770: { return QPoint(p1.xp+p2.xp, p1.yp+p2.yp); } 7770: 7770: constexpr inline const QPoint operator-(const QPoint &p1, const QPoint &p2) 7770: { return QPoint(p1.xp-p2.xp, p1.yp-p2.yp); } 7770: 7770: constexpr inline const QPoint operator*(const QPoint &p, float factor) 7770: { return QPoint(qRound(p.xp*factor), qRound(p.yp*factor)); } 7770: 7770: constexpr inline const QPoint operator*(const QPoint &p, double factor) 7770: { return QPoint(qRound(p.xp*factor), qRound(p.yp*factor)); } 7770: 7770: constexpr inline const QPoint operator*(const QPoint &p, int factor) 7770: { return QPoint(p.xp*factor, p.yp*factor); } 7770: 7770: constexpr inline const QPoint operator*(float factor, const QPoint &p) 7770: { return QPoint(qRound(p.xp*factor), qRound(p.yp*factor)); } 7770: 7770: constexpr inline const QPoint operator*(double factor, const QPoint &p) 7770: { return QPoint(qRound(p.xp*factor), qRound(p.yp*factor)); } 7770: 7770: constexpr inline const QPoint operator*(int factor, const QPoint &p) 7770: { return QPoint(p.xp*factor, p.yp*factor); } 7770: 7770: constexpr inline const QPoint operator+(const QPoint &p) 7770: { return p; } 7770: 7770: constexpr inline const QPoint operator-(const QPoint &p) 7770: { return QPoint(-p.xp, -p.yp); } 7770: 7770: constexpr inline QPoint &QPoint::operator/=(qreal c) 7770: { 7770: xp = qRound(xp/c); 7770: yp = qRound(yp/c); 7770: return *this; 7770: } 7770: 7770: constexpr inline const QPoint operator/(const QPoint &p, qreal c) 7770: { 7770: return QPoint(qRound(p.xp/c), qRound(p.yp/c)); 7770: } 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QPoint &); 7770: 7770: 7770: 7770: 7770: 7770: 7770: class __attribute__((visibility("default"))) QPointF 7770: { 7770: public: 7770: constexpr QPointF(); 7770: constexpr QPointF(const QPoint &p); 7770: constexpr QPointF(qreal xpos, qreal ypos); 7770: 7770: constexpr inline qreal manhattanLength() const; 7770: 7770: inline bool isNull() const; 7770: 7770: constexpr inline qreal x() const; 7770: constexpr inline qreal y() const; 7770: constexpr inline void setX(qreal x); 7770: constexpr inline void setY(qreal y); 7770: 7770: constexpr inline qreal &rx(); 7770: constexpr inline qreal &ry(); 7770: 7770: constexpr inline QPointF &operator+=(const QPointF &p); 7770: constexpr inline QPointF &operator-=(const QPointF &p); 7770: constexpr inline QPointF &operator*=(qreal c); 7770: constexpr inline QPointF &operator/=(qreal c); 7770: 7770: constexpr static inline qreal dotProduct(const QPointF &p1, const QPointF &p2) 7770: { return p1.xp * p2.xp + p1.yp * p2.yp; } 7770: 7770: friend constexpr inline bool operator==(const QPointF &, const QPointF &); 7770: friend constexpr inline bool operator!=(const QPointF &, const QPointF &); 7770: friend constexpr inline const QPointF operator+(const QPointF &, const QPointF &); 7770: friend constexpr inline const QPointF operator-(const QPointF &, const QPointF &); 7770: friend constexpr inline const QPointF operator*(qreal, const QPointF &); 7770: friend constexpr inline const QPointF operator*(const QPointF &, qreal); 7770: friend constexpr inline const QPointF operator+(const QPointF &); 7770: friend constexpr inline const QPointF operator-(const QPointF &); 7770: friend constexpr inline const QPointF operator/(const QPointF &, qreal); 7770: 7770: constexpr QPoint toPoint() const; 7770: 7770: 7770: 7770: 7770: 7770: 7770: private: 7770: friend class QMatrix; 7770: friend class QTransform; 7770: 7770: qreal xp; 7770: qreal yp; 7770: }; 7770: 7770: 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"; } }; 7770: 7770: 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QPointF &); 7770: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QPointF &); 7770: 7770: 7770: 7770: 7770: 7770: 7770: constexpr inline QPointF::QPointF() : xp(0), yp(0) { } 7770: 7770: constexpr inline QPointF::QPointF(qreal xpos, qreal ypos) : xp(xpos), yp(ypos) { } 7770: 7770: constexpr inline QPointF::QPointF(const QPoint &p) : xp(p.x()), yp(p.y()) { } 7770: 7770: constexpr inline qreal QPointF::manhattanLength() const 7770: { 7770: return qAbs(x())+qAbs(y()); 7770: } 7770: 7770: inline bool QPointF::isNull() const 7770: { 7770: return qIsNull(xp) && qIsNull(yp); 7770: } 7770: 7770: constexpr inline qreal QPointF::x() const 7770: { 7770: return xp; 7770: } 7770: 7770: constexpr inline qreal QPointF::y() const 7770: { 7770: return yp; 7770: } 7770: 7770: constexpr inline void QPointF::setX(qreal xpos) 7770: { 7770: xp = xpos; 7770: } 7770: 7770: constexpr inline void QPointF::setY(qreal ypos) 7770: { 7770: yp = ypos; 7770: } 7770: 7770: constexpr inline qreal &QPointF::rx() 7770: { 7770: return xp; 7770: } 7770: 7770: constexpr inline qreal &QPointF::ry() 7770: { 7770: return yp; 7770: } 7770: 7770: constexpr inline QPointF &QPointF::operator+=(const QPointF &p) 7770: { 7770: xp+=p.xp; 7770: yp+=p.yp; 7770: return *this; 7770: } 7770: 7770: constexpr inline QPointF &QPointF::operator-=(const QPointF &p) 7770: { 7770: xp-=p.xp; yp-=p.yp; return *this; 7770: } 7770: 7770: constexpr inline QPointF &QPointF::operator*=(qreal c) 7770: { 7770: xp*=c; yp*=c; return *this; 7770: } 7770: 7770: constexpr inline bool operator==(const QPointF &p1, const QPointF &p2) 7770: { 7770: return qFuzzyIsNull(p1.xp - p2.xp) && qFuzzyIsNull(p1.yp - p2.yp); 7770: } 7770: 7770: constexpr inline bool operator!=(const QPointF &p1, const QPointF &p2) 7770: { 7770: return !qFuzzyIsNull(p1.xp - p2.xp) || !qFuzzyIsNull(p1.yp - p2.yp); 7770: } 7770: 7770: constexpr inline const QPointF operator+(const QPointF &p1, const QPointF &p2) 7770: { 7770: return QPointF(p1.xp+p2.xp, p1.yp+p2.yp); 7770: } 7770: 7770: constexpr inline const QPointF operator-(const QPointF &p1, const QPointF &p2) 7770: { 7770: return QPointF(p1.xp-p2.xp, p1.yp-p2.yp); 7770: } 7770: 7770: constexpr inline const QPointF operator*(const QPointF &p, qreal c) 7770: { 7770: return QPointF(p.xp*c, p.yp*c); 7770: } 7770: 7770: constexpr inline const QPointF operator*(qreal c, const QPointF &p) 7770: { 7770: return QPointF(p.xp*c, p.yp*c); 7770: } 7770: 7770: constexpr inline const QPointF operator+(const QPointF &p) 7770: { 7770: return p; 7770: } 7770: 7770: constexpr inline const QPointF operator-(const QPointF &p) 7770: { 7770: return QPointF(-p.xp, -p.yp); 7770: } 7770: 7770: constexpr inline QPointF &QPointF::operator/=(qreal divisor) 7770: { 7770: xp/=divisor; 7770: yp/=divisor; 7770: return *this; 7770: } 7770: 7770: constexpr inline const QPointF operator/(const QPointF &p, qreal divisor) 7770: { 7770: return QPointF(p.xp/divisor, p.yp/divisor); 7770: } 7770: 7770: constexpr inline QPoint QPointF::toPoint() const 7770: { 7770: return QPoint(qRound(xp), qRound(yp)); 7770: } 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug d, const QPointF &p); 7770: 7770: 7770: 7770: # 46 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qrect.h" 2 3 4 7770: # 55 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qrect.h" 3 4 7770: 7770: 7770: class __attribute__((visibility("default"))) QRect 7770: { 7770: public: 7770: constexpr QRect() noexcept : x1(0), y1(0), x2(-1), y2(-1) {} 7770: constexpr QRect(const QPoint &topleft, const QPoint &bottomright) noexcept; 7770: constexpr QRect(const QPoint &topleft, const QSize &size) noexcept; 7770: constexpr QRect(int left, int top, int width, int height) noexcept; 7770: 7770: constexpr inline bool isNull() const noexcept; 7770: constexpr inline bool isEmpty() const noexcept; 7770: constexpr inline bool isValid() const noexcept; 7770: 7770: constexpr inline int left() const noexcept; 7770: constexpr inline int top() const noexcept; 7770: constexpr inline int right() const noexcept; 7770: constexpr inline int bottom() const noexcept; 7770: [[nodiscard]] QRect normalized() const noexcept; 7770: 7770: constexpr inline int x() const noexcept; 7770: constexpr inline int y() const noexcept; 7770: constexpr inline void setLeft(int pos) noexcept; 7770: constexpr inline void setTop(int pos) noexcept; 7770: constexpr inline void setRight(int pos) noexcept; 7770: constexpr inline void setBottom(int pos) noexcept; 7770: constexpr inline void setX(int x) noexcept; 7770: constexpr inline void setY(int y) noexcept; 7770: 7770: constexpr inline void setTopLeft(const QPoint &p) noexcept; 7770: constexpr inline void setBottomRight(const QPoint &p) noexcept; 7770: constexpr inline void setTopRight(const QPoint &p) noexcept; 7770: constexpr inline void setBottomLeft(const QPoint &p) noexcept; 7770: 7770: constexpr inline QPoint topLeft() const noexcept; 7770: constexpr inline QPoint bottomRight() const noexcept; 7770: constexpr inline QPoint topRight() const noexcept; 7770: constexpr inline QPoint bottomLeft() const noexcept; 7770: constexpr inline QPoint center() const noexcept; 7770: 7770: constexpr inline void moveLeft(int pos) noexcept; 7770: constexpr inline void moveTop(int pos) noexcept; 7770: constexpr inline void moveRight(int pos) noexcept; 7770: constexpr inline void moveBottom(int pos) noexcept; 7770: constexpr inline void moveTopLeft(const QPoint &p) noexcept; 7770: constexpr inline void moveBottomRight(const QPoint &p) noexcept; 7770: constexpr inline void moveTopRight(const QPoint &p) noexcept; 7770: constexpr inline void moveBottomLeft(const QPoint &p) noexcept; 7770: constexpr inline void moveCenter(const QPoint &p) noexcept; 7770: 7770: constexpr inline void translate(int dx, int dy) noexcept; 7770: constexpr inline void translate(const QPoint &p) noexcept; 7770: [[nodiscard]] constexpr inline QRect translated(int dx, int dy) const noexcept; 7770: [[nodiscard]] constexpr inline QRect translated(const QPoint &p) const noexcept; 7770: [[nodiscard]] constexpr inline QRect transposed() const noexcept; 7770: 7770: constexpr inline void moveTo(int x, int t) noexcept; 7770: constexpr inline void moveTo(const QPoint &p) noexcept; 7770: 7770: constexpr inline void setRect(int x, int y, int w, int h) noexcept; 7770: constexpr inline void getRect(int *x, int *y, int *w, int *h) const; 7770: 7770: constexpr inline void setCoords(int x1, int y1, int x2, int y2) noexcept; 7770: constexpr inline void getCoords(int *x1, int *y1, int *x2, int *y2) const; 7770: 7770: constexpr inline void adjust(int x1, int y1, int x2, int y2) noexcept; 7770: [[nodiscard]] constexpr inline QRect adjusted(int x1, int y1, int x2, int y2) const noexcept; 7770: 7770: constexpr inline QSize size() const noexcept; 7770: constexpr inline int width() const noexcept; 7770: constexpr inline int height() const noexcept; 7770: constexpr inline void setWidth(int w) noexcept; 7770: constexpr inline void setHeight(int h) noexcept; 7770: constexpr inline void setSize(const QSize &s) noexcept; 7770: 7770: QRect operator|(const QRect &r) const noexcept; 7770: QRect operator&(const QRect &r) const noexcept; 7770: inline QRect& operator|=(const QRect &r) noexcept; 7770: inline QRect& operator&=(const QRect &r) noexcept; 7770: 7770: bool contains(const QRect &r, bool proper = false) const noexcept; 7770: bool contains(const QPoint &p, bool proper=false) const noexcept; 7770: inline bool contains(int x, int y) const noexcept; 7770: inline bool contains(int x, int y, bool proper) const noexcept; 7770: [[nodiscard]] inline QRect united(const QRect &other) const noexcept; 7770: [[nodiscard]] inline QRect intersected(const QRect &other) const noexcept; 7770: bool intersects(const QRect &r) const noexcept; 7770: 7770: constexpr inline QRect marginsAdded(const QMargins &margins) const noexcept; 7770: constexpr inline QRect marginsRemoved(const QMargins &margins) const noexcept; 7770: constexpr inline QRect &operator+=(const QMargins &margins) noexcept; 7770: constexpr inline QRect &operator-=(const QMargins &margins) noexcept; 7770: 7770: 7770: 7770: 7770: 7770: 7770: friend constexpr inline bool operator==(const QRect &, const QRect &) noexcept; 7770: friend constexpr inline bool operator!=(const QRect &, const QRect &) noexcept; 7770: 7770: 7770: 7770: 7770: 7770: private: 7770: int x1; 7770: int y1; 7770: int x2; 7770: int y2; 7770: }; 7770: 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"; } }; 7770: 7770: constexpr inline bool operator==(const QRect &, const QRect &) noexcept; 7770: constexpr inline bool operator!=(const QRect &, const QRect &) noexcept; 7770: 7770: 7770: 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QRect &); 7770: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QRect &); 7770: 7770: 7770: 7770: 7770: 7770: 7770: constexpr inline QRect::QRect(int aleft, int atop, int awidth, int aheight) noexcept 7770: : x1(aleft), y1(atop), x2(aleft + awidth - 1), y2(atop + aheight - 1) {} 7770: 7770: constexpr inline QRect::QRect(const QPoint &atopLeft, const QPoint &abottomRight) noexcept 7770: : x1(atopLeft.x()), y1(atopLeft.y()), x2(abottomRight.x()), y2(abottomRight.y()) {} 7770: 7770: constexpr inline QRect::QRect(const QPoint &atopLeft, const QSize &asize) noexcept 7770: : x1(atopLeft.x()), y1(atopLeft.y()), x2(atopLeft.x()+asize.width() - 1), y2(atopLeft.y()+asize.height() - 1) {} 7770: 7770: constexpr inline bool QRect::isNull() const noexcept 7770: { return x2 == x1 - 1 && y2 == y1 - 1; } 7770: 7770: constexpr inline bool QRect::isEmpty() const noexcept 7770: { return x1 > x2 || y1 > y2; } 7770: 7770: constexpr inline bool QRect::isValid() const noexcept 7770: { return x1 <= x2 && y1 <= y2; } 7770: 7770: constexpr inline int QRect::left() const noexcept 7770: { return x1; } 7770: 7770: constexpr inline int QRect::top() const noexcept 7770: { return y1; } 7770: 7770: constexpr inline int QRect::right() const noexcept 7770: { return x2; } 7770: 7770: constexpr inline int QRect::bottom() const noexcept 7770: { return y2; } 7770: 7770: constexpr inline int QRect::x() const noexcept 7770: { return x1; } 7770: 7770: constexpr inline int QRect::y() const noexcept 7770: { return y1; } 7770: 7770: constexpr inline void QRect::setLeft(int pos) noexcept 7770: { x1 = pos; } 7770: 7770: constexpr inline void QRect::setTop(int pos) noexcept 7770: { y1 = pos; } 7770: 7770: constexpr inline void QRect::setRight(int pos) noexcept 7770: { x2 = pos; } 7770: 7770: constexpr inline void QRect::setBottom(int pos) noexcept 7770: { y2 = pos; } 7770: 7770: constexpr inline void QRect::setTopLeft(const QPoint &p) noexcept 7770: { x1 = p.x(); y1 = p.y(); } 7770: 7770: constexpr inline void QRect::setBottomRight(const QPoint &p) noexcept 7770: { x2 = p.x(); y2 = p.y(); } 7770: 7770: constexpr inline void QRect::setTopRight(const QPoint &p) noexcept 7770: { x2 = p.x(); y1 = p.y(); } 7770: 7770: constexpr inline void QRect::setBottomLeft(const QPoint &p) noexcept 7770: { x1 = p.x(); y2 = p.y(); } 7770: 7770: constexpr inline void QRect::setX(int ax) noexcept 7770: { x1 = ax; } 7770: 7770: constexpr inline void QRect::setY(int ay) noexcept 7770: { y1 = ay; } 7770: 7770: constexpr inline QPoint QRect::topLeft() const noexcept 7770: { return QPoint(x1, y1); } 7770: 7770: constexpr inline QPoint QRect::bottomRight() const noexcept 7770: { return QPoint(x2, y2); } 7770: 7770: constexpr inline QPoint QRect::topRight() const noexcept 7770: { return QPoint(x2, y1); } 7770: 7770: constexpr inline QPoint QRect::bottomLeft() const noexcept 7770: { return QPoint(x1, y2); } 7770: 7770: constexpr inline QPoint QRect::center() const noexcept 7770: { return QPoint(int((qint64(x1)+x2)/2), int((qint64(y1)+y2)/2)); } 7770: 7770: constexpr inline int QRect::width() const noexcept 7770: { return x2 - x1 + 1; } 7770: 7770: constexpr inline int QRect::height() const noexcept 7770: { return y2 - y1 + 1; } 7770: 7770: constexpr inline QSize QRect::size() const noexcept 7770: { return QSize(width(), height()); } 7770: 7770: constexpr inline void QRect::translate(int dx, int dy) noexcept 7770: { 7770: x1 += dx; 7770: y1 += dy; 7770: x2 += dx; 7770: y2 += dy; 7770: } 7770: 7770: constexpr inline void QRect::translate(const QPoint &p) noexcept 7770: { 7770: x1 += p.x(); 7770: y1 += p.y(); 7770: x2 += p.x(); 7770: y2 += p.y(); 7770: } 7770: 7770: constexpr inline QRect QRect::translated(int dx, int dy) const noexcept 7770: { return QRect(QPoint(x1 + dx, y1 + dy), QPoint(x2 + dx, y2 + dy)); } 7770: 7770: constexpr inline QRect QRect::translated(const QPoint &p) const noexcept 7770: { return QRect(QPoint(x1 + p.x(), y1 + p.y()), QPoint(x2 + p.x(), y2 + p.y())); } 7770: 7770: constexpr inline QRect QRect::transposed() const noexcept 7770: { return QRect(topLeft(), size().transposed()); } 7770: 7770: constexpr inline void QRect::moveTo(int ax, int ay) noexcept 7770: { 7770: x2 += ax - x1; 7770: y2 += ay - y1; 7770: x1 = ax; 7770: y1 = ay; 7770: } 7770: 7770: constexpr inline void QRect::moveTo(const QPoint &p) noexcept 7770: { 7770: x2 += p.x() - x1; 7770: y2 += p.y() - y1; 7770: x1 = p.x(); 7770: y1 = p.y(); 7770: } 7770: 7770: constexpr inline void QRect::moveLeft(int pos) noexcept 7770: { x2 += (pos - x1); x1 = pos; } 7770: 7770: constexpr inline void QRect::moveTop(int pos) noexcept 7770: { y2 += (pos - y1); y1 = pos; } 7770: 7770: constexpr inline void QRect::moveRight(int pos) noexcept 7770: { 7770: x1 += (pos - x2); 7770: x2 = pos; 7770: } 7770: 7770: constexpr inline void QRect::moveBottom(int pos) noexcept 7770: { 7770: y1 += (pos - y2); 7770: y2 = pos; 7770: } 7770: 7770: constexpr inline void QRect::moveTopLeft(const QPoint &p) noexcept 7770: { 7770: moveLeft(p.x()); 7770: moveTop(p.y()); 7770: } 7770: 7770: constexpr inline void QRect::moveBottomRight(const QPoint &p) noexcept 7770: { 7770: moveRight(p.x()); 7770: moveBottom(p.y()); 7770: } 7770: 7770: constexpr inline void QRect::moveTopRight(const QPoint &p) noexcept 7770: { 7770: moveRight(p.x()); 7770: moveTop(p.y()); 7770: } 7770: 7770: constexpr inline void QRect::moveBottomLeft(const QPoint &p) noexcept 7770: { 7770: moveLeft(p.x()); 7770: moveBottom(p.y()); 7770: } 7770: 7770: constexpr inline void QRect::moveCenter(const QPoint &p) noexcept 7770: { 7770: int w = x2 - x1; 7770: int h = y2 - y1; 7770: x1 = p.x() - w/2; 7770: y1 = p.y() - h/2; 7770: x2 = x1 + w; 7770: y2 = y1 + h; 7770: } 7770: 7770: constexpr inline void QRect::getRect(int *ax, int *ay, int *aw, int *ah) const 7770: { 7770: *ax = x1; 7770: *ay = y1; 7770: *aw = x2 - x1 + 1; 7770: *ah = y2 - y1 + 1; 7770: } 7770: 7770: constexpr inline void QRect::setRect(int ax, int ay, int aw, int ah) noexcept 7770: { 7770: x1 = ax; 7770: y1 = ay; 7770: x2 = (ax + aw - 1); 7770: y2 = (ay + ah - 1); 7770: } 7770: 7770: constexpr inline void QRect::getCoords(int *xp1, int *yp1, int *xp2, int *yp2) const 7770: { 7770: *xp1 = x1; 7770: *yp1 = y1; 7770: *xp2 = x2; 7770: *yp2 = y2; 7770: } 7770: 7770: constexpr inline void QRect::setCoords(int xp1, int yp1, int xp2, int yp2) noexcept 7770: { 7770: x1 = xp1; 7770: y1 = yp1; 7770: x2 = xp2; 7770: y2 = yp2; 7770: } 7770: 7770: constexpr inline QRect QRect::adjusted(int xp1, int yp1, int xp2, int yp2) const noexcept 7770: { return QRect(QPoint(x1 + xp1, y1 + yp1), QPoint(x2 + xp2, y2 + yp2)); } 7770: 7770: constexpr inline void QRect::adjust(int dx1, int dy1, int dx2, int dy2) noexcept 7770: { 7770: x1 += dx1; 7770: y1 += dy1; 7770: x2 += dx2; 7770: y2 += dy2; 7770: } 7770: 7770: constexpr inline void QRect::setWidth(int w) noexcept 7770: { x2 = (x1 + w - 1); } 7770: 7770: constexpr inline void QRect::setHeight(int h) noexcept 7770: { y2 = (y1 + h - 1); } 7770: 7770: constexpr inline void QRect::setSize(const QSize &s) noexcept 7770: { 7770: x2 = (s.width() + x1 - 1); 7770: y2 = (s.height() + y1 - 1); 7770: } 7770: 7770: inline bool QRect::contains(int ax, int ay, bool aproper) const noexcept 7770: { 7770: return contains(QPoint(ax, ay), aproper); 7770: } 7770: 7770: inline bool QRect::contains(int ax, int ay) const noexcept 7770: { 7770: return contains(QPoint(ax, ay), false); 7770: } 7770: 7770: inline QRect& QRect::operator|=(const QRect &r) noexcept 7770: { 7770: *this = *this | r; 7770: return *this; 7770: } 7770: 7770: inline QRect& QRect::operator&=(const QRect &r) noexcept 7770: { 7770: *this = *this & r; 7770: return *this; 7770: } 7770: 7770: inline QRect QRect::intersected(const QRect &other) const noexcept 7770: { 7770: return *this & other; 7770: } 7770: 7770: inline QRect QRect::united(const QRect &r) const noexcept 7770: { 7770: return *this | r; 7770: } 7770: 7770: constexpr inline bool operator==(const QRect &r1, const QRect &r2) noexcept 7770: { 7770: return r1.x1==r2.x1 && r1.x2==r2.x2 && r1.y1==r2.y1 && r1.y2==r2.y2; 7770: } 7770: 7770: constexpr inline bool operator!=(const QRect &r1, const QRect &r2) noexcept 7770: { 7770: return r1.x1!=r2.x1 || r1.x2!=r2.x2 || r1.y1!=r2.y1 || r1.y2!=r2.y2; 7770: } 7770: 7770: constexpr inline QRect operator+(const QRect &rectangle, const QMargins &margins) noexcept 7770: { 7770: return QRect(QPoint(rectangle.left() - margins.left(), rectangle.top() - margins.top()), 7770: QPoint(rectangle.right() + margins.right(), rectangle.bottom() + margins.bottom())); 7770: } 7770: 7770: constexpr inline QRect operator+(const QMargins &margins, const QRect &rectangle) noexcept 7770: { 7770: return QRect(QPoint(rectangle.left() - margins.left(), rectangle.top() - margins.top()), 7770: QPoint(rectangle.right() + margins.right(), rectangle.bottom() + margins.bottom())); 7770: } 7770: 7770: constexpr inline QRect operator-(const QRect &lhs, const QMargins &rhs) noexcept 7770: { 7770: return QRect(QPoint(lhs.left() + rhs.left(), lhs.top() + rhs.top()), 7770: QPoint(lhs.right() - rhs.right(), lhs.bottom() - rhs.bottom())); 7770: } 7770: 7770: constexpr inline QRect QRect::marginsAdded(const QMargins &margins) const noexcept 7770: { 7770: return QRect(QPoint(x1 - margins.left(), y1 - margins.top()), 7770: QPoint(x2 + margins.right(), y2 + margins.bottom())); 7770: } 7770: 7770: constexpr inline QRect QRect::marginsRemoved(const QMargins &margins) const noexcept 7770: { 7770: return QRect(QPoint(x1 + margins.left(), y1 + margins.top()), 7770: QPoint(x2 - margins.right(), y2 - margins.bottom())); 7770: } 7770: 7770: constexpr inline QRect &QRect::operator+=(const QMargins &margins) noexcept 7770: { 7770: *this = marginsAdded(margins); 7770: return *this; 7770: } 7770: 7770: constexpr inline QRect &QRect::operator-=(const QMargins &margins) noexcept 7770: { 7770: *this = marginsRemoved(margins); 7770: return *this; 7770: } 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QRect &); 7770: 7770: 7770: 7770: class __attribute__((visibility("default"))) QRectF 7770: { 7770: public: 7770: constexpr QRectF() noexcept : xp(0.), yp(0.), w(0.), h(0.) {} 7770: constexpr QRectF(const QPointF &topleft, const QSizeF &size) noexcept; 7770: constexpr QRectF(const QPointF &topleft, const QPointF &bottomRight) noexcept; 7770: constexpr QRectF(qreal left, qreal top, qreal width, qreal height) noexcept; 7770: constexpr QRectF(const QRect &rect) noexcept; 7770: 7770: constexpr inline bool isNull() const noexcept; 7770: constexpr inline bool isEmpty() const noexcept; 7770: constexpr inline bool isValid() const noexcept; 7770: [[nodiscard]] QRectF normalized() const noexcept; 7770: 7770: constexpr inline qreal left() const noexcept { return xp; } 7770: constexpr inline qreal top() const noexcept { return yp; } 7770: constexpr inline qreal right() const noexcept { return xp + w; } 7770: constexpr inline qreal bottom() const noexcept { return yp + h; } 7770: 7770: constexpr inline qreal x() const noexcept; 7770: constexpr inline qreal y() const noexcept; 7770: constexpr inline void setLeft(qreal pos) noexcept; 7770: constexpr inline void setTop(qreal pos) noexcept; 7770: constexpr inline void setRight(qreal pos) noexcept; 7770: constexpr inline void setBottom(qreal pos) noexcept; 7770: constexpr inline void setX(qreal pos) noexcept { setLeft(pos); } 7770: constexpr inline void setY(qreal pos) noexcept { setTop(pos); } 7770: 7770: constexpr inline QPointF topLeft() const noexcept { return QPointF(xp, yp); } 7770: constexpr inline QPointF bottomRight() const noexcept { return QPointF(xp+w, yp+h); } 7770: constexpr inline QPointF topRight() const noexcept { return QPointF(xp+w, yp); } 7770: constexpr inline QPointF bottomLeft() const noexcept { return QPointF(xp, yp+h); } 7770: constexpr inline QPointF center() const noexcept; 7770: 7770: constexpr inline void setTopLeft(const QPointF &p) noexcept; 7770: constexpr inline void setBottomRight(const QPointF &p) noexcept; 7770: constexpr inline void setTopRight(const QPointF &p) noexcept; 7770: constexpr inline void setBottomLeft(const QPointF &p) noexcept; 7770: 7770: constexpr inline void moveLeft(qreal pos) noexcept; 7770: constexpr inline void moveTop(qreal pos) noexcept; 7770: constexpr inline void moveRight(qreal pos) noexcept; 7770: constexpr inline void moveBottom(qreal pos) noexcept; 7770: constexpr inline void moveTopLeft(const QPointF &p) noexcept; 7770: constexpr inline void moveBottomRight(const QPointF &p) noexcept; 7770: constexpr inline void moveTopRight(const QPointF &p) noexcept; 7770: constexpr inline void moveBottomLeft(const QPointF &p) noexcept; 7770: constexpr inline void moveCenter(const QPointF &p) noexcept; 7770: 7770: constexpr inline void translate(qreal dx, qreal dy) noexcept; 7770: constexpr inline void translate(const QPointF &p) noexcept; 7770: 7770: [[nodiscard]] constexpr inline QRectF translated(qreal dx, qreal dy) const noexcept; 7770: [[nodiscard]] constexpr inline QRectF translated(const QPointF &p) const noexcept; 7770: 7770: [[nodiscard]] constexpr inline QRectF transposed() const noexcept; 7770: 7770: constexpr inline void moveTo(qreal x, qreal y) noexcept; 7770: constexpr inline void moveTo(const QPointF &p) noexcept; 7770: 7770: constexpr inline void setRect(qreal x, qreal y, qreal w, qreal h) noexcept; 7770: constexpr inline void getRect(qreal *x, qreal *y, qreal *w, qreal *h) const; 7770: 7770: constexpr inline void setCoords(qreal x1, qreal y1, qreal x2, qreal y2) noexcept; 7770: constexpr inline void getCoords(qreal *x1, qreal *y1, qreal *x2, qreal *y2) const; 7770: 7770: constexpr inline void adjust(qreal x1, qreal y1, qreal x2, qreal y2) noexcept; 7770: [[nodiscard]] constexpr inline QRectF adjusted(qreal x1, qreal y1, qreal x2, qreal y2) const noexcept; 7770: 7770: constexpr inline QSizeF size() const noexcept; 7770: constexpr inline qreal width() const noexcept; 7770: constexpr inline qreal height() const noexcept; 7770: constexpr inline void setWidth(qreal w) noexcept; 7770: constexpr inline void setHeight(qreal h) noexcept; 7770: constexpr inline void setSize(const QSizeF &s) noexcept; 7770: 7770: QRectF operator|(const QRectF &r) const noexcept; 7770: QRectF operator&(const QRectF &r) const noexcept; 7770: inline QRectF& operator|=(const QRectF &r) noexcept; 7770: inline QRectF& operator&=(const QRectF &r) noexcept; 7770: 7770: bool contains(const QRectF &r) const noexcept; 7770: bool contains(const QPointF &p) const noexcept; 7770: inline bool contains(qreal x, qreal y) const noexcept; 7770: [[nodiscard]] inline QRectF united(const QRectF &other) const noexcept; 7770: [[nodiscard]] inline QRectF intersected(const QRectF &other) const noexcept; 7770: bool intersects(const QRectF &r) const noexcept; 7770: 7770: constexpr inline QRectF marginsAdded(const QMarginsF &margins) const noexcept; 7770: constexpr inline QRectF marginsRemoved(const QMarginsF &margins) const noexcept; 7770: constexpr inline QRectF &operator+=(const QMarginsF &margins) noexcept; 7770: constexpr inline QRectF &operator-=(const QMarginsF &margins) noexcept; 7770: 7770: 7770: 7770: 7770: 7770: 7770: friend constexpr inline bool operator==(const QRectF &, const QRectF &) noexcept; 7770: friend constexpr inline bool operator!=(const QRectF &, const QRectF &) noexcept; 7770: 7770: [[nodiscard]] constexpr inline QRect toRect() const noexcept; 7770: [[nodiscard]] QRect toAlignedRect() const noexcept; 7770: 7770: 7770: 7770: 7770: 7770: 7770: private: 7770: qreal xp; 7770: qreal yp; 7770: qreal w; 7770: qreal h; 7770: }; 7770: 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"; } }; 7770: 7770: constexpr inline bool operator==(const QRectF &, const QRectF &) noexcept; 7770: constexpr inline bool operator!=(const QRectF &, const QRectF &) noexcept; 7770: 7770: 7770: 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QRectF &); 7770: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QRectF &); 7770: 7770: 7770: 7770: 7770: 7770: 7770: constexpr inline QRectF::QRectF(qreal aleft, qreal atop, qreal awidth, qreal aheight) noexcept 7770: : xp(aleft), yp(atop), w(awidth), h(aheight) 7770: { 7770: } 7770: 7770: constexpr inline QRectF::QRectF(const QPointF &atopLeft, const QSizeF &asize) noexcept 7770: : xp(atopLeft.x()), yp(atopLeft.y()), w(asize.width()), h(asize.height()) 7770: { 7770: } 7770: 7770: 7770: constexpr inline QRectF::QRectF(const QPointF &atopLeft, const QPointF &abottomRight) noexcept 7770: : xp(atopLeft.x()), yp(atopLeft.y()), w(abottomRight.x() - atopLeft.x()), h(abottomRight.y() - atopLeft.y()) 7770: { 7770: } 7770: 7770: constexpr inline QRectF::QRectF(const QRect &r) noexcept 7770: : xp(r.x()), yp(r.y()), w(r.width()), h(r.height()) 7770: { 7770: } 7770: 7770: 7770: # 665 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qrect.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 665 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qrect.h" 3 4 7770: 7770: 7770: 7770: # 667 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qrect.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wfloat-equal" 7770: # 667 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qrect.h" 3 4 7770: 7770: 7770: constexpr inline bool QRectF::isNull() const noexcept 7770: { return w == 0. && h == 0.; } 7770: 7770: constexpr inline bool QRectF::isEmpty() const noexcept 7770: { return w <= 0. || h <= 0.; } 7770: 7770: 7770: # 675 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qrect.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 675 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qrect.h" 3 4 7770: 7770: 7770: constexpr inline bool QRectF::isValid() const noexcept 7770: { return w > 0. && h > 0.; } 7770: 7770: constexpr inline qreal QRectF::x() const noexcept 7770: { return xp; } 7770: 7770: constexpr inline qreal QRectF::y() const noexcept 7770: { return yp; } 7770: 7770: constexpr inline void QRectF::setLeft(qreal pos) noexcept 7770: { qreal diff = pos - xp; xp += diff; w -= diff; } 7770: 7770: constexpr inline void QRectF::setRight(qreal pos) noexcept 7770: { w = pos - xp; } 7770: 7770: constexpr inline void QRectF::setTop(qreal pos) noexcept 7770: { qreal diff = pos - yp; yp += diff; h -= diff; } 7770: 7770: constexpr inline void QRectF::setBottom(qreal pos) noexcept 7770: { h = pos - yp; } 7770: 7770: constexpr inline void QRectF::setTopLeft(const QPointF &p) noexcept 7770: { setLeft(p.x()); setTop(p.y()); } 7770: 7770: constexpr inline void QRectF::setTopRight(const QPointF &p) noexcept 7770: { setRight(p.x()); setTop(p.y()); } 7770: 7770: constexpr inline void QRectF::setBottomLeft(const QPointF &p) noexcept 7770: { setLeft(p.x()); setBottom(p.y()); } 7770: 7770: constexpr inline void QRectF::setBottomRight(const QPointF &p) noexcept 7770: { setRight(p.x()); setBottom(p.y()); } 7770: 7770: constexpr inline QPointF QRectF::center() const noexcept 7770: { return QPointF(xp + w/2, yp + h/2); } 7770: 7770: constexpr inline void QRectF::moveLeft(qreal pos) noexcept 7770: { xp = pos; } 7770: 7770: constexpr inline void QRectF::moveTop(qreal pos) noexcept 7770: { yp = pos; } 7770: 7770: constexpr inline void QRectF::moveRight(qreal pos) noexcept 7770: { xp = pos - w; } 7770: 7770: constexpr inline void QRectF::moveBottom(qreal pos) noexcept 7770: { yp = pos - h; } 7770: 7770: constexpr inline void QRectF::moveTopLeft(const QPointF &p) noexcept 7770: { moveLeft(p.x()); moveTop(p.y()); } 7770: 7770: constexpr inline void QRectF::moveTopRight(const QPointF &p) noexcept 7770: { moveRight(p.x()); moveTop(p.y()); } 7770: 7770: constexpr inline void QRectF::moveBottomLeft(const QPointF &p) noexcept 7770: { moveLeft(p.x()); moveBottom(p.y()); } 7770: 7770: constexpr inline void QRectF::moveBottomRight(const QPointF &p) noexcept 7770: { moveRight(p.x()); moveBottom(p.y()); } 7770: 7770: constexpr inline void QRectF::moveCenter(const QPointF &p) noexcept 7770: { xp = p.x() - w/2; yp = p.y() - h/2; } 7770: 7770: constexpr inline qreal QRectF::width() const noexcept 7770: { return w; } 7770: 7770: constexpr inline qreal QRectF::height() const noexcept 7770: { return h; } 7770: 7770: constexpr inline QSizeF QRectF::size() const noexcept 7770: { return QSizeF(w, h); } 7770: 7770: constexpr inline void QRectF::translate(qreal dx, qreal dy) noexcept 7770: { 7770: xp += dx; 7770: yp += dy; 7770: } 7770: 7770: constexpr inline void QRectF::translate(const QPointF &p) noexcept 7770: { 7770: xp += p.x(); 7770: yp += p.y(); 7770: } 7770: 7770: constexpr inline void QRectF::moveTo(qreal ax, qreal ay) noexcept 7770: { 7770: xp = ax; 7770: yp = ay; 7770: } 7770: 7770: constexpr inline void QRectF::moveTo(const QPointF &p) noexcept 7770: { 7770: xp = p.x(); 7770: yp = p.y(); 7770: } 7770: 7770: constexpr inline QRectF QRectF::translated(qreal dx, qreal dy) const noexcept 7770: { return QRectF(xp + dx, yp + dy, w, h); } 7770: 7770: constexpr inline QRectF QRectF::translated(const QPointF &p) const noexcept 7770: { return QRectF(xp + p.x(), yp + p.y(), w, h); } 7770: 7770: constexpr inline QRectF QRectF::transposed() const noexcept 7770: { return QRectF(topLeft(), size().transposed()); } 7770: 7770: constexpr inline void QRectF::getRect(qreal *ax, qreal *ay, qreal *aaw, qreal *aah) const 7770: { 7770: *ax = this->xp; 7770: *ay = this->yp; 7770: *aaw = this->w; 7770: *aah = this->h; 7770: } 7770: 7770: constexpr inline void QRectF::setRect(qreal ax, qreal ay, qreal aaw, qreal aah) noexcept 7770: { 7770: this->xp = ax; 7770: this->yp = ay; 7770: this->w = aaw; 7770: this->h = aah; 7770: } 7770: 7770: constexpr inline void QRectF::getCoords(qreal *xp1, qreal *yp1, qreal *xp2, qreal *yp2) const 7770: { 7770: *xp1 = xp; 7770: *yp1 = yp; 7770: *xp2 = xp + w; 7770: *yp2 = yp + h; 7770: } 7770: 7770: constexpr inline void QRectF::setCoords(qreal xp1, qreal yp1, qreal xp2, qreal yp2) noexcept 7770: { 7770: xp = xp1; 7770: yp = yp1; 7770: w = xp2 - xp1; 7770: h = yp2 - yp1; 7770: } 7770: 7770: constexpr inline void QRectF::adjust(qreal xp1, qreal yp1, qreal xp2, qreal yp2) noexcept 7770: { xp += xp1; yp += yp1; w += xp2 - xp1; h += yp2 - yp1; } 7770: 7770: constexpr inline QRectF QRectF::adjusted(qreal xp1, qreal yp1, qreal xp2, qreal yp2) const noexcept 7770: { return QRectF(xp + xp1, yp + yp1, w + xp2 - xp1, h + yp2 - yp1); } 7770: 7770: constexpr inline void QRectF::setWidth(qreal aw) noexcept 7770: { this->w = aw; } 7770: 7770: constexpr inline void QRectF::setHeight(qreal ah) noexcept 7770: { this->h = ah; } 7770: 7770: constexpr inline void QRectF::setSize(const QSizeF &s) noexcept 7770: { 7770: w = s.width(); 7770: h = s.height(); 7770: } 7770: 7770: inline bool QRectF::contains(qreal ax, qreal ay) const noexcept 7770: { 7770: return contains(QPointF(ax, ay)); 7770: } 7770: 7770: inline QRectF& QRectF::operator|=(const QRectF &r) noexcept 7770: { 7770: *this = *this | r; 7770: return *this; 7770: } 7770: 7770: inline QRectF& QRectF::operator&=(const QRectF &r) noexcept 7770: { 7770: *this = *this & r; 7770: return *this; 7770: } 7770: 7770: inline QRectF QRectF::intersected(const QRectF &r) const noexcept 7770: { 7770: return *this & r; 7770: } 7770: 7770: inline QRectF QRectF::united(const QRectF &r) const noexcept 7770: { 7770: return *this | r; 7770: } 7770: 7770: constexpr inline bool operator==(const QRectF &r1, const QRectF &r2) noexcept 7770: { 7770: return qFuzzyCompare(r1.xp, r2.xp) && qFuzzyCompare(r1.yp, r2.yp) 7770: && qFuzzyCompare(r1.w, r2.w) && qFuzzyCompare(r1.h, r2.h); 7770: } 7770: 7770: constexpr inline bool operator!=(const QRectF &r1, const QRectF &r2) noexcept 7770: { 7770: return !qFuzzyCompare(r1.xp, r2.xp) || !qFuzzyCompare(r1.yp, r2.yp) 7770: || !qFuzzyCompare(r1.w, r2.w) || !qFuzzyCompare(r1.h, r2.h); 7770: } 7770: 7770: constexpr inline QRect QRectF::toRect() const noexcept 7770: { 7770: return QRect(qRound(xp), qRound(yp), qRound(w), qRound(h)); 7770: } 7770: 7770: constexpr inline QRectF operator+(const QRectF &lhs, const QMarginsF &rhs) noexcept 7770: { 7770: return QRectF(QPointF(lhs.left() - rhs.left(), lhs.top() - rhs.top()), 7770: QSizeF(lhs.width() + rhs.left() + rhs.right(), lhs.height() + rhs.top() + rhs.bottom())); 7770: } 7770: 7770: constexpr inline QRectF operator+(const QMarginsF &lhs, const QRectF &rhs) noexcept 7770: { 7770: return QRectF(QPointF(rhs.left() - lhs.left(), rhs.top() - lhs.top()), 7770: QSizeF(rhs.width() + lhs.left() + lhs.right(), rhs.height() + lhs.top() + lhs.bottom())); 7770: } 7770: 7770: constexpr inline QRectF operator-(const QRectF &lhs, const QMarginsF &rhs) noexcept 7770: { 7770: return QRectF(QPointF(lhs.left() + rhs.left(), lhs.top() + rhs.top()), 7770: QSizeF(lhs.width() - rhs.left() - rhs.right(), lhs.height() - rhs.top() - rhs.bottom())); 7770: } 7770: 7770: constexpr inline QRectF QRectF::marginsAdded(const QMarginsF &margins) const noexcept 7770: { 7770: return QRectF(QPointF(xp - margins.left(), yp - margins.top()), 7770: QSizeF(w + margins.left() + margins.right(), h + margins.top() + margins.bottom())); 7770: } 7770: 7770: constexpr inline QRectF QRectF::marginsRemoved(const QMarginsF &margins) const noexcept 7770: { 7770: return QRectF(QPointF(xp + margins.left(), yp + margins.top()), 7770: QSizeF(w - margins.left() - margins.right(), h - margins.top() - margins.bottom())); 7770: } 7770: 7770: constexpr inline QRectF &QRectF::operator+=(const QMarginsF &margins) noexcept 7770: { 7770: *this = marginsAdded(margins); 7770: return *this; 7770: } 7770: 7770: constexpr inline QRectF &QRectF::operator-=(const QMarginsF &margins) noexcept 7770: { 7770: *this = marginsRemoved(margins); 7770: return *this; 7770: } 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QRectF &); 7770: 7770: 7770: 7770: # 46 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qregion.h" 2 3 4 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qdatastream.h" 1 3 4 7770: # 44 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qdatastream.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qiodevice.h" 1 3 4 7770: # 56 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qiodevice.h" 3 4 7770: 7770: 7770: 7770: class QByteArray; 7770: class QIODevicePrivate; 7770: 7770: class __attribute__((visibility("default"))) QIODevice 7770: 7770: : public QObject 7770: 7770: { 7770: 7770: public: 7770: # 68 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qiodevice.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 68 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qiodevice.h" 3 4 7770: 7770: # 68 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qiodevice.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 68 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qiodevice.h" 3 4 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 68 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qiodevice.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 68 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qiodevice.h" 3 4 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 68 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qiodevice.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 68 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qiodevice.h" 3 4 7770: struct QPrivateSignal {}; 7770: 7770: public: 7770: enum OpenModeFlag { 7770: NotOpen = 0x0000, 7770: ReadOnly = 0x0001, 7770: WriteOnly = 0x0002, 7770: ReadWrite = ReadOnly | WriteOnly, 7770: Append = 0x0004, 7770: Truncate = 0x0008, 7770: Text = 0x0010, 7770: Unbuffered = 0x0020 7770: }; 7770: typedef QFlags OpenMode; 7770: 7770: QIODevice(); 7770: 7770: explicit QIODevice(QObject *parent); 7770: 7770: virtual ~QIODevice(); 7770: 7770: OpenMode openMode() const; 7770: 7770: void setTextModeEnabled(bool enabled); 7770: bool isTextModeEnabled() const; 7770: 7770: bool isOpen() const; 7770: bool isReadable() const; 7770: bool isWritable() const; 7770: virtual bool isSequential() const; 7770: 7770: int readChannelCount() const; 7770: int writeChannelCount() const; 7770: int currentReadChannel() const; 7770: void setCurrentReadChannel(int channel); 7770: int currentWriteChannel() const; 7770: void setCurrentWriteChannel(int channel); 7770: 7770: virtual bool open(OpenMode mode); 7770: virtual void close(); 7770: 7770: 7770: 7770: virtual qint64 pos() const; 7770: virtual qint64 size() const; 7770: virtual bool seek(qint64 pos); 7770: virtual bool atEnd() const; 7770: virtual bool reset(); 7770: 7770: virtual qint64 bytesAvailable() const; 7770: virtual qint64 bytesToWrite() const; 7770: 7770: qint64 read(char *data, qint64 maxlen); 7770: QByteArray read(qint64 maxlen); 7770: QByteArray readAll(); 7770: qint64 readLine(char *data, qint64 maxlen); 7770: QByteArray readLine(qint64 maxlen = 0); 7770: virtual bool canReadLine() const; 7770: 7770: void startTransaction(); 7770: void commitTransaction(); 7770: void rollbackTransaction(); 7770: bool isTransactionStarted() const; 7770: 7770: qint64 write(const char *data, qint64 len); 7770: qint64 write(const char *data); 7770: inline qint64 write(const QByteArray &data) 7770: { return write(data.constData(), data.size()); } 7770: 7770: qint64 peek(char *data, qint64 maxlen); 7770: QByteArray peek(qint64 maxlen); 7770: 7770: virtual bool waitForReadyRead(int msecs); 7770: virtual bool waitForBytesWritten(int msecs); 7770: 7770: void ungetChar(char c); 7770: bool putChar(char c); 7770: bool getChar(char *c); 7770: 7770: QString errorString() const; 7770: 7770: 7770: public : 7770: void readyRead(); 7770: void channelReadyRead(int channel); 7770: void bytesWritten(qint64 bytes); 7770: void channelBytesWritten(int channel, qint64 bytes); 7770: void aboutToClose(); 7770: void readChannelFinished(); 7770: 7770: 7770: protected: 7770: 7770: 7770: 7770: QIODevice(QIODevicePrivate &dd, QObject *parent = nullptr); 7770: 7770: virtual qint64 readData(char *data, qint64 maxlen) = 0; 7770: virtual qint64 readLineData(char *data, qint64 maxlen); 7770: virtual qint64 writeData(const char *data, qint64 len) = 0; 7770: 7770: void setOpenMode(OpenMode openMode); 7770: 7770: void setErrorString(const QString &errorString); 7770: 7770: 7770: 7770: 7770: 7770: private: 7770: 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; 7770: QIODevice(const QIODevice &) = delete; QIODevice &operator=(const QIODevice &) = delete; 7770: }; 7770: 7770: 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); } 7770: 7770: 7770: class QDebug; 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug debug, QIODevice::OpenMode modes); 7770: 7770: 7770: 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qdatastream.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: class qfloat16; 7770: class QByteArray; 7770: class QIODevice; 7770: 7770: template class QList; 7770: template class QLinkedList; 7770: template class QVector; 7770: template class QSet; 7770: template class QHash; 7770: template class QMap; 7770: 7770: 7770: class QDataStreamPrivate; 7770: namespace QtPrivate { 7770: class StreamStateSaver; 7770: } 7770: class __attribute__((visibility("default"))) QDataStream 7770: { 7770: public: 7770: enum Version { 7770: Qt_1_0 = 1, 7770: Qt_2_0 = 2, 7770: Qt_2_1 = 3, 7770: Qt_3_0 = 4, 7770: Qt_3_1 = 5, 7770: Qt_3_3 = 6, 7770: Qt_4_0 = 7, 7770: Qt_4_1 = Qt_4_0, 7770: Qt_4_2 = 8, 7770: Qt_4_3 = 9, 7770: Qt_4_4 = 10, 7770: Qt_4_5 = 11, 7770: Qt_4_6 = 12, 7770: Qt_4_7 = Qt_4_6, 7770: Qt_4_8 = Qt_4_7, 7770: Qt_4_9 = Qt_4_8, 7770: Qt_5_0 = 13, 7770: Qt_5_1 = 14, 7770: Qt_5_2 = 15, 7770: Qt_5_3 = Qt_5_2, 7770: Qt_5_4 = 16, 7770: Qt_5_5 = Qt_5_4, 7770: Qt_5_6 = 17, 7770: Qt_5_7 = Qt_5_6, 7770: Qt_5_8 = Qt_5_7, 7770: Qt_5_9 = Qt_5_8, 7770: 7770: 7770: 7770: Qt_DefaultCompiledVersion = Qt_5_9 7770: }; 7770: 7770: enum ByteOrder { 7770: BigEndian = QSysInfo::BigEndian, 7770: LittleEndian = QSysInfo::LittleEndian 7770: }; 7770: 7770: enum Status { 7770: Ok, 7770: ReadPastEnd, 7770: ReadCorruptData, 7770: WriteFailed 7770: }; 7770: 7770: enum FloatingPointPrecision { 7770: SinglePrecision, 7770: DoublePrecision 7770: }; 7770: 7770: QDataStream(); 7770: explicit QDataStream(QIODevice *); 7770: QDataStream(QByteArray *, QIODevice::OpenMode flags); 7770: QDataStream(const QByteArray &); 7770: ~QDataStream(); 7770: 7770: QIODevice *device() const; 7770: void setDevice(QIODevice *); 7770: void unsetDevice(); 7770: 7770: bool atEnd() const; 7770: 7770: Status status() const; 7770: void setStatus(Status status); 7770: void resetStatus(); 7770: 7770: FloatingPointPrecision floatingPointPrecision() const; 7770: void setFloatingPointPrecision(FloatingPointPrecision precision); 7770: 7770: ByteOrder byteOrder() const; 7770: void setByteOrder(ByteOrder); 7770: 7770: int version() const; 7770: void setVersion(int); 7770: 7770: QDataStream &operator>>(qint8 &i); 7770: QDataStream &operator>>(quint8 &i); 7770: QDataStream &operator>>(qint16 &i); 7770: QDataStream &operator>>(quint16 &i); 7770: QDataStream &operator>>(qint32 &i); 7770: QDataStream &operator>>(quint32 &i); 7770: QDataStream &operator>>(qint64 &i); 7770: QDataStream &operator>>(quint64 &i); 7770: QDataStream &operator>>(std::nullptr_t &ptr) { ptr = nullptr; return *this; } 7770: 7770: QDataStream &operator>>(bool &i); 7770: QDataStream &operator>>(qfloat16 &f); 7770: QDataStream &operator>>(float &f); 7770: QDataStream &operator>>(double &f); 7770: QDataStream &operator>>(char *&str); 7770: 7770: QDataStream &operator<<(qint8 i); 7770: QDataStream &operator<<(quint8 i); 7770: QDataStream &operator<<(qint16 i); 7770: QDataStream &operator<<(quint16 i); 7770: QDataStream &operator<<(qint32 i); 7770: QDataStream &operator<<(quint32 i); 7770: QDataStream &operator<<(qint64 i); 7770: QDataStream &operator<<(quint64 i); 7770: QDataStream &operator<<(std::nullptr_t) { return *this; } 7770: QDataStream &operator<<(bool i); 7770: QDataStream &operator<<(qfloat16 f); 7770: QDataStream &operator<<(float f); 7770: QDataStream &operator<<(double f); 7770: QDataStream &operator<<(const char *str); 7770: 7770: QDataStream &readBytes(char *&, uint &len); 7770: int readRawData(char *, int len); 7770: 7770: QDataStream &writeBytes(const char *, uint len); 7770: int writeRawData(const char *, int len); 7770: 7770: int skipRawData(int len); 7770: 7770: void startTransaction(); 7770: bool commitTransaction(); 7770: void rollbackTransaction(); 7770: void abortTransaction(); 7770: 7770: private: 7770: QDataStream(const QDataStream &) = delete; QDataStream &operator=(const QDataStream &) = delete; 7770: 7770: QScopedPointer d; 7770: 7770: QIODevice *dev; 7770: bool owndev; 7770: bool noswap; 7770: ByteOrder byteorder; 7770: int ver; 7770: Status q_status; 7770: 7770: int readBlock(char *data, int len); 7770: friend class QtPrivate::StreamStateSaver; 7770: }; 7770: 7770: namespace QtPrivate { 7770: 7770: class StreamStateSaver 7770: { 7770: public: 7770: inline StreamStateSaver(QDataStream *s) : stream(s), oldStatus(s->status()) 7770: { 7770: if (!stream->dev || !stream->dev->isTransactionStarted()) 7770: stream->resetStatus(); 7770: } 7770: inline ~StreamStateSaver() 7770: { 7770: if (oldStatus != QDataStream::Ok) { 7770: stream->resetStatus(); 7770: stream->setStatus(oldStatus); 7770: } 7770: } 7770: 7770: private: 7770: QDataStream *stream; 7770: QDataStream::Status oldStatus; 7770: }; 7770: 7770: template 7770: QDataStream &readArrayBasedContainer(QDataStream &s, Container &c) 7770: { 7770: StreamStateSaver stateSaver(&s); 7770: 7770: c.clear(); 7770: quint32 n; 7770: s >> n; 7770: c.reserve(n); 7770: for (quint32 i = 0; i < n; ++i) { 7770: typename Container::value_type t; 7770: s >> t; 7770: if (s.status() != QDataStream::Ok) { 7770: c.clear(); 7770: break; 7770: } 7770: c.append(t); 7770: } 7770: 7770: return s; 7770: } 7770: 7770: template 7770: QDataStream &readListBasedContainer(QDataStream &s, Container &c) 7770: { 7770: StreamStateSaver stateSaver(&s); 7770: 7770: c.clear(); 7770: quint32 n; 7770: s >> n; 7770: for (quint32 i = 0; i < n; ++i) { 7770: typename Container::value_type t; 7770: s >> t; 7770: if (s.status() != QDataStream::Ok) { 7770: c.clear(); 7770: break; 7770: } 7770: c << t; 7770: } 7770: 7770: return s; 7770: } 7770: 7770: template 7770: QDataStream &readAssociativeContainer(QDataStream &s, Container &c) 7770: { 7770: StreamStateSaver stateSaver(&s); 7770: 7770: c.clear(); 7770: quint32 n; 7770: s >> n; 7770: for (quint32 i = 0; i < n; ++i) { 7770: typename Container::key_type k; 7770: typename Container::mapped_type t; 7770: s >> k >> t; 7770: if (s.status() != QDataStream::Ok) { 7770: c.clear(); 7770: break; 7770: } 7770: c.insertMulti(k, t); 7770: } 7770: 7770: return s; 7770: } 7770: 7770: template 7770: QDataStream &writeSequentialContainer(QDataStream &s, const Container &c) 7770: { 7770: s << quint32(c.size()); 7770: for (const typename Container::value_type &t : c) 7770: s << t; 7770: 7770: return s; 7770: } 7770: 7770: template 7770: QDataStream &writeAssociativeContainer(QDataStream &s, const Container &c) 7770: { 7770: s << quint32(c.size()); 7770: 7770: 7770: 7770: auto it = c.constEnd(); 7770: auto begin = c.constBegin(); 7770: while (it != begin) { 7770: --it; 7770: s << it.key() << it.value(); 7770: } 7770: 7770: return s; 7770: } 7770: 7770: } 7770: 7770: 7770: 7770: 7770: 7770: inline QIODevice *QDataStream::device() const 7770: { return dev; } 7770: 7770: inline QDataStream::ByteOrder QDataStream::byteOrder() const 7770: { return byteorder; } 7770: 7770: inline int QDataStream::version() const 7770: { return ver; } 7770: 7770: inline void QDataStream::setVersion(int v) 7770: { ver = v; } 7770: 7770: inline QDataStream &QDataStream::operator>>(quint8 &i) 7770: { return *this >> reinterpret_cast(i); } 7770: 7770: inline QDataStream &QDataStream::operator>>(quint16 &i) 7770: { return *this >> reinterpret_cast(i); } 7770: 7770: inline QDataStream &QDataStream::operator>>(quint32 &i) 7770: { return *this >> reinterpret_cast(i); } 7770: 7770: inline QDataStream &QDataStream::operator>>(quint64 &i) 7770: { return *this >> reinterpret_cast(i); } 7770: 7770: inline QDataStream &QDataStream::operator<<(quint8 i) 7770: { return *this << qint8(i); } 7770: 7770: inline QDataStream &QDataStream::operator<<(quint16 i) 7770: { return *this << qint16(i); } 7770: 7770: inline QDataStream &QDataStream::operator<<(quint32 i) 7770: { return *this << qint32(i); } 7770: 7770: inline QDataStream &QDataStream::operator<<(quint64 i) 7770: { return *this << qint64(i); } 7770: 7770: template 7770: inline QDataStream &operator<<(QDataStream &s, QFlags e) 7770: { return s << e.i; } 7770: 7770: template 7770: inline QDataStream &operator>>(QDataStream &s, QFlags &e) 7770: { return s >> e.i; } 7770: 7770: template 7770: inline QDataStream &operator>>(QDataStream &s, QList &l) 7770: { 7770: return QtPrivate::readArrayBasedContainer(s, l); 7770: } 7770: 7770: template 7770: inline QDataStream &operator<<(QDataStream &s, const QList &l) 7770: { 7770: return QtPrivate::writeSequentialContainer(s, l); 7770: } 7770: 7770: template 7770: inline QDataStream &operator>>(QDataStream &s, QLinkedList &l) 7770: { 7770: return QtPrivate::readListBasedContainer(s, l); 7770: } 7770: 7770: template 7770: inline QDataStream &operator<<(QDataStream &s, const QLinkedList &l) 7770: { 7770: return QtPrivate::writeSequentialContainer(s, l); 7770: } 7770: 7770: template 7770: inline QDataStream &operator>>(QDataStream &s, QVector &v) 7770: { 7770: return QtPrivate::readArrayBasedContainer(s, v); 7770: } 7770: 7770: template 7770: inline QDataStream &operator<<(QDataStream &s, const QVector &v) 7770: { 7770: return QtPrivate::writeSequentialContainer(s, v); 7770: } 7770: 7770: template 7770: inline QDataStream &operator>>(QDataStream &s, QSet &set) 7770: { 7770: return QtPrivate::readListBasedContainer(s, set); 7770: } 7770: 7770: template 7770: inline QDataStream &operator<<(QDataStream &s, const QSet &set) 7770: { 7770: return QtPrivate::writeSequentialContainer(s, set); 7770: } 7770: 7770: template 7770: inline QDataStream &operator>>(QDataStream &s, QHash &hash) 7770: { 7770: return QtPrivate::readAssociativeContainer(s, hash); 7770: } 7770: 7770: template 7770: inline QDataStream &operator<<(QDataStream &s, const QHash &hash) 7770: { 7770: return QtPrivate::writeAssociativeContainer(s, hash); 7770: } 7770: 7770: template 7770: inline QDataStream &operator>>(QDataStream &s, QMap &map) 7770: { 7770: return QtPrivate::readAssociativeContainer(s, map); 7770: } 7770: 7770: template 7770: inline QDataStream &operator<<(QDataStream &s, const QMap &map) 7770: { 7770: return QtPrivate::writeAssociativeContainer(s, map); 7770: } 7770: 7770: 7770: template 7770: inline QDataStream& operator>>(QDataStream& s, QPair& p) 7770: { 7770: s >> p.first >> p.second; 7770: return s; 7770: } 7770: 7770: template 7770: inline QDataStream& operator<<(QDataStream& s, const QPair& p) 7770: { 7770: s << p.first << p.second; 7770: return s; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: # 50 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qregion.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: template class QVector; 7770: class QVariant; 7770: 7770: struct QRegionPrivate; 7770: 7770: class QBitmap; 7770: 7770: class __attribute__((visibility("default"))) QRegion 7770: { 7770: public: 7770: enum RegionType { Rectangle, Ellipse }; 7770: 7770: QRegion(); 7770: QRegion(int x, int y, int w, int h, RegionType t = Rectangle); 7770: QRegion(const QRect &r, RegionType t = Rectangle); 7770: QRegion(const QPolygon &pa, Qt::FillRule fillRule = Qt::OddEvenFill); 7770: QRegion(const QRegion ®ion); 7770: QRegion(QRegion &&other) noexcept 7770: : d(other.d) { other.d = const_cast(&shared_empty); } 7770: QRegion(const QBitmap &bitmap); 7770: ~QRegion(); 7770: QRegion &operator=(const QRegion &); 7770: 7770: inline QRegion &operator=(QRegion &&other) noexcept 7770: { qSwap(d, other.d); return *this; } 7770: 7770: inline void swap(QRegion &other) noexcept { qSwap(d, other.d); } 7770: bool isEmpty() const; 7770: bool isNull() const; 7770: 7770: typedef const QRect *const_iterator; 7770: typedef std::reverse_iterator const_reverse_iterator; 7770: 7770: const_iterator begin() const noexcept; 7770: const_iterator cbegin() const noexcept { return begin(); } 7770: const_iterator end() const noexcept; 7770: const_iterator cend() const noexcept { return end(); } 7770: const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(end()); } 7770: const_reverse_iterator crbegin() const noexcept { return rbegin(); } 7770: const_reverse_iterator rend() const noexcept { return const_reverse_iterator(begin()); } 7770: const_reverse_iterator crend() const noexcept { return rend(); } 7770: 7770: bool contains(const QPoint &p) const; 7770: bool contains(const QRect &r) const; 7770: 7770: void translate(int dx, int dy); 7770: inline void translate(const QPoint &p) { translate(p.x(), p.y()); } 7770: [[nodiscard]] QRegion translated(int dx, int dy) const; 7770: [[nodiscard]] inline QRegion translated(const QPoint &p) const { return translated(p.x(), p.y()); } 7770: 7770: [[nodiscard]] QRegion united(const QRegion &r) const; 7770: [[nodiscard]] QRegion united(const QRect &r) const; 7770: [[nodiscard]] QRegion intersected(const QRegion &r) const; 7770: [[nodiscard]] QRegion intersected(const QRect &r) const; 7770: [[nodiscard]] QRegion subtracted(const QRegion &r) const; 7770: [[nodiscard]] QRegion xored(const QRegion &r) const; 7770: # 121 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qregion.h" 3 4 7770: bool intersects(const QRegion &r) const; 7770: bool intersects(const QRect &r) const; 7770: 7770: QRect boundingRect() const noexcept; 7770: QVector rects() const; 7770: void setRects(const QRect *rect, int num); 7770: int rectCount() const noexcept; 7770: # 138 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qregion.h" 3 4 7770: QRegion operator|(const QRegion &r) const; 7770: QRegion operator+(const QRegion &r) const; 7770: QRegion operator+(const QRect &r) const; 7770: QRegion operator&(const QRegion &r) const; 7770: QRegion operator&(const QRect &r) const; 7770: QRegion operator-(const QRegion &r) const; 7770: QRegion operator^(const QRegion &r) const; 7770: 7770: QRegion& operator|=(const QRegion &r); 7770: QRegion& operator+=(const QRegion &r); 7770: QRegion& operator+=(const QRect &r); 7770: QRegion& operator&=(const QRegion &r); 7770: QRegion& operator&=(const QRect &r); 7770: QRegion& operator-=(const QRegion &r); 7770: QRegion& operator^=(const QRegion &r); 7770: 7770: bool operator==(const QRegion &r) const; 7770: inline bool operator!=(const QRegion &r) const { return !(operator==(r)); } 7770: operator QVariant() const; 7770: 7770: 7770: friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QRegion &); 7770: friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QRegion &); 7770: 7770: private: 7770: QRegion copy() const; 7770: void detach(); 7770: __attribute__((visibility("default"))) 7770: friend bool qt_region_strictContains(const QRegion ®ion, 7770: const QRect &rect); 7770: friend struct QRegionPrivate; 7770: 7770: 7770: void exec(const QByteArray &ba, int ver = 0, QDataStream::ByteOrder byteOrder = QDataStream::BigEndian); 7770: 7770: struct QRegionData { 7770: QtPrivate::RefCount ref; 7770: QRegionPrivate *qt_rgn; 7770: }; 7770: struct QRegionData *d; 7770: static const struct QRegionData shared_empty; 7770: static void cleanUp(QRegionData *x); 7770: }; 7770: 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); } 7770: 7770: 7770: 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QRegion &); 7770: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QRegion &); 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QRegion &); 7770: 7770: 7770: 7770: # 46 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 2 3 4 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qkeysequence.h" 1 3 4 7770: # 47 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qkeysequence.h" 3 4 7770: 7770: 7770: 7770: 7770: 7770: class QKeySequence; 7770: 7770: 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &in, const QKeySequence &ks); 7770: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &out, QKeySequence &ks); 7770: 7770: 7770: 7770: 7770: 7770: 7770: class QVariant; 7770: class QKeySequencePrivate; 7770: 7770: __attribute__((visibility("default"))) __attribute__((pure)) uint qHash(const QKeySequence &key, uint seed = 0) noexcept; 7770: 7770: class __attribute__((visibility("default"))) QKeySequence 7770: { 7770: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 7770: # 73 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qkeysequence.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 73 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qkeysequence.h" 3 4 7770: 7770: # 73 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qkeysequence.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 73 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qkeysequence.h" 3 4 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 73 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qkeysequence.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 73 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qkeysequence.h" 3 4 7770: 7770: 7770: public: 7770: enum StandardKey { 7770: UnknownKey, 7770: HelpContents, 7770: WhatsThis, 7770: Open, 7770: Close, 7770: Save, 7770: New, 7770: Delete, 7770: Cut, 7770: Copy, 7770: Paste, 7770: Undo, 7770: Redo, 7770: Back, 7770: Forward, 7770: Refresh, 7770: ZoomIn, 7770: ZoomOut, 7770: Print, 7770: AddTab, 7770: NextChild, 7770: PreviousChild, 7770: Find, 7770: FindNext, 7770: FindPrevious, 7770: Replace, 7770: SelectAll, 7770: Bold, 7770: Italic, 7770: Underline, 7770: MoveToNextChar, 7770: MoveToPreviousChar, 7770: MoveToNextWord, 7770: MoveToPreviousWord, 7770: MoveToNextLine, 7770: MoveToPreviousLine, 7770: MoveToNextPage, 7770: MoveToPreviousPage, 7770: MoveToStartOfLine, 7770: MoveToEndOfLine, 7770: MoveToStartOfBlock, 7770: MoveToEndOfBlock, 7770: MoveToStartOfDocument, 7770: MoveToEndOfDocument, 7770: SelectNextChar, 7770: SelectPreviousChar, 7770: SelectNextWord, 7770: SelectPreviousWord, 7770: SelectNextLine, 7770: SelectPreviousLine, 7770: SelectNextPage, 7770: SelectPreviousPage, 7770: SelectStartOfLine, 7770: SelectEndOfLine, 7770: SelectStartOfBlock, 7770: SelectEndOfBlock, 7770: SelectStartOfDocument, 7770: SelectEndOfDocument, 7770: DeleteStartOfWord, 7770: DeleteEndOfWord, 7770: DeleteEndOfLine, 7770: InsertParagraphSeparator, 7770: InsertLineSeparator, 7770: SaveAs, 7770: Preferences, 7770: Quit, 7770: FullScreen, 7770: Deselect, 7770: DeleteCompleteLine, 7770: Backspace, 7770: Cancel 7770: }; 7770: friend constexpr const QMetaObject *qt_getEnumMetaObject(StandardKey) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(StandardKey) noexcept { return "StandardKey"; } 7770: 7770: enum SequenceFormat { 7770: NativeText, 7770: PortableText 7770: }; 7770: 7770: QKeySequence(); 7770: QKeySequence(const QString &key, SequenceFormat format = NativeText); 7770: QKeySequence(int k1, int k2 = 0, int k3 = 0, int k4 = 0); 7770: QKeySequence(const QKeySequence &ks); 7770: QKeySequence(StandardKey key); 7770: ~QKeySequence(); 7770: 7770: int count() const; 7770: bool isEmpty() const; 7770: 7770: enum SequenceMatch { 7770: NoMatch, 7770: PartialMatch, 7770: ExactMatch 7770: }; 7770: 7770: QString toString(SequenceFormat format = PortableText) const; 7770: static QKeySequence fromString(const QString &str, SequenceFormat format = PortableText); 7770: 7770: static QList listFromString(const QString &str, SequenceFormat format = PortableText); 7770: static QString listToString(const QList &list, SequenceFormat format = PortableText); 7770: 7770: SequenceMatch matches(const QKeySequence &seq) const; 7770: static QKeySequence mnemonic(const QString &text); 7770: static QList keyBindings(StandardKey key); 7770: 7770: 7770: 7770: 7770: 7770: operator QVariant() const; 7770: int operator[](uint i) const; 7770: QKeySequence &operator=(const QKeySequence &other); 7770: 7770: QKeySequence &operator=(QKeySequence &&other) noexcept { swap(other); return *this; } 7770: 7770: void swap(QKeySequence &other) noexcept { qSwap(d, other.d); } 7770: 7770: bool operator==(const QKeySequence &other) const; 7770: inline bool operator!= (const QKeySequence &other) const 7770: { return !(*this == other); } 7770: bool operator< (const QKeySequence &ks) const; 7770: inline bool operator> (const QKeySequence &other) const 7770: { return other < *this; } 7770: inline bool operator<= (const QKeySequence &other) const 7770: { return !(other < *this); } 7770: inline bool operator>= (const QKeySequence &other) const 7770: { return !(*this < other); } 7770: 7770: bool isDetached() const; 7770: private: 7770: static int decodeString(const QString &ks); 7770: static QString encodeString(int key); 7770: int assign(const QString &str); 7770: int assign(const QString &str, SequenceFormat format); 7770: void setKey(int key, int index); 7770: 7770: QKeySequencePrivate *d; 7770: 7770: friend __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &in, const QKeySequence &ks); 7770: friend __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &in, QKeySequence &ks); 7770: friend __attribute__((visibility("default"))) uint qHash(const QKeySequence &key, uint seed) noexcept; 7770: friend class QShortcutMap; 7770: friend class QShortcut; 7770: 7770: public: 7770: typedef QKeySequencePrivate * DataPtr; 7770: inline DataPtr &data_ptr() { return d; } 7770: }; 7770: 7770: 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(QKeySequence)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QKeySequence >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QKeySequence) }; static inline const char *name() { return "QKeySequence"; } }; inline void swap(QKeySequence &value1, QKeySequence &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QKeySequence &); 7770: # 243 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qkeysequence.h" 3 4 7770: 7770: # 49 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreevent.h" 1 3 4 7770: # 47 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreevent.h" 3 4 7770: 7770: 7770: 7770: class QEventPrivate; 7770: class __attribute__((visibility("default"))) QEvent 7770: { 7770: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreevent.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreevent.h" 3 4 7770: 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreevent.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreevent.h" 3 4 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreevent.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreevent.h" 3 4 7770: 7770: 7770: public: 7770: enum Type { 7770: 7770: 7770: 7770: 7770: 7770: 7770: None = 0, 7770: Timer = 1, 7770: MouseButtonPress = 2, 7770: MouseButtonRelease = 3, 7770: MouseButtonDblClick = 4, 7770: MouseMove = 5, 7770: KeyPress = 6, 7770: KeyRelease = 7, 7770: FocusIn = 8, 7770: FocusOut = 9, 7770: FocusAboutToChange = 23, 7770: Enter = 10, 7770: Leave = 11, 7770: Paint = 12, 7770: Move = 13, 7770: Resize = 14, 7770: Create = 15, 7770: Destroy = 16, 7770: Show = 17, 7770: Hide = 18, 7770: Close = 19, 7770: Quit = 20, 7770: ParentChange = 21, 7770: ParentAboutToChange = 131, 7770: ThreadChange = 22, 7770: WindowActivate = 24, 7770: WindowDeactivate = 25, 7770: ShowToParent = 26, 7770: HideToParent = 27, 7770: Wheel = 31, 7770: WindowTitleChange = 33, 7770: WindowIconChange = 34, 7770: ApplicationWindowIconChange = 35, 7770: ApplicationFontChange = 36, 7770: ApplicationLayoutDirectionChange = 37, 7770: ApplicationPaletteChange = 38, 7770: PaletteChange = 39, 7770: Clipboard = 40, 7770: Speech = 42, 7770: MetaCall = 43, 7770: SockAct = 50, 7770: WinEventAct = 132, 7770: DeferredDelete = 52, 7770: DragEnter = 60, 7770: DragMove = 61, 7770: DragLeave = 62, 7770: Drop = 63, 7770: DragResponse = 64, 7770: ChildAdded = 68, 7770: ChildPolished = 69, 7770: ChildRemoved = 71, 7770: ShowWindowRequest = 73, 7770: PolishRequest = 74, 7770: Polish = 75, 7770: LayoutRequest = 76, 7770: UpdateRequest = 77, 7770: UpdateLater = 78, 7770: 7770: EmbeddingControl = 79, 7770: ActivateControl = 80, 7770: DeactivateControl = 81, 7770: ContextMenu = 82, 7770: InputMethod = 83, 7770: TabletMove = 87, 7770: LocaleChange = 88, 7770: LanguageChange = 89, 7770: LayoutDirectionChange = 90, 7770: Style = 91, 7770: TabletPress = 92, 7770: TabletRelease = 93, 7770: OkRequest = 94, 7770: HelpRequest = 95, 7770: 7770: IconDrag = 96, 7770: 7770: FontChange = 97, 7770: EnabledChange = 98, 7770: ActivationChange = 99, 7770: StyleChange = 100, 7770: IconTextChange = 101, 7770: ModifiedChange = 102, 7770: MouseTrackingChange = 109, 7770: 7770: WindowBlocked = 103, 7770: WindowUnblocked = 104, 7770: WindowStateChange = 105, 7770: 7770: ReadOnlyChange = 106, 7770: 7770: ToolTip = 110, 7770: WhatsThis = 111, 7770: StatusTip = 112, 7770: 7770: ActionChanged = 113, 7770: ActionAdded = 114, 7770: ActionRemoved = 115, 7770: 7770: FileOpen = 116, 7770: 7770: Shortcut = 117, 7770: ShortcutOverride = 51, 7770: 7770: WhatsThisClicked = 118, 7770: 7770: ToolBarChange = 120, 7770: 7770: ApplicationActivate = 121, 7770: ApplicationActivated = ApplicationActivate, 7770: ApplicationDeactivate = 122, 7770: ApplicationDeactivated = ApplicationDeactivate, 7770: 7770: QueryWhatsThis = 123, 7770: EnterWhatsThisMode = 124, 7770: LeaveWhatsThisMode = 125, 7770: 7770: ZOrderChange = 126, 7770: 7770: HoverEnter = 127, 7770: HoverLeave = 128, 7770: HoverMove = 129, 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: AcceptDropsChange = 152, 7770: 7770: ZeroTimerEvent = 154, 7770: 7770: GraphicsSceneMouseMove = 155, 7770: GraphicsSceneMousePress = 156, 7770: GraphicsSceneMouseRelease = 157, 7770: GraphicsSceneMouseDoubleClick = 158, 7770: GraphicsSceneContextMenu = 159, 7770: GraphicsSceneHoverEnter = 160, 7770: GraphicsSceneHoverMove = 161, 7770: GraphicsSceneHoverLeave = 162, 7770: GraphicsSceneHelp = 163, 7770: GraphicsSceneDragEnter = 164, 7770: GraphicsSceneDragMove = 165, 7770: GraphicsSceneDragLeave = 166, 7770: GraphicsSceneDrop = 167, 7770: GraphicsSceneWheel = 168, 7770: 7770: KeyboardLayoutChange = 169, 7770: 7770: DynamicPropertyChange = 170, 7770: 7770: TabletEnterProximity = 171, 7770: TabletLeaveProximity = 172, 7770: 7770: NonClientAreaMouseMove = 173, 7770: NonClientAreaMouseButtonPress = 174, 7770: NonClientAreaMouseButtonRelease = 175, 7770: NonClientAreaMouseButtonDblClick = 176, 7770: 7770: MacSizeChange = 177, 7770: 7770: ContentsRectChange = 178, 7770: 7770: MacGLWindowChange = 179, 7770: 7770: FutureCallOut = 180, 7770: 7770: GraphicsSceneResize = 181, 7770: GraphicsSceneMove = 182, 7770: 7770: CursorChange = 183, 7770: ToolTipChange = 184, 7770: 7770: NetworkReplyUpdated = 185, 7770: 7770: GrabMouse = 186, 7770: UngrabMouse = 187, 7770: GrabKeyboard = 188, 7770: UngrabKeyboard = 189, 7770: MacGLClearDrawable = 191, 7770: 7770: StateMachineSignal = 192, 7770: StateMachineWrapped = 193, 7770: 7770: TouchBegin = 194, 7770: TouchUpdate = 195, 7770: TouchEnd = 196, 7770: 7770: 7770: NativeGesture = 197, 7770: 7770: RequestSoftwareInputPanel = 199, 7770: CloseSoftwareInputPanel = 200, 7770: 7770: WinIdChange = 203, 7770: 7770: Gesture = 198, 7770: GestureOverride = 202, 7770: 7770: ScrollPrepare = 204, 7770: Scroll = 205, 7770: 7770: Expose = 206, 7770: 7770: InputMethodQuery = 207, 7770: OrientationChange = 208, 7770: 7770: TouchCancel = 209, 7770: 7770: ThemeChange = 210, 7770: 7770: SockClose = 211, 7770: 7770: PlatformPanel = 212, 7770: 7770: StyleAnimationUpdate = 213, 7770: ApplicationStateChange = 214, 7770: 7770: WindowChangeInternal = 215, 7770: ScreenChangeInternal = 216, 7770: 7770: PlatformSurface = 217, 7770: 7770: Pointer = 218, 7770: 7770: TabletTrackingChange = 219, 7770: 7770: 7770: 7770: 7770: User = 1000, 7770: MaxUser = 65535 7770: }; 7770: friend constexpr const QMetaObject *qt_getEnumMetaObject(Type) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(Type) noexcept { return "Type"; } 7770: 7770: explicit QEvent(Type type); 7770: QEvent(const QEvent &other); 7770: virtual ~QEvent(); 7770: QEvent &operator=(const QEvent &other); 7770: inline Type type() const { return static_cast(t); } 7770: inline bool spontaneous() const { return spont; } 7770: 7770: inline void setAccepted(bool accepted) { m_accept = accepted; } 7770: inline bool isAccepted() const { return m_accept; } 7770: 7770: inline void accept() { m_accept = true; } 7770: inline void ignore() { m_accept = false; } 7770: 7770: static int registerEventType(int hint = -1) noexcept; 7770: 7770: protected: 7770: QEventPrivate *d; 7770: ushort t; 7770: 7770: private: 7770: ushort posted : 1; 7770: ushort spont : 1; 7770: ushort m_accept : 1; 7770: ushort reserved : 13; 7770: 7770: friend class QCoreApplication; 7770: friend class QCoreApplicationPrivate; 7770: friend class QThreadData; 7770: friend class QApplication; 7770: friend class QShortcutMap; 7770: friend class QGraphicsView; 7770: friend class QGraphicsScene; 7770: friend class QGraphicsScenePrivate; 7770: 7770: friend class QSpontaneKeyEvent; 7770: 7770: inline __attribute__((always_inline)) 7770: void setSpontaneous() { spont = true; } 7770: }; 7770: 7770: class __attribute__((visibility("default"))) QTimerEvent : public QEvent 7770: { 7770: public: 7770: explicit QTimerEvent( int timerId ); 7770: ~QTimerEvent(); 7770: int timerId() const { return id; } 7770: protected: 7770: int id; 7770: }; 7770: 7770: class QObject; 7770: 7770: class __attribute__((visibility("default"))) QChildEvent : public QEvent 7770: { 7770: public: 7770: QChildEvent( Type type, QObject *child ); 7770: ~QChildEvent(); 7770: QObject *child() const { return c; } 7770: bool added() const { return type() == ChildAdded; } 7770: bool polished() const { return type() == ChildPolished; } 7770: bool removed() const { return type() == ChildRemoved; } 7770: protected: 7770: QObject *c; 7770: }; 7770: 7770: class __attribute__((visibility("default"))) QDynamicPropertyChangeEvent : public QEvent 7770: { 7770: public: 7770: explicit QDynamicPropertyChangeEvent(const QByteArray &name); 7770: ~QDynamicPropertyChangeEvent(); 7770: 7770: inline QByteArray propertyName() const { return n; } 7770: 7770: private: 7770: QByteArray n; 7770: }; 7770: 7770: class __attribute__((visibility("default"))) QDeferredDeleteEvent : public QEvent 7770: { 7770: public: 7770: explicit QDeferredDeleteEvent(); 7770: ~QDeferredDeleteEvent(); 7770: int loopLevel() const { return level; } 7770: private: 7770: int level; 7770: friend class QCoreApplication; 7770: }; 7770: 7770: 7770: # 50 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 2 3 4 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qvector.h" 1 3 4 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qset.h" 1 3 4 7770: # 54 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qurl.h" 1 3 4 7770: # 55 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfile.h" 1 3 4 7770: # 44 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfile.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfiledevice.h" 1 3 4 7770: # 46 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfiledevice.h" 3 4 7770: 7770: 7770: class QFileDevicePrivate; 7770: 7770: class __attribute__((visibility("default"))) QFileDevice : public QIODevice 7770: { 7770: 7770: public: 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfiledevice.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfiledevice.h" 3 4 7770: 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfiledevice.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfiledevice.h" 3 4 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfiledevice.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfiledevice.h" 3 4 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfiledevice.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfiledevice.h" 3 4 7770: struct QPrivateSignal {}; 7770: 7770: inline QFileDevicePrivate* d_func() { return reinterpret_cast(qGetPtrHelper(d_ptr)); } inline const QFileDevicePrivate* d_func() const { return reinterpret_cast(qGetPtrHelper(d_ptr)); } friend class QFileDevicePrivate; 7770: 7770: public: 7770: enum FileError { 7770: NoError = 0, 7770: ReadError = 1, 7770: WriteError = 2, 7770: FatalError = 3, 7770: ResourceError = 4, 7770: OpenError = 5, 7770: AbortError = 6, 7770: TimeOutError = 7, 7770: UnspecifiedError = 8, 7770: RemoveError = 9, 7770: RenameError = 10, 7770: PositionError = 11, 7770: ResizeError = 12, 7770: PermissionsError = 13, 7770: CopyError = 14 7770: }; 7770: 7770: enum Permission { 7770: ReadOwner = 0x4000, WriteOwner = 0x2000, ExeOwner = 0x1000, 7770: ReadUser = 0x0400, WriteUser = 0x0200, ExeUser = 0x0100, 7770: ReadGroup = 0x0040, WriteGroup = 0x0020, ExeGroup = 0x0010, 7770: ReadOther = 0x0004, WriteOther = 0x0002, ExeOther = 0x0001 7770: }; 7770: typedef QFlags Permissions; 7770: 7770: enum FileHandleFlag { 7770: AutoCloseHandle = 0x0001, 7770: DontCloseHandle = 0 7770: }; 7770: typedef QFlags FileHandleFlags; 7770: 7770: ~QFileDevice(); 7770: 7770: FileError error() const; 7770: void unsetError(); 7770: 7770: virtual void close() override; 7770: 7770: bool isSequential() const override; 7770: 7770: int handle() const; 7770: virtual QString fileName() const; 7770: 7770: qint64 pos() const override; 7770: bool seek(qint64 offset) override; 7770: bool atEnd() const override; 7770: bool flush(); 7770: 7770: qint64 size() const override; 7770: 7770: virtual bool resize(qint64 sz); 7770: virtual Permissions permissions() const; 7770: virtual bool setPermissions(Permissions permissionSpec); 7770: 7770: 7770: enum MemoryMapFlags { 7770: NoOptions = 0, 7770: MapPrivateOption = 0x0001 7770: }; 7770: 7770: uchar *map(qint64 offset, qint64 size, MemoryMapFlags flags = NoOptions); 7770: bool unmap(uchar *address); 7770: 7770: protected: 7770: QFileDevice(); 7770: 7770: 7770: 7770: explicit QFileDevice(QObject *parent); 7770: QFileDevice(QFileDevicePrivate &dd, QObject *parent = nullptr); 7770: 7770: 7770: qint64 readData(char *data, qint64 maxlen) override; 7770: qint64 writeData(const char *data, qint64 len) override; 7770: qint64 readLineData(char *data, qint64 maxlen) override; 7770: 7770: private: 7770: QFileDevice(const QFileDevice &) = delete; QFileDevice &operator=(const QFileDevice &) = delete; 7770: }; 7770: 7770: constexpr inline QFlags operator|(QFileDevice::Permissions::enum_type f1, QFileDevice::Permissions::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(QFileDevice::Permissions::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(QFileDevice::Permissions::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 7770: 7770: 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfile.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: class QTemporaryFile; 7770: class QFilePrivate; 7770: 7770: class __attribute__((visibility("default"))) QFile : public QFileDevice 7770: { 7770: 7770: public: 7770: # 60 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfile.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 60 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfile.h" 3 4 7770: 7770: # 60 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfile.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 60 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfile.h" 3 4 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 60 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfile.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 60 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfile.h" 3 4 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 60 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfile.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 60 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfile.h" 3 4 7770: struct QPrivateSignal {}; 7770: 7770: inline QFilePrivate* d_func() { return reinterpret_cast(qGetPtrHelper(d_ptr)); } inline const QFilePrivate* d_func() const { return reinterpret_cast(qGetPtrHelper(d_ptr)); } friend class QFilePrivate; 7770: 7770: public: 7770: QFile(); 7770: QFile(const QString &name); 7770: 7770: explicit QFile(QObject *parent); 7770: QFile(const QString &name, QObject *parent); 7770: 7770: ~QFile(); 7770: 7770: QString fileName() const override; 7770: void setFileName(const QString &name); 7770: # 87 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfile.h" 3 4 7770: static inline QByteArray encodeName(const QString &fileName) 7770: { 7770: return fileName.toLocal8Bit(); 7770: } 7770: static QString decodeName(const QByteArray &localFileName) 7770: { 7770: return QString::fromLocal8Bit(localFileName); 7770: } 7770: 7770: inline static QString decodeName(const char *localFileName) 7770: { return decodeName(QByteArray(localFileName)); } 7770: # 106 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qfile.h" 3 4 7770: bool exists() const; 7770: static bool exists(const QString &fileName); 7770: 7770: QString readLink() const; 7770: static QString readLink(const QString &fileName); 7770: inline QString symLinkTarget() const { return readLink(); } 7770: inline static QString symLinkTarget(const QString &fileName) { return readLink(fileName); } 7770: 7770: bool remove(); 7770: static bool remove(const QString &fileName); 7770: 7770: bool rename(const QString &newName); 7770: static bool rename(const QString &oldName, const QString &newName); 7770: 7770: bool link(const QString &newName); 7770: static bool link(const QString &oldname, const QString &newName); 7770: 7770: bool copy(const QString &newName); 7770: static bool copy(const QString &fileName, const QString &newName); 7770: 7770: bool open(OpenMode flags) override; 7770: bool open(FILE *f, OpenMode ioFlags, FileHandleFlags handleFlags=DontCloseHandle); 7770: bool open(int fd, OpenMode ioFlags, FileHandleFlags handleFlags=DontCloseHandle); 7770: 7770: qint64 size() const override; 7770: 7770: bool resize(qint64 sz) override; 7770: static bool resize(const QString &filename, qint64 sz); 7770: 7770: Permissions permissions() const override; 7770: static Permissions permissions(const QString &filename); 7770: bool setPermissions(Permissions permissionSpec) override; 7770: static bool setPermissions(const QString &filename, Permissions permissionSpec); 7770: 7770: protected: 7770: 7770: 7770: 7770: QFile(QFilePrivate &dd, QObject *parent = nullptr); 7770: 7770: 7770: private: 7770: friend class QTemporaryFile; 7770: QFile(const QFile &) = delete; QFile &operator=(const QFile &) = delete; 7770: }; 7770: 7770: 7770: # 56 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qvector2d.h" 1 3 4 7770: # 47 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qvector2d.h" 3 4 7770: 7770: 7770: 7770: class QVector3D; 7770: class QVector4D; 7770: class QVariant; 7770: 7770: 7770: 7770: class __attribute__((visibility("default"))) QVector2D 7770: { 7770: public: 7770: constexpr QVector2D(); 7770: explicit QVector2D(Qt::Initialization) {} 7770: constexpr QVector2D(float xpos, float ypos); 7770: constexpr explicit QVector2D(const QPoint& point); 7770: constexpr explicit QVector2D(const QPointF& point); 7770: 7770: explicit QVector2D(const QVector3D& vector); 7770: 7770: 7770: explicit QVector2D(const QVector4D& vector); 7770: 7770: 7770: bool isNull() const; 7770: 7770: constexpr float x() const; 7770: constexpr float y() const; 7770: 7770: void setX(float x); 7770: void setY(float y); 7770: 7770: float &operator[](int i); 7770: float operator[](int i) const; 7770: 7770: float length() const; 7770: float lengthSquared() const; 7770: 7770: [[nodiscard]] QVector2D normalized() const; 7770: void normalize(); 7770: 7770: float distanceToPoint(const QVector2D &point) const; 7770: float distanceToLine(const QVector2D& point, const QVector2D& direction) const; 7770: 7770: QVector2D &operator+=(const QVector2D &vector); 7770: QVector2D &operator-=(const QVector2D &vector); 7770: QVector2D &operator*=(float factor); 7770: QVector2D &operator*=(const QVector2D &vector); 7770: QVector2D &operator/=(float divisor); 7770: inline QVector2D &operator/=(const QVector2D &vector); 7770: 7770: static float dotProduct(const QVector2D& v1, const QVector2D& v2); 7770: 7770: constexpr friend inline bool operator==(const QVector2D &v1, const QVector2D &v2); 7770: constexpr friend inline bool operator!=(const QVector2D &v1, const QVector2D &v2); 7770: constexpr friend inline const QVector2D operator+(const QVector2D &v1, const QVector2D &v2); 7770: constexpr friend inline const QVector2D operator-(const QVector2D &v1, const QVector2D &v2); 7770: constexpr friend inline const QVector2D operator*(float factor, const QVector2D &vector); 7770: constexpr friend inline const QVector2D operator*(const QVector2D &vector, float factor); 7770: constexpr friend inline const QVector2D operator*(const QVector2D &v1, const QVector2D &v2); 7770: constexpr friend inline const QVector2D operator-(const QVector2D &vector); 7770: constexpr friend inline const QVector2D operator/(const QVector2D &vector, float divisor); 7770: constexpr friend inline const QVector2D operator/(const QVector2D &vector, const QVector2D &divisor); 7770: 7770: constexpr friend inline bool qFuzzyCompare(const QVector2D& v1, const QVector2D& v2); 7770: 7770: 7770: QVector3D toVector3D() const; 7770: 7770: 7770: QVector4D toVector4D() const; 7770: 7770: 7770: constexpr QPoint toPoint() const; 7770: constexpr QPointF toPointF() const; 7770: 7770: operator QVariant() const; 7770: 7770: private: 7770: float xp, yp; 7770: 7770: friend class QVector3D; 7770: friend class QVector4D; 7770: }; 7770: 7770: 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(QVector2D)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QVector2D >::value, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QVector2D) }; static inline const char *name() { return "QVector2D"; } }; 7770: 7770: constexpr inline QVector2D::QVector2D() : xp(0.0f), yp(0.0f) {} 7770: 7770: constexpr inline QVector2D::QVector2D(float xpos, float ypos) : xp(xpos), yp(ypos) {} 7770: 7770: constexpr inline QVector2D::QVector2D(const QPoint& point) : xp(point.x()), yp(point.y()) {} 7770: 7770: constexpr inline QVector2D::QVector2D(const QPointF& point) : xp(point.x()), yp(point.y()) {} 7770: 7770: inline bool QVector2D::isNull() const 7770: { 7770: return qIsNull(xp) && qIsNull(yp); 7770: } 7770: 7770: constexpr inline float QVector2D::x() const { return xp; } 7770: constexpr inline float QVector2D::y() const { return yp; } 7770: 7770: inline void QVector2D::setX(float aX) { xp = aX; } 7770: inline void QVector2D::setY(float aY) { yp = aY; } 7770: 7770: inline float &QVector2D::operator[](int i) 7770: { 7770: do { } while ((false) && (uint(i) < 2u)); 7770: return *(&xp + i); 7770: } 7770: 7770: inline float QVector2D::operator[](int i) const 7770: { 7770: do { } while ((false) && (uint(i) < 2u)); 7770: return *(&xp + i); 7770: } 7770: 7770: inline QVector2D &QVector2D::operator+=(const QVector2D &vector) 7770: { 7770: xp += vector.xp; 7770: yp += vector.yp; 7770: return *this; 7770: } 7770: 7770: inline QVector2D &QVector2D::operator-=(const QVector2D &vector) 7770: { 7770: xp -= vector.xp; 7770: yp -= vector.yp; 7770: return *this; 7770: } 7770: 7770: inline QVector2D &QVector2D::operator*=(float factor) 7770: { 7770: xp *= factor; 7770: yp *= factor; 7770: return *this; 7770: } 7770: 7770: inline QVector2D &QVector2D::operator*=(const QVector2D &vector) 7770: { 7770: xp *= vector.xp; 7770: yp *= vector.yp; 7770: return *this; 7770: } 7770: 7770: inline QVector2D &QVector2D::operator/=(float divisor) 7770: { 7770: xp /= divisor; 7770: yp /= divisor; 7770: return *this; 7770: } 7770: 7770: inline QVector2D &QVector2D::operator/=(const QVector2D &vector) 7770: { 7770: xp /= vector.xp; 7770: yp /= vector.yp; 7770: return *this; 7770: } 7770: 7770: 7770: # 207 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qvector2d.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 207 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qvector2d.h" 3 4 7770: 7770: 7770: 7770: # 209 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qvector2d.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wfloat-equal" 7770: # 209 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qvector2d.h" 3 4 7770: 7770: constexpr inline bool operator==(const QVector2D &v1, const QVector2D &v2) 7770: { 7770: return v1.xp == v2.xp && v1.yp == v2.yp; 7770: } 7770: 7770: constexpr inline bool operator!=(const QVector2D &v1, const QVector2D &v2) 7770: { 7770: return v1.xp != v2.xp || v1.yp != v2.yp; 7770: } 7770: 7770: # 219 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qvector2d.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 219 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qvector2d.h" 3 4 7770: 7770: 7770: constexpr inline const QVector2D operator+(const QVector2D &v1, const QVector2D &v2) 7770: { 7770: return QVector2D(v1.xp + v2.xp, v1.yp + v2.yp); 7770: } 7770: 7770: constexpr inline const QVector2D operator-(const QVector2D &v1, const QVector2D &v2) 7770: { 7770: return QVector2D(v1.xp - v2.xp, v1.yp - v2.yp); 7770: } 7770: 7770: constexpr inline const QVector2D operator*(float factor, const QVector2D &vector) 7770: { 7770: return QVector2D(vector.xp * factor, vector.yp * factor); 7770: } 7770: 7770: constexpr inline const QVector2D operator*(const QVector2D &vector, float factor) 7770: { 7770: return QVector2D(vector.xp * factor, vector.yp * factor); 7770: } 7770: 7770: constexpr inline const QVector2D operator*(const QVector2D &v1, const QVector2D &v2) 7770: { 7770: return QVector2D(v1.xp * v2.xp, v1.yp * v2.yp); 7770: } 7770: 7770: constexpr inline const QVector2D operator-(const QVector2D &vector) 7770: { 7770: return QVector2D(-vector.xp, -vector.yp); 7770: } 7770: 7770: constexpr inline const QVector2D operator/(const QVector2D &vector, float divisor) 7770: { 7770: return QVector2D(vector.xp / divisor, vector.yp / divisor); 7770: } 7770: 7770: constexpr inline const QVector2D operator/(const QVector2D &vector, const QVector2D &divisor) 7770: { 7770: return QVector2D(vector.xp / divisor.xp, vector.yp / divisor.yp); 7770: } 7770: 7770: constexpr inline bool qFuzzyCompare(const QVector2D& v1, const QVector2D& v2) 7770: { 7770: return qFuzzyCompare(v1.xp, v2.xp) && qFuzzyCompare(v1.yp, v2.yp); 7770: } 7770: 7770: constexpr inline QPoint QVector2D::toPoint() const 7770: { 7770: return QPoint(qRound(xp), qRound(yp)); 7770: } 7770: 7770: constexpr inline QPointF QVector2D::toPointF() const 7770: { 7770: return QPointF(qreal(xp), qreal(yp)); 7770: } 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug dbg, const QVector2D &vector); 7770: 7770: 7770: 7770: __attribute__((visibility("default"))) QDataStream &operator<<(QDataStream &, const QVector2D &); 7770: __attribute__((visibility("default"))) QDataStream &operator>>(QDataStream &, QVector2D &); 7770: 7770: 7770: 7770: 7770: 7770: # 57 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qtouchdevice.h" 1 3 4 7770: # 46 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qtouchdevice.h" 3 4 7770: 7770: 7770: class QDebug; 7770: class QTouchDevicePrivate; 7770: 7770: class __attribute__((visibility("default"))) QTouchDevice 7770: { 7770: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qtouchdevice.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qtouchdevice.h" 3 4 7770: 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qtouchdevice.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qtouchdevice.h" 3 4 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qtouchdevice.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qtouchdevice.h" 3 4 7770: 7770: public: 7770: enum DeviceType { 7770: TouchScreen, 7770: TouchPad 7770: }; 7770: friend constexpr const QMetaObject *qt_getEnumMetaObject(DeviceType) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(DeviceType) noexcept { return "DeviceType"; } 7770: 7770: enum CapabilityFlag { 7770: Position = 0x0001, 7770: Area = 0x0002, 7770: Pressure = 0x0004, 7770: Velocity = 0x0008, 7770: RawPositions = 0x0010, 7770: NormalizedPosition = 0x0020, 7770: MouseEmulation = 0x0040 7770: }; 7770: friend constexpr const QMetaObject *qt_getEnumMetaObject(CapabilityFlag) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(CapabilityFlag) noexcept { return "CapabilityFlag"; } 7770: typedef QFlags Capabilities; 7770: 7770: QTouchDevice(); 7770: ~QTouchDevice(); 7770: 7770: static QList devices(); 7770: 7770: QString name() const; 7770: DeviceType type() const; 7770: Capabilities capabilities() const; 7770: int maximumTouchPoints() const; 7770: 7770: void setName(const QString &name); 7770: void setType(DeviceType devType); 7770: void setCapabilities(Capabilities caps); 7770: void setMaximumTouchPoints(int max); 7770: 7770: private: 7770: QTouchDevicePrivate *d; 7770: friend class QTouchDevicePrivate; 7770: }; 7770: 7770: constexpr inline QFlags operator|(QTouchDevice::Capabilities::enum_type f1, QTouchDevice::Capabilities::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(QTouchDevice::Capabilities::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(QTouchDevice::Capabilities::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QTouchDevice *); 7770: 7770: 7770: 7770: # 58 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 2 3 4 7770: 7770: 7770: 7770: 7770: class QAction; 7770: 7770: class QGesture; 7770: 7770: class QScreen; 7770: 7770: class __attribute__((visibility("default"))) QInputEvent : public QEvent 7770: { 7770: public: 7770: explicit QInputEvent(Type type, Qt::KeyboardModifiers modifiers = Qt::NoModifier); 7770: ~QInputEvent(); 7770: inline Qt::KeyboardModifiers modifiers() const { return modState; } 7770: inline void setModifiers(Qt::KeyboardModifiers amodifiers) { modState = amodifiers; } 7770: inline ulong timestamp() const { return ts; } 7770: inline void setTimestamp(ulong atimestamp) { ts = atimestamp; } 7770: protected: 7770: Qt::KeyboardModifiers modState; 7770: ulong ts; 7770: }; 7770: 7770: class __attribute__((visibility("default"))) QEnterEvent : public QEvent 7770: { 7770: public: 7770: QEnterEvent(const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos); 7770: ~QEnterEvent(); 7770: 7770: 7770: inline QPoint pos() const { return l.toPoint(); } 7770: inline QPoint globalPos() const { return s.toPoint(); } 7770: inline int x() const { return qRound(l.x()); } 7770: inline int y() const { return qRound(l.y()); } 7770: inline int globalX() const { return qRound(s.x()); } 7770: inline int globalY() const { return qRound(s.y()); } 7770: 7770: const QPointF &localPos() const { return l; } 7770: const QPointF &windowPos() const { return w; } 7770: const QPointF &screenPos() const { return s; } 7770: 7770: protected: 7770: QPointF l, w, s; 7770: }; 7770: 7770: class __attribute__((visibility("default"))) QMouseEvent : public QInputEvent 7770: { 7770: public: 7770: QMouseEvent(Type type, const QPointF &localPos, Qt::MouseButton button, 7770: Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers); 7770: QMouseEvent(Type type, const QPointF &localPos, const QPointF &screenPos, 7770: Qt::MouseButton button, Qt::MouseButtons buttons, 7770: Qt::KeyboardModifiers modifiers); 7770: QMouseEvent(Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, 7770: Qt::MouseButton button, Qt::MouseButtons buttons, 7770: Qt::KeyboardModifiers modifiers); 7770: QMouseEvent(Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, 7770: Qt::MouseButton button, Qt::MouseButtons buttons, 7770: Qt::KeyboardModifiers modifiers, Qt::MouseEventSource source); 7770: ~QMouseEvent(); 7770: 7770: 7770: inline QPoint pos() const { return l.toPoint(); } 7770: inline QPoint globalPos() const { return s.toPoint(); } 7770: inline int x() const { return qRound(l.x()); } 7770: inline int y() const { return qRound(l.y()); } 7770: inline int globalX() const { return qRound(s.x()); } 7770: inline int globalY() const { return qRound(s.y()); } 7770: 7770: const QPointF &localPos() const { return l; } 7770: const QPointF &windowPos() const { return w; } 7770: const QPointF &screenPos() const { return s; } 7770: 7770: inline Qt::MouseButton button() const { return b; } 7770: inline Qt::MouseButtons buttons() const { return mouseState; } 7770: 7770: inline void setLocalPos(const QPointF &localPosition) { l = localPosition; } 7770: 7770: 7770: 7770: 7770: 7770: Qt::MouseEventSource source() const; 7770: Qt::MouseEventFlags flags() const; 7770: 7770: protected: 7770: QPointF l, w, s; 7770: Qt::MouseButton b; 7770: Qt::MouseButtons mouseState; 7770: int caps; 7770: QVector2D velocity; 7770: 7770: friend class QGuiApplicationPrivate; 7770: }; 7770: 7770: class __attribute__((visibility("default"))) QHoverEvent : public QInputEvent 7770: { 7770: public: 7770: QHoverEvent(Type type, const QPointF &pos, const QPointF &oldPos, Qt::KeyboardModifiers modifiers = Qt::NoModifier); 7770: ~QHoverEvent(); 7770: 7770: 7770: inline QPoint pos() const { return p.toPoint(); } 7770: inline QPoint oldPos() const { return op.toPoint(); } 7770: 7770: 7770: inline const QPointF &posF() const { return p; } 7770: inline const QPointF &oldPosF() const { return op; } 7770: 7770: protected: 7770: QPointF p, op; 7770: }; 7770: 7770: 7770: class __attribute__((visibility("default"))) QWheelEvent : public QInputEvent 7770: { 7770: public: 7770: enum { DefaultDeltasPerStep = 120 }; 7770: 7770: QWheelEvent(const QPointF &pos, int delta, 7770: Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, 7770: Qt::Orientation orient = Qt::Vertical); 7770: QWheelEvent(const QPointF &pos, const QPointF& globalPos, int delta, 7770: Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, 7770: Qt::Orientation orient = Qt::Vertical); 7770: QWheelEvent(const QPointF &pos, const QPointF& globalPos, 7770: QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, 7770: Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers); 7770: QWheelEvent(const QPointF &pos, const QPointF& globalPos, 7770: QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, 7770: Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase); 7770: QWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta, 7770: int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, 7770: Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase, Qt::MouseEventSource source); 7770: QWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta, 7770: int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, 7770: Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase, Qt::MouseEventSource source, bool inverted); 7770: ~QWheelEvent(); 7770: 7770: 7770: inline QPoint pixelDelta() const { return pixelD; } 7770: inline QPoint angleDelta() const { return angleD; } 7770: 7770: inline int delta() const { return qt4D; } 7770: inline Qt::Orientation orientation() const { return qt4O; } 7770: 7770: 7770: inline QPoint pos() const { return p.toPoint(); } 7770: inline QPoint globalPos() const { return g.toPoint(); } 7770: inline int x() const { return p.x(); } 7770: inline int y() const { return p.y(); } 7770: inline int globalX() const { return g.x(); } 7770: inline int globalY() const { return g.y(); } 7770: 7770: inline const QPointF &posF() const { return p; } 7770: inline const QPointF &globalPosF() const { return g; } 7770: 7770: inline Qt::MouseButtons buttons() const { return mouseState; } 7770: 7770: inline Qt::ScrollPhase phase() const { return Qt::ScrollPhase(ph); } 7770: inline bool inverted() const { return invertedScrolling; } 7770: 7770: Qt::MouseEventSource source() const { return Qt::MouseEventSource(src); } 7770: 7770: protected: 7770: QPointF p; 7770: QPointF g; 7770: QPoint pixelD; 7770: QPoint angleD; 7770: int qt4D; 7770: Qt::Orientation qt4O; 7770: Qt::MouseButtons mouseState; 7770: uint ph : 2; 7770: uint src: 2; 7770: bool invertedScrolling : 1; 7770: int reserved : 27; 7770: 7770: friend class QApplication; 7770: }; 7770: 7770: 7770: 7770: class __attribute__((visibility("default"))) QTabletEvent : public QInputEvent 7770: { 7770: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 7770: # 243 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 243 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 3 4 7770: 7770: # 243 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 243 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 3 4 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 243 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 243 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 3 4 7770: 7770: public: 7770: enum TabletDevice { NoDevice, Puck, Stylus, Airbrush, FourDMouse, 7770: XFreeEraser , RotationStylus }; 7770: friend constexpr const QMetaObject *qt_getEnumMetaObject(TabletDevice) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(TabletDevice) noexcept { return "TabletDevice"; } 7770: enum PointerType { UnknownPointer, Pen, Cursor, Eraser }; 7770: friend constexpr const QMetaObject *qt_getEnumMetaObject(PointerType) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(PointerType) noexcept { return "PointerType"; } 7770: QTabletEvent(Type t, const QPointF &pos, const QPointF &globalPos, 7770: int device, int pointerType, qreal pressure, int xTilt, int yTilt, 7770: qreal tangentialPressure, qreal rotation, int z, 7770: Qt::KeyboardModifiers keyState, qint64 uniqueID); 7770: QTabletEvent(Type t, const QPointF &pos, const QPointF &globalPos, 7770: int device, int pointerType, qreal pressure, int xTilt, int yTilt, 7770: qreal tangentialPressure, qreal rotation, int z, 7770: Qt::KeyboardModifiers keyState, qint64 uniqueID, 7770: Qt::MouseButton button, Qt::MouseButtons buttons); 7770: ~QTabletEvent(); 7770: 7770: inline QPoint pos() const { return mPos.toPoint(); } 7770: inline QPoint globalPos() const { return mGPos.toPoint(); } 7770: 7770: 7770: 7770: 7770: inline const QPointF &posF() const { return mPos; } 7770: inline const QPointF &globalPosF() const { return mGPos; } 7770: 7770: inline int x() const { return qRound(mPos.x()); } 7770: inline int y() const { return qRound(mPos.y()); } 7770: inline int globalX() const { return qRound(mGPos.x()); } 7770: inline int globalY() const { return qRound(mGPos.y()); } 7770: inline qreal hiResGlobalX() const { return mGPos.x(); } 7770: inline qreal hiResGlobalY() const { return mGPos.y(); } 7770: inline TabletDevice device() const { return TabletDevice(mDev); } 7770: inline PointerType pointerType() const { return PointerType(mPointerType); } 7770: inline qint64 uniqueId() const { return mUnique; } 7770: inline qreal pressure() const { return mPress; } 7770: inline int z() const { return mZ; } 7770: inline qreal tangentialPressure() const { return mTangential; } 7770: inline qreal rotation() const { return mRot; } 7770: inline int xTilt() const { return mXT; } 7770: inline int yTilt() const { return mYT; } 7770: Qt::MouseButton button() const; 7770: Qt::MouseButtons buttons() const; 7770: 7770: protected: 7770: QPointF mPos, mGPos; 7770: int mDev, mPointerType, mXT, mYT, mZ; 7770: qreal mPress, mTangential, mRot; 7770: qint64 mUnique; 7770: 7770: 7770: 7770: void *mExtra; 7770: }; 7770: 7770: 7770: 7770: class __attribute__((visibility("default"))) QNativeGestureEvent : public QInputEvent 7770: { 7770: public: 7770: QNativeGestureEvent(Qt::NativeGestureType type, const QPointF &localPos, const QPointF &windowPos, 7770: const QPointF &screenPos, qreal value, ulong sequenceId, quint64 intArgument); 7770: Qt::NativeGestureType gestureType() const { return mGestureType; } 7770: qreal value() const { return mRealValue; } 7770: 7770: 7770: inline const QPoint pos() const { return mLocalPos.toPoint(); } 7770: inline const QPoint globalPos() const { return mScreenPos.toPoint(); } 7770: 7770: const QPointF &localPos() const { return mLocalPos; } 7770: const QPointF &windowPos() const { return mWindowPos; } 7770: const QPointF &screenPos() const { return mScreenPos; } 7770: 7770: protected: 7770: Qt::NativeGestureType mGestureType; 7770: QPointF mLocalPos; 7770: QPointF mWindowPos; 7770: QPointF mScreenPos; 7770: qreal mRealValue; 7770: ulong mSequenceId; 7770: quint64 mIntValue; 7770: }; 7770: 7770: 7770: class __attribute__((visibility("default"))) QKeyEvent : public QInputEvent 7770: { 7770: public: 7770: QKeyEvent(Type type, int key, Qt::KeyboardModifiers modifiers, const QString& text = QString(), 7770: bool autorep = false, ushort count = 1); 7770: QKeyEvent(Type type, int key, Qt::KeyboardModifiers modifiers, 7770: quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, 7770: const QString &text = QString(), bool autorep = false, ushort count = 1); 7770: ~QKeyEvent(); 7770: 7770: int key() const { return k; } 7770: 7770: bool matches(QKeySequence::StandardKey key) const; 7770: 7770: Qt::KeyboardModifiers modifiers() const; 7770: inline QString text() const { return txt; } 7770: inline bool isAutoRepeat() const { return autor; } 7770: inline int count() const { return int(c); } 7770: 7770: inline quint32 nativeScanCode() const { return nScanCode; } 7770: inline quint32 nativeVirtualKey() const { return nVirtualKey; } 7770: inline quint32 nativeModifiers() const { return nModifiers; } 7770: # 367 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 3 4 7770: protected: 7770: QString txt; 7770: int k; 7770: quint32 nScanCode; 7770: quint32 nVirtualKey; 7770: quint32 nModifiers; 7770: ushort c; 7770: ushort autor:1; 7770: 7770: }; 7770: 7770: 7770: class __attribute__((visibility("default"))) QFocusEvent : public QEvent 7770: { 7770: public: 7770: explicit QFocusEvent(Type type, Qt::FocusReason reason=Qt::OtherFocusReason); 7770: ~QFocusEvent(); 7770: 7770: inline bool gotFocus() const { return type() == FocusIn; } 7770: inline bool lostFocus() const { return type() == FocusOut; } 7770: 7770: Qt::FocusReason reason() const; 7770: 7770: private: 7770: Qt::FocusReason m_reason; 7770: }; 7770: 7770: 7770: class __attribute__((visibility("default"))) QPaintEvent : public QEvent 7770: { 7770: public: 7770: explicit QPaintEvent(const QRegion& paintRegion); 7770: explicit QPaintEvent(const QRect &paintRect); 7770: ~QPaintEvent(); 7770: 7770: inline const QRect &rect() const { return m_rect; } 7770: inline const QRegion ®ion() const { return m_region; } 7770: 7770: protected: 7770: QRect m_rect; 7770: QRegion m_region; 7770: bool m_erased; 7770: }; 7770: 7770: class __attribute__((visibility("default"))) QMoveEvent : public QEvent 7770: { 7770: public: 7770: QMoveEvent(const QPoint &pos, const QPoint &oldPos); 7770: ~QMoveEvent(); 7770: 7770: inline const QPoint &pos() const { return p; } 7770: inline const QPoint &oldPos() const { return oldp;} 7770: protected: 7770: QPoint p, oldp; 7770: friend class QApplication; 7770: }; 7770: 7770: class __attribute__((visibility("default"))) QExposeEvent : public QEvent 7770: { 7770: public: 7770: explicit QExposeEvent(const QRegion &rgn); 7770: ~QExposeEvent(); 7770: 7770: inline const QRegion ®ion() const { return rgn; } 7770: 7770: protected: 7770: QRegion rgn; 7770: }; 7770: 7770: class __attribute__((visibility("default"))) QPlatformSurfaceEvent : public QEvent 7770: { 7770: public: 7770: enum SurfaceEventType { 7770: SurfaceCreated, 7770: SurfaceAboutToBeDestroyed 7770: }; 7770: 7770: explicit QPlatformSurfaceEvent(SurfaceEventType surfaceEventType); 7770: ~QPlatformSurfaceEvent(); 7770: 7770: inline SurfaceEventType surfaceEventType() const { return m_surfaceEventType; } 7770: 7770: protected: 7770: SurfaceEventType m_surfaceEventType; 7770: }; 7770: 7770: class __attribute__((visibility("default"))) QResizeEvent : public QEvent 7770: { 7770: public: 7770: QResizeEvent(const QSize &size, const QSize &oldSize); 7770: ~QResizeEvent(); 7770: 7770: inline const QSize &size() const { return s; } 7770: inline const QSize &oldSize()const { return olds;} 7770: protected: 7770: QSize s, olds; 7770: friend class QApplication; 7770: }; 7770: 7770: 7770: class __attribute__((visibility("default"))) QCloseEvent : public QEvent 7770: { 7770: public: 7770: QCloseEvent(); 7770: ~QCloseEvent(); 7770: }; 7770: 7770: 7770: class __attribute__((visibility("default"))) QIconDragEvent : public QEvent 7770: { 7770: public: 7770: QIconDragEvent(); 7770: ~QIconDragEvent(); 7770: }; 7770: 7770: 7770: class __attribute__((visibility("default"))) QShowEvent : public QEvent 7770: { 7770: public: 7770: QShowEvent(); 7770: ~QShowEvent(); 7770: }; 7770: 7770: 7770: class __attribute__((visibility("default"))) QHideEvent : public QEvent 7770: { 7770: public: 7770: QHideEvent(); 7770: ~QHideEvent(); 7770: }; 7770: 7770: 7770: class __attribute__((visibility("default"))) QContextMenuEvent : public QInputEvent 7770: { 7770: public: 7770: enum Reason { Mouse, Keyboard, Other }; 7770: 7770: QContextMenuEvent(Reason reason, const QPoint &pos, const QPoint &globalPos, 7770: Qt::KeyboardModifiers modifiers); 7770: QContextMenuEvent(Reason reason, const QPoint &pos, const QPoint &globalPos); 7770: QContextMenuEvent(Reason reason, const QPoint &pos); 7770: ~QContextMenuEvent(); 7770: 7770: inline int x() const { return p.x(); } 7770: inline int y() const { return p.y(); } 7770: inline int globalX() const { return gp.x(); } 7770: inline int globalY() const { return gp.y(); } 7770: 7770: inline const QPoint& pos() const { return p; } 7770: inline const QPoint& globalPos() const { return gp; } 7770: 7770: inline Reason reason() const { return Reason(reas); } 7770: 7770: protected: 7770: QPoint p; 7770: QPoint gp; 7770: uint reas : 8; 7770: }; 7770: 7770: 7770: 7770: class __attribute__((visibility("default"))) QInputMethodEvent : public QEvent 7770: { 7770: public: 7770: enum AttributeType { 7770: TextFormat, 7770: Cursor, 7770: Language, 7770: Ruby, 7770: Selection 7770: }; 7770: class Attribute { 7770: public: 7770: Attribute(AttributeType typ, int s, int l, QVariant val) : type(typ), start(s), length(l), value(std::move(val)) {} 7770: Attribute(AttributeType typ, int s, int l) : type(typ), start(s), length(l), value() {} 7770: 7770: AttributeType type; 7770: int start; 7770: int length; 7770: QVariant value; 7770: }; 7770: QInputMethodEvent(); 7770: QInputMethodEvent(const QString &preeditText, const QList &attributes); 7770: ~QInputMethodEvent(); 7770: 7770: void setCommitString(const QString &commitString, int replaceFrom = 0, int replaceLength = 0); 7770: inline const QList &attributes() const { return attrs; } 7770: inline const QString &preeditString() const { return preedit; } 7770: 7770: inline const QString &commitString() const { return commit; } 7770: inline int replacementStart() const { return replace_from; } 7770: inline int replacementLength() const { return replace_length; } 7770: 7770: QInputMethodEvent(const QInputMethodEvent &other); 7770: 7770: private: 7770: QString preedit; 7770: QList attrs; 7770: QString commit; 7770: int replace_from; 7770: int replace_length; 7770: }; 7770: 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(QInputMethodEvent::Attribute)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QInputMethodEvent::Attribute >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QInputMethodEvent::Attribute) }; static inline const char *name() { return "QInputMethodEvent::Attribute"; } }; 7770: 7770: class __attribute__((visibility("default"))) QInputMethodQueryEvent : public QEvent 7770: { 7770: public: 7770: explicit QInputMethodQueryEvent(Qt::InputMethodQueries queries); 7770: ~QInputMethodQueryEvent(); 7770: 7770: Qt::InputMethodQueries queries() const { return m_queries; } 7770: 7770: void setValue(Qt::InputMethodQuery query, const QVariant &value); 7770: QVariant value(Qt::InputMethodQuery query) const; 7770: private: 7770: Qt::InputMethodQueries m_queries; 7770: struct QueryPair { 7770: Qt::InputMethodQuery query; 7770: QVariant value; 7770: }; 7770: friend QTypeInfo; 7770: QVector m_values; 7770: }; 7770: 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(QInputMethodQueryEvent::QueryPair)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QInputMethodQueryEvent::QueryPair >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QInputMethodQueryEvent::QueryPair) }; static inline const char *name() { return "QInputMethodQueryEvent::QueryPair"; } }; 7770: 7770: 7770: 7770: 7770: 7770: class QMimeData; 7770: 7770: class __attribute__((visibility("default"))) QDropEvent : public QEvent 7770: { 7770: public: 7770: QDropEvent(const QPointF& pos, Qt::DropActions actions, const QMimeData *data, 7770: Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Type type = Drop); 7770: ~QDropEvent(); 7770: 7770: inline QPoint pos() const { return p.toPoint(); } 7770: inline const QPointF &posF() const { return p; } 7770: inline Qt::MouseButtons mouseButtons() const { return mouseState; } 7770: inline Qt::KeyboardModifiers keyboardModifiers() const { return modState; } 7770: 7770: inline Qt::DropActions possibleActions() const { return act; } 7770: inline Qt::DropAction proposedAction() const { return default_action; } 7770: inline void acceptProposedAction() { drop_action = default_action; accept(); } 7770: 7770: inline Qt::DropAction dropAction() const { return drop_action; } 7770: void setDropAction(Qt::DropAction action); 7770: 7770: QObject* source() const; 7770: inline const QMimeData *mimeData() const { return mdata; } 7770: 7770: protected: 7770: friend class QApplication; 7770: QPointF p; 7770: Qt::MouseButtons mouseState; 7770: Qt::KeyboardModifiers modState; 7770: Qt::DropActions act; 7770: Qt::DropAction drop_action; 7770: Qt::DropAction default_action; 7770: const QMimeData *mdata; 7770: }; 7770: 7770: 7770: class __attribute__((visibility("default"))) QDragMoveEvent : public QDropEvent 7770: { 7770: public: 7770: QDragMoveEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data, 7770: Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Type type = DragMove); 7770: ~QDragMoveEvent(); 7770: 7770: inline QRect answerRect() const { return rect; } 7770: 7770: inline void accept() { QDropEvent::accept(); } 7770: inline void ignore() { QDropEvent::ignore(); } 7770: 7770: inline void accept(const QRect & r) { accept(); rect = r; } 7770: inline void ignore(const QRect & r) { ignore(); rect = r; } 7770: 7770: protected: 7770: QRect rect; 7770: }; 7770: 7770: 7770: class __attribute__((visibility("default"))) QDragEnterEvent : public QDragMoveEvent 7770: { 7770: public: 7770: QDragEnterEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data, 7770: Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers); 7770: ~QDragEnterEvent(); 7770: }; 7770: 7770: 7770: class __attribute__((visibility("default"))) QDragLeaveEvent : public QEvent 7770: { 7770: public: 7770: QDragLeaveEvent(); 7770: ~QDragLeaveEvent(); 7770: }; 7770: 7770: 7770: 7770: class __attribute__((visibility("default"))) QHelpEvent : public QEvent 7770: { 7770: public: 7770: QHelpEvent(Type type, const QPoint &pos, const QPoint &globalPos); 7770: ~QHelpEvent(); 7770: 7770: inline int x() const { return p.x(); } 7770: inline int y() const { return p.y(); } 7770: inline int globalX() const { return gp.x(); } 7770: inline int globalY() const { return gp.y(); } 7770: 7770: inline const QPoint& pos() const { return p; } 7770: inline const QPoint& globalPos() const { return gp; } 7770: 7770: private: 7770: QPoint p; 7770: QPoint gp; 7770: }; 7770: 7770: 7770: class __attribute__((visibility("default"))) QStatusTipEvent : public QEvent 7770: { 7770: public: 7770: explicit QStatusTipEvent(const QString &tip); 7770: ~QStatusTipEvent(); 7770: 7770: inline QString tip() const { return s; } 7770: private: 7770: QString s; 7770: }; 7770: 7770: 7770: 7770: class __attribute__((visibility("default"))) QWhatsThisClickedEvent : public QEvent 7770: { 7770: public: 7770: explicit QWhatsThisClickedEvent(const QString &href); 7770: ~QWhatsThisClickedEvent(); 7770: 7770: inline QString href() const { return s; } 7770: private: 7770: QString s; 7770: }; 7770: 7770: 7770: 7770: class __attribute__((visibility("default"))) QActionEvent : public QEvent 7770: { 7770: QAction *act, *bef; 7770: public: 7770: QActionEvent(int type, QAction *action, QAction *before = nullptr); 7770: ~QActionEvent(); 7770: 7770: inline QAction *action() const { return act; } 7770: inline QAction *before() const { return bef; } 7770: }; 7770: 7770: 7770: class __attribute__((visibility("default"))) QFileOpenEvent : public QEvent 7770: { 7770: public: 7770: explicit QFileOpenEvent(const QString &file); 7770: explicit QFileOpenEvent(const QUrl &url); 7770: ~QFileOpenEvent(); 7770: 7770: inline QString file() const { return f; } 7770: QUrl url() const { return m_url; } 7770: bool openFile(QFile &file, QIODevice::OpenMode flags) const; 7770: private: 7770: QString f; 7770: QUrl m_url; 7770: }; 7770: 7770: 7770: class __attribute__((visibility("default"))) QToolBarChangeEvent : public QEvent 7770: { 7770: public: 7770: explicit QToolBarChangeEvent(bool t); 7770: ~QToolBarChangeEvent(); 7770: 7770: inline bool toggle() const { return tog; } 7770: private: 7770: uint tog : 1; 7770: }; 7770: 7770: 7770: 7770: class __attribute__((visibility("default"))) QShortcutEvent : public QEvent 7770: { 7770: public: 7770: QShortcutEvent(const QKeySequence &key, int id, bool ambiguous = false); 7770: ~QShortcutEvent(); 7770: 7770: inline const QKeySequence &key() const { return sequence; } 7770: inline int shortcutId() const { return sid; } 7770: inline bool isAmbiguous() const { return ambig; } 7770: protected: 7770: QKeySequence sequence; 7770: bool ambig; 7770: int sid; 7770: }; 7770: 7770: 7770: class __attribute__((visibility("default"))) QWindowStateChangeEvent: public QEvent 7770: { 7770: public: 7770: explicit QWindowStateChangeEvent(Qt::WindowStates aOldState, bool isOverride = false); 7770: ~QWindowStateChangeEvent(); 7770: 7770: inline Qt::WindowStates oldState() const { return ostate; } 7770: bool isOverride() const; 7770: 7770: private: 7770: Qt::WindowStates ostate; 7770: bool m_override; 7770: }; 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QEvent *); 7770: 7770: 7770: 7770: inline bool operator==(QKeyEvent *e, QKeySequence::StandardKey key){return (e ? e->matches(key) : false);} 7770: inline bool operator==(QKeySequence::StandardKey key, QKeyEvent *e){return (e ? e->matches(key) : false);} 7770: 7770: 7770: class __attribute__((visibility("default"))) QPointingDeviceUniqueId 7770: { 7770: public: static const QMetaObject staticMetaObject; void qt_check_for_QGADGET_macro(); typedef void QtGadgetHelper; private: 7770: # 798 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 798 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 3 4 7770: 7770: # 798 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 798 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 3 4 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 798 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 798 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 3 4 7770: 7770: 7770: public: 7770: inline __attribute__((always_inline)) 7770: constexpr QPointingDeviceUniqueId() noexcept : m_numericId(-1) {} 7770: 7770: 7770: 7770: static QPointingDeviceUniqueId fromNumericId(qint64 id); 7770: 7770: inline __attribute__((always_inline)) constexpr bool isValid() const noexcept { return m_numericId != -1; } 7770: qint64 numericId() const noexcept; 7770: 7770: private: 7770: 7770: 7770: 7770: qint64 m_numericId; 7770: }; 7770: 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(QPointingDeviceUniqueId)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QPointingDeviceUniqueId >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QPointingDeviceUniqueId) }; static inline const char *name() { return "QPointingDeviceUniqueId"; } }; 7770: template <> class QList {}; 7770: 7770: __attribute__((visibility("default"))) bool operator==(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs) noexcept; 7770: inline bool operator!=(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs) noexcept 7770: { return !operator==(lhs, rhs); } 7770: __attribute__((visibility("default"))) uint qHash(QPointingDeviceUniqueId key, uint seed = 0) noexcept; 7770: 7770: 7770: 7770: class QTouchEventTouchPointPrivate; 7770: class __attribute__((visibility("default"))) QTouchEvent : public QInputEvent 7770: { 7770: public: 7770: class __attribute__((visibility("default"))) TouchPoint 7770: { 7770: public: 7770: enum InfoFlag { 7770: Pen = 0x0001, 7770: Token = 0x0002 7770: }; 7770: 7770: 7770: 7770: typedef QFlags InfoFlags; 7770: 7770: 7770: explicit TouchPoint(int id = -1); 7770: TouchPoint(const TouchPoint &other); 7770: 7770: TouchPoint(TouchPoint &&other) noexcept 7770: : d(nullptr) 7770: { qSwap(d, other.d); } 7770: TouchPoint &operator=(TouchPoint &&other) noexcept 7770: { qSwap(d, other.d); return *this; } 7770: 7770: ~TouchPoint(); 7770: 7770: TouchPoint &operator=(const TouchPoint &other) 7770: { if ( d != other.d ) { TouchPoint copy(other); swap(copy); } return *this; } 7770: 7770: void swap(TouchPoint &other) noexcept 7770: { qSwap(d, other.d); } 7770: 7770: int id() const; 7770: QPointingDeviceUniqueId uniqueId() const; 7770: 7770: Qt::TouchPointState state() const; 7770: 7770: QPointF pos() const; 7770: QPointF startPos() const; 7770: QPointF lastPos() const; 7770: 7770: QPointF scenePos() const; 7770: QPointF startScenePos() const; 7770: QPointF lastScenePos() const; 7770: 7770: QPointF screenPos() const; 7770: QPointF startScreenPos() const; 7770: QPointF lastScreenPos() const; 7770: 7770: QPointF normalizedPos() const; 7770: QPointF startNormalizedPos() const; 7770: QPointF lastNormalizedPos() const; 7770: 7770: QRectF rect() const; 7770: QRectF sceneRect() const; 7770: QRectF screenRect() const; 7770: 7770: qreal pressure() const; 7770: qreal rotation() const; 7770: QSizeF ellipseDiameters() const; 7770: 7770: QVector2D velocity() const; 7770: InfoFlags flags() const; 7770: QVector rawScreenPositions() const; 7770: 7770: 7770: void setId(int id); 7770: void setUniqueId(qint64 uid); 7770: void setState(Qt::TouchPointStates state); 7770: void setPos(const QPointF &pos); 7770: void setScenePos(const QPointF &scenePos); 7770: void setScreenPos(const QPointF &screenPos); 7770: void setNormalizedPos(const QPointF &normalizedPos); 7770: void setStartPos(const QPointF &startPos); 7770: void setStartScenePos(const QPointF &startScenePos); 7770: void setStartScreenPos(const QPointF &startScreenPos); 7770: void setStartNormalizedPos(const QPointF &startNormalizedPos); 7770: void setLastPos(const QPointF &lastPos); 7770: void setLastScenePos(const QPointF &lastScenePos); 7770: void setLastScreenPos(const QPointF &lastScreenPos); 7770: void setLastNormalizedPos(const QPointF &lastNormalizedPos); 7770: void setRect(const QRectF &rect); 7770: void setSceneRect(const QRectF &sceneRect); 7770: void setScreenRect(const QRectF &screenRect); 7770: void setPressure(qreal pressure); 7770: void setRotation(qreal angle); 7770: void setEllipseDiameters(const QSizeF &dia); 7770: void setVelocity(const QVector2D &v); 7770: void setFlags(InfoFlags flags); 7770: void setRawScreenPositions(const QVector &positions); 7770: 7770: private: 7770: QTouchEventTouchPointPrivate *d; 7770: friend class QGuiApplication; 7770: friend class QGuiApplicationPrivate; 7770: friend class QApplication; 7770: friend class QApplicationPrivate; 7770: }; 7770: # 935 "/usr/include/aarch64-linux-gnu/qt5/QtGui/qevent.h" 3 4 7770: explicit QTouchEvent(QEvent::Type eventType, 7770: QTouchDevice *device = nullptr, 7770: Qt::KeyboardModifiers modifiers = Qt::NoModifier, 7770: Qt::TouchPointStates touchPointStates = Qt::TouchPointStates(), 7770: const QList &touchPoints = QList()); 7770: ~QTouchEvent(); 7770: 7770: inline QWindow *window() const { return _window; } 7770: inline QObject *target() const { return _target; } 7770: 7770: 7770: 7770: inline Qt::TouchPointStates touchPointStates() const { return _touchPointStates; } 7770: inline const QList &touchPoints() const { return _touchPoints; } 7770: inline QTouchDevice *device() const { return _device; } 7770: 7770: 7770: inline void setWindow(QWindow *awindow) { _window = awindow; } 7770: inline void setTarget(QObject *atarget) { _target = atarget; } 7770: inline void setTouchPointStates(Qt::TouchPointStates aTouchPointStates) { _touchPointStates = aTouchPointStates; } 7770: inline void setTouchPoints(const QList &atouchPoints) { _touchPoints = atouchPoints; } 7770: inline void setDevice(QTouchDevice *adevice) { _device = adevice; } 7770: 7770: protected: 7770: QWindow *_window; 7770: QObject *_target; 7770: QTouchDevice *_device; 7770: Qt::TouchPointStates _touchPointStates; 7770: QList _touchPoints; 7770: 7770: friend class QGuiApplication; 7770: friend class QGuiApplicationPrivate; 7770: friend class QApplication; 7770: friend class QApplicationPrivate; 7770: 7770: friend class QGraphicsScenePrivate; 7770: 7770: }; 7770: 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(QTouchEvent::TouchPoint)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QTouchEvent::TouchPoint >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QTouchEvent::TouchPoint) }; static inline const char *name() { return "QTouchEvent::TouchPoint"; } }; 7770: constexpr inline QFlags operator|(QTouchEvent::TouchPoint::InfoFlags::enum_type f1, QTouchEvent::TouchPoint::InfoFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(QTouchEvent::TouchPoint::InfoFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(QTouchEvent::TouchPoint::InfoFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QTouchEvent::TouchPoint &); 7770: 7770: 7770: class __attribute__((visibility("default"))) QScrollPrepareEvent : public QEvent 7770: { 7770: public: 7770: explicit QScrollPrepareEvent(const QPointF &startPos); 7770: ~QScrollPrepareEvent(); 7770: 7770: QPointF startPos() const; 7770: 7770: QSizeF viewportSize() const; 7770: QRectF contentPosRange() const; 7770: QPointF contentPos() const; 7770: 7770: void setViewportSize(const QSizeF &size); 7770: void setContentPosRange(const QRectF &rect); 7770: void setContentPos(const QPointF &pos); 7770: 7770: private: 7770: QObject* m_target; 7770: QPointF m_startPos; 7770: QSizeF m_viewportSize; 7770: QRectF m_contentPosRange; 7770: QPointF m_contentPos; 7770: }; 7770: 7770: 7770: class __attribute__((visibility("default"))) QScrollEvent : public QEvent 7770: { 7770: public: 7770: enum ScrollState 7770: { 7770: ScrollStarted, 7770: ScrollUpdated, 7770: ScrollFinished 7770: }; 7770: 7770: QScrollEvent(const QPointF &contentPos, const QPointF &overshoot, ScrollState scrollState); 7770: ~QScrollEvent(); 7770: 7770: QPointF contentPos() const; 7770: QPointF overshootDistance() const; 7770: ScrollState scrollState() const; 7770: 7770: private: 7770: QPointF m_contentPos; 7770: QPointF m_overshoot; 7770: QScrollEvent::ScrollState m_state; 7770: }; 7770: 7770: class __attribute__((visibility("default"))) QScreenOrientationChangeEvent : public QEvent 7770: { 7770: public: 7770: QScreenOrientationChangeEvent(QScreen *screen, Qt::ScreenOrientation orientation); 7770: ~QScreenOrientationChangeEvent(); 7770: 7770: QScreen *screen() const; 7770: Qt::ScreenOrientation orientation() const; 7770: 7770: private: 7770: QScreen *m_screen; 7770: Qt::ScreenOrientation m_orientation; 7770: }; 7770: 7770: class __attribute__((visibility("default"))) QApplicationStateChangeEvent : public QEvent 7770: { 7770: public: 7770: explicit QApplicationStateChangeEvent(Qt::ApplicationState state); 7770: Qt::ApplicationState applicationState() const; 7770: 7770: private: 7770: Qt::ApplicationState m_applicationState; 7770: }; 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtGui/QList" 2 3 4 7770: # 56 "maps/qgeomappingmanagerengine_p.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QMap" 1 3 4 7770: # 57 "maps/qgeomappingmanagerengine_p.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QString" 1 3 4 7770: # 58 "maps/qgeomappingmanagerengine_p.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QVariant" 1 3 4 7770: # 59 "maps/qgeomappingmanagerengine_p.h" 2 7770: # 1 "../../include/QtLocation/5.9.3/QtLocation/private/qlocationglobal_p.h" 1 7770: # 60 "maps/qgeomappingmanagerengine_p.h" 2 7770: # 1 "maps/qgeomaptype_p.h" 1 7770: # 61 "maps/qgeomappingmanagerengine_p.h" 2 7770: 7770: 7770: 7770: 7770: 7770: # 65 "maps/qgeomappingmanagerengine_p.h" 7770: class QLocale; 7770: 7770: class QGeoRectangle; 7770: class QGeoCoordinate; 7770: class QGeoMappingManagerPrivate; 7770: class QGeoMapRequestOptions; 7770: 7770: class QGeoMappingManagerEnginePrivate; 7770: class QGeoMap; 7770: 7770: class 7770: # 75 "maps/qgeomappingmanagerengine_p.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 75 "maps/qgeomappingmanagerengine_p.h" 7770: QGeoMappingManagerEngine : public QObject 7770: { 7770: 7770: # 77 "maps/qgeomappingmanagerengine_p.h" 3 4 7770: public: 7770: # 77 "maps/qgeomappingmanagerengine_p.h" 7770: #pragma GCC diagnostic push 7770: # 77 "maps/qgeomappingmanagerengine_p.h" 7770: 7770: # 77 "maps/qgeomappingmanagerengine_p.h" 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 77 "maps/qgeomappingmanagerengine_p.h" 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 77 "maps/qgeomappingmanagerengine_p.h" 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 77 "maps/qgeomappingmanagerengine_p.h" 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 77 "maps/qgeomappingmanagerengine_p.h" 7770: #pragma GCC diagnostic pop 7770: # 77 "maps/qgeomappingmanagerengine_p.h" 7770: struct QPrivateSignal {}; 7770: 7770: 7770: # 79 "maps/qgeomappingmanagerengine_p.h" 7770: public: 7770: explicit QGeoMappingManagerEngine(QObject *parent = 0); 7770: virtual ~QGeoMappingManagerEngine(); 7770: 7770: virtual QGeoMap *createMap() = 0; 7770: 7770: QVariantMap parameters() const; 7770: 7770: QString managerName() const; 7770: int managerVersion() const; 7770: 7770: QList supportedMapTypes() const; 7770: 7770: 7770: virtual QGeoCameraCapabilities cameraCapabilities(int mapId = 0) const; 7770: 7770: void setLocale(const QLocale &locale); 7770: QLocale locale() const; 7770: 7770: bool isInitialized() const; 7770: 7770: 7770: # 100 "maps/qgeomappingmanagerengine_p.h" 3 4 7770: public 7770: # 100 "maps/qgeomappingmanagerengine_p.h" 7770: : 7770: void initialized(); 7770: void supportedMapTypesChanged(); 7770: 7770: protected: 7770: void setSupportedMapTypes(const QList &supportedMapTypes); 7770: void setCameraCapabilities(const QGeoCameraCapabilities &capabilities); 7770: 7770: void engineInitialized(); 7770: 7770: private: 7770: QGeoMappingManagerEnginePrivate *d_ptr; 7770: 7770: void setManagerName(const QString &managerName); 7770: void setManagerVersion(int managerVersion); 7770: 7770: 7770: # 116 "maps/qgeomappingmanagerengine_p.h" 3 4 7770: inline 7770: # 116 "maps/qgeomappingmanagerengine_p.h" 7770: QGeoMappingManagerEnginePrivate 7770: # 116 "maps/qgeomappingmanagerengine_p.h" 3 4 7770: * d_func() { return reinterpret_cast< 7770: # 116 "maps/qgeomappingmanagerengine_p.h" 7770: QGeoMappingManagerEnginePrivate 7770: # 116 "maps/qgeomappingmanagerengine_p.h" 3 4 7770: *>(qGetPtrHelper(d_ptr)); } inline const 7770: # 116 "maps/qgeomappingmanagerengine_p.h" 7770: QGeoMappingManagerEnginePrivate 7770: # 116 "maps/qgeomappingmanagerengine_p.h" 3 4 7770: * d_func() const { return reinterpret_cast(qGetPtrHelper(d_ptr)); } friend class 7770: # 116 "maps/qgeomappingmanagerengine_p.h" 7770: QGeoMappingManagerEnginePrivate 7770: # 116 "maps/qgeomappingmanagerengine_p.h" 3 4 7770: ; 7770: 7770: # 117 "maps/qgeomappingmanagerengine_p.h" 7770: QGeoMappingManagerEngine 7770: # 117 "maps/qgeomappingmanagerengine_p.h" 3 4 7770: (const 7770: # 117 "maps/qgeomappingmanagerengine_p.h" 7770: QGeoMappingManagerEngine 7770: # 117 "maps/qgeomappingmanagerengine_p.h" 3 4 7770: &) = delete; 7770: # 117 "maps/qgeomappingmanagerengine_p.h" 7770: QGeoMappingManagerEngine 7770: # 117 "maps/qgeomappingmanagerengine_p.h" 3 4 7770: &operator=(const 7770: # 117 "maps/qgeomappingmanagerengine_p.h" 7770: QGeoMappingManagerEngine 7770: # 117 "maps/qgeomappingmanagerengine_p.h" 3 4 7770: &) = delete; 7770: 7770: 7770: # 119 "maps/qgeomappingmanagerengine_p.h" 7770: friend class QGeoServiceProvider; 7770: friend class QGeoServiceProviderPrivate; 7770: }; 7770: 7770: 7770: # 47 "maps/qgeoserviceprovider.cpp" 2 7770: # 1 "maps/qgeoroutingmanagerengine.h" 1 7770: # 40 "maps/qgeoroutingmanagerengine.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QObject" 1 3 4 7770: # 41 "maps/qgeoroutingmanagerengine.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QMap" 1 3 4 7770: # 42 "maps/qgeoroutingmanagerengine.h" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QLocale" 1 3 4 7770: # 43 "maps/qgeoroutingmanagerengine.h" 2 7770: # 1 "../../include/QtLocation/QGeoRouteRequest" 1 7770: # 1 "../../include/QtLocation/qgeorouterequest.h" 1 7770: # 1 "../../include/QtLocation/QGeoRouteRequest" 2 7770: # 44 "maps/qgeoroutingmanagerengine.h" 2 7770: # 1 "../../include/QtLocation/QGeoRouteReply" 1 7770: # 1 "../../include/QtLocation/qgeoroutereply.h" 1 7770: # 1 "../../include/QtLocation/QGeoRouteReply" 2 7770: # 45 "maps/qgeoroutingmanagerengine.h" 2 7770: 7770: 7770: 7770: class QGeoRoutingManagerEnginePrivate; 7770: 7770: class 7770: # 50 "maps/qgeoroutingmanagerengine.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 50 "maps/qgeoroutingmanagerengine.h" 7770: QGeoRoutingManagerEngine : public QObject 7770: { 7770: 7770: # 52 "maps/qgeoroutingmanagerengine.h" 3 4 7770: public: 7770: # 52 "maps/qgeoroutingmanagerengine.h" 7770: #pragma GCC diagnostic push 7770: # 52 "maps/qgeoroutingmanagerengine.h" 7770: 7770: # 52 "maps/qgeoroutingmanagerengine.h" 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 52 "maps/qgeoroutingmanagerengine.h" 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 52 "maps/qgeoroutingmanagerengine.h" 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 52 "maps/qgeoroutingmanagerengine.h" 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 52 "maps/qgeoroutingmanagerengine.h" 7770: #pragma GCC diagnostic pop 7770: # 52 "maps/qgeoroutingmanagerengine.h" 7770: struct QPrivateSignal {}; 7770: 7770: # 53 "maps/qgeoroutingmanagerengine.h" 7770: public: 7770: explicit QGeoRoutingManagerEngine(const QVariantMap ¶meters, QObject *parent = 7770: # 54 "maps/qgeoroutingmanagerengine.h" 3 4 7770: nullptr 7770: # 54 "maps/qgeoroutingmanagerengine.h" 7770: ); 7770: virtual ~QGeoRoutingManagerEngine(); 7770: 7770: QString managerName() const; 7770: int managerVersion() const; 7770: 7770: virtual QGeoRouteReply *calculateRoute(const QGeoRouteRequest &request) = 0; 7770: virtual QGeoRouteReply *updateRoute(const QGeoRoute &route, const QGeoCoordinate &position); 7770: 7770: QGeoRouteRequest::TravelModes supportedTravelModes() const; 7770: QGeoRouteRequest::FeatureTypes supportedFeatureTypes() const; 7770: QGeoRouteRequest::FeatureWeights supportedFeatureWeights() const; 7770: QGeoRouteRequest::RouteOptimizations supportedRouteOptimizations() const; 7770: QGeoRouteRequest::SegmentDetails supportedSegmentDetails() const; 7770: QGeoRouteRequest::ManeuverDetails supportedManeuverDetails() const; 7770: 7770: void setLocale(const QLocale &locale); 7770: QLocale locale() const; 7770: void setMeasurementSystem(QLocale::MeasurementSystem system); 7770: QLocale::MeasurementSystem measurementSystem() const; 7770: 7770: 7770: # 75 "maps/qgeoroutingmanagerengine.h" 3 4 7770: public 7770: # 75 "maps/qgeoroutingmanagerengine.h" 7770: : 7770: void finished(QGeoRouteReply *reply); 7770: void error(QGeoRouteReply *reply, QGeoRouteReply::Error error, QString errorString = QString()); 7770: 7770: protected: 7770: void setSupportedTravelModes(QGeoRouteRequest::TravelModes travelModes); 7770: void setSupportedFeatureTypes(QGeoRouteRequest::FeatureTypes featureTypes); 7770: void setSupportedFeatureWeights(QGeoRouteRequest::FeatureWeights featureWeights); 7770: void setSupportedRouteOptimizations(QGeoRouteRequest::RouteOptimizations optimizations); 7770: void setSupportedSegmentDetails(QGeoRouteRequest::SegmentDetails segmentDetails); 7770: void setSupportedManeuverDetails(QGeoRouteRequest::ManeuverDetails maneuverDetails); 7770: 7770: private: 7770: void setManagerName(const QString &managerName); 7770: void setManagerVersion(int managerVersion); 7770: 7770: QGeoRoutingManagerEnginePrivate *d_ptr; 7770: QGeoRoutingManagerEngine 7770: # 92 "maps/qgeoroutingmanagerengine.h" 3 4 7770: (const 7770: # 92 "maps/qgeoroutingmanagerengine.h" 7770: QGeoRoutingManagerEngine 7770: # 92 "maps/qgeoroutingmanagerengine.h" 3 4 7770: &) = delete; 7770: # 92 "maps/qgeoroutingmanagerengine.h" 7770: QGeoRoutingManagerEngine 7770: # 92 "maps/qgeoroutingmanagerengine.h" 3 4 7770: &operator=(const 7770: # 92 "maps/qgeoroutingmanagerengine.h" 7770: QGeoRoutingManagerEngine 7770: # 92 "maps/qgeoroutingmanagerengine.h" 3 4 7770: &) = delete; 7770: 7770: 7770: # 94 "maps/qgeoroutingmanagerengine.h" 7770: friend class QGeoServiceProvider; 7770: friend class QGeoServiceProviderPrivate; 7770: }; 7770: 7770: 7770: # 48 "maps/qgeoserviceprovider.cpp" 2 7770: # 1 "places/qplacemanagerengine.h" 1 7770: # 40 "places/qplacemanagerengine.h" 7770: # 1 "../../include/QtLocation/QPlaceManager" 1 7770: # 1 "../../include/QtLocation/qplacemanager.h" 1 7770: # 1 "../../include/QtLocation/../../src/location/places/qplacemanager.h" 1 7770: # 1 "../../include/QtLocation/qplacemanager.h" 2 7770: # 1 "../../include/QtLocation/QPlaceManager" 2 7770: # 41 "places/qplacemanagerengine.h" 2 7770: 7770: 7770: 7770: class QPlaceManagerEnginePrivate; 7770: class QPlaceMatchReply; 7770: class QPlaceMatchRequest; 7770: class QPlaceSearchReply; 7770: class QPlaceSearchRequest; 7770: class QPlaceSearchSuggestionReply; 7770: 7770: class 7770: # 51 "places/qplacemanagerengine.h" 3 4 7770: __attribute__((visibility("default"))) 7770: # 51 "places/qplacemanagerengine.h" 7770: QPlaceManagerEngine : public QObject 7770: { 7770: 7770: # 53 "places/qplacemanagerengine.h" 3 4 7770: public: 7770: # 53 "places/qplacemanagerengine.h" 7770: #pragma GCC diagnostic push 7770: # 53 "places/qplacemanagerengine.h" 7770: 7770: # 53 "places/qplacemanagerengine.h" 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 53 "places/qplacemanagerengine.h" 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 53 "places/qplacemanagerengine.h" 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 53 "places/qplacemanagerengine.h" 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 53 "places/qplacemanagerengine.h" 7770: #pragma GCC diagnostic pop 7770: # 53 "places/qplacemanagerengine.h" 7770: struct QPrivateSignal {}; 7770: 7770: 7770: # 55 "places/qplacemanagerengine.h" 7770: public: 7770: explicit QPlaceManagerEngine(const QVariantMap ¶meters, QObject *parent = 7770: # 56 "places/qplacemanagerengine.h" 3 4 7770: nullptr 7770: # 56 "places/qplacemanagerengine.h" 7770: ); 7770: virtual ~QPlaceManagerEngine(); 7770: 7770: QString managerName() const; 7770: int managerVersion() const; 7770: 7770: virtual QPlaceDetailsReply *getPlaceDetails(const QString &placeId); 7770: 7770: virtual QPlaceContentReply *getPlaceContent(const QPlaceContentRequest &request); 7770: 7770: virtual QPlaceSearchReply *search(const QPlaceSearchRequest &request); 7770: 7770: virtual QPlaceSearchSuggestionReply *searchSuggestions(const QPlaceSearchRequest &request); 7770: 7770: virtual QPlaceIdReply *savePlace(const QPlace &place); 7770: virtual QPlaceIdReply *removePlace(const QString &placeId); 7770: 7770: virtual QPlaceIdReply *saveCategory(const QPlaceCategory &category, const QString &parentId); 7770: virtual QPlaceIdReply *removeCategory(const QString &categoryId); 7770: 7770: virtual QPlaceReply *initializeCategories(); 7770: virtual QString parentCategoryId(const QString &categoryId) const; 7770: virtual QStringList childCategoryIds(const QString &categoryId) const; 7770: virtual QPlaceCategory category(const QString &categoryId) const; 7770: 7770: virtual QList childCategories(const QString &parentId) const; 7770: 7770: virtual QList locales() const; 7770: virtual void setLocales(const QList &locales); 7770: 7770: virtual QUrl constructIconUrl(const QPlaceIcon &icon, const QSize &size) const; 7770: 7770: virtual QPlace compatiblePlace(const QPlace &original) const; 7770: 7770: virtual QPlaceMatchReply *matchingPlaces(const QPlaceMatchRequest &request); 7770: 7770: 7770: # 92 "places/qplacemanagerengine.h" 3 4 7770: public 7770: # 92 "places/qplacemanagerengine.h" 7770: : 7770: void finished(QPlaceReply *reply); 7770: void error(QPlaceReply *, QPlaceReply::Error error, const QString &errorString = QString()); 7770: 7770: void placeAdded(const QString &placeId); 7770: void placeUpdated(const QString &placeId); 7770: void placeRemoved(const QString &placeId); 7770: 7770: void categoryAdded(const QPlaceCategory &category, const QString &parentCategoryId); 7770: void categoryUpdated(const QPlaceCategory &category, const QString &parentCategoryId); 7770: void categoryRemoved(const QString &categoryId, const QString &parentCategoryId); 7770: void dataChanged(); 7770: 7770: protected: 7770: QPlaceManager *manager() const; 7770: 7770: private: 7770: void setManagerName(const QString &managerName); 7770: void setManagerVersion(int managerVersion); 7770: 7770: QPlaceManagerEnginePrivate *d_ptr; 7770: QPlaceManagerEngine 7770: # 113 "places/qplacemanagerengine.h" 3 4 7770: (const 7770: # 113 "places/qplacemanagerengine.h" 7770: QPlaceManagerEngine 7770: # 113 "places/qplacemanagerengine.h" 3 4 7770: &) = delete; 7770: # 113 "places/qplacemanagerengine.h" 7770: QPlaceManagerEngine 7770: # 113 "places/qplacemanagerengine.h" 3 4 7770: &operator=(const 7770: # 113 "places/qplacemanagerengine.h" 7770: QPlaceManagerEngine 7770: # 113 "places/qplacemanagerengine.h" 3 4 7770: &) = delete; 7770: 7770: 7770: # 115 "places/qplacemanagerengine.h" 7770: friend class QGeoServiceProviderPrivate; 7770: friend class QPlaceManager; 7770: }; 7770: 7770: 7770: # 49 "maps/qgeoserviceprovider.cpp" 2 7770: # 1 "places/qplacemanagerengine_p.h" 1 7770: # 51 "places/qplacemanagerengine_p.h" 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QString" 1 3 4 7770: # 52 "places/qplacemanagerengine_p.h" 2 7770: # 1 "../../include/QtLocation/QLocation" 1 7770: # 1 "../../include/QtLocation/qlocation.h" 1 7770: # 1 "../../include/QtLocation/QLocation" 2 7770: # 53 "places/qplacemanagerengine_p.h" 2 7770: 7770: 7770: 7770: class QPlaceManagerEnginePrivate 7770: { 7770: public: 7770: QPlaceManagerEnginePrivate(); 7770: ~QPlaceManagerEnginePrivate(); 7770: 7770: QString managerName; 7770: int managerVersion; 7770: QPlaceManager *manager; 7770: 7770: private: 7770: QPlaceManagerEnginePrivate 7770: # 67 "places/qplacemanagerengine_p.h" 3 4 7770: (const 7770: # 67 "places/qplacemanagerengine_p.h" 7770: QPlaceManagerEnginePrivate 7770: # 67 "places/qplacemanagerengine_p.h" 3 4 7770: &) = delete; 7770: # 67 "places/qplacemanagerengine_p.h" 7770: QPlaceManagerEnginePrivate 7770: # 67 "places/qplacemanagerengine_p.h" 3 4 7770: &operator=(const 7770: # 67 "places/qplacemanagerengine_p.h" 7770: QPlaceManagerEnginePrivate 7770: # 67 "places/qplacemanagerengine_p.h" 3 4 7770: &) = delete; 7770: 7770: # 68 "places/qplacemanagerengine_p.h" 7770: }; 7770: 7770: 7770: # 50 "maps/qgeoserviceprovider.cpp" 2 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtGui/QList" 1 3 4 7770: # 52 "maps/qgeoserviceprovider.cpp" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QString" 1 3 4 7770: # 53 "maps/qgeoserviceprovider.cpp" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QVariant" 1 3 4 7770: # 54 "maps/qgeoserviceprovider.cpp" 2 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QDebug" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qdebug.h" 1 3 4 7770: # 49 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qdebug.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qtextstream.h" 1 3 4 7770: # 46 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qtextstream.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlocale.h" 1 3 4 7770: # 47 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qtextstream.h" 2 3 4 7770: # 55 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qtextstream.h" 3 4 7770: 7770: 7770: 7770: 7770: # 58 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qtextstream.h" 3 4 7770: class QTextCodec; 7770: class QTextDecoder; 7770: 7770: class QTextStreamPrivate; 7770: class __attribute__((visibility("default"))) QTextStream 7770: { 7770: inline QTextStreamPrivate* d_func() { return reinterpret_cast(qGetPtrHelper(d_ptr)); } inline const QTextStreamPrivate* d_func() const { return reinterpret_cast(qGetPtrHelper(d_ptr)); } friend class QTextStreamPrivate; 7770: 7770: public: 7770: enum RealNumberNotation { 7770: SmartNotation, 7770: FixedNotation, 7770: ScientificNotation 7770: }; 7770: enum FieldAlignment { 7770: AlignLeft, 7770: AlignRight, 7770: AlignCenter, 7770: AlignAccountingStyle 7770: }; 7770: enum Status { 7770: Ok, 7770: ReadPastEnd, 7770: ReadCorruptData, 7770: WriteFailed 7770: }; 7770: enum NumberFlag { 7770: ShowBase = 0x1, 7770: ForcePoint = 0x2, 7770: ForceSign = 0x4, 7770: UppercaseBase = 0x8, 7770: UppercaseDigits = 0x10 7770: }; 7770: typedef QFlags NumberFlags; 7770: 7770: QTextStream(); 7770: explicit QTextStream(QIODevice *device); 7770: explicit QTextStream(FILE *fileHandle, QIODevice::OpenMode openMode = QIODevice::ReadWrite); 7770: explicit QTextStream(QString *string, QIODevice::OpenMode openMode = QIODevice::ReadWrite); 7770: explicit QTextStream(QByteArray *array, QIODevice::OpenMode openMode = QIODevice::ReadWrite); 7770: explicit QTextStream(const QByteArray &array, QIODevice::OpenMode openMode = QIODevice::ReadOnly); 7770: virtual ~QTextStream(); 7770: 7770: 7770: void setCodec(QTextCodec *codec); 7770: void setCodec(const char *codecName); 7770: QTextCodec *codec() const; 7770: void setAutoDetectUnicode(bool enabled); 7770: bool autoDetectUnicode() const; 7770: void setGenerateByteOrderMark(bool generate); 7770: bool generateByteOrderMark() const; 7770: 7770: 7770: void setLocale(const QLocale &locale); 7770: QLocale locale() const; 7770: 7770: void setDevice(QIODevice *device); 7770: QIODevice *device() const; 7770: 7770: void setString(QString *string, QIODevice::OpenMode openMode = QIODevice::ReadWrite); 7770: QString *string() const; 7770: 7770: Status status() const; 7770: void setStatus(Status status); 7770: void resetStatus(); 7770: 7770: bool atEnd() const; 7770: void reset(); 7770: void flush(); 7770: bool seek(qint64 pos); 7770: qint64 pos() const; 7770: 7770: void skipWhiteSpace(); 7770: 7770: QString readLine(qint64 maxlen = 0); 7770: bool readLineInto(QString *line, qint64 maxlen = 0); 7770: QString readAll(); 7770: QString read(qint64 maxlen); 7770: 7770: void setFieldAlignment(FieldAlignment alignment); 7770: FieldAlignment fieldAlignment() const; 7770: 7770: void setPadChar(QChar ch); 7770: QChar padChar() const; 7770: 7770: void setFieldWidth(int width); 7770: int fieldWidth() const; 7770: 7770: void setNumberFlags(NumberFlags flags); 7770: NumberFlags numberFlags() const; 7770: 7770: void setIntegerBase(int base); 7770: int integerBase() const; 7770: 7770: void setRealNumberNotation(RealNumberNotation notation); 7770: RealNumberNotation realNumberNotation() const; 7770: 7770: void setRealNumberPrecision(int precision); 7770: int realNumberPrecision() const; 7770: 7770: QTextStream &operator>>(QChar &ch); 7770: QTextStream &operator>>(char &ch); 7770: QTextStream &operator>>(signed short &i); 7770: QTextStream &operator>>(unsigned short &i); 7770: QTextStream &operator>>(signed int &i); 7770: QTextStream &operator>>(unsigned int &i); 7770: QTextStream &operator>>(signed long &i); 7770: QTextStream &operator>>(unsigned long &i); 7770: QTextStream &operator>>(qlonglong &i); 7770: QTextStream &operator>>(qulonglong &i); 7770: QTextStream &operator>>(float &f); 7770: QTextStream &operator>>(double &f); 7770: QTextStream &operator>>(QString &s); 7770: QTextStream &operator>>(QByteArray &array); 7770: QTextStream &operator>>(char *c); 7770: 7770: QTextStream &operator<<(QChar ch); 7770: QTextStream &operator<<(char ch); 7770: QTextStream &operator<<(signed short i); 7770: QTextStream &operator<<(unsigned short i); 7770: QTextStream &operator<<(signed int i); 7770: QTextStream &operator<<(unsigned int i); 7770: QTextStream &operator<<(signed long i); 7770: QTextStream &operator<<(unsigned long i); 7770: QTextStream &operator<<(qlonglong i); 7770: QTextStream &operator<<(qulonglong i); 7770: QTextStream &operator<<(float f); 7770: QTextStream &operator<<(double f); 7770: QTextStream &operator<<(const QString &s); 7770: QTextStream &operator<<(QLatin1String s); 7770: QTextStream &operator<<(const QStringRef &s); 7770: QTextStream &operator<<(const QByteArray &array); 7770: QTextStream &operator<<(const char *c); 7770: QTextStream &operator<<(const void *ptr); 7770: 7770: private: 7770: QTextStream(const QTextStream &) = delete; QTextStream &operator=(const QTextStream &) = delete; 7770: friend class QDebugStateSaverPrivate; 7770: friend class QDebug; 7770: 7770: QScopedPointer d_ptr; 7770: }; 7770: 7770: constexpr inline QFlags operator|(QTextStream::NumberFlags::enum_type f1, QTextStream::NumberFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(QTextStream::NumberFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(QTextStream::NumberFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 7770: 7770: 7770: 7770: 7770: 7770: typedef QTextStream & (*QTextStreamFunction)(QTextStream &); 7770: typedef void (QTextStream::*QTSMFI)(int); 7770: typedef void (QTextStream::*QTSMFC)(QChar); 7770: 7770: 7770: class __attribute__((visibility("default"))) QTextStreamManipulator 7770: { 7770: public: 7770: constexpr QTextStreamManipulator(QTSMFI m, int a) noexcept : mf(m), mc(nullptr), arg(a), ch() {} 7770: constexpr QTextStreamManipulator(QTSMFC m, QChar c) noexcept : mf(nullptr), mc(m), arg(-1), ch(c) {} 7770: void exec(QTextStream &s) { if (mf) { (s.*mf)(arg); } else { (s.*mc)(ch); } } 7770: 7770: private: 7770: QTSMFI mf; 7770: QTSMFC mc; 7770: int arg; 7770: QChar ch; 7770: }; 7770: 7770: inline QTextStream &operator>>(QTextStream &s, QTextStreamFunction f) 7770: { return (*f)(s); } 7770: 7770: inline QTextStream &operator<<(QTextStream &s, QTextStreamFunction f) 7770: { return (*f)(s); } 7770: 7770: inline QTextStream &operator<<(QTextStream &s, QTextStreamManipulator m) 7770: { m.exec(s); return s; } 7770: 7770: __attribute__((visibility("default"))) QTextStream &bin(QTextStream &s); 7770: __attribute__((visibility("default"))) QTextStream &oct(QTextStream &s); 7770: __attribute__((visibility("default"))) QTextStream &dec(QTextStream &s); 7770: __attribute__((visibility("default"))) QTextStream &hex(QTextStream &s); 7770: 7770: __attribute__((visibility("default"))) QTextStream &showbase(QTextStream &s); 7770: __attribute__((visibility("default"))) QTextStream &forcesign(QTextStream &s); 7770: __attribute__((visibility("default"))) QTextStream &forcepoint(QTextStream &s); 7770: __attribute__((visibility("default"))) QTextStream &noshowbase(QTextStream &s); 7770: __attribute__((visibility("default"))) QTextStream &noforcesign(QTextStream &s); 7770: __attribute__((visibility("default"))) QTextStream &noforcepoint(QTextStream &s); 7770: 7770: __attribute__((visibility("default"))) QTextStream &uppercasebase(QTextStream &s); 7770: __attribute__((visibility("default"))) QTextStream &uppercasedigits(QTextStream &s); 7770: __attribute__((visibility("default"))) QTextStream &lowercasebase(QTextStream &s); 7770: __attribute__((visibility("default"))) QTextStream &lowercasedigits(QTextStream &s); 7770: 7770: __attribute__((visibility("default"))) QTextStream &fixed(QTextStream &s); 7770: __attribute__((visibility("default"))) QTextStream &scientific(QTextStream &s); 7770: 7770: __attribute__((visibility("default"))) QTextStream &left(QTextStream &s); 7770: __attribute__((visibility("default"))) QTextStream &right(QTextStream &s); 7770: __attribute__((visibility("default"))) QTextStream ¢er(QTextStream &s); 7770: 7770: __attribute__((visibility("default"))) QTextStream &endl(QTextStream &s); 7770: __attribute__((visibility("default"))) QTextStream &flush(QTextStream &s); 7770: __attribute__((visibility("default"))) QTextStream &reset(QTextStream &s); 7770: 7770: __attribute__((visibility("default"))) QTextStream &bom(QTextStream &s); 7770: 7770: __attribute__((visibility("default"))) QTextStream &ws(QTextStream &s); 7770: 7770: inline QTextStreamManipulator qSetFieldWidth(int width) 7770: { 7770: QTSMFI func = &QTextStream::setFieldWidth; 7770: return QTextStreamManipulator(func,width); 7770: } 7770: 7770: inline QTextStreamManipulator qSetPadChar(QChar ch) 7770: { 7770: QTSMFC func = &QTextStream::setPadChar; 7770: return QTextStreamManipulator(func, ch); 7770: } 7770: 7770: inline QTextStreamManipulator qSetRealNumberPrecision(int precision) 7770: { 7770: QTSMFI func = &QTextStream::setRealNumberPrecision; 7770: return QTextStreamManipulator(func, precision); 7770: } 7770: 7770: 7770: # 50 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qdebug.h" 2 3 4 7770: 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcontiguouscache.h" 1 3 4 7770: # 43 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcontiguouscache.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h" 1 3 4 7770: # 44 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcontiguouscache.h" 2 3 4 7770: # 1 "/usr/lib/gcc/aarch64-linux-gnu/8/include-fixed/limits.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcontiguouscache.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: struct __attribute__((visibility("default"))) QContiguousCacheData 7770: { 7770: QBasicAtomicInt ref; 7770: int alloc; 7770: int count; 7770: int start; 7770: int offset; 7770: uint sharable : 1; 7770: uint reserved : 31; 7770: 7770: 7770: 7770: 7770: 7770: 7770: static QContiguousCacheData *allocateData(int size, int alignment); 7770: static void freeData(QContiguousCacheData *data); 7770: 7770: 7770: 7770: 7770: }; 7770: 7770: template 7770: struct QContiguousCacheTypedData: private QContiguousCacheData 7770: { 7770: 7770: T array[1]; 7770: 7770: static inline void freeData(QContiguousCacheTypedData *data) { QContiguousCacheData::freeData(data); } 7770: }; 7770: 7770: template 7770: class QContiguousCache { 7770: typedef QContiguousCacheTypedData Data; 7770: union { QContiguousCacheData *d; QContiguousCacheTypedData *p; }; 7770: public: 7770: 7770: typedef T value_type; 7770: typedef value_type* pointer; 7770: typedef const value_type* const_pointer; 7770: typedef value_type& reference; 7770: typedef const value_type& const_reference; 7770: typedef qptrdiff difference_type; 7770: typedef int size_type; 7770: 7770: explicit QContiguousCache(int capacity = 0); 7770: QContiguousCache(const QContiguousCache &v) : d(v.d) { d->ref.ref(); if (!d->sharable) detach_helper(); } 7770: 7770: inline ~QContiguousCache() { if (!d) return; if (!d->ref.deref()) freeData(p); } 7770: 7770: inline void detach() { if (d->ref.load() != 1) detach_helper(); } 7770: inline bool isDetached() const { return d->ref.load() == 1; } 7770: 7770: inline void setSharable(bool sharable) { if (!sharable) detach(); d->sharable = sharable; } 7770: 7770: 7770: QContiguousCache &operator=(const QContiguousCache &other); 7770: 7770: inline QContiguousCache &operator=(QContiguousCache &&other) 7770: { qSwap(d, other.d); return *this; } 7770: 7770: inline void swap(QContiguousCache &other) { qSwap(d, other.d); } 7770: bool operator==(const QContiguousCache &other) const; 7770: inline bool operator!=(const QContiguousCache &other) const { return !(*this == other); } 7770: 7770: inline int capacity() const {return d->alloc; } 7770: inline int count() const { return d->count; } 7770: inline int size() const { return d->count; } 7770: 7770: inline bool isEmpty() const { return d->count == 0; } 7770: inline bool isFull() const { return d->count == d->alloc; } 7770: inline int available() const { return d->alloc - d->count; } 7770: 7770: void clear(); 7770: void setCapacity(int size); 7770: 7770: const T &at(int pos) const; 7770: T &operator[](int i); 7770: const T &operator[](int i) const; 7770: 7770: void append(const T &value); 7770: void prepend(const T &value); 7770: void insert(int pos, const T &value); 7770: 7770: inline bool containsIndex(int pos) const { return pos >= d->offset && pos - d->offset < d->count; } 7770: inline int firstIndex() const { return d->offset; } 7770: inline int lastIndex() const { return d->offset + d->count - 1; } 7770: 7770: inline const T &first() const { do { } while ((false) && (!isEmpty())); return p->array[d->start]; } 7770: inline const T &last() const { do { } while ((false) && (!isEmpty())); return p->array[(d->start + d->count -1) % d->alloc]; } 7770: inline T &first() { do { } while ((false) && (!isEmpty())); detach(); return p->array[d->start]; } 7770: inline T &last() { do { } while ((false) && (!isEmpty())); detach(); return p->array[(d->start + d->count -1) % d->alloc]; } 7770: 7770: void removeFirst(); 7770: T takeFirst(); 7770: void removeLast(); 7770: T takeLast(); 7770: 7770: inline bool areIndexesValid() const 7770: { return d->offset >= 0 && d->offset < 0x7fffffff - d->count && (d->offset % d->alloc) == d->start; } 7770: 7770: inline void normalizeIndexes() { d->offset = d->start; } 7770: 7770: 7770: 7770: 7770: private: 7770: void detach_helper(); 7770: 7770: QContiguousCacheData *allocateData(int aalloc); 7770: void freeData(Data *x); 7770: int sizeOfTypedData() { 7770: 7770: 7770: return reinterpret_cast(&(reinterpret_cast(this))->array[1]) - reinterpret_cast(this); 7770: } 7770: int alignOfTypedData() const 7770: { 7770: return qMax(sizeof(void*), alignof(Data)); 7770: } 7770: }; 7770: 7770: template 7770: void QContiguousCache::detach_helper() 7770: { 7770: union { QContiguousCacheData *d; QContiguousCacheTypedData *p; } x; 7770: 7770: x.d = allocateData(d->alloc); 7770: x.d->ref.store(1); 7770: x.d->count = d->count; 7770: x.d->start = d->start; 7770: x.d->offset = d->offset; 7770: x.d->alloc = d->alloc; 7770: x.d->sharable = true; 7770: x.d->reserved = 0; 7770: 7770: T *dest = x.p->array + x.d->start; 7770: T *src = p->array + d->start; 7770: int oldcount = x.d->count; 7770: while (oldcount--) { 7770: if (QTypeInfo::isComplex) { 7770: new (dest) T(*src); 7770: } else { 7770: *dest = *src; 7770: } 7770: dest++; 7770: if (dest == x.p->array + x.d->alloc) 7770: dest = x.p->array; 7770: src++; 7770: if (src == p->array + d->alloc) 7770: src = p->array; 7770: } 7770: 7770: if (!d->ref.deref()) 7770: freeData(p); 7770: d = x.d; 7770: } 7770: 7770: template 7770: void QContiguousCache::setCapacity(int asize) 7770: { 7770: if (asize == d->alloc) 7770: return; 7770: detach(); 7770: union { QContiguousCacheData *d; QContiguousCacheTypedData *p; } x; 7770: x.d = allocateData(asize); 7770: x.d->alloc = asize; 7770: x.d->count = qMin(d->count, asize); 7770: x.d->offset = d->offset + d->count - x.d->count; 7770: if(asize) 7770: x.d->start = x.d->offset % x.d->alloc; 7770: else 7770: x.d->start = 0; 7770: 7770: int oldcount = x.d->count; 7770: if(oldcount) 7770: { 7770: T *dest = x.p->array + (x.d->start + x.d->count-1) % x.d->alloc; 7770: T *src = p->array + (d->start + d->count-1) % d->alloc; 7770: while (oldcount--) { 7770: if (QTypeInfo::isComplex) { 7770: new (dest) T(*src); 7770: } else { 7770: *dest = *src; 7770: } 7770: if (dest == x.p->array) 7770: dest = x.p->array + x.d->alloc; 7770: dest--; 7770: if (src == p->array) 7770: src = p->array + d->alloc; 7770: src--; 7770: } 7770: } 7770: 7770: freeData(p); 7770: d = x.d; 7770: } 7770: 7770: template 7770: void QContiguousCache::clear() 7770: { 7770: if (d->ref.load() == 1) { 7770: if (QTypeInfo::isComplex) { 7770: int oldcount = d->count; 7770: T * i = p->array + d->start; 7770: T * e = p->array + d->alloc; 7770: while (oldcount--) { 7770: i->~T(); 7770: i++; 7770: if (i == e) 7770: i = p->array; 7770: } 7770: } 7770: d->count = d->start = d->offset = 0; 7770: } else { 7770: union { QContiguousCacheData *d; QContiguousCacheTypedData *p; } x; 7770: x.d = allocateData(d->alloc); 7770: x.d->ref.store(1); 7770: x.d->alloc = d->alloc; 7770: x.d->count = x.d->start = x.d->offset = 0; 7770: x.d->sharable = true; 7770: if (!d->ref.deref()) freeData(p); 7770: d = x.d; 7770: } 7770: } 7770: 7770: template 7770: inline QContiguousCacheData *QContiguousCache::allocateData(int aalloc) 7770: { 7770: return QContiguousCacheData::allocateData(sizeOfTypedData() + (aalloc - 1) * sizeof(T), alignOfTypedData()); 7770: } 7770: 7770: template 7770: QContiguousCache::QContiguousCache(int cap) 7770: { 7770: d = allocateData(cap); 7770: d->ref.store(1); 7770: d->alloc = cap; 7770: d->count = d->start = d->offset = 0; 7770: d->sharable = true; 7770: } 7770: 7770: template 7770: QContiguousCache &QContiguousCache::operator=(const QContiguousCache &other) 7770: { 7770: other.d->ref.ref(); 7770: if (!d->ref.deref()) 7770: freeData(p); 7770: d = other.d; 7770: if (!d->sharable) 7770: detach_helper(); 7770: return *this; 7770: } 7770: 7770: template 7770: bool QContiguousCache::operator==(const QContiguousCache &other) const 7770: { 7770: if (other.d == d) 7770: return true; 7770: if (other.d->start != d->start 7770: || other.d->count != d->count 7770: || other.d->offset != d->offset 7770: || other.d->alloc != d->alloc) 7770: return false; 7770: for (int i = firstIndex(); i <= lastIndex(); ++i) 7770: if (!(at(i) == other.at(i))) 7770: return false; 7770: return true; 7770: } 7770: 7770: template 7770: void QContiguousCache::freeData(Data *x) 7770: { 7770: if (QTypeInfo::isComplex) { 7770: int oldcount = d->count; 7770: T * i = p->array + d->start; 7770: T * e = p->array + d->alloc; 7770: while (oldcount--) { 7770: i->~T(); 7770: i++; 7770: if (i == e) 7770: i = p->array; 7770: } 7770: } 7770: x->freeData(x); 7770: } 7770: template 7770: void QContiguousCache::append(const T &value) 7770: { 7770: if (!d->alloc) 7770: return; 7770: detach(); 7770: if (QTypeInfo::isComplex) { 7770: if (d->count == d->alloc) 7770: (p->array + (d->start+d->count) % d->alloc)->~T(); 7770: new (p->array + (d->start+d->count) % d->alloc) T(value); 7770: } else { 7770: p->array[(d->start+d->count) % d->alloc] = value; 7770: } 7770: 7770: if (d->count == d->alloc) { 7770: d->start++; 7770: d->start %= d->alloc; 7770: d->offset++; 7770: } else { 7770: d->count++; 7770: } 7770: } 7770: 7770: template 7770: void QContiguousCache::prepend(const T &value) 7770: { 7770: if (!d->alloc) 7770: return; 7770: detach(); 7770: if (d->start) 7770: d->start--; 7770: else 7770: d->start = d->alloc-1; 7770: d->offset--; 7770: 7770: if (d->count != d->alloc) 7770: d->count++; 7770: else 7770: if (d->count == d->alloc) 7770: (p->array + d->start)->~T(); 7770: 7770: if (QTypeInfo::isComplex) 7770: new (p->array + d->start) T(value); 7770: else 7770: p->array[d->start] = value; 7770: } 7770: 7770: template 7770: void QContiguousCache::insert(int pos, const T &value) 7770: { 7770: do { } while ((false) && (pos >= 0 && pos < 0x7fffffff)); 7770: if (!d->alloc) 7770: return; 7770: detach(); 7770: if (containsIndex(pos)) { 7770: if (QTypeInfo::isComplex) { 7770: (p->array + pos % d->alloc)->~T(); 7770: new (p->array + pos % d->alloc) T(value); 7770: } else { 7770: p->array[pos % d->alloc] = value; 7770: } 7770: } else if (pos == d->offset-1) 7770: prepend(value); 7770: else if (pos == d->offset+d->count) 7770: append(value); 7770: else { 7770: 7770: clear(); 7770: d->offset = pos; 7770: d->start = pos % d->alloc; 7770: d->count = 1; 7770: if (QTypeInfo::isComplex) 7770: new (p->array + d->start) T(value); 7770: else 7770: p->array[d->start] = value; 7770: } 7770: } 7770: 7770: template 7770: inline const T &QContiguousCache::at(int pos) const 7770: { do { } while ((false) && (pos >= d->offset && pos - d->offset < d->count)); return p->array[pos % d->alloc]; } 7770: template 7770: inline const T &QContiguousCache::operator[](int pos) const 7770: { do { } while ((false) && (pos >= d->offset && pos - d->offset < d->count)); return p->array[pos % d->alloc]; } 7770: 7770: template 7770: inline T &QContiguousCache::operator[](int pos) 7770: { 7770: detach(); 7770: if (!containsIndex(pos)) 7770: insert(pos, T()); 7770: return p->array[pos % d->alloc]; 7770: } 7770: 7770: template 7770: inline void QContiguousCache::removeFirst() 7770: { 7770: do { } while ((false) && (d->count > 0)); 7770: detach(); 7770: d->count--; 7770: if (QTypeInfo::isComplex) 7770: (p->array + d->start)->~T(); 7770: d->start = (d->start + 1) % d->alloc; 7770: d->offset++; 7770: } 7770: 7770: template 7770: inline void QContiguousCache::removeLast() 7770: { 7770: do { } while ((false) && (d->count > 0)); 7770: detach(); 7770: d->count--; 7770: if (QTypeInfo::isComplex) 7770: (p->array + (d->start + d->count) % d->alloc)->~T(); 7770: } 7770: 7770: template 7770: inline T QContiguousCache::takeFirst() 7770: { T t = first(); removeFirst(); return t; } 7770: 7770: template 7770: inline T QContiguousCache::takeLast() 7770: { T t = last(); removeLast(); return t; } 7770: 7770: 7770: # 54 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qdebug.h" 2 3 4 7770: # 62 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qdebug.h" 3 4 7770: 7770: 7770: 7770: class __attribute__((visibility("default"))) QDebug 7770: { 7770: friend class QMessageLogger; 7770: friend class QDebugStateSaverPrivate; 7770: struct Stream { 7770: enum { DefaultVerbosity = 2, VerbosityShift = 29, VerbosityMask = 0x7 }; 7770: 7770: Stream(QIODevice *device) : ts(device), ref(1), type(QtDebugMsg), 7770: space(true), message_output(false), flags(DefaultVerbosity << VerbosityShift) {} 7770: Stream(QString *string) : ts(string, QIODevice::WriteOnly), ref(1), type(QtDebugMsg), 7770: space(true), message_output(false), flags(DefaultVerbosity << VerbosityShift) {} 7770: Stream(QtMsgType t) : ts(&buffer, QIODevice::WriteOnly), ref(1), type(t), 7770: space(true), message_output(true), flags(DefaultVerbosity << VerbosityShift) {} 7770: QTextStream ts; 7770: QString buffer; 7770: int ref; 7770: QtMsgType type; 7770: bool space; 7770: bool message_output; 7770: QMessageLogContext context; 7770: 7770: enum FormatFlag { 7770: NoQuotes = 0x1 7770: }; 7770: 7770: 7770: bool testFlag(FormatFlag flag) const { return (context.version > 1) ? (flags & flag) : false; } 7770: void setFlag(FormatFlag flag) { if (context.version > 1) { flags |= flag; } } 7770: void unsetFlag(FormatFlag flag) { if (context.version > 1) { flags &= ~flag; } } 7770: int verbosity() const 7770: { return context.version > 1 ? (flags >> VerbosityShift) & VerbosityMask : int(Stream::DefaultVerbosity); } 7770: void setVerbosity(int v) 7770: { 7770: if (context.version > 1) { 7770: flags &= ~(VerbosityMask << VerbosityShift); 7770: flags |= (v & VerbosityMask) << VerbosityShift; 7770: } 7770: } 7770: 7770: int flags; 7770: } *stream; 7770: 7770: enum Latin1Content { ContainsBinary = 0, ContainsLatin1 }; 7770: 7770: void putUcs4(uint ucs4); 7770: void putString(const QChar *begin, size_t length); 7770: void putByteArray(const char *begin, size_t length, Latin1Content content); 7770: public: 7770: inline QDebug(QIODevice *device) : stream(new Stream(device)) {} 7770: inline QDebug(QString *string) : stream(new Stream(string)) {} 7770: inline QDebug(QtMsgType t) : stream(new Stream(t)) {} 7770: inline QDebug(const QDebug &o):stream(o.stream) { ++stream->ref; } 7770: inline QDebug &operator=(const QDebug &other); 7770: ~QDebug(); 7770: inline void swap(QDebug &other) noexcept { qSwap(stream, other.stream); } 7770: 7770: QDebug &resetFormat(); 7770: 7770: inline QDebug &space() { stream->space = true; stream->ts << ' '; return *this; } 7770: inline QDebug &nospace() { stream->space = false; return *this; } 7770: inline QDebug &maybeSpace() { if (stream->space) stream->ts << ' '; return *this; } 7770: int verbosity() const { return stream->verbosity(); } 7770: void setVerbosity(int verbosityLevel) { stream->setVerbosity(verbosityLevel); } 7770: 7770: bool autoInsertSpaces() const { return stream->space; } 7770: void setAutoInsertSpaces(bool b) { stream->space = b; } 7770: 7770: inline QDebug "e() { stream->unsetFlag(Stream::NoQuotes); return *this; } 7770: inline QDebug &noquote() { stream->setFlag(Stream::NoQuotes); return *this; } 7770: inline QDebug &maybeQuote(char c = '"') { if (!(stream->testFlag(Stream::NoQuotes))) stream->ts << c; return *this; } 7770: 7770: inline QDebug &operator<<(QChar t) { putUcs4(t.unicode()); return maybeSpace(); } 7770: inline QDebug &operator<<(bool t) { stream->ts << (t ? "true" : "false"); return maybeSpace(); } 7770: inline QDebug &operator<<(char t) { stream->ts << t; return maybeSpace(); } 7770: inline QDebug &operator<<(signed short t) { stream->ts << t; return maybeSpace(); } 7770: inline QDebug &operator<<(unsigned short t) { stream->ts << t; return maybeSpace(); } 7770: 7770: inline QDebug &operator<<(char16_t t) { return *this << QChar(ushort(t)); } 7770: inline QDebug &operator<<(char32_t t) { putUcs4(t); return maybeSpace(); } 7770: 7770: inline QDebug &operator<<(signed int t) { stream->ts << t; return maybeSpace(); } 7770: inline QDebug &operator<<(unsigned int t) { stream->ts << t; return maybeSpace(); } 7770: inline QDebug &operator<<(signed long t) { stream->ts << t; return maybeSpace(); } 7770: inline QDebug &operator<<(unsigned long t) { stream->ts << t; return maybeSpace(); } 7770: inline QDebug &operator<<(qint64 t) { stream->ts << t; return maybeSpace(); } 7770: inline QDebug &operator<<(quint64 t) { stream->ts << t; return maybeSpace(); } 7770: inline QDebug &operator<<(float t) { stream->ts << t; return maybeSpace(); } 7770: inline QDebug &operator<<(double t) { stream->ts << t; return maybeSpace(); } 7770: inline QDebug &operator<<(const char* t) { stream->ts << QString::fromUtf8(t); return maybeSpace(); } 7770: inline QDebug &operator<<(const QString & t) { putString(t.constData(), uint(t.length())); return maybeSpace(); } 7770: inline QDebug &operator<<(const QStringRef & t) { putString(t.constData(), uint(t.length())); return maybeSpace(); } 7770: inline QDebug &operator<<(QLatin1String t) { putByteArray(t.latin1(), t.size(), ContainsLatin1); return maybeSpace(); } 7770: inline QDebug &operator<<(const QByteArray & t) { putByteArray(t.constData(), t.size(), ContainsBinary); return maybeSpace(); } 7770: inline QDebug &operator<<(const void * t) { stream->ts << t; return maybeSpace(); } 7770: 7770: inline QDebug &operator<<(std::nullptr_t) { stream->ts << "(nullptr)"; return maybeSpace(); } 7770: 7770: inline QDebug &operator<<(QTextStreamFunction f) { 7770: stream->ts << f; 7770: return *this; 7770: } 7770: 7770: inline QDebug &operator<<(QTextStreamManipulator m) 7770: { stream->ts << m; return *this; } 7770: }; 7770: 7770: 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(QDebug)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QDebug >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QDebug) }; static inline const char *name() { return "QDebug"; } }; inline void swap(QDebug &value1, QDebug &value2) noexcept(noexcept(value1.swap(value2))) { value1.swap(value2); } 7770: 7770: class QDebugStateSaverPrivate; 7770: class __attribute__((visibility("default"))) QDebugStateSaver 7770: { 7770: public: 7770: QDebugStateSaver(QDebug &dbg); 7770: ~QDebugStateSaver(); 7770: private: 7770: QDebugStateSaver(const QDebugStateSaver &) = delete; QDebugStateSaver &operator=(const QDebugStateSaver &) = delete; 7770: QScopedPointer d; 7770: }; 7770: 7770: class QNoDebug 7770: { 7770: public: 7770: inline QNoDebug &operator<<(QTextStreamFunction) { return *this; } 7770: inline QNoDebug &operator<<(QTextStreamManipulator) { return *this; } 7770: inline QNoDebug &space() { return *this; } 7770: inline QNoDebug &nospace() { return *this; } 7770: inline QNoDebug &maybeSpace() { return *this; } 7770: inline QNoDebug "e() { return *this; } 7770: inline QNoDebug &noquote() { return *this; } 7770: inline QNoDebug &maybeQuote(const char = '"') { return *this; } 7770: 7770: template 7770: inline QNoDebug &operator<<(const T &) { return *this; } 7770: }; 7770: 7770: inline QDebug &QDebug::operator=(const QDebug &other) 7770: { 7770: if (this != &other) { 7770: QDebug copy(other); 7770: qSwap(stream, copy.stream); 7770: } 7770: return *this; 7770: } 7770: 7770: namespace QtPrivate { 7770: 7770: template 7770: inline QDebug printSequentialContainer(QDebug debug, const char *which, const SequentialContainer &c) 7770: { 7770: const bool oldSetting = debug.autoInsertSpaces(); 7770: debug.nospace() << which << '('; 7770: typename SequentialContainer::const_iterator it = c.begin(), end = c.end(); 7770: if (it != end) { 7770: debug << *it; 7770: ++it; 7770: } 7770: while (it != end) { 7770: debug << ", " << *it; 7770: ++it; 7770: } 7770: debug << ')'; 7770: debug.setAutoInsertSpaces(oldSetting); 7770: return debug.maybeSpace(); 7770: } 7770: 7770: } 7770: 7770: template 7770: inline QDebug operator<<(QDebug debug, const QList &list) 7770: { 7770: return QtPrivate::printSequentialContainer(debug, "" , list); 7770: } 7770: 7770: template 7770: inline QDebug operator<<(QDebug debug, const QVector &vec) 7770: { 7770: return QtPrivate::printSequentialContainer(debug, "QVector", vec); 7770: } 7770: 7770: template 7770: inline QDebug operator<<(QDebug debug, const std::vector &vec) 7770: { 7770: return QtPrivate::printSequentialContainer(debug, "std::vector", vec); 7770: } 7770: 7770: template 7770: inline QDebug operator<<(QDebug debug, const std::list &vec) 7770: { 7770: return QtPrivate::printSequentialContainer(debug, "std::list", vec); 7770: } 7770: 7770: template 7770: inline QDebug operator<<(QDebug debug, const std::map &map) 7770: { 7770: return QtPrivate::printSequentialContainer(debug, "std::map", map); 7770: } 7770: 7770: template 7770: inline QDebug operator<<(QDebug debug, const std::multimap &map) 7770: { 7770: return QtPrivate::printSequentialContainer(debug, "std::multimap", map); 7770: } 7770: 7770: template 7770: inline QDebug operator<<(QDebug debug, const QMap &map) 7770: { 7770: const bool oldSetting = debug.autoInsertSpaces(); 7770: debug.nospace() << "QMap("; 7770: for (typename QMap::const_iterator it = map.constBegin(); 7770: it != map.constEnd(); ++it) { 7770: debug << '(' << it.key() << ", " << it.value() << ')'; 7770: } 7770: debug << ')'; 7770: debug.setAutoInsertSpaces(oldSetting); 7770: return debug.maybeSpace(); 7770: } 7770: 7770: template 7770: inline QDebug operator<<(QDebug debug, const QHash &hash) 7770: { 7770: const bool oldSetting = debug.autoInsertSpaces(); 7770: debug.nospace() << "QHash("; 7770: for (typename QHash::const_iterator it = hash.constBegin(); 7770: it != hash.constEnd(); ++it) 7770: debug << '(' << it.key() << ", " << it.value() << ')'; 7770: debug << ')'; 7770: debug.setAutoInsertSpaces(oldSetting); 7770: return debug.maybeSpace(); 7770: } 7770: 7770: template 7770: inline QDebug operator<<(QDebug debug, const QPair &pair) 7770: { 7770: const bool oldSetting = debug.autoInsertSpaces(); 7770: debug.nospace() << "QPair(" << pair.first << ',' << pair.second << ')'; 7770: debug.setAutoInsertSpaces(oldSetting); 7770: return debug.maybeSpace(); 7770: } 7770: 7770: template 7770: inline QDebug operator<<(QDebug debug, const std::pair &pair) 7770: { 7770: const bool oldSetting = debug.autoInsertSpaces(); 7770: debug.nospace() << "std::pair(" << pair.first << ',' << pair.second << ')'; 7770: debug.setAutoInsertSpaces(oldSetting); 7770: return debug.maybeSpace(); 7770: } 7770: 7770: template 7770: inline QDebug operator<<(QDebug debug, const QSet &set) 7770: { 7770: return QtPrivate::printSequentialContainer(debug, "QSet", set); 7770: } 7770: 7770: template 7770: inline QDebug operator<<(QDebug debug, const QContiguousCache &cache) 7770: { 7770: const bool oldSetting = debug.autoInsertSpaces(); 7770: debug.nospace() << "QContiguousCache("; 7770: for (int i = cache.firstIndex(); i <= cache.lastIndex(); ++i) { 7770: debug << cache[i]; 7770: if (i != cache.lastIndex()) 7770: debug << ", "; 7770: } 7770: debug << ')'; 7770: debug.setAutoInsertSpaces(oldSetting); 7770: return debug.maybeSpace(); 7770: } 7770: 7770: template 7770: inline QDebug operator<<(QDebug debug, const QSharedPointer &ptr) 7770: { 7770: QDebugStateSaver saver(debug); 7770: debug.nospace() << "QSharedPointer(" << ptr.data() << ")"; 7770: return debug; 7770: } 7770: 7770: __attribute__((visibility("default"))) void qt_QMetaEnum_flagDebugOperator(QDebug &debug, size_t sizeofT, int value); 7770: 7770: template 7770: void qt_QMetaEnum_flagDebugOperator(QDebug &debug, size_t sizeofT, Int value) 7770: { 7770: const QDebugStateSaver saver(debug); 7770: debug.resetFormat(); 7770: debug.nospace() << "QFlags(" << hex << showbase; 7770: bool needSeparator = false; 7770: for (uint i = 0; i < sizeofT * 8; ++i) { 7770: if (value & (Int(1) << i)) { 7770: if (needSeparator) 7770: debug << '|'; 7770: else 7770: needSeparator = true; 7770: debug << (Int(1) << i); 7770: } 7770: } 7770: debug << ')'; 7770: } 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug qt_QMetaEnum_debugOperator(QDebug&, int value, const QMetaObject *meta, const char *name); 7770: __attribute__((visibility("default"))) QDebug qt_QMetaEnum_flagDebugOperator(QDebug &dbg, quint64 value, const QMetaObject *meta, const char *name); 7770: 7770: template 7770: typename std::enable_if::Value, QDebug>::type 7770: operator<<(QDebug dbg, T value) 7770: { 7770: const QMetaObject *obj = qt_getEnumMetaObject(value); 7770: const char *name = qt_getEnumName(value); 7770: return qt_QMetaEnum_debugOperator(dbg, typename QFlags::Int(value), obj, name); 7770: } 7770: 7770: template 7770: inline typename std::enable_if< 7770: QtPrivate::IsQEnumHelper::Value || QtPrivate::IsQEnumHelper >::Value, 7770: QDebug>::type 7770: qt_QMetaEnum_flagDebugOperator_helper(QDebug debug, const QFlags &flags) 7770: { 7770: const QMetaObject *obj = qt_getEnumMetaObject(T()); 7770: const char *name = qt_getEnumName(T()); 7770: return qt_QMetaEnum_flagDebugOperator(debug, quint64(flags), obj, name); 7770: } 7770: 7770: template 7770: inline typename std::enable_if< 7770: !QtPrivate::IsQEnumHelper::Value && !QtPrivate::IsQEnumHelper >::Value, 7770: QDebug>::type 7770: qt_QMetaEnum_flagDebugOperator_helper(QDebug debug, const QFlags &flags) 7770: 7770: 7770: 7770: 7770: { 7770: qt_QMetaEnum_flagDebugOperator(debug, sizeof(T), typename QFlags::Int(flags)); 7770: return debug; 7770: } 7770: 7770: template 7770: inline QDebug operator<<(QDebug debug, const QFlags &flags) 7770: { 7770: 7770: 7770: return qt_QMetaEnum_flagDebugOperator_helper(debug, flags); 7770: } 7770: # 485 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qdebug.h" 3 4 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QDebug" 2 3 4 7770: # 56 "maps/qgeoserviceprovider.cpp" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QStringList" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstringlist.h" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QStringList" 2 3 4 7770: # 57 "maps/qgeoserviceprovider.cpp" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QCoreApplication" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreapplication.h" 1 3 4 7770: # 48 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreapplication.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qeventloop.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qeventloop.h" 3 4 7770: 7770: 7770: 7770: class QEventLoopPrivate; 7770: 7770: class __attribute__((visibility("default"))) QEventLoop : public QObject 7770: { 7770: public: 7770: # 52 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qeventloop.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 52 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qeventloop.h" 3 4 7770: 7770: # 52 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qeventloop.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 52 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qeventloop.h" 3 4 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 52 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qeventloop.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 52 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qeventloop.h" 3 4 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 52 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qeventloop.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 52 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qeventloop.h" 3 4 7770: struct QPrivateSignal {}; 7770: inline QEventLoopPrivate* d_func() { return reinterpret_cast(qGetPtrHelper(d_ptr)); } inline const QEventLoopPrivate* d_func() const { return reinterpret_cast(qGetPtrHelper(d_ptr)); } friend class QEventLoopPrivate; 7770: 7770: public: 7770: explicit QEventLoop(QObject *parent = nullptr); 7770: ~QEventLoop(); 7770: 7770: enum ProcessEventsFlag { 7770: AllEvents = 0x00, 7770: ExcludeUserInputEvents = 0x01, 7770: ExcludeSocketNotifiers = 0x02, 7770: WaitForMoreEvents = 0x04, 7770: X11ExcludeTimers = 0x08, 7770: EventLoopExec = 0x20, 7770: DialogExec = 0x40 7770: }; 7770: typedef QFlags ProcessEventsFlags; 7770: 7770: bool processEvents(ProcessEventsFlags flags = AllEvents); 7770: void processEvents(ProcessEventsFlags flags, int maximumTime); 7770: 7770: int exec(ProcessEventsFlags flags = AllEvents); 7770: void exit(int returnCode = 0); 7770: bool isRunning() const; 7770: 7770: void wakeUp(); 7770: 7770: bool event(QEvent *event) override; 7770: 7770: public : 7770: void quit(); 7770: }; 7770: 7770: constexpr inline QFlags operator|(QEventLoop::ProcessEventsFlags::enum_type f1, QEventLoop::ProcessEventsFlags::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(QEventLoop::ProcessEventsFlags::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(QEventLoop::ProcessEventsFlags::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 7770: 7770: 7770: class QEventLoopLockerPrivate; 7770: 7770: class __attribute__((visibility("default"))) QEventLoopLocker 7770: { 7770: public: 7770: QEventLoopLocker(); 7770: explicit QEventLoopLocker(QEventLoop *loop); 7770: explicit QEventLoopLocker(QThread *thread); 7770: ~QEventLoopLocker(); 7770: 7770: private: 7770: QEventLoopLocker(const QEventLoopLocker &) = delete; QEventLoopLocker &operator=(const QEventLoopLocker &) = delete; 7770: QEventLoopLockerPrivate *d_ptr; 7770: }; 7770: 7770: 7770: # 49 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreapplication.h" 2 3 4 7770: # 59 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreapplication.h" 3 4 7770: 7770: 7770: 7770: class QCoreApplicationPrivate; 7770: class QTextCodec; 7770: class QTranslator; 7770: class QPostEventList; 7770: class QStringList; 7770: class QAbstractEventDispatcher; 7770: class QAbstractNativeEventFilter; 7770: 7770: 7770: 7770: class __attribute__((visibility("default"))) QCoreApplication 7770: 7770: : public QObject 7770: 7770: { 7770: 7770: public: 7770: # 78 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreapplication.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 78 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreapplication.h" 3 4 7770: 7770: # 78 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreapplication.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 78 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreapplication.h" 3 4 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 78 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreapplication.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 78 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreapplication.h" 3 4 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 78 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreapplication.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 78 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreapplication.h" 3 4 7770: struct QPrivateSignal {}; 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: inline QCoreApplicationPrivate* d_func() { return reinterpret_cast(qGetPtrHelper(d_ptr)); } inline const QCoreApplicationPrivate* d_func() const { return reinterpret_cast(qGetPtrHelper(d_ptr)); } friend class QCoreApplicationPrivate; 7770: public: 7770: enum { ApplicationFlags = ((5<<16)|(9<<8)|(3)) 7770: }; 7770: 7770: QCoreApplication(int &argc, char **argv 7770: 7770: , int = ApplicationFlags 7770: 7770: ); 7770: 7770: ~QCoreApplication(); 7770: 7770: static QStringList arguments(); 7770: 7770: static void setAttribute(Qt::ApplicationAttribute attribute, bool on = true); 7770: static bool testAttribute(Qt::ApplicationAttribute attribute); 7770: 7770: static void setOrganizationDomain(const QString &orgDomain); 7770: static QString organizationDomain(); 7770: static void setOrganizationName(const QString &orgName); 7770: static QString organizationName(); 7770: static void setApplicationName(const QString &application); 7770: static QString applicationName(); 7770: static void setApplicationVersion(const QString &version); 7770: static QString applicationVersion(); 7770: 7770: static void setSetuidAllowed(bool allow); 7770: static bool isSetuidAllowed(); 7770: 7770: static QCoreApplication *instance() { return self; } 7770: 7770: 7770: static int exec(); 7770: static void processEvents(QEventLoop::ProcessEventsFlags flags = QEventLoop::AllEvents); 7770: static void processEvents(QEventLoop::ProcessEventsFlags flags, int maxtime); 7770: static void exit(int retcode=0); 7770: 7770: static bool sendEvent(QObject *receiver, QEvent *event); 7770: static void postEvent(QObject *receiver, QEvent *event, int priority = Qt::NormalEventPriority); 7770: static void sendPostedEvents(QObject *receiver = nullptr, int event_type = 0); 7770: static void removePostedEvents(QObject *receiver, int eventType = 0); 7770: 7770: __attribute__ ((__deprecated__)) static bool hasPendingEvents(); 7770: 7770: static QAbstractEventDispatcher *eventDispatcher(); 7770: static void setEventDispatcher(QAbstractEventDispatcher *eventDispatcher); 7770: 7770: virtual bool notify(QObject *, QEvent *); 7770: 7770: static bool startingUp(); 7770: static bool closingDown(); 7770: 7770: 7770: static QString applicationDirPath(); 7770: static QString applicationFilePath(); 7770: static qint64 applicationPid(); 7770: 7770: 7770: static void setLibraryPaths(const QStringList &); 7770: static QStringList libraryPaths(); 7770: static void addLibraryPath(const QString &); 7770: static void removeLibraryPath(const QString &); 7770: 7770: 7770: 7770: static bool installTranslator(QTranslator * messageFile); 7770: static bool removeTranslator(QTranslator * messageFile); 7770: 7770: 7770: static QString translate(const char * context, 7770: const char * key, 7770: const char * disambiguation = nullptr, 7770: int n = -1); 7770: # 169 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreapplication.h" 3 4 7770: __attribute__ ((__deprecated__)) static void flush(); 7770: 7770: 7770: void installNativeEventFilter(QAbstractNativeEventFilter *filterObj); 7770: void removeNativeEventFilter(QAbstractNativeEventFilter *filterObj); 7770: 7770: static bool isQuitLockEnabled(); 7770: static void setQuitLockEnabled(bool enabled); 7770: 7770: public : 7770: static void quit(); 7770: 7770: public : 7770: void aboutToQuit(QPrivateSignal); 7770: 7770: void organizationNameChanged(); 7770: void organizationDomainChanged(); 7770: void applicationNameChanged(); 7770: void applicationVersionChanged(); 7770: 7770: protected: 7770: bool event(QEvent *) override; 7770: 7770: virtual bool compressEvent(QEvent *, QObject *receiver, QPostEventList *); 7770: 7770: 7770: protected: 7770: QCoreApplication(QCoreApplicationPrivate &p); 7770: 7770: 7770: 7770: 7770: 7770: private: 7770: 7770: static bool sendSpontaneousEvent(QObject *receiver, QEvent *event); 7770: 7770: __attribute__ ((__deprecated__)) bool notifyInternal(QObject *receiver, QEvent *event); 7770: 7770: static bool notifyInternal2(QObject *receiver, QEvent *); 7770: 7770: 7770: static QCoreApplication *self; 7770: 7770: QCoreApplication(const QCoreApplication &) = delete; QCoreApplication &operator=(const QCoreApplication &) = delete; 7770: 7770: friend class QApplication; 7770: friend class QApplicationPrivate; 7770: friend class QGuiApplication; 7770: friend class QGuiApplicationPrivate; 7770: friend class QWidget; 7770: friend class QWidgetWindow; 7770: friend class QWidgetPrivate; 7770: 7770: friend class QEventDispatcherUNIXPrivate; 7770: friend class QCocoaEventDispatcherPrivate; 7770: friend bool qt_sendSpontaneousEvent(QObject*, QEvent*); 7770: 7770: friend __attribute__((visibility("default"))) QString qAppName(); 7770: friend class QClassFactory; 7770: }; 7770: 7770: 7770: inline bool QCoreApplication::sendEvent(QObject *receiver, QEvent *event) 7770: { if (event) event->spont = false; return notifyInternal2(receiver, event); } 7770: 7770: inline bool QCoreApplication::sendSpontaneousEvent(QObject *receiver, QEvent *event) 7770: { if (event) event->spont = true; return notifyInternal2(receiver, event); } 7770: # 254 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreapplication.h" 3 4 7770: typedef void (*QtStartUpFunction)(); 7770: typedef void (*QtCleanUpFunction)(); 7770: 7770: __attribute__((visibility("default"))) void qAddPreRoutine(QtStartUpFunction); 7770: __attribute__((visibility("default"))) void qAddPostRoutine(QtCleanUpFunction); 7770: __attribute__((visibility("default"))) void qRemovePostRoutine(QtCleanUpFunction); 7770: __attribute__((visibility("default"))) QString qAppName(); 7770: # 275 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qcoreapplication.h" 3 4 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QCoreApplication" 2 3 4 7770: # 58 "maps/qgeoserviceprovider.cpp" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QObject" 1 3 4 7770: # 59 "maps/qgeoserviceprovider.cpp" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QMetaObject" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qobjectdefs.h" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QMetaObject" 2 3 4 7770: # 60 "maps/qgeoserviceprovider.cpp" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QMetaEnum" 1 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmetaobject.h" 1 3 4 7770: # 47 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qmetaobject.h" 3 4 7770: 7770: 7770: 7770: template class QList; 7770: 7770: 7770: 7770: class __attribute__((visibility("default"))) QMetaMethod 7770: { 7770: public: 7770: constexpr inline QMetaMethod() : mobj(nullptr), handle(0) {} 7770: 7770: QByteArray methodSignature() const; 7770: QByteArray name() const; 7770: const char *typeName() const; 7770: int returnType() const; 7770: int parameterCount() const; 7770: int parameterType(int index) const; 7770: void getParameterTypes(int *types) const; 7770: QList parameterTypes() const; 7770: QList parameterNames() const; 7770: const char *tag() const; 7770: enum Access { Private, Protected, Public }; 7770: Access access() const; 7770: enum MethodType { Method, Signal, Slot, Constructor }; 7770: MethodType methodType() const; 7770: enum Attributes { Compatibility = 0x1, Cloned = 0x2, Scriptable = 0x4 }; 7770: int attributes() const; 7770: int methodIndex() const; 7770: int revision() const; 7770: 7770: inline const QMetaObject *enclosingMetaObject() const { return mobj; } 7770: 7770: bool invoke(QObject *object, 7770: Qt::ConnectionType connectionType, 7770: QGenericReturnArgument returnValue, 7770: QGenericArgument val0 = QGenericArgument(nullptr), 7770: QGenericArgument val1 = QGenericArgument(), 7770: QGenericArgument val2 = QGenericArgument(), 7770: QGenericArgument val3 = QGenericArgument(), 7770: QGenericArgument val4 = QGenericArgument(), 7770: QGenericArgument val5 = QGenericArgument(), 7770: QGenericArgument val6 = QGenericArgument(), 7770: QGenericArgument val7 = QGenericArgument(), 7770: QGenericArgument val8 = QGenericArgument(), 7770: QGenericArgument val9 = QGenericArgument()) const; 7770: inline bool invoke(QObject *object, 7770: QGenericReturnArgument returnValue, 7770: QGenericArgument val0 = QGenericArgument(nullptr), 7770: QGenericArgument val1 = QGenericArgument(), 7770: QGenericArgument val2 = QGenericArgument(), 7770: QGenericArgument val3 = QGenericArgument(), 7770: QGenericArgument val4 = QGenericArgument(), 7770: QGenericArgument val5 = QGenericArgument(), 7770: QGenericArgument val6 = QGenericArgument(), 7770: QGenericArgument val7 = QGenericArgument(), 7770: QGenericArgument val8 = QGenericArgument(), 7770: QGenericArgument val9 = QGenericArgument()) const 7770: { 7770: return invoke(object, Qt::AutoConnection, returnValue, 7770: val0, val1, val2, val3, val4, val5, val6, val7, val8, val9); 7770: } 7770: inline bool invoke(QObject *object, 7770: Qt::ConnectionType connectionType, 7770: QGenericArgument val0 = QGenericArgument(nullptr), 7770: QGenericArgument val1 = QGenericArgument(), 7770: QGenericArgument val2 = QGenericArgument(), 7770: QGenericArgument val3 = QGenericArgument(), 7770: QGenericArgument val4 = QGenericArgument(), 7770: QGenericArgument val5 = QGenericArgument(), 7770: QGenericArgument val6 = QGenericArgument(), 7770: QGenericArgument val7 = QGenericArgument(), 7770: QGenericArgument val8 = QGenericArgument(), 7770: QGenericArgument val9 = QGenericArgument()) const 7770: { 7770: return invoke(object, connectionType, QGenericReturnArgument(), 7770: val0, val1, val2, val3, val4, val5, val6, val7, val8, val9); 7770: } 7770: inline bool invoke(QObject *object, 7770: QGenericArgument val0 = QGenericArgument(nullptr), 7770: QGenericArgument val1 = QGenericArgument(), 7770: QGenericArgument val2 = QGenericArgument(), 7770: QGenericArgument val3 = QGenericArgument(), 7770: QGenericArgument val4 = QGenericArgument(), 7770: QGenericArgument val5 = QGenericArgument(), 7770: QGenericArgument val6 = QGenericArgument(), 7770: QGenericArgument val7 = QGenericArgument(), 7770: QGenericArgument val8 = QGenericArgument(), 7770: QGenericArgument val9 = QGenericArgument()) const 7770: { 7770: return invoke(object, Qt::AutoConnection, QGenericReturnArgument(), 7770: val0, val1, val2, val3, val4, val5, val6, val7, val8, val9); 7770: } 7770: 7770: bool invokeOnGadget(void *gadget, 7770: QGenericReturnArgument returnValue, 7770: QGenericArgument val0 = QGenericArgument(nullptr), 7770: QGenericArgument val1 = QGenericArgument(), 7770: QGenericArgument val2 = QGenericArgument(), 7770: QGenericArgument val3 = QGenericArgument(), 7770: QGenericArgument val4 = QGenericArgument(), 7770: QGenericArgument val5 = QGenericArgument(), 7770: QGenericArgument val6 = QGenericArgument(), 7770: QGenericArgument val7 = QGenericArgument(), 7770: QGenericArgument val8 = QGenericArgument(), 7770: QGenericArgument val9 = QGenericArgument()) const; 7770: inline bool invokeOnGadget(void *gadget, 7770: QGenericArgument val0 = QGenericArgument(nullptr), 7770: QGenericArgument val1 = QGenericArgument(), 7770: QGenericArgument val2 = QGenericArgument(), 7770: QGenericArgument val3 = QGenericArgument(), 7770: QGenericArgument val4 = QGenericArgument(), 7770: QGenericArgument val5 = QGenericArgument(), 7770: QGenericArgument val6 = QGenericArgument(), 7770: QGenericArgument val7 = QGenericArgument(), 7770: QGenericArgument val8 = QGenericArgument(), 7770: QGenericArgument val9 = QGenericArgument()) const 7770: { 7770: return invokeOnGadget(gadget, QGenericReturnArgument(), 7770: val0, val1, val2, val3, val4, val5, val6, val7, val8, val9); 7770: } 7770: 7770: inline bool isValid() const { return mobj != nullptr; } 7770: 7770: template 7770: static inline QMetaMethod fromSignal(PointerToMemberFunction signal) 7770: { 7770: typedef QtPrivate::FunctionPointer SignalType; 7770: static_assert(bool(QtPrivate::HasQ_OBJECT_Macro::Value), "No Q_OBJECT in the class with the signal") 7770: ; 7770: return fromSignalImpl(&SignalType::Object::staticMetaObject, 7770: reinterpret_cast(&signal)); 7770: } 7770: 7770: private: 7770: 7770: 7770: 7770: 7770: 7770: 7770: static QMetaMethod fromSignalImpl(const QMetaObject *, void **); 7770: 7770: const QMetaObject *mobj; 7770: uint handle; 7770: friend class QMetaMethodPrivate; 7770: friend struct QMetaObject; 7770: friend struct QMetaObjectPrivate; 7770: friend class QObject; 7770: friend bool operator==(const QMetaMethod &m1, const QMetaMethod &m2); 7770: friend bool operator!=(const QMetaMethod &m1, const QMetaMethod &m2); 7770: }; 7770: 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(QMetaMethod)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QMetaMethod >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QMetaMethod) }; static inline const char *name() { return "QMetaMethod"; } }; 7770: 7770: inline bool operator==(const QMetaMethod &m1, const QMetaMethod &m2) 7770: { return m1.mobj == m2.mobj && m1.handle == m2.handle; } 7770: inline bool operator!=(const QMetaMethod &m1, const QMetaMethod &m2) 7770: { return !(m1 == m2); } 7770: 7770: class __attribute__((visibility("default"))) QMetaEnum 7770: { 7770: public: 7770: constexpr inline QMetaEnum() : mobj(nullptr), handle(0) {} 7770: 7770: const char *name() const; 7770: bool isFlag() const; 7770: bool isScoped() const; 7770: 7770: int keyCount() const; 7770: const char *key(int index) const; 7770: int value(int index) const; 7770: 7770: const char *scope() const; 7770: 7770: int keyToValue(const char *key, bool *ok = nullptr) const; 7770: const char* valueToKey(int value) const; 7770: int keysToValue(const char * keys, bool *ok = nullptr) const; 7770: QByteArray valueToKeys(int value) const; 7770: 7770: inline const QMetaObject *enclosingMetaObject() const { return mobj; } 7770: 7770: inline bool isValid() const { return name() != nullptr; } 7770: 7770: template static QMetaEnum fromType() { 7770: static_assert(bool(QtPrivate::IsQEnumHelper::Value), "QMetaEnum::fromType only works with enums declared as Q_ENUM or Q_FLAG") 7770: ; 7770: const QMetaObject *metaObject = qt_getEnumMetaObject(T()); 7770: const char *name = qt_getEnumName(T()); 7770: return metaObject->enumerator(metaObject->indexOfEnumerator(name)); 7770: } 7770: 7770: private: 7770: const QMetaObject *mobj; 7770: uint handle; 7770: friend struct QMetaObject; 7770: }; 7770: 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(QMetaEnum)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QMetaEnum >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QMetaEnum) }; static inline const char *name() { return "QMetaEnum"; } }; 7770: 7770: class __attribute__((visibility("default"))) QMetaProperty 7770: { 7770: public: 7770: QMetaProperty(); 7770: 7770: const char *name() const; 7770: const char *typeName() const; 7770: QVariant::Type type() const; 7770: int userType() const; 7770: int propertyIndex() const; 7770: 7770: bool isReadable() const; 7770: bool isWritable() const; 7770: bool isResettable() const; 7770: bool isDesignable(const QObject *obj = nullptr) const; 7770: bool isScriptable(const QObject *obj = nullptr) const; 7770: bool isStored(const QObject *obj = nullptr) const; 7770: bool isEditable(const QObject *obj = nullptr) const; 7770: bool isUser(const QObject *obj = nullptr) const; 7770: bool isConstant() const; 7770: bool isFinal() const; 7770: 7770: bool isFlagType() const; 7770: bool isEnumType() const; 7770: QMetaEnum enumerator() const; 7770: 7770: bool hasNotifySignal() const; 7770: QMetaMethod notifySignal() const; 7770: int notifySignalIndex() const; 7770: 7770: int revision() const; 7770: 7770: QVariant read(const QObject *obj) const; 7770: bool write(QObject *obj, const QVariant &value) const; 7770: bool reset(QObject *obj) const; 7770: 7770: QVariant readOnGadget(const void *gadget) const; 7770: bool writeOnGadget(void *gadget, const QVariant &value) const; 7770: bool resetOnGadget(void *gadget) const; 7770: 7770: bool hasStdCppSet() const; 7770: inline bool isValid() const { return isReadable(); } 7770: inline const QMetaObject *enclosingMetaObject() const { return mobj; } 7770: 7770: private: 7770: int registerPropertyType() const; 7770: 7770: const QMetaObject *mobj; 7770: uint handle; 7770: int idx; 7770: QMetaEnum menum; 7770: friend struct QMetaObject; 7770: friend struct QMetaObjectPrivate; 7770: }; 7770: 7770: class __attribute__((visibility("default"))) QMetaClassInfo 7770: { 7770: public: 7770: constexpr inline QMetaClassInfo() : mobj(nullptr), handle(0) {} 7770: const char *name() const; 7770: const char *value() const; 7770: inline const QMetaObject *enclosingMetaObject() const { return mobj; } 7770: private: 7770: const QMetaObject *mobj; 7770: uint handle; 7770: friend struct QMetaObject; 7770: }; 7770: 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(QMetaClassInfo)>sizeof(void*)), isPointer = false, isIntegral = std::is_integral< QMetaClassInfo >::value, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0), sizeOf = sizeof(QMetaClassInfo) }; static inline const char *name() { return "QMetaClassInfo"; } }; 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/QMetaEnum" 2 3 4 7770: # 61 "maps/qgeoserviceprovider.cpp" 2 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qfactoryloader_p.h" 1 3 4 7770: # 58 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qfactoryloader_p.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstringlist.h" 1 3 4 7770: # 59 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qfactoryloader_p.h" 2 3 4 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qjsondocument.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qjsondocument.h" 3 4 7770: 7770: 7770: class QDebug; 7770: 7770: namespace QJsonPrivate { 7770: class Parser; 7770: } 7770: 7770: struct __attribute__((visibility("default"))) QJsonParseError 7770: { 7770: enum ParseError { 7770: NoError = 0, 7770: UnterminatedObject, 7770: MissingNameSeparator, 7770: UnterminatedArray, 7770: MissingValueSeparator, 7770: IllegalValue, 7770: TerminationByNumber, 7770: IllegalNumber, 7770: IllegalEscapeSequence, 7770: IllegalUTF8String, 7770: UnterminatedString, 7770: MissingObject, 7770: DeepNesting, 7770: DocumentTooLarge, 7770: GarbageAtEnd 7770: }; 7770: 7770: QString errorString() const; 7770: 7770: int offset; 7770: ParseError error; 7770: }; 7770: 7770: class __attribute__((visibility("default"))) QJsonDocument 7770: { 7770: public: 7770: 7770: static const uint BinaryFormatTag = ('q') | ('b' << 8) | ('j' << 16) | ('s' << 24); 7770: 7770: 7770: 7770: 7770: QJsonDocument(); 7770: explicit QJsonDocument(const QJsonObject &object); 7770: explicit QJsonDocument(const QJsonArray &array); 7770: ~QJsonDocument(); 7770: 7770: QJsonDocument(const QJsonDocument &other); 7770: QJsonDocument &operator =(const QJsonDocument &other); 7770: 7770: enum DataValidation { 7770: Validate, 7770: BypassValidation 7770: }; 7770: 7770: static QJsonDocument fromRawData(const char *data, int size, DataValidation validation = Validate); 7770: const char *rawData(int *size) const; 7770: 7770: static QJsonDocument fromBinaryData(const QByteArray &data, DataValidation validation = Validate); 7770: QByteArray toBinaryData() const; 7770: 7770: static QJsonDocument fromVariant(const QVariant &variant); 7770: QVariant toVariant() const; 7770: 7770: enum JsonFormat { 7770: Indented, 7770: Compact 7770: }; 7770: 7770: static QJsonDocument fromJson(const QByteArray &json, QJsonParseError *error = nullptr); 7770: 7770: 7770: 7770: 7770: QByteArray toJson() const; 7770: QByteArray toJson(JsonFormat format) const; 7770: 7770: 7770: bool isEmpty() const; 7770: bool isArray() const; 7770: bool isObject() const; 7770: 7770: QJsonObject object() const; 7770: QJsonArray array() const; 7770: 7770: void setObject(const QJsonObject &object); 7770: void setArray(const QJsonArray &array); 7770: 7770: bool operator==(const QJsonDocument &other) const; 7770: bool operator!=(const QJsonDocument &other) const { return !(*this == other); } 7770: 7770: bool isNull() const; 7770: 7770: private: 7770: friend class QJsonValue; 7770: friend class QJsonPrivate::Data; 7770: friend class QJsonPrivate::Parser; 7770: friend __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QJsonDocument &); 7770: 7770: QJsonDocument(QJsonPrivate::Data *data); 7770: 7770: QJsonPrivate::Data *d; 7770: }; 7770: 7770: 7770: __attribute__((visibility("default"))) QDebug operator<<(QDebug, const QJsonDocument &); 7770: 7770: 7770: 7770: # 61 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qfactoryloader_p.h" 2 3 4 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qendian.h" 1 3 4 7770: # 47 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qendian.h" 3 4 7770: # 1 "/usr/include/c++/8/stdlib.h" 1 3 4 7770: # 48 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qendian.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: inline void qbswap_helper(const void *src, void *dest, int size) 7770: { 7770: for (int i = 0; i < size ; ++i) 7770: static_cast(dest)[i] = static_cast(src)[size - 1 - i]; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template inline void qbswap(const T src, void *dest) 7770: { 7770: qbswap_helper(&src, dest, sizeof(T)); 7770: } 7770: 7770: 7770: 7770: template inline __attribute__((always_inline)) void qToUnaligned(const T src, void *dest) 7770: { 7770: 7770: 7770: const size_t size = sizeof(T); 7770: 7770: 7770: 7770: memcpy 7770: 7770: (dest, &src, size); 7770: } 7770: 7770: template inline __attribute__((always_inline)) T qFromUnaligned(const void *src) 7770: { 7770: T dest; 7770: const size_t size = sizeof(T); 7770: 7770: 7770: 7770: memcpy 7770: 7770: (&dest, src, size); 7770: return dest; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: 7770: template T qbswap(T source); 7770: 7770: 7770: 7770: 7770: template <> inline quint64 qbswap(quint64 source) 7770: { 7770: return __builtin_bswap64(source); 7770: } 7770: template <> inline quint32 qbswap(quint32 source) 7770: { 7770: return __builtin_bswap32(source); 7770: } 7770: 7770: template <> inline void qbswap(quint64 source, void *dest) 7770: { 7770: qToUnaligned(__builtin_bswap64(source), dest); 7770: } 7770: template <> inline void qbswap(quint32 source, void *dest) 7770: { 7770: qToUnaligned(__builtin_bswap32(source), dest); 7770: } 7770: # 152 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qendian.h" 3 4 7770: template <> inline quint16 qbswap(quint16 source) 7770: { 7770: return __builtin_bswap16(source); 7770: } 7770: template <> inline void qbswap(quint16 source, void *dest) 7770: { 7770: qToUnaligned(__builtin_bswap16(source), dest); 7770: } 7770: # 170 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qendian.h" 3 4 7770: template <> inline qint64 qbswap(qint64 source) 7770: { 7770: return qbswap(quint64(source)); 7770: } 7770: 7770: template <> inline qint32 qbswap(qint32 source) 7770: { 7770: return qbswap(quint32(source)); 7770: } 7770: 7770: template <> inline qint16 qbswap(qint16 source) 7770: { 7770: return qbswap(quint16(source)); 7770: } 7770: 7770: template <> inline void qbswap(qint64 source, void *dest) 7770: { 7770: qbswap(quint64(source), dest); 7770: } 7770: 7770: template <> inline void qbswap(qint32 source, void *dest) 7770: { 7770: qbswap(quint32(source), dest); 7770: } 7770: 7770: template <> inline void qbswap(qint16 source, void *dest) 7770: { 7770: qbswap(quint16(source), dest); 7770: } 7770: # 216 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qendian.h" 3 4 7770: template inline T qToBigEndian(T source) 7770: { return qbswap(source); } 7770: template inline T qFromBigEndian(T source) 7770: { return qbswap(source); } 7770: template inline T qToLittleEndian(T source) 7770: { return source; } 7770: template inline T qFromLittleEndian(T source) 7770: { return source; } 7770: template inline void qToBigEndian(T src, void *dest) 7770: { qbswap(src, dest); } 7770: template inline void qToLittleEndian(T src, void *dest) 7770: { qToUnaligned(src, dest); } 7770: 7770: 7770: 7770: template <> inline quint8 qbswap(quint8 source) 7770: { 7770: return source; 7770: } 7770: 7770: template <> inline qint8 qbswap(qint8 source) 7770: { 7770: return source; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: template inline T qFromLittleEndian(const void *src) 7770: { 7770: return qFromLittleEndian(qFromUnaligned(src)); 7770: } 7770: 7770: template <> inline quint8 qFromLittleEndian(const void *src) 7770: { return static_cast(src)[0]; } 7770: template <> inline qint8 qFromLittleEndian(const void *src) 7770: { return static_cast(src)[0]; } 7770: 7770: 7770: 7770: 7770: 7770: template inline T qFromBigEndian(const void *src) 7770: { 7770: return qFromBigEndian(qFromUnaligned(src)); 7770: } 7770: 7770: template <> inline quint8 qFromBigEndian(const void *src) 7770: { return static_cast(src)[0]; } 7770: template <> inline qint8 qFromBigEndian(const void *src) 7770: { return static_cast(src)[0]; } 7770: 7770: 7770: # 63 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qfactoryloader_p.h" 2 3 4 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qlibrary_p.h" 1 3 4 7770: # 55 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qlibrary_p.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qglobal_p.h" 1 3 4 7770: # 54 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qglobal_p.h" 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h" 1 3 4 7770: # 55 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qglobal_p.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qglobal_p.h" 1 3 4 7770: # 56 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qglobal_p.h" 2 3 4 7770: 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qconfig_p.h" 1 3 4 7770: # 59 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qglobal_p.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qtcore-config_p.h" 1 3 4 7770: # 60 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qglobal_p.h" 2 3 4 7770: # 56 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qlibrary_p.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlibrary.h" 1 3 4 7770: # 45 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlibrary.h" 3 4 7770: static_assert(bool(1 == 1), "Required feature " "library" " for file " "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlibrary.h" " not available."); 7770: 7770: 7770: 7770: class QLibraryPrivate; 7770: 7770: class __attribute__((visibility("default"))) QLibrary : public QObject 7770: { 7770: public: 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlibrary.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlibrary.h" 3 4 7770: 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlibrary.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlibrary.h" 3 4 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlibrary.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlibrary.h" 3 4 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlibrary.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 53 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qlibrary.h" 3 4 7770: struct QPrivateSignal {}; 7770: 7770: 7770: public: 7770: enum LoadHint { 7770: ResolveAllSymbolsHint = 0x01, 7770: ExportExternalSymbolsHint = 0x02, 7770: LoadArchiveMemberHint = 0x04, 7770: PreventUnloadHint = 0x08, 7770: DeepBindHint = 0x10 7770: }; 7770: typedef QFlags LoadHints; 7770: friend constexpr const QMetaObject *qt_getEnumMetaObject(LoadHint) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(LoadHint) noexcept { return "LoadHint"; } 7770: friend constexpr const QMetaObject *qt_getEnumMetaObject(LoadHints) noexcept { return &staticMetaObject; } friend constexpr const char *qt_getEnumName(LoadHints) noexcept { return "LoadHints"; } 7770: 7770: explicit QLibrary(QObject *parent = nullptr); 7770: explicit QLibrary(const QString& fileName, QObject *parent = nullptr); 7770: explicit QLibrary(const QString& fileName, int verNum, QObject *parent = nullptr); 7770: explicit QLibrary(const QString& fileName, const QString &version, QObject *parent = nullptr); 7770: ~QLibrary(); 7770: 7770: QFunctionPointer resolve(const char *symbol); 7770: static QFunctionPointer resolve(const QString &fileName, const char *symbol); 7770: static QFunctionPointer resolve(const QString &fileName, int verNum, const char *symbol); 7770: static QFunctionPointer resolve(const QString &fileName, const QString &version, const char *symbol); 7770: 7770: bool load(); 7770: bool unload(); 7770: bool isLoaded() const; 7770: 7770: static bool isLibrary(const QString &fileName); 7770: 7770: void setFileName(const QString &fileName); 7770: QString fileName() const; 7770: 7770: void setFileNameAndVersion(const QString &fileName, int verNum); 7770: void setFileNameAndVersion(const QString &fileName, const QString &version); 7770: QString errorString() const; 7770: 7770: void setLoadHints(LoadHints hints); 7770: LoadHints loadHints() const; 7770: private: 7770: QLibraryPrivate *d; 7770: bool did_load; 7770: QLibrary(const QLibrary &) = delete; QLibrary &operator=(const QLibrary &) = delete; 7770: }; 7770: 7770: constexpr inline QFlags operator|(QLibrary::LoadHints::enum_type f1, QLibrary::LoadHints::enum_type f2) noexcept { return QFlags(f1) | f2; } constexpr inline QFlags operator|(QLibrary::LoadHints::enum_type f1, QFlags f2) noexcept { return f2 | f1; } constexpr inline QIncompatibleFlag operator|(QLibrary::LoadHints::enum_type f1, int f2) noexcept { return QIncompatibleFlag(int(f1) | f2); } 7770: 7770: 7770: # 57 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qlibrary_p.h" 2 3 4 7770: 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qstringlist.h" 1 3 4 7770: # 59 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qlibrary_p.h" 2 3 4 7770: # 1 "/usr/include/aarch64-linux-gnu/qt5/QtCore/qplugin.h" 1 3 4 7770: # 60 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qlibrary_p.h" 2 3 4 7770: 7770: 7770: 7770: 7770: 7770: static_assert(bool(1 == 1), "Required feature " "library" " for file " "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qlibrary_p.h" " not available."); 7770: 7770: 7770: 7770: bool qt_debug_component(); 7770: 7770: class QLibraryStore; 7770: class QLibraryPrivate 7770: { 7770: public: 7770: 7770: 7770: 7770: 7770: void * 7770: 7770: pHnd; 7770: 7770: enum UnloadFlag { UnloadSys, NoUnloadSys }; 7770: 7770: QString fileName, qualifiedFileName; 7770: QString fullVersion; 7770: 7770: bool load(); 7770: bool loadPlugin(); 7770: bool unload(UnloadFlag flag = UnloadSys); 7770: void release(); 7770: QFunctionPointer resolve(const char *); 7770: 7770: QLibrary::LoadHints loadHints() const 7770: { return QLibrary::LoadHints(loadHintsInt.load()); } 7770: void setLoadHints(QLibrary::LoadHints lh); 7770: 7770: static QLibraryPrivate *findOrCreate(const QString &fileName, const QString &version = QString(), 7770: QLibrary::LoadHints loadHints = 0); 7770: static QStringList suffixes_sys(const QString &fullVersion); 7770: static QStringList prefixes_sys(); 7770: 7770: QPointer inst; 7770: QtPluginInstanceFunction instance; 7770: QJsonObject metaData; 7770: 7770: QString errorString; 7770: 7770: void updatePluginState(); 7770: bool isPlugin(); 7770: 7770: private: 7770: explicit QLibraryPrivate(const QString &canonicalFileName, const QString &version, QLibrary::LoadHints loadHints); 7770: ~QLibraryPrivate(); 7770: void mergeLoadHints(QLibrary::LoadHints loadHints); 7770: 7770: bool load_sys(); 7770: bool unload_sys(); 7770: QFunctionPointer resolve_sys(const char *); 7770: 7770: QAtomicInt loadHintsInt; 7770: 7770: 7770: QAtomicInt libraryRefCount; 7770: 7770: QAtomicInt libraryUnloadCount; 7770: 7770: enum { IsAPlugin, IsNotAPlugin, MightBeAPlugin } pluginState; 7770: friend class QLibraryStore; 7770: }; 7770: 7770: 7770: # 65 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qfactoryloader_p.h" 2 3 4 7770: 7770: 7770: 7770: 7770: inline QJsonDocument qJsonFromRawLibraryMetaData(const char *raw) 7770: { 7770: raw += strlen("QTMETADATA "); 7770: 7770: 7770: QByteArray json(raw, qFromLittleEndian(*(const uint *)(raw + 8)) + 8); 7770: return QJsonDocument::fromBinaryData(json); 7770: } 7770: 7770: class QFactoryLoaderPrivate; 7770: class __attribute__((visibility("default"))) QFactoryLoader : public QObject 7770: { 7770: public: 7770: # 81 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qfactoryloader_p.h" 3 4 7770: #pragma GCC diagnostic push 7770: # 81 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qfactoryloader_p.h" 3 4 7770: 7770: # 81 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qfactoryloader_p.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wsuggest-override" 7770: # 81 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qfactoryloader_p.h" 3 4 7770: 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); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: 7770: # 81 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qfactoryloader_p.h" 3 4 7770: #pragma GCC diagnostic ignored "-Wattributes" 7770: # 81 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qfactoryloader_p.h" 3 4 7770: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); 7770: # 81 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qfactoryloader_p.h" 3 4 7770: #pragma GCC diagnostic pop 7770: # 81 "/usr/include/aarch64-linux-gnu/qt5/QtCore/5.9.3/QtCore/private/qfactoryloader_p.h" 3 4 7770: struct QPrivateSignal {}; 7770: inline QFactoryLoaderPrivate* d_func() { return reinterpret_cast(qGetPtrHelper(d_ptr)); } inline const QFactoryLoaderPrivate* d_func() const { return reinterpret_cast(qGetPtrHelper(d_ptr)); } friend class QFactoryLoaderPrivate; 7770: 7770: public: 7770: explicit QFactoryLoader(const char *iid, 7770: const QString &suffix = QString(), 7770: Qt::CaseSensitivity = Qt::CaseSensitive); 7770: 7770: 7770: ~QFactoryLoader(); 7770: 7770: void update(); 7770: static void refreshAll(); 7770: 7770: 7770: QLibraryPrivate *library(const QString &key) const; 7770: 7770: 7770: 7770: QMultiMap keyMap() const; 7770: int indexOf(const QString &needle) const; 7770: 7770: QList metaData() const; 7770: QObject *instance(int index) const; 7770: }; 7770: 7770: template 7770: PluginInterface *qLoadPlugin(const QFactoryLoader *loader, const QString &key, Args &&...args) 7770: { 7770: const int index = loader->indexOf(key); 7770: if (index != -1) { 7770: QObject *factoryObject = loader->instance(index); 7770: if (FactoryInterface *factory = qobject_cast(factoryObject)) 7770: if (PluginInterface *result = factory->create(key, std::forward(args)...)) 7770: return result; 7770: } 7770: return nullptr; 7770: } 7770: 7770: template 7770: __attribute__ ((__deprecated__)) PluginInterface *qLoadPlugin1(const QFactoryLoader *loader, const QString &key, Arg &&arg) 7770: { return qLoadPlugin(loader, key, std::forward(arg)); } 7770: 7770: 7770: # 62 "maps/qgeoserviceprovider.cpp" 2 7770: 7770: 7770: 7770: namespace { namespace Q_QGS_loader { typedef 7770: # 65 "maps/qgeoserviceprovider.cpp" 7770: QFactoryLoader 7770: # 65 "maps/qgeoserviceprovider.cpp" 3 4 7770: Type; QBasicAtomicInt guard = { QtGlobalStatic::Uninitialized }; __attribute__((visibility("hidden"))) inline Type *innerFunction() { struct HolderBase { ~HolderBase() noexcept { if (guard.load() == QtGlobalStatic::Initialized) guard.store(QtGlobalStatic::Destroyed); } }; static struct Holder : public HolderBase { Type value; Holder() noexcept(noexcept(Type 7770: # 65 "maps/qgeoserviceprovider.cpp" 7770: ("org.qt-project.qt.geoservice.serviceproviderfactory/5.0", QLatin1String("/geoservices")) 7770: # 65 "maps/qgeoserviceprovider.cpp" 3 4 7770: )) : value 7770: # 65 "maps/qgeoserviceprovider.cpp" 7770: ("org.qt-project.qt.geoservice.serviceproviderfactory/5.0", QLatin1String("/geoservices")) 7770: # 65 "maps/qgeoserviceprovider.cpp" 3 4 7770: { guard.store(QtGlobalStatic::Initialized); } } holder; return &holder.value; } } } static QGlobalStatic< 7770: # 65 "maps/qgeoserviceprovider.cpp" 7770: QFactoryLoader 7770: # 65 "maps/qgeoserviceprovider.cpp" 3 4 7770: , Q_QGS_loader::innerFunction, Q_QGS_loader::guard> 7770: # 65 "maps/qgeoserviceprovider.cpp" 7770: loader 7770: # 65 "maps/qgeoserviceprovider.cpp" 3 4 7770: ; 7770: # 208 "maps/qgeoserviceprovider.cpp" 7770: 7770: # 208 "maps/qgeoserviceprovider.cpp" 7770: QStringList QGeoServiceProvider::availableServiceProviders() 7770: { 7770: return QGeoServiceProviderPrivate::plugins().keys(); 7770: } 7770: # 231 "maps/qgeoserviceprovider.cpp" 7770: QGeoServiceProvider::QGeoServiceProvider(const QString &providerName, 7770: const QVariantMap ¶meters, 7770: bool allowExperimental) 7770: : d_ptr(new QGeoServiceProviderPrivate()) 7770: { 7770: d_ptr->experimental = allowExperimental; 7770: d_ptr->parameterMap = parameters; 7770: 7770: if (providerName == 7770: # 239 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 239 "maps/qgeoserviceprovider.cpp" 7770: "nokia" 7770: # 239 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 239 "maps/qgeoserviceprovider.cpp" 7770: "nokia" 7770: # 239 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 239 "maps/qgeoserviceprovider.cpp" 7770: ) 7770: d_ptr->providerName = 7770: # 240 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 240 "maps/qgeoserviceprovider.cpp" 7770: "here" 7770: # 240 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 240 "maps/qgeoserviceprovider.cpp" 7770: "here" 7770: # 240 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 240 "maps/qgeoserviceprovider.cpp" 7770: ; 7770: else 7770: d_ptr->providerName = providerName; 7770: d_ptr->loadMeta(); 7770: } 7770: 7770: 7770: 7770: 7770: QGeoServiceProvider::~QGeoServiceProvider() 7770: { 7770: delete d_ptr; 7770: } 7770: 7770: 7770: 7770: 7770: template 7770: Flags QGeoServiceProviderPrivate::features(const char *enumName) 7770: { 7770: const QMetaObject *mo = &QGeoServiceProvider::staticMetaObject; 7770: const QMetaEnum en = mo->enumerator( 7770: mo->indexOfEnumerator(enumName)); 7770: 7770: 7770: 7770: Flags ret = typename Flags::enum_type(0); 7770: if (this->metaData.contains( 7770: # 267 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 267 "maps/qgeoserviceprovider.cpp" 7770: "Features" 7770: # 267 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 267 "maps/qgeoserviceprovider.cpp" 7770: "Features" 7770: # 267 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 267 "maps/qgeoserviceprovider.cpp" 7770: ) 7770: && this->metaData.value( 7770: # 268 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 268 "maps/qgeoserviceprovider.cpp" 7770: "Features" 7770: # 268 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 268 "maps/qgeoserviceprovider.cpp" 7770: "Features" 7770: # 268 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 268 "maps/qgeoserviceprovider.cpp" 7770: ).isArray()) { 7770: QJsonArray features = this->metaData.value( 7770: # 269 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 269 "maps/qgeoserviceprovider.cpp" 7770: "Features" 7770: # 269 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 269 "maps/qgeoserviceprovider.cpp" 7770: "Features" 7770: # 269 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 269 "maps/qgeoserviceprovider.cpp" 7770: ).toArray(); 7770: 7770: # 270 "maps/qgeoserviceprovider.cpp" 3 4 7770: for (auto _container_ = QtPrivate::qMakeForeachContainer( 7770: # 270 "maps/qgeoserviceprovider.cpp" 7770: features 7770: # 270 "maps/qgeoserviceprovider.cpp" 3 4 7770: ); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for ( 7770: # 270 "maps/qgeoserviceprovider.cpp" 7770: const QJsonValue &v 7770: # 270 "maps/qgeoserviceprovider.cpp" 3 4 7770: = *_container_.i; _container_.control; _container_.control = 0) 7770: # 270 "maps/qgeoserviceprovider.cpp" 7770: { 7770: int val = en.keyToValue(v.toString().toLatin1().constData()); 7770: if (v.isString() && val != -1) { 7770: ret |= typename Flags::enum_type(val); 7770: } 7770: } 7770: } 7770: 7770: return ret; 7770: } 7770: 7770: 7770: 7770: 7770: QGeoServiceProvider::RoutingFeatures QGeoServiceProvider::routingFeatures() const 7770: { 7770: return d_ptr->features("RoutingFeatures"); 7770: } 7770: 7770: 7770: 7770: 7770: QGeoServiceProvider::GeocodingFeatures QGeoServiceProvider::geocodingFeatures() const 7770: { 7770: return d_ptr->features("GeocodingFeatures"); 7770: } 7770: 7770: 7770: 7770: 7770: QGeoServiceProvider::MappingFeatures QGeoServiceProvider::mappingFeatures() const 7770: { 7770: return d_ptr->features("MappingFeatures"); 7770: } 7770: 7770: 7770: 7770: 7770: QGeoServiceProvider::PlacesFeatures QGeoServiceProvider::placesFeatures() const 7770: { 7770: return d_ptr->features("PlacesFeatures"); 7770: } 7770: 7770: 7770: 7770: 7770: template 7770: Engine *createEngine(QGeoServiceProviderPrivate *) 7770: { 7770: return 0; 7770: } 7770: template <> QGeoCodingManagerEngine *createEngine(QGeoServiceProviderPrivate *d_ptr) 7770: { 7770: return d_ptr->factory->createGeocodingManagerEngine(d_ptr->cleanedParameterMap, &(d_ptr->geocodeError), &(d_ptr->geocodeErrorString)); 7770: } 7770: template <> QGeoRoutingManagerEngine *createEngine(QGeoServiceProviderPrivate *d_ptr) 7770: { 7770: return d_ptr->factory->createRoutingManagerEngine(d_ptr->cleanedParameterMap, &(d_ptr->routingError), &(d_ptr->routingErrorString)); 7770: } 7770: template <> QGeoMappingManagerEngine *createEngine(QGeoServiceProviderPrivate *d_ptr) 7770: { 7770: return d_ptr->factory->createMappingManagerEngine(d_ptr->cleanedParameterMap, &(d_ptr->mappingError), &(d_ptr->mappingErrorString)); 7770: } 7770: template <> QPlaceManagerEngine *createEngine(QGeoServiceProviderPrivate *d_ptr) 7770: { 7770: return d_ptr->factory->createPlaceManagerEngine(d_ptr->cleanedParameterMap, &(d_ptr->placeError), &(d_ptr->placeErrorString)); 7770: } 7770: 7770: 7770: 7770: template 7770: Manager *QGeoServiceProviderPrivate::manager(QGeoServiceProvider::Error *_error, 7770: QString *_errorString, Manager **_manager) 7770: { 7770: 7770: QGeoServiceProvider::Error &error = *_error; 7770: QString &errorString = *_errorString; 7770: Manager *&manager = *_manager; 7770: 7770: if (!this->factory) { 7770: this->filterParameterMap(); 7770: this->loadPlugin(this->parameterMap); 7770: } 7770: 7770: if (!this->factory || error != QGeoServiceProvider::NoError) 7770: return 0; 7770: 7770: if (!manager) { 7770: Engine *engine = createEngine(this); 7770: 7770: if (engine) { 7770: engine->setManagerName( 7770: this->metaData.value( 7770: # 362 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 362 "maps/qgeoserviceprovider.cpp" 7770: "Provider" 7770: # 362 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 362 "maps/qgeoserviceprovider.cpp" 7770: "Provider" 7770: # 362 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 362 "maps/qgeoserviceprovider.cpp" 7770: ).toString()); 7770: engine->setManagerVersion( 7770: int(this->metaData.value( 7770: # 364 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 364 "maps/qgeoserviceprovider.cpp" 7770: "Version" 7770: # 364 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 364 "maps/qgeoserviceprovider.cpp" 7770: "Version" 7770: # 364 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 364 "maps/qgeoserviceprovider.cpp" 7770: ).toDouble())); 7770: manager = new Manager(engine); 7770: } else if (error == QGeoServiceProvider::NoError) { 7770: error = QGeoServiceProvider::NotSupportedError; 7770: errorString = QLatin1String("The service provider does not support the "); 7770: errorString.append(QLatin1String(Manager::staticMetaObject.className())); 7770: errorString.append(QLatin1String(" type.")); 7770: } 7770: 7770: if (error != QGeoServiceProvider::NoError) { 7770: delete manager; 7770: manager = 0; 7770: this->error = error; 7770: this->errorString = errorString; 7770: } 7770: 7770: if (manager && this->localeSet) 7770: manager->setLocale(this->locale); 7770: } 7770: 7770: if (manager) { 7770: this->error = QGeoServiceProvider::NoError; 7770: this->errorString.clear(); 7770: } 7770: 7770: return manager; 7770: } 7770: # 413 "maps/qgeoserviceprovider.cpp" 7770: QGeoCodingManager *QGeoServiceProvider::geocodingManager() const 7770: { 7770: return d_ptr->manager( 7770: &(d_ptr->geocodeError), &(d_ptr->geocodeErrorString), 7770: &(d_ptr->geocodingManager)); 7770: } 7770: # 442 "maps/qgeoserviceprovider.cpp" 7770: QGeoMappingManager *QGeoServiceProvider::mappingManager() const 7770: { 7770: return d_ptr->manager( 7770: &(d_ptr->mappingError), &(d_ptr->mappingErrorString), 7770: &(d_ptr->mappingManager)); 7770: } 7770: # 469 "maps/qgeoserviceprovider.cpp" 7770: QGeoRoutingManager *QGeoServiceProvider::routingManager() const 7770: { 7770: return d_ptr->manager( 7770: &(d_ptr->routingError), &(d_ptr->routingErrorString), 7770: &(d_ptr->routingManager)); 7770: } 7770: # 492 "maps/qgeoserviceprovider.cpp" 7770: QPlaceManager *QGeoServiceProvider::placeManager() const 7770: { 7770: return d_ptr->manager( 7770: &(d_ptr->placeError), &(d_ptr->placeErrorString), 7770: &(d_ptr->placeManager)); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: QGeoServiceProvider::Error QGeoServiceProvider::error() const 7770: { 7770: return d_ptr->error; 7770: } 7770: 7770: 7770: 7770: 7770: 7770: QString QGeoServiceProvider::errorString() const 7770: { 7770: return d_ptr->errorString; 7770: } 7770: # 525 "maps/qgeoserviceprovider.cpp" 7770: void QGeoServiceProvider::setAllowExperimental(bool allow) 7770: { 7770: d_ptr->experimental = allow; 7770: d_ptr->unload(); 7770: d_ptr->loadMeta(); 7770: } 7770: # 545 "maps/qgeoserviceprovider.cpp" 7770: void QGeoServiceProvider::setParameters(const QVariantMap ¶meters) 7770: { 7770: d_ptr->parameterMap = parameters; 7770: d_ptr->unload(); 7770: d_ptr->loadMeta(); 7770: } 7770: 7770: 7770: 7770: 7770: 7770: 7770: void QGeoServiceProvider::setLocale(const QLocale &locale) 7770: { 7770: d_ptr->locale = locale; 7770: d_ptr->localeSet = true; 7770: 7770: if (d_ptr->geocodingManager) 7770: d_ptr->geocodingManager->setLocale(locale); 7770: if (d_ptr->routingManager) 7770: d_ptr->routingManager->setLocale(locale); 7770: if (d_ptr->mappingManager) 7770: d_ptr->mappingManager->setLocale(locale); 7770: if (d_ptr->placeManager) 7770: d_ptr->placeManager->setLocale(locale); 7770: } 7770: 7770: 7770: 7770: 7770: QGeoServiceProviderPrivate::QGeoServiceProviderPrivate() 7770: : factory(0), 7770: experimental(false), 7770: geocodingManager(0), 7770: routingManager(0), 7770: mappingManager(0), 7770: placeManager(0), 7770: geocodeError(QGeoServiceProvider::NoError), 7770: routingError(QGeoServiceProvider::NoError), 7770: mappingError(QGeoServiceProvider::NoError), 7770: placeError(QGeoServiceProvider::NoError), 7770: error(QGeoServiceProvider::NoError), 7770: localeSet(false) 7770: { 7770: metaData.insert( 7770: # 589 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 589 "maps/qgeoserviceprovider.cpp" 7770: "index" 7770: # 589 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 589 "maps/qgeoserviceprovider.cpp" 7770: "index" 7770: # 589 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 589 "maps/qgeoserviceprovider.cpp" 7770: , -1); 7770: } 7770: 7770: QGeoServiceProviderPrivate::~QGeoServiceProviderPrivate() 7770: { 7770: delete geocodingManager; 7770: delete routingManager; 7770: delete mappingManager; 7770: delete placeManager; 7770: } 7770: 7770: void QGeoServiceProviderPrivate::unload() 7770: { 7770: delete geocodingManager; 7770: geocodingManager = 0; 7770: 7770: delete routingManager; 7770: routingManager = 0; 7770: 7770: delete mappingManager; 7770: mappingManager = 0; 7770: 7770: delete placeManager; 7770: placeManager = 0; 7770: 7770: factory = 0; 7770: error = QGeoServiceProvider::NoError; 7770: errorString = QLatin1String(""); 7770: metaData = QJsonObject(); 7770: metaData.insert( 7770: # 618 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 618 "maps/qgeoserviceprovider.cpp" 7770: "index" 7770: # 618 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 618 "maps/qgeoserviceprovider.cpp" 7770: "index" 7770: # 618 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 618 "maps/qgeoserviceprovider.cpp" 7770: , -1); 7770: } 7770: 7770: 7770: void QGeoServiceProviderPrivate::filterParameterMap() 7770: { 7770: const auto availablePlugins = QGeoServiceProviderPrivate::plugins(); 7770: 7770: cleanedParameterMap = parameterMap; 7770: for (auto it = availablePlugins.keyBegin(), end = availablePlugins.keyEnd(); it != end; ++it) { 7770: if (*it == providerName) 7770: continue; 7770: 7770: QVariantMap::iterator i = cleanedParameterMap.begin(); 7770: while (i != cleanedParameterMap.end()) { 7770: 7770: if (i.key().startsWith(QString(*it + QLatin1Char('.')))) 7770: i = cleanedParameterMap.erase(i); 7770: else 7770: ++i; 7770: } 7770: } 7770: } 7770: 7770: void QGeoServiceProviderPrivate::loadMeta() 7770: { 7770: factory = 0; 7770: metaData = QJsonObject(); 7770: metaData.insert( 7770: # 646 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 646 "maps/qgeoserviceprovider.cpp" 7770: "index" 7770: # 646 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 646 "maps/qgeoserviceprovider.cpp" 7770: "index" 7770: # 646 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 646 "maps/qgeoserviceprovider.cpp" 7770: , -1); 7770: error = QGeoServiceProvider::NotSupportedError; 7770: errorString = QString(QLatin1String("The geoservices provider %1 is not supported.")).arg(providerName); 7770: 7770: QList candidates = QGeoServiceProviderPrivate::plugins().values(providerName); 7770: 7770: int versionFound = -1; 7770: int idx = -1; 7770: 7770: 7770: 7770: for (int i = 0; i < candidates.size(); ++i) { 7770: QJsonObject meta = candidates[i]; 7770: if (meta.contains( 7770: # 659 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 659 "maps/qgeoserviceprovider.cpp" 7770: "Version" 7770: # 659 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 659 "maps/qgeoserviceprovider.cpp" 7770: "Version" 7770: # 659 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 659 "maps/qgeoserviceprovider.cpp" 7770: ) 7770: && meta.value( 7770: # 660 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 660 "maps/qgeoserviceprovider.cpp" 7770: "Version" 7770: # 660 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 660 "maps/qgeoserviceprovider.cpp" 7770: "Version" 7770: # 660 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 660 "maps/qgeoserviceprovider.cpp" 7770: ).isDouble() 7770: && meta.contains( 7770: # 661 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 661 "maps/qgeoserviceprovider.cpp" 7770: "Experimental" 7770: # 661 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 661 "maps/qgeoserviceprovider.cpp" 7770: "Experimental" 7770: # 661 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 661 "maps/qgeoserviceprovider.cpp" 7770: ) 7770: && meta.value( 7770: # 662 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 662 "maps/qgeoserviceprovider.cpp" 7770: "Experimental" 7770: # 662 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 662 "maps/qgeoserviceprovider.cpp" 7770: "Experimental" 7770: # 662 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 662 "maps/qgeoserviceprovider.cpp" 7770: ).isBool()) { 7770: int ver = int(meta.value( 7770: # 663 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 663 "maps/qgeoserviceprovider.cpp" 7770: "Version" 7770: # 663 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 663 "maps/qgeoserviceprovider.cpp" 7770: "Version" 7770: # 663 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 663 "maps/qgeoserviceprovider.cpp" 7770: ).toDouble()); 7770: if (ver > versionFound && !(!experimental && meta.value( 7770: # 664 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 664 "maps/qgeoserviceprovider.cpp" 7770: "Experimental" 7770: # 664 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 664 "maps/qgeoserviceprovider.cpp" 7770: "Experimental" 7770: # 664 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 664 "maps/qgeoserviceprovider.cpp" 7770: ).toBool())) { 7770: versionFound = ver; 7770: idx = i; 7770: } 7770: } 7770: } 7770: 7770: if (idx != -1) { 7770: error = QGeoServiceProvider::NoError; 7770: errorString = 7770: # 673 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 673 "maps/qgeoserviceprovider.cpp" 7770: "" 7770: # 673 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 673 "maps/qgeoserviceprovider.cpp" 7770: "" 7770: # 673 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 673 "maps/qgeoserviceprovider.cpp" 7770: ; 7770: metaData = candidates[idx]; 7770: } 7770: } 7770: 7770: void QGeoServiceProviderPrivate::loadPlugin(const QVariantMap ¶meters) 7770: { 7770: 7770: # 680 "maps/qgeoserviceprovider.cpp" 3 4 7770: (void) 7770: # 680 "maps/qgeoserviceprovider.cpp" 7770: parameters 7770: # 680 "maps/qgeoserviceprovider.cpp" 3 4 7770: ; 7770: 7770: 7770: # 682 "maps/qgeoserviceprovider.cpp" 7770: if (int(metaData.value( 7770: # 682 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 682 "maps/qgeoserviceprovider.cpp" 7770: "index" 7770: # 682 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 682 "maps/qgeoserviceprovider.cpp" 7770: "index" 7770: # 682 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 682 "maps/qgeoserviceprovider.cpp" 7770: ).toDouble()) < 0) { 7770: error = QGeoServiceProvider::NotSupportedError; 7770: errorString = QString(QLatin1String("The geoservices provider is not supported.")); 7770: factory = 0; 7770: return; 7770: } 7770: 7770: error = QGeoServiceProvider::NoError; 7770: errorString = QLatin1String(""); 7770: 7770: int idx = int(metaData.value( 7770: # 692 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 692 "maps/qgeoserviceprovider.cpp" 7770: "index" 7770: # 692 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 692 "maps/qgeoserviceprovider.cpp" 7770: "index" 7770: # 692 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 692 "maps/qgeoserviceprovider.cpp" 7770: ).toDouble()); 7770: 7770: 7770: factory = qobject_cast(loader()->instance(idx)); 7770: } 7770: 7770: QHash QGeoServiceProviderPrivate::plugins(bool reload) 7770: { 7770: static QHash plugins; 7770: static bool alreadyDiscovered = false; 7770: 7770: if (reload == true) 7770: alreadyDiscovered = false; 7770: 7770: if (!alreadyDiscovered) { 7770: loadPluginMetadata(plugins); 7770: alreadyDiscovered = true; 7770: } 7770: return plugins; 7770: } 7770: 7770: void QGeoServiceProviderPrivate::loadPluginMetadata(QHash &list) 7770: { 7770: QFactoryLoader *l = loader(); 7770: QList meta = l->metaData(); 7770: for (int i = 0; i < meta.size(); ++i) { 7770: QJsonObject obj = meta.at(i).value( 7770: # 718 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 718 "maps/qgeoserviceprovider.cpp" 7770: "MetaData" 7770: # 718 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 718 "maps/qgeoserviceprovider.cpp" 7770: "MetaData" 7770: # 718 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 718 "maps/qgeoserviceprovider.cpp" 7770: ).toObject(); 7770: obj.insert( 7770: # 719 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 719 "maps/qgeoserviceprovider.cpp" 7770: "index" 7770: # 719 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 719 "maps/qgeoserviceprovider.cpp" 7770: "index" 7770: # 719 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 719 "maps/qgeoserviceprovider.cpp" 7770: , i); 7770: list.insertMulti(obj.value( 7770: # 720 "maps/qgeoserviceprovider.cpp" 3 4 7770: ([]() noexcept -> QString { enum { Size = sizeof(u"" 7770: # 720 "maps/qgeoserviceprovider.cpp" 7770: "Provider" 7770: # 720 "maps/qgeoserviceprovider.cpp" 3 4 7770: )/2 - 1 }; static const QStaticStringData qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" 7770: # 720 "maps/qgeoserviceprovider.cpp" 7770: "Provider" 7770: # 720 "maps/qgeoserviceprovider.cpp" 3 4 7770: }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()) 7770: # 720 "maps/qgeoserviceprovider.cpp" 7770: ).toString(), obj); 7770: } 7770: } 7770: 7770: 7770: === END GCC DUMP === Makefile:3867: recipe for target '.obj/qgeoserviceprovider.o' failed make[3]: *** [.obj/qgeoserviceprovider.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory '/<>/qtlocation-opensource-src-5.9.3+dfsg/src/location' Makefile:152: recipe for target 'sub-location-make_first' failed make[2]: *** [sub-location-make_first] Error 2 make[2]: Leaving directory '/<>/qtlocation-opensource-src-5.9.3+dfsg/src' Makefile:46: recipe for target 'sub-src-make_first' failed make[1]: *** [sub-src-make_first] Error 2 make[1]: Leaving directory '/<>/qtlocation-opensource-src-5.9.3+dfsg' dh_auto_build: make -j4 returned exit code 2 debian/rules:14: recipe for target 'build-arch' failed make: *** [build-arch] Error 25 dpkg-buildpackage: error: debian/rules build-arch subprocess returned exit status 2 -------------------------------------------------------------------------------- Build finished at 20180115-1828 Finished -------- E: Build failure (dpkg-buildpackage died) +------------------------------------------------------------------------------+ | Cleanup | +------------------------------------------------------------------------------+ Purging /<> Not removing build depends: as requested +------------------------------------------------------------------------------+ | Summary | +------------------------------------------------------------------------------+ Build Architecture: arm64 Build-Space: 119604 Build-Time: 197 Distribution: bionic Fail-Stage: build Host Architecture: arm64 Install-Time: 82 Job: qtlocation-opensource-src_5.9.3+dfsg-0ubuntu1.dsc Machine Architecture: arm64 Package: qtlocation-opensource-src Package-Time: 282 Source-Version: 5.9.3+dfsg-0ubuntu1 Space: 119604 Status: attempted Version: 5.9.3+dfsg-0ubuntu1 -------------------------------------------------------------------------------- Finished at 20180115-1828 Build needed 00:04:42, 119604k disc space RUN: /usr/share/launchpad-buildd/slavebin/in-target scan-for-processes --backend=chroot --series=bionic --arch=arm64 PACKAGEBUILD-14150071 Scanning for processes to kill in build PACKAGEBUILD-14150071 RUN: /usr/share/launchpad-buildd/slavebin/in-target umount-chroot --backend=chroot --series=bionic --arch=arm64 PACKAGEBUILD-14150071 Stopping target for build PACKAGEBUILD-14150071 RUN: /usr/share/launchpad-buildd/slavebin/in-target remove-build --backend=chroot --series=bionic --arch=arm64 PACKAGEBUILD-14150071 Removing build PACKAGEBUILD-14150071